Merge "Fix incompatible version handling in BuildRequest"
This commit is contained in:
commit
d89579a66a
@ -71,7 +71,7 @@ class BuildRequest(base.NovaObject):
|
|||||||
LOG.debug('Failed to load instance from BuildRequest with uuid '
|
LOG.debug('Failed to load instance from BuildRequest with uuid '
|
||||||
'%s because it is None', self.instance_uuid)
|
'%s because it is None', self.instance_uuid)
|
||||||
raise exception.BuildRequestNotFound(uuid=self.instance_uuid)
|
raise exception.BuildRequestNotFound(uuid=self.instance_uuid)
|
||||||
except ovoo_exc.IncompatibleObjectVersion as exc:
|
except ovoo_exc.IncompatibleObjectVersion:
|
||||||
# This should only happen if proper service upgrade strategies are
|
# This should only happen if proper service upgrade strategies are
|
||||||
# not followed. Log the exception and raise BuildRequestNotFound.
|
# not followed. Log the exception and raise BuildRequestNotFound.
|
||||||
# If the instance can't be loaded this object is useless and may
|
# If the instance can't be loaded this object is useless and may
|
||||||
@ -80,7 +80,8 @@ class BuildRequest(base.NovaObject):
|
|||||||
'with uuid %(instance_uuid)s. Found version %(version)s '
|
'with uuid %(instance_uuid)s. Found version %(version)s '
|
||||||
'which is not supported here.',
|
'which is not supported here.',
|
||||||
dict(instance_uuid=self.instance_uuid,
|
dict(instance_uuid=self.instance_uuid,
|
||||||
version=exc.objver))
|
version=jsonutils.loads(
|
||||||
|
db_instance)["nova_object.version"]))
|
||||||
LOG.exception('Could not deserialize instance in BuildRequest')
|
LOG.exception('Could not deserialize instance in BuildRequest')
|
||||||
raise exception.BuildRequestNotFound(uuid=self.instance_uuid)
|
raise exception.BuildRequestNotFound(uuid=self.instance_uuid)
|
||||||
# NOTE(sbauza): The instance primitive should already have the deleted
|
# NOTE(sbauza): The instance primitive should already have the deleted
|
||||||
|
@ -59,7 +59,7 @@ class _TestBuildRequestObject(object):
|
|||||||
instance = fake_instance.fake_instance_obj(self.context,
|
instance = fake_instance.fake_instance_obj(self.context,
|
||||||
objects.Instance, uuid=fake_req['instance_uuid'])
|
objects.Instance, uuid=fake_req['instance_uuid'])
|
||||||
instance.VERSION = '99'
|
instance.VERSION = '99'
|
||||||
fake_req['instance'] = jsonutils.dumps(instance.obj_to_primitive)
|
fake_req['instance'] = jsonutils.dumps(instance.obj_to_primitive())
|
||||||
get_by_uuid.return_value = fake_req
|
get_by_uuid.return_value = fake_req
|
||||||
|
|
||||||
self.assertRaises(exception.BuildRequestNotFound,
|
self.assertRaises(exception.BuildRequestNotFound,
|
||||||
|
Loading…
Reference in New Issue
Block a user