Make namespace deletion asynchronous
Instead of deleting a namespace synchronously as before, we now mark the namespace for deletion, disable it, and rename it. A worker then comes along and deletes the namespace in the background. This results in a *significantly* better user experience, as the namespace deletion operation now "completes" in under a second, where before it could take 10s of minutes at the worse. Fixes https://jira.coreos.com/browse/QUAY-838
This commit is contained in:
parent
d9015a1863
commit
8bc55a5676
21 changed files with 244 additions and 129 deletions
|
@ -412,7 +412,7 @@ class SuperUserManagement(ApiResource):
|
|||
if superusers.is_superuser(username):
|
||||
raise InvalidRequest('Cannot delete a superuser')
|
||||
|
||||
pre_oci_model.delete_user(username)
|
||||
pre_oci_model.mark_user_for_deletion(username)
|
||||
return '', 204
|
||||
|
||||
raise Unauthorized()
|
||||
|
@ -540,7 +540,7 @@ class SuperUserOrganizationManagement(ApiResource):
|
|||
def delete(self, name):
|
||||
""" Deletes the specified organization. """
|
||||
if SuperUserPermission().can():
|
||||
pre_oci_model.delete_organization(name)
|
||||
pre_oci_model.mark_organization_for_deletion(name)
|
||||
return '', 204
|
||||
|
||||
raise Unauthorized()
|
||||
|
|
Reference in a new issue