diff options
Diffstat (limited to 'nova/objects')
-rw-r--r-- | nova/objects/external_event.py | 6 | ||||
-rw-r--r-- | nova/objects/image_meta.py | 9 | ||||
-rw-r--r-- | nova/objects/service.py | 5 |
3 files changed, 17 insertions, 3 deletions
diff --git a/nova/objects/external_event.py b/nova/objects/external_event.py index b1acfc4aa0..e17008dade 100644 --- a/nova/objects/external_event.py +++ b/nova/objects/external_event.py @@ -33,6 +33,9 @@ EVENT_NAMES = [ # Accelerator Request got bound, tag is ARQ uuid. # Sent when an ARQ for an instance has been bound or failed to bind. 'accelerator-request-bound', + + # re-image operation has completed from cinder side + 'volume-reimaged', ] EVENT_STATUSES = ['failed', 'completed', 'in-progress'] @@ -50,7 +53,8 @@ class InstanceExternalEvent(obj_base.NovaObject): # Version 1.2: adds volume-extended event # Version 1.3: adds power-update event # Version 1.4: adds accelerator-request-bound event - VERSION = '1.4' + # Version 1.5: adds volume-reimaged event + VERSION = '1.5' fields = { 'instance_uuid': fields.UUIDField(), diff --git a/nova/objects/image_meta.py b/nova/objects/image_meta.py index f17f145daf..0ca8ed571f 100644 --- a/nova/objects/image_meta.py +++ b/nova/objects/image_meta.py @@ -190,14 +190,17 @@ class ImageMetaProps(base.NovaObject): # Version 1.31: Added 'hw_emulation_architecture' field # Version 1.32: Added 'hw_ephemeral_encryption' and # 'hw_ephemeral_encryption_format' fields + # Version 1.33: Added 'hw_locked_memory' field # NOTE(efried): When bumping this version, the version of # ImageMetaPropsPayload must also be bumped. See its docstring for details. - VERSION = '1.32' + VERSION = '1.33' def obj_make_compatible(self, primitive, target_version): super(ImageMetaProps, self).obj_make_compatible(primitive, target_version) target_version = versionutils.convert_version_to_tuple(target_version) + if target_version < (1, 33): + primitive.pop('hw_locked_memory', None) if target_version < (1, 32): primitive.pop('hw_ephemeral_encryption', None) primitive.pop('hw_ephemeral_encryption_format', None) @@ -368,6 +371,10 @@ class ImageMetaProps(base.NovaObject): # image with a network boot image 'hw_ipxe_boot': fields.FlexibleBooleanField(), + # string - make sure ``locked`` element is present in the + # ``memoryBacking``. + 'hw_locked_memory': fields.FlexibleBooleanField(), + # There are sooooooooooo many possible machine types in # QEMU - several new ones with each new release - that it # is not practical to enumerate them all. So we use a free diff --git a/nova/objects/service.py b/nova/objects/service.py index 8885120ddd..05aeb1b538 100644 --- a/nova/objects/service.py +++ b/nova/objects/service.py @@ -31,7 +31,7 @@ LOG = logging.getLogger(__name__) # NOTE(danms): This is the global service version counter -SERVICE_VERSION = 63 +SERVICE_VERSION = 64 # NOTE(danms): This is our SERVICE_VERSION history. The idea is that any @@ -222,6 +222,9 @@ SERVICE_VERSION_HISTORY = ( # Version 63: Compute RPC v6.0: # Add support for VDPA hotplug live migration and suspend/resume {'compute_rpc': '6.0'}, + # Version 64: Compute RPC v6.1: + # Add reimage_boot_volume parameter to rebuild_instance() + {'compute_rpc': '6.1'}, ) # This is used to raise an error at service startup if older than N-1 computes |