Offline deploy test
Scenario:
* apt node host dnsmasq and nxign proxy,
has connectivity to inet and become a proxy to
mcp.mirror
* All other nodes uses ip of apt node as nameserver
* All other nodes do not have connectivity to internet
Change-Id: I94f5bba191f6846e5e10124f2850a6b4f8be1cca
diff --git a/tcp_tests/managers/underlay_ssh_manager.py b/tcp_tests/managers/underlay_ssh_manager.py
index 12ea22d..4a934ef 100644
--- a/tcp_tests/managers/underlay_ssh_manager.py
+++ b/tcp_tests/managers/underlay_ssh_manager.py
@@ -145,7 +145,8 @@
keys.append(rsakey.RSAKey.from_private_key(f))
return keys
- def __ssh_data(self, node_name=None, host=None, address_pool=None):
+ def __ssh_data(self, node_name=None, host=None, address_pool=None,
+ node_role=None):
ssh_data = None
@@ -164,6 +165,15 @@
break
else:
ssh_data = ssh
+ elif node_role is not None:
+ for ssh in self.config_ssh:
+ if node_role in ssh['roles']:
+ if address_pool is not None:
+ if address_pool == ssh['address_pool']:
+ ssh_data = ssh
+ break
+ else:
+ ssh_data = ssh
if ssh_data is None:
raise Exception('Auth data for node was not found using '
'node_name="{}" , host="{}" , address_pool="{}"'
@@ -220,6 +230,11 @@
address_pool=address_pool)
return ssh_data['host']
+ def host_by_node_role(self, node_role, address_pool=None):
+ ssh_data = self.__ssh_data(node_role=node_role,
+ address_pool=address_pool)
+ return ssh_data['host']
+
def remote(self, node_name=None, host=None, address_pool=None):
"""Get SSHClient by a node name or hostname.