Actually test rescue in the standalone job
The current test only makes sure the node can be pinged and passes
happily if rescue fails, as long as the ramdisk stays online.
Change-Id: Ib4946974713ccf5fccb38359987ce6e7573e07e0
diff --git a/ironic_tempest_plugin/tests/scenario/baremetal_standalone_manager.py b/ironic_tempest_plugin/tests/scenario/baremetal_standalone_manager.py
index eac82f3..9948ca8 100644
--- a/ironic_tempest_plugin/tests/scenario/baremetal_standalone_manager.py
+++ b/ironic_tempest_plugin/tests/scenario/baremetal_standalone_manager.py
@@ -17,6 +17,7 @@
from oslo_utils import uuidutils
from tempest import config
+from tempest.lib.common.utils.linux import remote_client
from tempest.lib.common.utils import test_utils
from tempest.lib import exceptions as lib_exc
from tempest.scenario import manager
@@ -600,3 +601,21 @@
# NOTE(dtantsur): apparently cirros cannot boot from md devices :(
# So we only move the node to active (verifying deployment).
self.set_node_to_active()
+
+ def rescue_unrescue(self):
+ rescue_password = uuidutils.generate_uuid()
+ self.rescue_node(self.node['uuid'], rescue_password)
+ self.assertTrue(self.ping_ip_address(self.node_ip,
+ should_succeed=True))
+
+ # Open ssh connection to server
+ linux_client = remote_client.RemoteClient(
+ self.node_ip,
+ 'rescue',
+ password=rescue_password,
+ ssh_timeout=CONF.baremetal.rescue_timeout)
+ linux_client.validate_authentication()
+
+ self.unrescue_node(self.node['uuid'])
+ self.assertTrue(self.ping_ip_address(self.node_ip,
+ should_succeed=True))
diff --git a/ironic_tempest_plugin/tests/scenario/ironic_standalone/test_basic_ops.py b/ironic_tempest_plugin/tests/scenario/ironic_standalone/test_basic_ops.py
index ecd4463..0f91b01 100644
--- a/ironic_tempest_plugin/tests/scenario/ironic_standalone/test_basic_ops.py
+++ b/ironic_tempest_plugin/tests/scenario/ironic_standalone/test_basic_ops.py
@@ -204,13 +204,7 @@
@utils.services('image', 'network')
def test_rescue_mode(self):
self.set_node_to_active(self.image_ref)
- self.rescue_node(self.node['uuid'], 'abc123')
- self.assertTrue(self.ping_ip_address(self.node_ip,
- should_succeed=True))
-
- self.unrescue_node(self.node['uuid'])
- self.assertTrue(self.ping_ip_address(self.node_ip,
- should_succeed=True))
+ self.rescue_unrescue()
class BaremetalIpmiRescuePartitioned(bsm.BaremetalStandaloneScenarioTest):
@@ -233,13 +227,7 @@
@utils.services('image', 'network')
def test_rescue_mode(self):
self.set_node_to_active(self.image_ref)
- self.rescue_node(self.node['uuid'], 'abc123')
- self.assertTrue(self.ping_ip_address(self.node_ip,
- should_succeed=True))
-
- self.unrescue_node(self.node['uuid'])
- self.assertTrue(self.ping_ip_address(self.node_ip,
- should_succeed=True))
+ self.rescue_unrescue()
class BaremetalIloDirectWholediskHttpLink(