Merge "Allow network configuration for mtu tests"
diff --git a/.zuul.yaml b/.zuul.yaml
index 636327e..adcb433 100644
--- a/.zuul.yaml
+++ b/.zuul.yaml
@@ -187,7 +187,6 @@
- ^(test-|)requirements.txt$
- ^releasenotes/.*$
- ^setup.cfg$
- voting: false
- job:
name: neutron-tempest-plugin-designate-scenario-queens
@@ -208,6 +207,7 @@
gate:
jobs:
- neutron-tempest-plugin-api
+ - neutron-tempest-plugin-scenario-linuxbridge
- build-openstack-sphinx-docs
- project-template:
diff --git a/neutron_tempest_plugin/api/admin/test_routers_dvr.py b/neutron_tempest_plugin/api/admin/test_routers_dvr.py
index 2313d1b..644bc38 100644
--- a/neutron_tempest_plugin/api/admin/test_routers_dvr.py
+++ b/neutron_tempest_plugin/api/admin/test_routers_dvr.py
@@ -19,7 +19,7 @@
from neutron_tempest_plugin.api import base_routers as base
-class RoutersTestDVR(base.BaseRouterTest):
+class RoutersTestDVRBase(base.BaseRouterTest):
required_extensions = ['router', 'dvr']
@@ -31,7 +31,7 @@
# admin credentials to create router with distributed=True attribute
# and checking for BadRequest exception and that the resulting router
# has a distributed attribute.
- super(RoutersTestDVR, cls).resource_setup()
+ super(RoutersTestDVRBase, cls).resource_setup()
name = data_utils.rand_name('pretest-check')
router = cls.admin_client.create_router(name)
if 'distributed' not in router['router']:
@@ -39,6 +39,9 @@
raise cls.skipException(msg)
cls.admin_client.delete_router(router['router']['id'])
+
+class RoutersTestDVR(RoutersTestDVRBase):
+
@decorators.idempotent_id('08a2a0a8-f1e4-4b34-8e30-e522e836c44e')
def test_distributed_router_creation(self):
"""
@@ -74,6 +77,11 @@
router['router']['id'])
self.assertFalse(router['router']['distributed'])
+
+class RouterTestCentralizedToDVR(RoutersTestDVRBase):
+
+ required_extensions = ['l3-ha']
+
@decorators.idempotent_id('acd43596-c1fb-439d-ada8-31ad48ae3c2e')
def test_centralized_router_update_to_dvr(self):
"""
diff --git a/neutron_tempest_plugin/api/test_routers.py b/neutron_tempest_plugin/api/test_routers.py
index d5d2e04..4637dd6 100644
--- a/neutron_tempest_plugin/api/test_routers.py
+++ b/neutron_tempest_plugin/api/test_routers.py
@@ -14,6 +14,7 @@
# under the License.
import netaddr
+
from tempest.common import utils as tutils
from tempest.lib.common.utils import data_utils
from tempest.lib import decorators
@@ -244,6 +245,11 @@
self.admin_client)
self.assertTrue(create_body['router']['distributed'])
+
+class DvrRoutersTestToCentralized(base_routers.BaseRouterTest):
+
+ required_extensions = ['dvr', 'l3-ha']
+
@decorators.idempotent_id('644d7a4a-01a1-4b68-bb8d-0c0042cb1729')
def test_convert_centralized_router(self):
router_args = {'tenant_id': self.client.tenant_id,
diff --git a/neutron_tempest_plugin/scenario/base.py b/neutron_tempest_plugin/scenario/base.py
index 2bb6344..0a2fa14 100644
--- a/neutron_tempest_plugin/scenario/base.py
+++ b/neutron_tempest_plugin/scenario/base.py
@@ -302,9 +302,18 @@
1)
def check_remote_connectivity(self, source, dest, should_succeed=True,
- nic=None, mtu=None, fragmentation=True):
- self.assertTrue(self._check_remote_connectivity(
- source, dest, should_succeed, nic, mtu, fragmentation))
+ nic=None, mtu=None, fragmentation=True,
+ servers=None):
+ try:
+ self.assertTrue(self._check_remote_connectivity(
+ source, dest, should_succeed, nic, mtu, fragmentation))
+ except lib_exc.SSHTimeout as ssh_e:
+ LOG.debug(ssh_e)
+ self._log_console_output(servers)
+ raise
+ except AssertionError:
+ self._log_console_output(servers)
+ raise
def ping_ip_address(self, ip_address, should_succeed=True,
ping_timeout=None, mtu=None):