From fd064a4f6b64e7e683bc9f578e359a7c0ac5f4dc Mon Sep 17 00:00:00 2001 From: Dmitry Tantsur Date: Thu, 5 Dec 2019 12:47:55 +0100 Subject: Correct power state handling for managed in-band inspection Do not try to configure networks when powered on, unless it's a node with a SmartNIC, in which case do power on before configuring networks. A new helper is created based on existing code in agent.py. Change-Id: I3a8fab7a39b604ed17a690fa9c31b3cd1dbdc6a7 Story: #1528920 Task: #37753 --- ironic/tests/unit/drivers/modules/test_inspector.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'ironic/tests/unit/drivers') diff --git a/ironic/tests/unit/drivers/modules/test_inspector.py b/ironic/tests/unit/drivers/modules/test_inspector.py index c81ea0a8f..857fd5765 100644 --- a/ironic/tests/unit/drivers/modules/test_inspector.py +++ b/ironic/tests/unit/drivers/modules/test_inspector.py @@ -192,11 +192,12 @@ class InspectHardwareTestCase(BaseTestCase): }) self.driver.network.add_inspection_network.assert_called_once_with( self.task) - self.driver.power.reboot.assert_called_once_with( - self.task, timeout=None) + self.driver.power.set_power_state.assert_has_calls([ + mock.call(self.task, states.POWER_OFF, timeout=None), + mock.call(self.task, states.POWER_ON, timeout=None), + ]) self.assertFalse(self.driver.network.remove_inspection_network.called) self.assertFalse(self.driver.boot.clean_up_ramdisk.called) - self.assertFalse(self.driver.power.set_power_state.called) def test_managed_custom_params(self, mock_client): CONF.set_override('extra_kernel_params', @@ -219,11 +220,12 @@ class InspectHardwareTestCase(BaseTestCase): }) self.driver.network.add_inspection_network.assert_called_once_with( self.task) - self.driver.power.reboot.assert_called_once_with( - self.task, timeout=None) + self.driver.power.set_power_state.assert_has_calls([ + mock.call(self.task, states.POWER_OFF, timeout=None), + mock.call(self.task, states.POWER_ON, timeout=None), + ]) self.assertFalse(self.driver.network.remove_inspection_network.called) self.assertFalse(self.driver.boot.clean_up_ramdisk.called) - self.assertFalse(self.driver.power.set_power_state.called) @mock.patch.object(task_manager, 'acquire', autospec=True) def test_managed_error(self, mock_acquire, mock_client): @@ -246,7 +248,7 @@ class InspectHardwareTestCase(BaseTestCase): self.driver.network.remove_inspection_network.assert_called_once_with( self.task) self.driver.boot.clean_up_ramdisk.assert_called_once_with(self.task) - self.driver.power.set_power_state.assert_called_once_with( + self.driver.power.set_power_state.assert_called_with( self.task, 'power off', timeout=None) -- cgit v1.2.1