From 1d6ee9e3183d6b9de8c4728c6d97a4258d070336 Mon Sep 17 00:00:00 2001 From: Federico Ressi Date: Thu, 23 Jan 2020 16:27:06 +0100 Subject: [PATCH] Test rebooting VM with floating IP test cases Change-Id: I36a4bf08cf7a39d626e939f61281556638638099 --- tobiko/openstack/stacks/__init__.py | 1 + tobiko/openstack/stacks/_cirros.py | 11 +++++++++++ tobiko/tests/scenario/neutron/test_floating_ip.py | 5 ++++- 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/tobiko/openstack/stacks/__init__.py b/tobiko/openstack/stacks/__init__.py index d5767645e..059c57663 100644 --- a/tobiko/openstack/stacks/__init__.py +++ b/tobiko/openstack/stacks/__init__.py @@ -35,6 +35,7 @@ CirrosPeerServerStackFixture = _cirros.CirrosPeerServerStackFixture CirrosDifferentHostServerStackFixture = ( _cirros.CirrosDifferentHostServerStackFixture) CirrosSameHostServerStackFixture = _cirros.CirrosSameHostServerStackFixture +RebootCirrosServerOperation = _cirros.RebootCirrosServerOperation L3haNetworkStackFixture = _l3ha.L3haNetworkStackFixture L3haServerStackFixture = _l3ha.L3haServerStackFixture diff --git a/tobiko/openstack/stacks/_cirros.py b/tobiko/openstack/stacks/_cirros.py index d11ff5d56..8704d7f27 100644 --- a/tobiko/openstack/stacks/_cirros.py +++ b/tobiko/openstack/stacks/_cirros.py @@ -17,6 +17,8 @@ import tobiko from tobiko import config from tobiko.openstack import glance from tobiko.openstack.stacks import _nova +from tobiko.shell import sh + CONF = config.CONF @@ -63,3 +65,12 @@ class CirrosSameHostServerStackFixture( class CirrosDifferentHostServerStackFixture( CirrosPeerServerStackFixture, _nova.DifferentHostServerStackFixture): pass + + +class RebootCirrosServerOperation(sh.RebootHostOperation): + + stack = tobiko.required_setup_fixture(CirrosServerStackFixture) + + @property + def ssh_client(self): + return self.stack.ssh_client diff --git a/tobiko/tests/scenario/neutron/test_floating_ip.py b/tobiko/tests/scenario/neutron/test_floating_ip.py index 855622197..569faa1b9 100644 --- a/tobiko/tests/scenario/neutron/test_floating_ip.py +++ b/tobiko/tests/scenario/neutron/test_floating_ip.py @@ -27,12 +27,15 @@ from tobiko.openstack import stacks CONF = config.CONF -class FloatingIPTest(testtools.TestCase): +class FloatingIPTest(tobiko.RunsOperations, testtools.TestCase): """Tests connectivity via floating IPs""" #: Resources stack with floating IP and Nova server stack = tobiko.required_setup_fixture(stacks.CirrosServerStackFixture) + #: Reboots target server + server_reboot = tobiko.runs_operation(stacks.RebootCirrosServerOperation) + def test_stack_create_complete(self): self.stack.key_pair_stack.wait_for_create_complete() self.stack.network_stack.wait_for_create_complete()