aboutsummaryrefslogtreecommitdiffstats
path: root/resources/libraries/python/TLDK
diff options
context:
space:
mode:
authorGabriel Ganne <gabriel.ganne@enea.com>2017-11-27 15:38:53 +0100
committerJan Gelety <jgelety@cisco.com>2018-01-10 15:42:43 +0100
commitc7eb2002bcd007520309feb3e11a26ff847a4e05 (patch)
tree84ea1d5513da1bb0f4e078aec87b44cf653a7e7c /resources/libraries/python/TLDK
parenta95c54b7821596402e0aa7136cd7d1de71a5b187 (diff)
add new topology parameter: arch
if unset, arch variable will default to "x86_64" * Note on "arm64" vs "aarch64" debian-based uses arm64 rhel-based uses aarch64 qemu binaries of both distribs uses aarch64 dpdk uses arm64 vpp uses aarch64 python machine modules uses aarch64 => prefer aarch64 to use the same nomenclature as vpp * add ARCH argument to: init_dpdk.sh, install_dpdk.sh, run_l2fwd.sh, install_tldk.sh, run_tldk.sh. default to x86_64 converts "aarch64" if needed for dpdk naming convention * fixed terminal end detection to allow "~]# " add dut node arch as param to all robot set bin calls * add --target-list flag to qemu_build.sh defaults to x86_64-softmmu * add arch flag to all the topology files * topologies/available/ (and example file) * resources/tools/virl/topologies/ * set _qemu_bin path using node['arch'] in qemu_set_node() Change-Id: If46d88d064d213d3e4c6fc584bb8e0d4b6428cb8 Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>
Diffstat (limited to 'resources/libraries/python/TLDK')
-rw-r--r--resources/libraries/python/TLDK/SetupTLDKTest.py24
1 files changed, 18 insertions, 6 deletions
diff --git a/resources/libraries/python/TLDK/SetupTLDKTest.py b/resources/libraries/python/TLDK/SetupTLDKTest.py
index 3d9685f198..7692902b7c 100644
--- a/resources/libraries/python/TLDK/SetupTLDKTest.py
+++ b/resources/libraries/python/TLDK/SetupTLDKTest.py
@@ -28,7 +28,7 @@ from robot.libraries.BuiltIn import BuiltIn
from resources.libraries.python.ssh import SSH
from resources.libraries.python.TLDK.TLDKConstants import TLDKConstants as con
-from resources.libraries.python.topology import NodeType
+from resources.libraries.python.topology import NodeType, Topology
from resources.libraries.python.TLDK.gen_pcap import gen_all_pcap
__all__ = ["SetupTLDKTest"]
@@ -147,14 +147,17 @@ def install_tldk_test(node):
:returns: nothing.
:raises RuntimeError: If install tldk failed.
"""
- logger.console('Install the TLDK on {0}'.format(node['host']))
+
+ arch = Topology.get_node_arch(node)
+ logger.console('Install the TLDK on {0} ({1})'.format(node['host'],
+ arch))
ssh = SSH()
ssh.connect(node)
(ret_code, _, stderr) = ssh.exec_command(
- 'cd {0}/{1} && ./install_tldk.sh'
- .format(con.REMOTE_FW_DIR, con.TLDK_SCRIPTS), timeout=600)
+ 'cd {0}/{1} && ./install_tldk.sh {2}'
+ .format(con.REMOTE_FW_DIR, con.TLDK_SCRIPTS, arch), timeout=600)
if ret_code != 0:
logger.error('Install the TLDK error: {0}'.format(stderr))
@@ -175,6 +178,10 @@ def setup_node(args):
:raises RuntimeError: If node setup failed.
"""
tarball, remote_tarball, node = args
+
+ # if unset, arch defaults to x86_64
+ Topology.get_node_arch(node)
+
try:
copy_tarball_to_node(tarball, node)
extract_tarball_at_node(remote_tarball, node)
@@ -232,8 +239,13 @@ class SetupTLDKTest(object):
'Executed node setups in parallel, waiting for processes to end')
result.wait()
- logger.info('Results: {0}'.format(result.get()))
+ results = result.get()
+ node_setup_success = all(results)
+ logger.info('Results: {0}'.format(results))
logger.trace('Test framework copied to all topology nodes')
delete_local_tarball(tarball)
- logger.console('All nodes are ready')
+ if node_setup_success:
+ logger.console('All nodes are ready')
+ else:
+ logger.console('Failed to setup dpdk on all the nodes')