Merge "Change ProfileInUse exception to ResourceBusyError"
This commit is contained in:
commit
7de28234c1
@ -155,10 +155,6 @@ class ProfileNotFound(SenlinException):
|
||||
msg_fmt = _("The profile (%(profile)s) could not be found.")
|
||||
|
||||
|
||||
class ProfileInUse(SenlinException):
|
||||
msg_fmt = _("The profile (%(profile)s) is still in use.")
|
||||
|
||||
|
||||
class ProfileNotSpecified(SenlinException):
|
||||
msg_fmt = _("Profile not specified.")
|
||||
|
||||
@ -231,7 +227,7 @@ class InternalError(SenlinException):
|
||||
|
||||
|
||||
class ResourceBusyError(InternalError):
|
||||
msg_fmt = _("%(resource_type)s (%(resource_id)s) is busy now.")
|
||||
msg_fmt = _("The %(resource_type)s (%(resource_id)s) is busy now.")
|
||||
|
||||
|
||||
class PolicyNotAttached(InternalError):
|
||||
@ -240,7 +236,7 @@ class PolicyNotAttached(InternalError):
|
||||
|
||||
|
||||
class ResourceInUse(SenlinException):
|
||||
msg_fmt = _("%(resource_type)s (%(resource_id)s) is in use now.")
|
||||
msg_fmt = _("The %(resource_type)s (%(resource_id)s) is still in use.")
|
||||
|
||||
|
||||
class InvalidContentType(SenlinException):
|
||||
|
@ -857,13 +857,15 @@ def profile_delete(context, profile_id, force=False):
|
||||
query = model_query(context, models.Cluster)
|
||||
clusters = query.filter_by(profile_id=profile_id, deleted_time=None)
|
||||
if clusters.count() > 0:
|
||||
raise exception.ProfileInUse(profile=profile_id)
|
||||
raise exception.ResourceBusyError(resource_type='profile',
|
||||
resource_id=profile_id)
|
||||
|
||||
# used by any nodes?
|
||||
query = model_query(context, models.Node)
|
||||
nodes = query.filter_by(profile_id=profile_id, deleted_time=None)
|
||||
if nodes.count() > 0:
|
||||
raise exception.ProfileInUse(profile=profile_id)
|
||||
raise exception.ResourceBusyError(resource_type='profile',
|
||||
resource_id=profile_id)
|
||||
|
||||
session = orm_session.Session.object_session(profile)
|
||||
|
||||
|
@ -260,7 +260,11 @@ class EngineService(service.Service):
|
||||
def profile_delete(self, context, identity):
|
||||
db_profile = self.profile_find(context, identity)
|
||||
LOG.info(_LI('Deleting profile: %s'), identity)
|
||||
profile_base.Profile.delete(context, db_profile.id)
|
||||
try:
|
||||
profile_base.Profile.delete(context, db_profile.id)
|
||||
except exception.ResourceBusyError:
|
||||
raise exception.ResourceInUse(resource_type='profile',
|
||||
resource_id=db_profile.id)
|
||||
return None
|
||||
|
||||
@request_context
|
||||
|
@ -337,9 +337,9 @@ class DBAPIProfileTest(base.SenlinTestCase):
|
||||
cluster = shared.create_cluster(self.ctx, profile)
|
||||
|
||||
profile_id = profile.id
|
||||
ex = self.assertRaises(exception.ProfileInUse,
|
||||
ex = self.assertRaises(exception.ResourceBusyError,
|
||||
db_api.profile_delete, self.ctx, profile_id)
|
||||
self.assertEqual('The profile (%s) is still in use.' % profile_id,
|
||||
self.assertEqual('The profile (%s) is busy now.' % profile_id,
|
||||
six.text_type(ex))
|
||||
|
||||
db_api.cluster_delete(self.ctx, cluster.id)
|
||||
@ -350,9 +350,9 @@ class DBAPIProfileTest(base.SenlinTestCase):
|
||||
node = shared.create_node(self.ctx, None, profile)
|
||||
|
||||
profile_id = profile.id
|
||||
ex = self.assertRaises(exception.ProfileInUse,
|
||||
ex = self.assertRaises(exception.ResourceBusyError,
|
||||
db_api.profile_delete, self.ctx, profile_id)
|
||||
self.assertEqual('The profile (%s) is still in use.' % profile_id,
|
||||
self.assertEqual('The profile (%s) is busy now.' % profile_id,
|
||||
six.text_type(ex))
|
||||
|
||||
db_api.node_delete(self.ctx, node.id)
|
||||
|
Loading…
Reference in New Issue
Block a user