summaryrefslogtreecommitdiff
path: root/nova/tests/unit/objects
diff options
context:
space:
mode:
authorLee Yarwood <lyarwood@redhat.com>2020-10-22 20:11:12 +0100
committermelanie witt <melwittt@gmail.com>2022-08-02 21:25:47 +0000
commit065b32483515fd6845dbdbb73202c2dd599933ae (patch)
treef59c244ef974c2d4ae5dab462966c0916ae668c5 /nova/tests/unit/objects
parent184f0074cc5f4609642b52c98a7ccbfc5f892a33 (diff)
downloadnova-065b32483515fd6845dbdbb73202c2dd599933ae.tar.gz
image_meta: Add ephemeral encryption properties
Add the `hw_ephemeral_encryption` and `hw_ephemeral_encryption_format` image properties. Change-Id: Ida3edbdd664fbc3ac23516b1ff5b67edae43ea79
Diffstat (limited to 'nova/tests/unit/objects')
-rw-r--r--nova/tests/unit/objects/test_image_meta.py28
-rw-r--r--nova/tests/unit/objects/test_objects.py2
2 files changed, 29 insertions, 1 deletions
diff --git a/nova/tests/unit/objects/test_image_meta.py b/nova/tests/unit/objects/test_image_meta.py
index 6e3725de84..e47f653ba2 100644
--- a/nova/tests/unit/objects/test_image_meta.py
+++ b/nova/tests/unit/objects/test_image_meta.py
@@ -349,6 +349,34 @@ class TestImageMetaProps(test.NoDBTestCase):
self.assertRaises(exception.ObjectActionError,
obj.obj_to_primitive, '1.0')
+ def test_obj_make_compatible_hw_ephemeral_encryption(self):
+ """Check 'hw_ephemeral_encryption(_format)' compatibility."""
+ # assert that 'hw_ephemeral_encryption' and
+ # 'hw_ephemeral_encryption_format' is supported
+ # on a suitably new version
+ new_fields = (
+ 'hw_ephemeral_encryption',
+ 'hw_ephemeral_encryption_format'
+ )
+ eph_format = objects.fields.BlockDeviceEncryptionFormatType.LUKS
+ obj = objects.ImageMetaProps(
+ hw_ephemeral_encryption='yes',
+ hw_ephemeral_encryption_format=eph_format,
+ )
+ primitive = obj.obj_to_primitive('1.32')
+ for field in new_fields:
+ self.assertIn(field, primitive['nova_object.data'])
+ self.assertTrue(
+ primitive['nova_object.data']['hw_ephemeral_encryption'])
+ self.assertEqual(
+ eph_format,
+ primitive['nova_object.data']['hw_ephemeral_encryption_format'])
+
+ # and is absent on older versions
+ primitive = obj.obj_to_primitive('1.31')
+ for field in new_fields:
+ self.assertNotIn(field, primitive['nova_object.data'])
+
def test_obj_make_compatible_hw_emulation(self):
"""Check 'hw_emulation_architecture' compatibility."""
# assert that 'hw_emulation_architecture' is supported
diff --git a/nova/tests/unit/objects/test_objects.py b/nova/tests/unit/objects/test_objects.py
index 1897117115..2930bf1940 100644
--- a/nova/tests/unit/objects/test_objects.py
+++ b/nova/tests/unit/objects/test_objects.py
@@ -1072,7 +1072,7 @@ object_data = {
'HyperVLiveMigrateData': '1.4-e265780e6acfa631476c8170e8d6fce0',
'IDEDeviceBus': '1.0-29d4c9f27ac44197f01b6ac1b7e16502',
'ImageMeta': '1.8-642d1b2eb3e880a367f37d72dd76162d',
- 'ImageMetaProps': '1.31-27337af769b0c85b4ba4be8aebc1a65d',
+ 'ImageMetaProps': '1.32-4967d35948af08b710b8b861f3fff0f9',
'Instance': '2.7-d187aec68cad2e4d8b8a03a68e4739ce',
'InstanceAction': '1.2-9a5abc87fdd3af46f45731960651efb5',
'InstanceActionEvent': '1.4-5b1f361bd81989f8bb2c20bb7e8a4cb4',