Merge "Update image_base_image_ref during rebuild." into stable/ussuri

This commit is contained in:
Zuul 2021-04-30 17:59:45 +00:00 committed by Gerrit Code Review
commit ba6789e458
3 changed files with 12 additions and 0 deletions

View File

@ -3495,6 +3495,8 @@ class API(base.Base):
new_sys_metadata = utils.get_system_metadata_from_image( new_sys_metadata = utils.get_system_metadata_from_image(
image, flavor) image, flavor)
new_sys_metadata.update({'image_base_image_ref': image_id})
instance.system_metadata.update(new_sys_metadata) instance.system_metadata.update(new_sys_metadata)
instance.save() instance.save()
return orig_sys_metadata return orig_sys_metadata
@ -4110,6 +4112,14 @@ class API(base.Base):
hypervisor. hypervisor.
""" """
instance.task_state = task_states.SHELVING instance.task_state = task_states.SHELVING
# NOTE(aarents): Ensure image_base_image_ref is present as it will be
# needed during unshelve and instance rebuild done before Bug/1893618
# Fix dropped it.
instance.system_metadata.update(
{'image_base_image_ref': instance.image_ref}
)
instance.save(expected_task_state=[None]) instance.save(expected_task_state=[None])
self._record_action_start(context, instance, instance_actions.SHELVE) self._record_action_start(context, instance, instance_actions.SHELVE)

View File

@ -52,6 +52,7 @@ class ShelvePolicyTestV21(test.NoDBTestCase):
self.req.environ['nova.context'], self.req.environ['nova.context'],
vm_state=vm_states.ACTIVE, task_state=None) vm_state=vm_states.ACTIVE, task_state=None)
instance.launched_at = instance.created_at instance.launched_at = instance.created_at
instance.system_metadata = {}
get_instance_mock.return_value = instance get_instance_mock.return_value = instance
mock_save.side_effect = exception.UnexpectedTaskStateError( mock_save.side_effect = exception.UnexpectedTaskStateError(
instance_uuid=instance.uuid, expected=None, instance_uuid=instance.uuid, expected=None,

View File

@ -9110,6 +9110,7 @@ class ComputeAPITestCase(BaseTestCase):
'image_ramdisk_id': uuids.ramdisk_id, 'image_ramdisk_id': uuids.ramdisk_id,
'image_something_else': 'meow', 'image_something_else': 'meow',
'preserved': 'preserve this!', 'preserved': 'preserve this!',
'image_base_image_ref': image_ref,
'boot_roles': ''}, 'boot_roles': ''},
sys_meta) sys_meta)