From 3843f5510a2c0c4fa4f20f45d433d71f03bee6ce Mon Sep 17 00:00:00 2001
From: Mike Turek <mjturek@linux.vnet.ibm.com>
Date: Mon, 18 Jan 2016 19:35:29 +0000
Subject: [PATCH] Remove hard-coded DEPLOYWAIT timeout from Baremetal Scenario

Currently the baremetal scenario is hardcoded to wait 15 seconds
for the ironic node to reach the wait-callback state. This patch
adds a configuration option for this timeout and replaces the
hardcoded value with it.

Closes-Bug: #1526466

Change-Id: I8cded9467dc03d9e1a75222bb4b017604ae946af
---
 ironic_tempest_plugin/config.py                           | 4 ++++
 ironic_tempest_plugin/tests/scenario/baremetal_manager.py | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/ironic_tempest_plugin/config.py b/ironic_tempest_plugin/config.py
index 436db88ca2..e9dd11c828 100644
--- a/ironic_tempest_plugin/config.py
+++ b/ironic_tempest_plugin/config.py
@@ -44,6 +44,10 @@ BaremetalGroup = [
                         'publicURL', 'adminURL', 'internalURL'],
                help="The endpoint type to use for the baremetal provisioning "
                     "service"),
+    cfg.IntOpt('deploywait_timeout',
+               default=15,
+               help="Timeout for Ironic node to reach the "
+                    "wait-callback state after powering on."),
     cfg.IntOpt('active_timeout',
                default=300,
                help="Timeout for Ironic node to completely provision"),
diff --git a/ironic_tempest_plugin/tests/scenario/baremetal_manager.py b/ironic_tempest_plugin/tests/scenario/baremetal_manager.py
index 3a03356a16..3a91c4b765 100644
--- a/ironic_tempest_plugin/tests/scenario/baremetal_manager.py
+++ b/ironic_tempest_plugin/tests/scenario/baremetal_manager.py
@@ -156,7 +156,7 @@ class BaremetalScenarioTest(manager.ScenarioTest):
             self.node['uuid'],
             [BaremetalProvisionStates.DEPLOYWAIT,
              BaremetalProvisionStates.ACTIVE],
-            timeout=15)
+            timeout=CONF.baremetal.deploywait_timeout)
 
         self.wait_provisioning_state(self.node['uuid'],
                                      BaremetalProvisionStates.ACTIVE,