diff --git a/doc/source/admin/drivers/ilo.rst b/doc/source/admin/drivers/ilo.rst index 147a4aebb5..74153cc9ce 100644 --- a/doc/source/admin/drivers/ilo.rst +++ b/doc/source/admin/drivers/ilo.rst @@ -294,7 +294,7 @@ Node configuration ``driver_info`` if ``ilo-virtual-media`` boot interface is used: - ``deploy_iso``: The glance UUID of the deploy ramdisk ISO image. - - ``instance info/ilo_boot_iso`` property to be either boot iso + - ``instance info/boot_iso`` property to be either boot iso Glance UUID or a HTTP(S) URL. This is optional property and is used when ``boot_option`` is set to ``netboot`` or ``ramdisk``. @@ -303,6 +303,10 @@ Node configuration configured to use ``ramdisk`` deploy interface. See :ref:`ramdisk-deploy` for details. + .. note:: + The ``boot_iso`` property used to be called ``ilo_boot_iso`` before + the Xena release. + - ``rescue_iso``: The glance UUID of the rescue ISO image. This is optional property and is used when ``rescue`` interface is set to ``agent``. @@ -1043,7 +1047,7 @@ HTTP(S) Based Deploy Support The user input for the images given in ``driver_info`` like ``deploy_iso``, ``deploy_kernel`` and ``deploy_ramdisk`` and in ``instance_info`` like -``image_source``, ``kernel``, ``ramdisk`` and ``ilo_boot_iso`` may also be given as +``image_source``, ``kernel``, ``ramdisk`` and ``boot_iso`` may also be given as HTTP(S) URLs. The HTTP(S) web server can be configured in many ways. For the Apache diff --git a/ironic/drivers/modules/ilo/boot.py b/ironic/drivers/modules/ilo/boot.py index 556886b25c..5c8734cda7 100644 --- a/ironic/drivers/modules/ilo/boot.py +++ b/ironic/drivers/modules/ilo/boot.py @@ -124,7 +124,7 @@ def _get_boot_iso(task, root_uuid): """This method returns a boot ISO to boot the node. It chooses one of the three options in the order as below: - 1. Does nothing if 'ilo_boot_iso' is present in node's instance_info. + 1. Does nothing if 'boot_iso' is present in node's instance_info. 2. Image deployed has a meta-property 'boot_iso' in Glance. This should refer to the UUID of the boot_iso which exists in Glance. 3. Returns a boot ISO created on the fly using kernel and ramdisk @@ -146,16 +146,18 @@ def _get_boot_iso(task, root_uuid): value in the node's driver_info or instance_info. :raises: SwiftOperationError, if operation with Swift fails. :raises: ImageCreationFailed, if creation of boot ISO failed. - :raises: exception.ImageRefValidationFailed if ilo_boot_iso is not + :raises: exception.ImageRefValidationFailed if boot_iso is not HTTP(S) URL. """ LOG.debug("Trying to get a boot ISO to boot the baremetal node") - # Option 1 - Check if user has provided ilo_boot_iso in node's + # Option 1 - Check if user has provided boot_iso in node's # instance_info - if task.node.instance_info.get('ilo_boot_iso'): - LOG.debug("Using ilo_boot_iso provided in node's instance_info") - boot_iso = task.node.instance_info['ilo_boot_iso'] + boot_iso = driver_utils.get_field(task.node, 'boot_iso', + deprecated_prefix='ilo', + collection='instance_info') + if boot_iso: + LOG.debug("Using boot_iso provided in node's instance_info") if not service_utils.is_glance_image(boot_iso): try: image_service.HttpImageService().validate_href(boot_iso) @@ -163,11 +165,11 @@ def _get_boot_iso(task, root_uuid): with excutils.save_and_reraise_exception(): LOG.error("Virtual media deploy accepts only Glance " "images or HTTP(S) URLs as " - "instance_info['ilo_boot_iso']. Either %s " + "instance_info['boot_iso']. Either %s " "is not a valid HTTP(S) URL or is " "not reachable.", boot_iso) - return task.node.instance_info['ilo_boot_iso'] + return boot_iso # Option 2 - Check if user has provided a boot_iso in Glance. If boot_iso # is a supported non-glance href execution will proceed to option 3. @@ -339,8 +341,10 @@ class IloVirtualMediaBoot(base.BootInterface): """ node = task.node boot_option = deploy_utils.get_boot_option(node) - boot_iso = node.instance_info.get('ilo_boot_iso') - if (boot_option == "ramdisk" and boot_iso): + boot_iso = driver_utils.get_field(node, 'boot_iso', + deprecated_prefix='ilo', + collection='instance_info') + if boot_option == "ramdisk" and boot_iso: if not service_utils.is_glance_image(boot_iso): try: image_service.HttpImageService().validate_href(boot_iso) @@ -349,7 +353,7 @@ class IloVirtualMediaBoot(base.BootInterface): LOG.error("Virtual media deploy with 'ramdisk' " "boot_option accepts only Glance images or " "HTTP(S) URLs as " - "instance_info['ilo_boot_iso']. Either %s " + "instance_info['boot_iso']. Either %s " "is not a valid HTTP(S) URL or is not " "reachable.", boot_iso) return @@ -409,12 +413,13 @@ class IloVirtualMediaBoot(base.BootInterface): prepare_node_for_deploy(task) - # Clear ilo_boot_iso if it's a glance image to force recreate + # Clear boot_iso if it's a glance image to force recreate # another one again (or use existing one in glance). # This is mainly for rebuild and rescue scenario. if service_utils.is_glance_image( node.instance_info.get('image_source')): instance_info = node.instance_info + instance_info.pop('boot_iso', None) instance_info.pop('ilo_boot_iso', None) node.instance_info = instance_info node.save() @@ -584,7 +589,7 @@ class IloVirtualMediaBoot(base.BootInterface): persistent=True) i_info = node.instance_info - i_info['ilo_boot_iso'] = boot_iso + i_info['boot_iso'] = boot_iso node.instance_info = i_info node.save() @@ -951,8 +956,10 @@ class IloUefiHttpsBoot(base.BootInterface): "The node is required to be in 'UEFI' boot mode.") raise exception.InvalidParameterValue(error) - boot_iso = node.instance_info.get('ilo_boot_iso') - if (boot_option == "ramdisk" and boot_iso): + boot_iso = driver_utils.get_field(node, 'boot_iso', + deprecated_prefix='ilo', + collection='instance_info') + if boot_option == "ramdisk" and boot_iso: if not service_utils.is_glance_image(boot_iso): try: image_service.HttpImageService().validate_href(boot_iso) @@ -961,7 +968,7 @@ class IloUefiHttpsBoot(base.BootInterface): LOG.error("UEFI-HTTPS boot with 'ramdisk' " "boot_option accepts only Glance images or " "HTTPS URLs as " - "instance_info['ilo_boot_iso']. Either %s " + "instance_info['boot_iso']. Either %s " "is not a valid HTTPS URL or is not " "reachable.", boot_iso) return @@ -1018,12 +1025,13 @@ class IloUefiHttpsBoot(base.BootInterface): prepare_node_for_deploy(task) - # Clear ilo_boot_iso if it's a glance image to force recreate + # Clear boot_iso if it's a glance image to force recreate # another one again (or use existing one in glance). # This is mainly for rebuild and rescue scenario. if service_utils.is_glance_image( node.instance_info.get('image_source')): instance_info = node.instance_info + instance_info.pop('boot_iso', None) instance_info.pop('ilo_boot_iso', None) node.instance_info = instance_info node.save() @@ -1129,7 +1137,7 @@ class IloUefiHttpsBoot(base.BootInterface): if boot_option != 'ramdisk': i_info = node.instance_info - i_info['ilo_boot_iso'] = iso_ref + i_info['boot_iso'] = iso_ref node.instance_info = i_info node.save() diff --git a/ironic/drivers/modules/ilo/power.py b/ironic/drivers/modules/ilo/power.py index 8461341af8..ee8fcc7944 100644 --- a/ironic/drivers/modules/ilo/power.py +++ b/ironic/drivers/modules/ilo/power.py @@ -30,6 +30,7 @@ from ironic.conductor import utils as manager_utils from ironic.conf import CONF from ironic.drivers import base from ironic.drivers.modules.ilo import common as ilo_common +from ironic.drivers import utils as driver_utils ilo_error = importutils.try_import('proliantutils.exception') @@ -42,24 +43,26 @@ def _attach_boot_iso_if_needed(task): """Attaches boot ISO for a deployed node. This method checks the instance info of the baremetal node for a - boot iso. If the instance info has a value of key 'ilo_boot_iso', + boot iso. If the instance info has a value of key 'boot_iso', it indicates that 'boot_option' is 'netboot'. Therefore it attaches the boot ISO on the baremetal node and then sets the node to boot from virtual media cdrom. :param task: a TaskManager instance containing the node to act on. """ - i_info = task.node.instance_info node_state = task.node.provision_state - # NOTE: On instance rebuild, ilo_boot_iso will be present in + # NOTE: On instance rebuild, boot_iso will be present in # instance_info but the node will be in DEPLOYING state. - # In such a scenario, the ilo_boot_iso shouldn't be + # In such a scenario, the boot_iso shouldn't be # attached to the node while powering on the node (the node # should boot from deploy ramdisk instead, which will already # be attached by the deploy driver). - if 'ilo_boot_iso' in i_info and node_state == states.ACTIVE: - ilo_common.setup_vmedia_for_boot(task, i_info['ilo_boot_iso']) + boot_iso = driver_utils.get_field(task.node, 'boot_iso', + deprecated_prefix='ilo', + collection='instance_info') + if boot_iso and node_state == states.ACTIVE: + ilo_common.setup_vmedia_for_boot(task, boot_iso) manager_utils.node_set_boot_device(task, boot_devices.CDROM) diff --git a/ironic/drivers/utils.py b/ironic/drivers/utils.py index e46c6275e6..55b18542ba 100644 --- a/ironic/drivers/utils.py +++ b/ironic/drivers/utils.py @@ -406,18 +406,20 @@ def get_kernel_append_params(node, default): return default -def get_field(node, name, deprecated_prefix=None, use_conf=False): +def get_field(node, name, deprecated_prefix=None, use_conf=False, + collection='driver_info'): """Get a driver_info field with deprecated prefix.""" - value = node.driver_info.get(name) + node_coll = getattr(node, collection) + value = node_coll.get(name) if value or not deprecated_prefix: return value deprecated_name = f'{deprecated_prefix}_{name}' - value = node.driver_info.get(deprecated_name) + value = node_coll.get(deprecated_name) if value: - LOG.warning("The driver_info field %s of node %s is deprecated, " + LOG.warning("The %s field %s of node %s is deprecated, " "please use %s instead", - deprecated_name, node.uuid, name) + collection, deprecated_name, node.uuid, name) return value if use_conf: diff --git a/ironic/tests/unit/drivers/modules/ilo/test_boot.py b/ironic/tests/unit/drivers/modules/ilo/test_boot.py index 4aa7810c6d..fa17cc82c5 100644 --- a/ironic/tests/unit/drivers/modules/ilo/test_boot.py +++ b/ironic/tests/unit/drivers/modules/ilo/test_boot.py @@ -161,7 +161,7 @@ class IloBootPrivateMethodsTestCase(test_common.BaseIloTest): def test__get_boot_iso_http_url(self, service_mock): url = 'http://abc.org/image/qcow2' i_info = self.node.instance_info - i_info['ilo_boot_iso'] = url + i_info['boot_iso'] = url self.node.instance_info = i_info self.node.save() @@ -178,7 +178,7 @@ class IloBootPrivateMethodsTestCase(test_common.BaseIloTest): image_href='file://img.qcow2', reason='fail') url = 'file://img.qcow2' i_info = self.node.instance_info - i_info['ilo_boot_iso'] = url + i_info['boot_iso'] = url self.node.instance_info = i_info self.node.save() @@ -445,7 +445,7 @@ class IloVirtualMediaBootTestCase(test_common.BaseIloTest): def test_validate(self, mock_val_instance_image_info, mock_val_driver_info, storage_mock): instance_info = self.node.instance_info - instance_info['ilo_boot_iso'] = 'deploy-iso' + instance_info['boot_iso'] = 'deploy-iso' instance_info['image_source'] = '6b2f0c0c-79e8-4db6-842e-43c9764204af' self.node.instance_info = instance_info self.node.save() @@ -469,7 +469,7 @@ class IloVirtualMediaBootTestCase(test_common.BaseIloTest): val_driver_info_mock): instance_info = self.node.instance_info boot_iso = '6b2f0c0c-79e8-4db6-842e-43c9764204af' - instance_info['ilo_boot_iso'] = boot_iso + instance_info['boot_iso'] = boot_iso instance_info['capabilities'] = '{"boot_option": "ramdisk"}' self.node.instance_info = instance_info self.node.save() @@ -492,7 +492,7 @@ class IloVirtualMediaBootTestCase(test_common.BaseIloTest): val_driver_info_mock): instance_info = self.node.instance_info boot_iso = 'http://myserver/boot.iso' - instance_info['ilo_boot_iso'] = boot_iso + instance_info['boot_iso'] = boot_iso instance_info['capabilities'] = '{"boot_option": "ramdisk"}' self.node.instance_info = instance_info self.node.save() @@ -520,7 +520,7 @@ class IloVirtualMediaBootTestCase(test_common.BaseIloTest): validate_href_mock.side_effect = exception.ImageRefValidationFailed( image_href='http://myserver/boot.iso', reason='fail') boot_iso = 'http://myserver/boot.iso' - instance_info['ilo_boot_iso'] = boot_iso + instance_info['boot_iso'] = boot_iso instance_info['capabilities'] = '{"boot_option": "ramdisk"}' self.node.instance_info = instance_info self.node.save() @@ -537,7 +537,7 @@ class IloVirtualMediaBootTestCase(test_common.BaseIloTest): self.assertFalse(val_driver_info_mock.called) self.assertIn("Virtual media deploy with 'ramdisk' boot_option " "accepts only Glance images or HTTP(S) URLs as " - "instance_info['ilo_boot_iso'].", + "instance_info['boot_iso'].", log_mock.call_args[0][0]) @mock.patch.object(noop_storage.NoopStorage, 'should_write_image', @@ -587,7 +587,7 @@ class IloVirtualMediaBootTestCase(test_common.BaseIloTest): ramdisk_params={'a': 'b'}, mode='deploy'): instance_info = self.node.instance_info - instance_info['ilo_boot_iso'] = ilo_boot_iso + instance_info['boot_iso'] = ilo_boot_iso instance_info['image_source'] = image_source self.node.instance_info = instance_info self.node.save() @@ -635,7 +635,7 @@ class IloVirtualMediaBootTestCase(test_common.BaseIloTest): image_source='6b2f0c0c-79e8-4db6-842e-43c9764204af', mode='rescue') self.node.refresh() - self.assertNotIn('ilo_boot_iso', self.node.instance_info) + self.assertNotIn('boot_iso', self.node.instance_info) def test_prepare_ramdisk_rescue_not_a_glance_image(self): self.node.provision_state = states.RESCUING @@ -646,7 +646,7 @@ class IloVirtualMediaBootTestCase(test_common.BaseIloTest): mode='rescue') self.node.refresh() self.assertEqual('http://mybootiso', - self.node.instance_info['ilo_boot_iso']) + self.node.instance_info['boot_iso']) def test_prepare_ramdisk_glance_image(self): self.node.provision_state = states.DEPLOYING @@ -655,7 +655,7 @@ class IloVirtualMediaBootTestCase(test_common.BaseIloTest): ilo_boot_iso='swift:abcdef', image_source='6b2f0c0c-79e8-4db6-842e-43c9764204af') self.node.refresh() - self.assertNotIn('ilo_boot_iso', self.node.instance_info) + self.assertNotIn('boot_iso', self.node.instance_info) def test_prepare_ramdisk_not_a_glance_image(self): self.node.provision_state = states.DEPLOYING @@ -665,7 +665,7 @@ class IloVirtualMediaBootTestCase(test_common.BaseIloTest): image_source='http://myimage') self.node.refresh() self.assertEqual('http://mybootiso', - self.node.instance_info['ilo_boot_iso']) + self.node.instance_info['boot_iso']) def test_prepare_ramdisk_glance_image_cleaning(self): self.node.provision_state = states.CLEANING @@ -674,7 +674,7 @@ class IloVirtualMediaBootTestCase(test_common.BaseIloTest): ilo_boot_iso='swift:abcdef', image_source='6b2f0c0c-79e8-4db6-842e-43c9764204af') self.node.refresh() - self.assertNotIn('ilo_boot_iso', self.node.instance_info) + self.assertNotIn('boot_iso', self.node.instance_info) def test_prepare_ramdisk_not_a_glance_image_cleaning(self): self.node.provision_state = states.CLEANING @@ -684,7 +684,7 @@ class IloVirtualMediaBootTestCase(test_common.BaseIloTest): image_source='http://myimage') self.node.refresh() self.assertEqual('http://mybootiso', - self.node.instance_info['ilo_boot_iso']) + self.node.instance_info['boot_iso']) @mock.patch.object(ilo_boot, 'prepare_node_for_deploy', spec_set=True, autospec=True) @@ -752,7 +752,7 @@ class IloVirtualMediaBootTestCase(test_common.BaseIloTest): set_boot_device_mock.assert_called_once_with( task, boot_devices.CDROM, persistent=True) self.assertEqual('boot.iso', - task.node.instance_info['ilo_boot_iso']) + task.node.instance_info['boot_iso']) @mock.patch.object(manager_utils, 'node_set_boot_device', spec_set=True, autospec=True) @@ -1447,13 +1447,13 @@ class IloUefiHttpsBootTestCase(db_base.DbTestCase): 'bootloader': 'bootloader' } get_img_inst_mock.return_value = { - 'ilo_boot_iso': 'boot-iso', + 'boot_iso': 'boot-iso', 'image_source': '6b2f0c0c-79e8-4db6-842e-43c9764204af' } instance_info = self.node.instance_info driver_info = self.node.driver_info - instance_info['ilo_boot_iso'] = 'boot-iso' + instance_info['boot_iso'] = 'boot-iso' instance_info['image_source'] = '6b2f0c0c-79e8-4db6-842e-43c9764204af' self.node.instance_info = instance_info @@ -1469,7 +1469,7 @@ class IloUefiHttpsBootTestCase(db_base.DbTestCase): 'deploy_kernel': 'deploy-kernel', 'deploy_ramdisk': 'deploy-ramdisk', 'bootloader': 'bootloader', - 'ilo_boot_iso': 'boot-iso', + 'boot_iso': 'boot-iso', 'image_source': '6b2f0c0c-79e8-4db6-842e-43c9764204af' } @@ -1610,7 +1610,7 @@ class IloUefiHttpsBootTestCase(db_base.DbTestCase): self, glance_mock, get_image_inst_mock, validate_image_mock, validate_href_mock): instance_info = { - 'ilo_boot_iso': 'boot-iso', + 'boot_iso': 'boot-iso', 'image_source': '6b2f0c0c-79e8-4db6-842e-43c9764204af' } driver_internal_info = self.node.driver_internal_info @@ -1646,7 +1646,7 @@ class IloUefiHttpsBootTestCase(db_base.DbTestCase): validate_href_mock): instance_info = { - 'ilo_boot_iso': 'boot-iso', + 'boot_iso': 'boot-iso', 'image_source': '6b2f0c0c-79e8-4db6-842e-43c9764204af' } driver_internal_info = self.node.driver_internal_info @@ -1681,7 +1681,7 @@ class IloUefiHttpsBootTestCase(db_base.DbTestCase): self, glance_mock, get_image_inst_mock, validate_image_mock, validate_href_mock): instance_info = { - 'ilo_boot_iso': 'boot-iso', + 'boot_iso': 'boot-iso', 'image_source': '6b2f0c0c-79e8-4db6-842e-43c9764204af' } driver_internal_info = self.node.driver_internal_info or {} @@ -1714,7 +1714,7 @@ class IloUefiHttpsBootTestCase(db_base.DbTestCase): get_boot_mock.return_value = 'UEFI' instance_info = self.node.instance_info - instance_info['ilo_boot_iso'] = 'boot-iso' + instance_info['boot_iso'] = 'boot-iso' instance_info['image_source'] = '6b2f0c0c-79e8-4db6-842e-43c9764204af' self.node.instance_info = instance_info self.node.save() @@ -1767,7 +1767,7 @@ class IloUefiHttpsBootTestCase(db_base.DbTestCase): get_boot_mock.return_value = 'UEFI' instance_info = self.node.instance_info boot_iso = '6b2f0c0c-79e8-4db6-842e-43c9764204af' - instance_info['ilo_boot_iso'] = boot_iso + instance_info['boot_iso'] = boot_iso instance_info['capabilities'] = '{"boot_option": "ramdisk"}' self.node.instance_info = instance_info self.node.save() @@ -1794,7 +1794,7 @@ class IloUefiHttpsBootTestCase(db_base.DbTestCase): get_boot_mock.return_value = 'UEFI' instance_info = self.node.instance_info boot_iso = 'http://myserver/boot.iso' - instance_info['ilo_boot_iso'] = boot_iso + instance_info['boot_iso'] = boot_iso instance_info['capabilities'] = '{"boot_option": "ramdisk"}' self.node.instance_info = instance_info self.node.save() @@ -1824,7 +1824,7 @@ class IloUefiHttpsBootTestCase(db_base.DbTestCase): validate_href_mock.side_effect = exception.ImageRefValidationFailed( image_href='http://myserver/boot.iso', reason='fail') boot_iso = 'http://myserver/boot.iso' - instance_info['ilo_boot_iso'] = boot_iso + instance_info['boot_iso'] = boot_iso instance_info['capabilities'] = '{"boot_option": "ramdisk"}' self.node.instance_info = instance_info self.node.save() @@ -1841,7 +1841,7 @@ class IloUefiHttpsBootTestCase(db_base.DbTestCase): self.assertFalse(val_driver_info_mock.called) self.assertIn("UEFI-HTTPS boot with 'ramdisk' boot_option " "accepts only Glance images or HTTPS URLs as " - "instance_info['ilo_boot_iso'].", + "instance_info['boot_iso'].", log_mock.call_args[0][0]) @mock.patch.object(ilo_boot.IloUefiHttpsBoot, '_validate_driver_info', @@ -1886,7 +1886,7 @@ class IloUefiHttpsBootTestCase(db_base.DbTestCase): self.node.provision_state = state self.node.save() instance_info = self.node.instance_info - instance_info['ilo_boot_iso'] = ilo_boot_iso + instance_info['boot_iso'] = ilo_boot_iso instance_info['image_source'] = image_source self.node.instance_info = instance_info self.node.save() @@ -1927,7 +1927,7 @@ class IloUefiHttpsBootTestCase(db_base.DbTestCase): image_source='6b2f0c0c-79e8-4db6-842e-43c9764204af', mode='rescue', state=states.RESCUING) self.node.refresh() - self.assertNotIn('ilo_boot_iso', self.node.instance_info) + self.assertNotIn('boot_iso', self.node.instance_info) def test_prepare_ramdisk_rescue_not_a_glance_image(self): self._test_prepare_ramdisk( @@ -1936,14 +1936,14 @@ class IloUefiHttpsBootTestCase(db_base.DbTestCase): mode='rescue', state=states.RESCUING) self.node.refresh() self.assertEqual('http://mybootiso', - self.node.instance_info['ilo_boot_iso']) + self.node.instance_info['boot_iso']) def test_prepare_ramdisk_glance_image(self): self._test_prepare_ramdisk( ilo_boot_iso='swift:abcdef', image_source='6b2f0c0c-79e8-4db6-842e-43c9764204af') self.node.refresh() - self.assertNotIn('ilo_boot_iso', self.node.instance_info) + self.assertNotIn('boot_iso', self.node.instance_info) def test_prepare_ramdisk_not_a_glance_image(self): self._test_prepare_ramdisk( @@ -1951,7 +1951,7 @@ class IloUefiHttpsBootTestCase(db_base.DbTestCase): image_source='http://myimage') self.node.refresh() self.assertEqual('http://mybootiso', - self.node.instance_info['ilo_boot_iso']) + self.node.instance_info['boot_iso']) def test_prepare_ramdisk_glance_image_cleaning(self): self._test_prepare_ramdisk( @@ -1959,7 +1959,7 @@ class IloUefiHttpsBootTestCase(db_base.DbTestCase): image_source='6b2f0c0c-79e8-4db6-842e-43c9764204af', mode='deploy', state=states.CLEANING) self.node.refresh() - self.assertNotIn('ilo_boot_iso', self.node.instance_info) + self.assertNotIn('boot_iso', self.node.instance_info) def test_prepare_ramdisk_not_a_glance_image_cleaning(self): self._test_prepare_ramdisk( @@ -1968,7 +1968,7 @@ class IloUefiHttpsBootTestCase(db_base.DbTestCase): mode='deploy', state=states.CLEANING) self.node.refresh() self.assertEqual('http://mybootiso', - self.node.instance_info['ilo_boot_iso']) + self.node.instance_info['boot_iso']) @mock.patch.object(image_utils, 'cleanup_iso_image', spec_set=True, autospec=True) @@ -2058,7 +2058,7 @@ class IloUefiHttpsBootTestCase(db_base.DbTestCase): update_secureboot_mock.assert_called_once_with(task) setup_uefi_https_mock.assert_called_once_with( task, "recreated-iso", True) - self.assertEqual(task.node.instance_info['ilo_boot_iso'], + self.assertEqual(task.node.instance_info['boot_iso'], "recreated-iso") @mock.patch.object(boot_mode_utils, 'configure_secure_boot_if_needed', @@ -2100,7 +2100,7 @@ class IloUefiHttpsBootTestCase(db_base.DbTestCase): update_secureboot_mock.assert_called_once_with(task) setup_uefi_https_mock.assert_called_once_with( task, "recreated-iso", True) - self.assertTrue('ilo_boot_iso' not in task.node.instance_info) + self.assertTrue('boot_iso' not in task.node.instance_info) @mock.patch.object(boot_mode_utils, 'deconfigure_secure_boot_if_needed', spec_set=True, autospec=True) diff --git a/ironic/tests/unit/drivers/modules/ilo/test_power.py b/ironic/tests/unit/drivers/modules/ilo/test_power.py index e7e264418e..ff49b34ad6 100644 --- a/ironic/tests/unit/drivers/modules/ilo/test_power.py +++ b/ironic/tests/unit/drivers/modules/ilo/test_power.py @@ -344,7 +344,7 @@ class IloPowerInternalMethodsTestCase(test_common.BaseIloTest): with task_manager.acquire(self.context, self.node.uuid, shared=True) as task: task.node.provision_state = states.ACTIVE - task.node.instance_info['ilo_boot_iso'] = 'boot-iso' + task.node.instance_info['boot_iso'] = 'boot-iso' ilo_power._attach_boot_iso_if_needed(task) setup_vmedia_mock.assert_called_once_with(task, 'boot-iso') set_boot_device_mock.assert_called_once_with(task, @@ -360,7 +360,7 @@ class IloPowerInternalMethodsTestCase(test_common.BaseIloTest): with task_manager.acquire(self.context, self.node.uuid, shared=True) as task: task.node.provision_state = states.DEPLOYING - task.node.instance_info['ilo_boot_iso'] = 'boot-iso' + task.node.instance_info['boot_iso'] = 'boot-iso' ilo_power._attach_boot_iso_if_needed(task) self.assertFalse(setup_vmedia_mock.called) self.assertFalse(set_boot_device_mock.called) diff --git a/releasenotes/notes/ilo-boot-iso-696b57f44f29852d.yaml b/releasenotes/notes/ilo-boot-iso-696b57f44f29852d.yaml new file mode 100644 index 0000000000..59dd205938 --- /dev/null +++ b/releasenotes/notes/ilo-boot-iso-696b57f44f29852d.yaml @@ -0,0 +1,5 @@ +--- +deprecations: + - | + The ``driver_info`` property ``ilo_boot_iso`` has been renamed to + just ``boot_iso``.