Merge "Fix exception during service update"

This commit is contained in:
Jenkins 2016-03-03 02:38:30 +00:00 committed by Gerrit Code Review
commit bd78839974
4 changed files with 15 additions and 10 deletions

View File

@ -451,7 +451,7 @@ class ServiceCommands(object):
try:
svc = objects.Service.get_by_args(ctxt, host_name, binary)
svc.destroy()
except exception.HostBinaryNotFound as e:
except exception.ServiceNotFound as e:
print(_("Host not found. Failed to remove %(service)s"
" on %(host)s.") %
{'service': binary, 'host': host_name})

View File

@ -438,7 +438,8 @@ def service_get_by_host_and_topic(context, host, topic):
filter_by(topic=topic).\
first()
if not result:
raise exception.ServiceNotFound(service_id=None)
raise exception.ServiceNotFound(service_id=topic,
host=host)
return result
@ -453,7 +454,8 @@ def service_get_by_args(context, host, binary):
if host == result['host']:
return result
raise exception.HostBinaryNotFound(host=host, binary=binary)
raise exception.ServiceNotFound(service_id=binary,
host=host)
@require_admin_context

View File

@ -368,7 +368,14 @@ class ImageNotFound(NotFound):
class ServiceNotFound(NotFound):
message = _("Service %(service_id)s could not be found.")
def __init__(self, message=None, **kwargs):
if kwargs.get('host', None):
self.message = _("Service %(service_id)s could not be "
"found on host %(host)s.")
else:
self.message = _("Service %(service_id)s could not be found.")
super(ServiceNotFound, self).__init__(None, **kwargs)
class ServiceTooOld(Invalid):
@ -387,10 +394,6 @@ class SchedulerHostWeigherNotFound(NotFound):
message = _("Scheduler Host Weigher %(weigher_name)s could not be found.")
class HostBinaryNotFound(NotFound):
message = _("Could not find binary %(binary)s on host %(host)s.")
class InvalidReservationExpiration(Invalid):
message = _("Invalid reservation expiration %(expire)s.")

View File

@ -240,7 +240,7 @@ class DBAPIServiceTestCase(BaseTest):
self._assertEqualObjects(services[1], service2)
def test_service_get_by_args_not_found_exception(self):
self.assertRaises(exception.HostBinaryNotFound,
self.assertRaises(exception.ServiceNotFound,
db.service_get_by_args,
self.ctxt, 'non-exists-host', 'a')
@ -282,7 +282,7 @@ class DBAPIServiceTestCase(BaseTest):
service2 = db.service_get_by_args(self.ctxt, 'HOST', 'a')
self._assertEqualObjects(services[1], service2)
self.assertRaises(exception.HostBinaryNotFound,
self.assertRaises(exception.ServiceNotFound,
db.service_get_by_args,
self.ctxt, 'Host', 'a')