diff options
author | Gabriel Ganne <gabriel.ganne@enea.com> | 2017-11-27 15:38:53 +0100 |
---|---|---|
committer | Jan Gelety <jgelety@cisco.com> | 2018-01-10 15:42:43 +0100 |
commit | c7eb2002bcd007520309feb3e11a26ff847a4e05 (patch) | |
tree | 84ea1d5513da1bb0f4e078aec87b44cf653a7e7c /resources/libraries/python/TLDK | |
parent | a95c54b7821596402e0aa7136cd7d1de71a5b187 (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.py | 24 |
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') |