From 30d1f902daeb7705647a81d685c5896136e636dd Mon Sep 17 00:00:00 2001 From: Kamlesh Chauvhan Date: Mon, 28 Nov 2022 08:35:17 +0000 Subject: [PATCH] OOB inspection timeout fix for iDRAC Make inspection timeout configurable to fix iDRAC driver out of band inspection intermittent timeout issue for idrac-wsman and idrac-redfish inspect interface. For idrac, at least 20 seconds is recommended to be set for inspect timeout for successful execution of OOB inspection. Change-Id: Ibdf78d0669d0afb43d32bb71e7710145ffb7c05e --- ironic_tempest_plugin/config.py | 3 +++ .../scenario/ironic_standalone/test_inspection_basic.py | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ironic_tempest_plugin/config.py b/ironic_tempest_plugin/config.py index 6b054021..fd86d473 100644 --- a/ironic_tempest_plugin/config.py +++ b/ironic_tempest_plugin/config.py @@ -97,6 +97,9 @@ BaremetalGroup = [ default=30, help="Timeout for association of Nova instance and Ironic " "node"), + cfg.IntOpt('inspect_timeout', + default=10, + help="Timeout for inspecting an Ironic node."), cfg.IntOpt('power_timeout', default=60, help="Timeout for Ironic power transitions."), diff --git a/ironic_tempest_plugin/tests/scenario/ironic_standalone/test_inspection_basic.py b/ironic_tempest_plugin/tests/scenario/ironic_standalone/test_inspection_basic.py index d6e2af14..97f0fa38 100644 --- a/ironic_tempest_plugin/tests/scenario/ironic_standalone/test_inspection_basic.py +++ b/ironic_tempest_plugin/tests/scenario/ironic_standalone/test_inspection_basic.py @@ -12,11 +12,14 @@ # License for the specific language governing permissions and limitations # under the License. +from tempest import config from tempest.lib import decorators from ironic_tempest_plugin.tests.scenario import \ baremetal_standalone_manager as bsm +CONF = config.CONF + class BaremetalIdracInspect(bsm.BaremetalStandaloneScenarioTest): @@ -50,7 +53,8 @@ class BaremetalIdracInspect(bsm.BaremetalStandaloneScenarioTest): self.baremetal_client.set_node_provision_state(self.node['uuid'], 'inspect') - self.wait_provisioning_state(self.node['uuid'], 'manageable') + self.wait_provisioning_state(self.node['uuid'], 'manageable', + timeout=CONF.baremetal.inspect_timeout) self._verify_node_inspection_data()