aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCédric Ollivier <cedric.ollivier@orange.com>2019-07-10 22:13:37 +0200
committerCédric Ollivier <cedric.ollivier@orange.com>2019-07-10 22:16:29 +0200
commita30e0c35f248cc9225e628e3a64723b2184d6087 (patch)
treee130e040c90fdafd5b8b36a7a852e4bf9fd250a4
parent16bd94efa559df105c28b90c891c84088b0c651e (diff)
Allow scenarios without external network
It allows creating testcases leveraging on Functest scenarios without external network. Then Rally can verify network providers by only skipping NovaServers.boot_server_associate_and_dissociate_floating_ip Change-Id: I07a9348214f7557195c7201466f7e37b2b980206 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
-rw-r--r--functest/core/tenantnetwork.py7
-rw-r--r--functest/opnfv_tests/openstack/rally/blacklist.yaml5
-rw-r--r--functest/opnfv_tests/openstack/rally/rally.py3
3 files changed, 13 insertions, 2 deletions
diff --git a/functest/core/tenantnetwork.py b/functest/core/tenantnetwork.py
index 7b2bf8799..ae739ac36 100644
--- a/functest/core/tenantnetwork.py
+++ b/functest/core/tenantnetwork.py
@@ -146,6 +146,7 @@ class TenantNetwork1(testcase.TestCase):
__logger = logging.getLogger(__name__)
cidr = '192.168.120.0/24'
shared_network = False
+ allow_no_fip = False
def __init__(self, **kwargs):
if "case_name" not in kwargs:
@@ -164,6 +165,7 @@ class TenantNetwork1(testcase.TestCase):
try:
self.ext_net = self.get_external_network(self.cloud)
except Exception: # pylint: disable=broad-except
+ self.ext_net = None
self.__logger.exception("Cannot get the external network")
self.guid = str(uuid.uuid4())
self.network = None
@@ -216,7 +218,8 @@ class TenantNetwork1(testcase.TestCase):
Raises: expection on error
"""
assert self.cloud
- assert self.ext_net
+ if not self.allow_no_fip:
+ assert self.ext_net
provider = {}
if hasattr(config.CONF, '{}_network_type'.format(self.case_name)):
provider["network_type"] = getattr(
@@ -251,7 +254,7 @@ class TenantNetwork1(testcase.TestCase):
self.router = self.cloud.create_router(
name='{}-router_{}'.format(self.case_name, self.guid),
- ext_gateway_net_id=self.ext_net.id)
+ ext_gateway_net_id=self.ext_net.id if self.ext_net else None)
self.__logger.debug("router: %s", self.router)
self.cloud.add_router_interface(self.router, subnet_id=self.subnet.id)
diff --git a/functest/opnfv_tests/openstack/rally/blacklist.yaml b/functest/opnfv_tests/openstack/rally/blacklist.yaml
index 77c514245..beed15cb9 100644
--- a/functest/opnfv_tests/openstack/rally/blacklist.yaml
+++ b/functest/opnfv_tests/openstack/rally/blacklist.yaml
@@ -28,3 +28,8 @@ functionality:
- no_net_trunk_service
tests:
- '^NeutronTrunk'
+ -
+ functions:
+ - no_floating_ip
+ tests:
+ - NovaServers.boot_server_associate_and_dissociate_floating_ip
diff --git a/functest/opnfv_tests/openstack/rally/rally.py b/functest/opnfv_tests/openstack/rally/rally.py
index 98b368b0d..efc2e784f 100644
--- a/functest/opnfv_tests/openstack/rally/rally.py
+++ b/functest/opnfv_tests/openstack/rally/rally.py
@@ -66,6 +66,7 @@ class RallyBase(singlevm.VmReady2):
visibility = 'public'
shared_network = True
+ allow_no_fip = True
def __init__(self, **kwargs):
"""Initialize RallyBase object."""
@@ -334,6 +335,8 @@ class RallyBase(singlevm.VmReady2):
func_list.append("no_migration")
if not self._network_trunk_supported():
func_list.append("no_net_trunk_service")
+ if not self.ext_net:
+ func_list.append("no_floating_ip")
if 'functionality' in black_list_yaml.keys():
for item in black_list_yaml['functionality']: