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()