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-11 10:01:20 +0200
commit0c55a91ceed5cdcbe03eec3b0b731e501bf51773 (patch)
treeaba074544f09b01f18be4c2e212c2ff58e941c2c
parent31e2e6494aa8688950fa56be4e438eb8bd0104d6 (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> (cherry picked from commit a30e0c35f248cc9225e628e3a64723b2184d6087)
-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 fccb3b192..6ba22ba8e 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']: