summaryrefslogtreecommitdiff
path: root/ironic
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2022-03-11 17:31:19 +0000
committerGerrit Code Review <review@openstack.org>2022-03-11 17:31:19 +0000
commit1d1cfbc1af8ae67613d085849508e31faf14a7d7 (patch)
treef237bade9b0a55a15966f7e6f04d7a4766e8300c /ironic
parent910448b8b331798701d103598541f96afb37fac0 (diff)
parentc62c16bd223a8da2262a3dadf1905ef3c2a7c88b (diff)
downloadironic-1d1cfbc1af8ae67613d085849508e31faf14a7d7.tar.gz
Merge "Support img_type Glance property"
Diffstat (limited to 'ironic')
-rw-r--r--ironic/common/images.py4
-rw-r--r--ironic/tests/unit/common/test_images.py14
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 = {}