summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCédric Ollivier <cedric.ollivier@orange.com>2019-01-19 20:59:08 +0100
committerCédric Ollivier <cedric.ollivier@orange.com>2019-01-20 02:41:50 +0100
commit5e667d4e4bd8a654e1bdda8c20a0da437d9c59ad (patch)
tree0bc2f9b4c186433287273debef093500318ea00a
parent068c6100cd7b4181721e1b2009151fe38751f091 (diff)
Take control over Rally logics
Rally selects the first external network [1] which could raise side effects if: - another testcase is creating a dummy external network in // - all external subnets are not reachable from jumphost It's now overriden by EXTERNAL_NETWORK as defined in Functest Rally creates a new shared network if one already exists [2]. As juju now allows other shared networks, it can be safely created by Functest to allow only one logic and to handle provider networks, different name servers, etc... [1] https://github.com/openstack/rally-openstack/blob/master/rally_openstack/verification/tempest/config.py#L146 [2] https://github.com/openstack/rally-openstack/blob/master/rally_openstack/verification/tempest/context.py#L85 Change-Id: Icf8c08077d4b0a9eb1c2e1b7309c62957b0a3b63 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com> (cherry picked from commit ee52195f4476d3debf9c3f92c6d808256a199500)
-rw-r--r--functest/opnfv_tests/openstack/tempest/tempest.py29
1 files changed, 25 insertions, 4 deletions
diff --git a/functest/opnfv_tests/openstack/tempest/tempest.py b/functest/opnfv_tests/openstack/tempest/tempest.py
index 9d788de8c..75a2fb5a1 100644
--- a/functest/opnfv_tests/openstack/tempest/tempest.py
+++ b/functest/opnfv_tests/openstack/tempest/tempest.py
@@ -33,11 +33,12 @@ LOGGER = logging.getLogger(__name__)
class TempestCommon(singlevm.VmReady2):
- # pylint: disable=too-many-instance-attributes
+ # pylint: disable=too-many-instance-attributes,too-many-public-methods
"""TempestCommon testcases implementation class."""
visibility = 'public'
filename_alt = '/home/opnfv/functest/images/cirros-0.4.0-x86_64-disk.img'
+ shared_network = True
def __init__(self, **kwargs):
if "case_name" not in kwargs:
@@ -83,9 +84,6 @@ class TempestCommon(singlevm.VmReady2):
except Exception: # pylint: disable=broad-except
pass
- def create_network_resources(self):
- pass
-
def check_services(self):
"""Check the mandatory services."""
for service in self.services:
@@ -356,6 +354,27 @@ class TempestCommon(singlevm.VmReady2):
with open(rally_conf, 'wb') as config_file:
rconfig.write(config_file)
+ def update_network_section(self):
+ """Update network section in tempest.conf"""
+ rconfig = configparser.RawConfigParser()
+ rconfig.read(self.conf_file)
+ if not rconfig.has_section('network'):
+ rconfig.add_section('network')
+ rconfig.set('network', 'public_network_id', self.ext_net.id)
+ rconfig.set('network', 'floating_network_name', self.ext_net.name)
+ with open(self.conf_file, 'wb') as config_file:
+ rconfig.write(config_file)
+
+ def update_compute_section(self):
+ """Update neutron section in tempest.conf"""
+ rconfig = configparser.RawConfigParser()
+ rconfig.read(self.conf_file)
+ if not rconfig.has_section('compute'):
+ rconfig.add_section('compute')
+ rconfig.set('compute', 'fixed_network_name', self.network.name)
+ with open(self.conf_file, 'wb') as config_file:
+ rconfig.write(config_file)
+
def update_scenario_section(self):
"""Update scenario section in tempest.conf"""
rconfig = configparser.RawConfigParser()
@@ -431,6 +450,8 @@ class TempestCommon(singlevm.VmReady2):
flavor_alt_id=self.flavor_alt.id,
admin_role_name=self.role_name, cidr=self.cidr,
domain_id=self.project.domain.id)
+ self.update_network_section()
+ self.update_compute_section()
self.update_scenario_section()
self.backup_tempest_config(self.conf_file, self.res_dir)