From 0fe0122466e3ea033661699e6c18ef062be4685b Mon Sep 17 00:00:00 2001
From: Julia Kreger <juliaashleykreger@gmail.com>
Date: Fri, 20 Aug 2021 20:16:13 +0000
Subject: [PATCH] Revert "Allow reboot to hard disk following iso ramdisk
 deploy."

This reverts commit 3bad548ce3d34207aa70fde8342082fe243bee31
based upon the comments on https://review.opendev.org/c/openstack/ironic/+/801343 which
was the stable/wallaby backport for this change
where Derek points out that the change was redundant and
Dmitry asks if the patch should be reverted.

This change is a partial revert where the documentation
changed in the original commit was actually correct all
along.

Change-Id: I4bc9dbeb334f176b7c8ed4e4b5ec36affc17e9cd
---
 ironic/drivers/modules/redfish/boot.py        |  6 +--
 .../unit/drivers/modules/redfish/test_boot.py | 52 -------------------
 .../not-presistent-9c552f4209a84820.yaml      |  7 ---
 3 files changed, 1 insertion(+), 64 deletions(-)
 delete mode 100644 releasenotes/notes/not-presistent-9c552f4209a84820.yaml

diff --git a/ironic/drivers/modules/redfish/boot.py b/ironic/drivers/modules/redfish/boot.py
index 588c00fa26..f329b06d49 100644
--- a/ironic/drivers/modules/redfish/boot.py
+++ b/ironic/drivers/modules/redfish/boot.py
@@ -627,11 +627,7 @@ class RedfishVirtualMediaBoot(base.BootInterface):
 
         del managers
 
-        persistent = True
-        if node.driver_info.get('force_persistent_boot_device',
-                                'Default') == 'Never':
-            persistent = False
-        self._set_boot_device(task, boot_devices.CDROM, persistent=persistent)
+        self._set_boot_device(task, boot_devices.CDROM, persistent=True)
 
         LOG.debug("Node %(node)s is set to permanently boot from "
                   "%(device)s", {'node': task.node.uuid,
diff --git a/ironic/tests/unit/drivers/modules/redfish/test_boot.py b/ironic/tests/unit/drivers/modules/redfish/test_boot.py
index b80f3acd68..3ffdd8ff27 100644
--- a/ironic/tests/unit/drivers/modules/redfish/test_boot.py
+++ b/ironic/tests/unit/drivers/modules/redfish/test_boot.py
@@ -968,58 +968,6 @@ class RedfishVirtualMediaBootTestCase(db_base.DbTestCase):
 
             mock_boot_mode_utils.sync_boot_mode.assert_called_once_with(task)
 
-    @mock.patch.object(redfish_boot.RedfishVirtualMediaBoot,
-                       '_eject_all', autospec=True)
-    @mock.patch.object(image_utils, 'prepare_boot_iso', autospec=True)
-    @mock.patch.object(redfish_boot, '_eject_vmedia', autospec=True)
-    @mock.patch.object(redfish_boot, '_insert_vmedia', autospec=True)
-    @mock.patch.object(redfish_boot, '_parse_deploy_info', autospec=True)
-    @mock.patch.object(redfish_boot.manager_utils, 'node_set_boot_device',
-                       autospec=True)
-    @mock.patch.object(redfish_boot, 'deploy_utils', autospec=True)
-    @mock.patch.object(redfish_boot, 'boot_mode_utils', autospec=True)
-    @mock.patch.object(redfish_utils, 'get_system', autospec=True)
-    def test_prepare_instance_ramdisk_boot_iso_not_persistent(
-            self, mock_system, mock_boot_mode_utils, mock_deploy_utils,
-            mock_node_set_boot_device, mock__parse_deploy_info,
-            mock__insert_vmedia, mock__eject_vmedia, mock_prepare_boot_iso,
-            mock_clean_up_instance):
-
-        managers = mock_system.return_value.managers
-        with task_manager.acquire(self.context, self.node.uuid,
-                                  shared=True) as task:
-            task.node.provision_state = states.DEPLOYING
-            task.node.driver_internal_info[
-                'root_uuid_or_disk_id'] = self.node.uuid
-            task.node.instance_info['configdrive'] = None
-            task.node.driver_info['force_persistent_boot_device'] = 'Never'
-
-            mock_deploy_utils.get_boot_option.return_value = 'ramdisk'
-
-            d_info = {
-                'deploy_kernel': 'kernel',
-                'deploy_ramdisk': 'ramdisk',
-                'bootloader': 'bootloader'
-            }
-
-            mock__parse_deploy_info.return_value = d_info
-            mock_prepare_boot_iso.return_value = 'image-url'
-
-            task.driver.boot.prepare_instance(task)
-
-            mock_prepare_boot_iso.assert_called_once_with(task, d_info)
-
-            mock__eject_vmedia.assert_called_once_with(
-                task, managers, sushy.VIRTUAL_MEDIA_CD)
-
-            mock__insert_vmedia.assert_called_once_with(
-                task, managers, 'image-url', sushy.VIRTUAL_MEDIA_CD)
-
-            mock_node_set_boot_device.assert_called_once_with(
-                task, boot_devices.CDROM, persistent=False)
-
-            mock_boot_mode_utils.sync_boot_mode.assert_called_once_with(task)
-
     @mock.patch.object(redfish_boot.RedfishVirtualMediaBoot,
                        '_eject_all', autospec=True)
     @mock.patch.object(image_utils, 'prepare_boot_iso', autospec=True)
diff --git a/releasenotes/notes/not-presistent-9c552f4209a84820.yaml b/releasenotes/notes/not-presistent-9c552f4209a84820.yaml
deleted file mode 100644
index e100f078bc..0000000000
--- a/releasenotes/notes/not-presistent-9c552f4209a84820.yaml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-fixes:
-  - |
-    Allows reboot to hard disk following iso ramdisk deploy. Re-uses the
-    ``force_persistent_boot_device`` driver_info option which can be
-    set to ``Never`` in order to set the virtual media to one time
-    boot.