:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: : Copyright (c) 2017 Enea AB and others. : : All rights reserved. This program and the accompanying materials : are made available under the terms of the Apache License, Version 2.0 : which accompanies this distribution, and is available at : http://www.apache.org/licenses/LICENSE-2.0 :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: From: Alexandru Nemes Date: Fri, 5 May 2017 14:16:03 +0300 Subject: [PATCH] Arch dependent Cirros ssh password JIRA: https://jira.opnfv.org/browse/ARMBAND-250 Signed-off-by: Alexandru Nemes --- fuel_health/nmanager.py | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/fuel_health/nmanager.py b/fuel_health/nmanager.py index 74e5a03..5bfb552 100644 --- a/fuel_health/nmanager.py +++ b/fuel_health/nmanager.py @@ -843,12 +843,13 @@ class NovaNetworkScenarioTest(OfficialClientTest): LOG.exception("") command = "ping -q -c1 -w10 8.8.8.8" + cirros_pass = self.get_cirros_password() return self.retry_command(retries[0], retries[1], ssh.exec_command_on_vm, command=command, user='cirros', - password='cubswin:)', + password=cirros_pass, vm=ip_address) # TODO(???) Allow configuration of execution and sleep duration. @@ -873,11 +874,13 @@ class NovaNetworkScenarioTest(OfficialClientTest): except Exception: LOG.exception("") + cirros_pass = self.get_cirros_password() + return self.retry_command(retries[0], retries[1], ssh.exec_command_on_vm, command=cmd, user='cirros', - password='cubswin:)', + password=cirros_pass, vm=ip_address) # TODO(???) Allow configuration of execution and sleep duration. @@ -934,6 +937,17 @@ class NovaNetworkScenarioTest(OfficialClientTest): instance.id, 'ACTIVE') return instance + def get_cirros_password(self): + hypervisor_list = self.compute_client.hypervisors.list() + for hypervisor in hypervisor_list: + if hypervisor and hypervisor.status == "enabled": + cpu_info = hypervisor.cpu_info.lower() + LOG.debug('Compute CPU INFO {0}'.format(cpu_info)) + break + if cpu_info and ("arm" in cpu_info or "aarch64" in cpu_info): + return "gocubsgo" + return "cubswin:)" + @classmethod def tearDownClass(cls): super(NovaNetworkScenarioTest, cls).tearDownClass()