diff options
author | Cédric Ollivier <cedric.ollivier@orange.com> | 2020-11-14 15:31:43 +0100 |
---|---|---|
committer | Cédric Ollivier <cedric.ollivier@orange.com> | 2020-11-14 15:34:00 +0100 |
commit | d99e61f9eb1c4a582b71eb304259ddd3fdeb748f (patch) | |
tree | 00c8bd4847c72f189ba336b44e7e4432f1cec2b4 /functest/core | |
parent | 19ccc35303f0626a9d62dbbf2be9d8afe3152ea0 (diff) |
Allow connecting vm to the external network
It fits the Airship deployment where there is neither tenant networks
nor floating ips. It only updates the scenarios and must be completed
by other changes for all the advanced testcases (Rally, Tempest, etc)
Change-Id: Ia19f24d484b7b384c4aeeb3be35aac7aee31baab
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
Diffstat (limited to 'functest/core')
-rw-r--r-- | functest/core/singlevm.py | 18 | ||||
-rw-r--r-- | functest/core/tenantnetwork.py | 3 |
2 files changed, 13 insertions, 8 deletions
diff --git a/functest/core/singlevm.py b/functest/core/singlevm.py index bfaa53bfc..3d968cfd6 100644 --- a/functest/core/singlevm.py +++ b/functest/core/singlevm.py @@ -212,7 +212,9 @@ class VmReady1(tenantnetwork.TenantNetwork1): vm1 = self.cloud.create_server( name if name else '{}-vm_{}'.format(self.case_name, self.guid), image=self.image.id, flavor=self.flavor.id, - auto_ip=False, network=self.network.id, + auto_ip=False, + network=self.network.id if self.network else env.get( + "EXTERNAL_NETWORK"), timeout=self.create_server_timeout, wait=True, **kwargs) self.__logger.debug("vm: %s", vm1) return vm1 @@ -416,10 +418,12 @@ class SingleVm1(VmReady1): - None on error """ assert vm1 - fip = self.cloud.create_floating_ip( - network=self.ext_net.id, server=vm1, wait=True, - timeout=self.create_floating_ip_timeout) - self.__logger.debug("floating_ip: %s", fip) + fip = None + if env.get('NO_TENANT_NETWORK').lower() != 'true': + fip = self.cloud.create_floating_ip( + network=self.ext_net.id, server=vm1, wait=True, + timeout=self.create_floating_ip_timeout) + self.__logger.debug("floating_ip: %s", fip) ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.client.AutoAddPolicy()) for loop in range(self.ssh_connect_loops): @@ -427,7 +431,7 @@ class SingleVm1(VmReady1): p_console = self.cloud.get_server_console(vm1) self.__logger.debug("vm console: \n%s", p_console) ssh.connect( - fip.floating_ip_address, + fip.floating_ip_address if fip else vm1.public_v4, username=getattr( config.CONF, '{}_image_user'.format(self.case_name), self.username), @@ -440,7 +444,7 @@ class SingleVm1(VmReady1): except Exception as exc: # pylint: disable=broad-except self.__logger.debug( "try %s: cannot connect to %s: %s", loop + 1, - fip.floating_ip_address, exc) + fip.floating_ip_address if fip else vm1.public_v4, exc) time.sleep(9) else: self.__logger.error( diff --git a/functest/core/tenantnetwork.py b/functest/core/tenantnetwork.py index b4818d76f..2fb721df3 100644 --- a/functest/core/tenantnetwork.py +++ b/functest/core/tenantnetwork.py @@ -265,7 +265,8 @@ class TenantNetwork1(testcase.TestCase): try: assert self.cloud self.start_time = time.time() - self.create_network_resources() + if env.get('NO_TENANT_NETWORK').lower() != 'true': + self.create_network_resources() self.result = 100 status = testcase.TestCase.EX_OK except Exception: # pylint: disable=broad-except |