diff options
author | Zuul <zuul@review.opendev.org> | 2022-03-11 17:31:19 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2022-03-11 17:31:19 +0000 |
commit | 1d1cfbc1af8ae67613d085849508e31faf14a7d7 (patch) | |
tree | f237bade9b0a55a15966f7e6f04d7a4766e8300c /ironic | |
parent | 910448b8b331798701d103598541f96afb37fac0 (diff) | |
parent | c62c16bd223a8da2262a3dadf1905ef3c2a7c88b (diff) | |
download | ironic-1d1cfbc1af8ae67613d085849508e31faf14a7d7.tar.gz |
Merge "Support img_type Glance property"
Diffstat (limited to 'ironic')
-rw-r--r-- | ironic/common/images.py | 4 | ||||
-rw-r--r-- | ironic/tests/unit/common/test_images.py | 14 |
2 files changed, 18 insertions, 0 deletions
diff --git a/ironic/common/images.py b/ironic/common/images.py index 30eaed9e3..9f771ca29 100644 --- a/ironic/common/images.py +++ b/ironic/common/images.py @@ -607,6 +607,10 @@ def is_whole_disk_image(ctx, instance_info): except Exception: return + image_type = iproperties.get('img_type') + if image_type: + return image_type != IMAGE_TYPE_PARTITION + is_whole_disk_image = (not iproperties.get('kernel_id') and not iproperties.get('ramdisk_id')) else: diff --git a/ironic/tests/unit/common/test_images.py b/ironic/tests/unit/common/test_images.py index f3fbbbf77..fe6b67ad3 100644 --- a/ironic/tests/unit/common/test_images.py +++ b/ironic/tests/unit/common/test_images.py @@ -244,6 +244,20 @@ class IronicImagesTestCase(base.TestCase): @mock.patch.object(images, 'get_image_properties', autospec=True) @mock.patch.object(glance_utils, 'is_glance_image', autospec=True) + def test_is_whole_disk_image_partition_image_with_type(self, mock_igi, + mock_gip): + mock_igi.return_value = True + mock_gip.return_value = {'img_type': images.IMAGE_TYPE_PARTITION} + instance_info = {'image_source': 'glance://partition_image'} + image_source = instance_info['image_source'] + is_whole_disk_image = images.is_whole_disk_image('context', + instance_info) + self.assertFalse(is_whole_disk_image) + mock_igi.assert_called_once_with(image_source) + mock_gip.assert_called_once_with('context', image_source) + + @mock.patch.object(images, 'get_image_properties', autospec=True) + @mock.patch.object(glance_utils, 'is_glance_image', autospec=True) def test_is_whole_disk_image_whole_disk_image(self, mock_igi, mock_gip): mock_igi.return_value = True mock_gip.return_value = {} |