aboutsummaryrefslogtreecommitdiffstats
path: root/resources/libraries/python
diff options
context:
space:
mode:
authorMiroslav Miklus <mmiklus@cisco.com>2016-02-11 15:18:12 +0100
committerGerrit Code Review <gerrit@fd.io>2016-02-17 14:46:28 +0000
commitda23519d72dc9415b112f7bab1fd3617750fa79e (patch)
treec16c9503f5e24c26e87d82dbba48ebb28a1b393e /resources/libraries/python
parentaf2c77acfa337228ea3c4c5f2140f39124ec2ab9 (diff)
LF testbed2 topology, T-REX upgrade, vpe->vpp rename
Testing testbed2 infrastructure T-REX upgrade 1.88 -> 1.91 Rename "vpe" to "vpp" Change-Id: Ia03c363e2b3c77a4e469509460b25028e5e1814f Signed-off-by: Miroslav Miklus <mmiklus@cisco.com>
Diffstat (limited to 'resources/libraries/python')
-rw-r--r--resources/libraries/python/TrafficGenerator.py49
-rw-r--r--resources/libraries/python/VatExecutor.py2
-rw-r--r--resources/libraries/python/constants.py2
-rw-r--r--resources/libraries/python/ssh.py2
-rw-r--r--resources/libraries/python/topology.py2
5 files changed, 18 insertions, 39 deletions
diff --git a/resources/libraries/python/TrafficGenerator.py b/resources/libraries/python/TrafficGenerator.py
index 24bec0af6c..2037d49bc2 100644
--- a/resources/libraries/python/TrafficGenerator.py
+++ b/resources/libraries/python/TrafficGenerator.py
@@ -11,14 +11,13 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-"""Traffic generator library."""
+"""Performance testing traffic generator library."""
from robot.api import logger
from resources.libraries.python.ssh import SSH
from resources.libraries.python.topology import NodeType
from resources.libraries.python.topology import NodeSubTypeTG
-from resources.libraries.python.topology import Topology
__all__ = ['TrafficGenerator']
@@ -43,6 +42,8 @@ class TrafficGenerator(object):
:return: nothing
"""
+ trex_path = "/opt/trex-core-1.91"
+
if node['type'] != NodeType.TG:
raise Exception('Node type is not a TG')
if node['subtype'] == NodeSubTypeTG.TREX:
@@ -50,11 +51,14 @@ class TrafficGenerator(object):
ssh.connect(node)
(ret, stdout, stderr) = ssh.exec_command(
- "sh -c 'cd /opt/trex-core-1.88/scripts/ && "
- "--bind=igb_uio {0} {1}".format(interface1, interface2))
+ "sh -c 'cd {0}/scripts/ && sudo modprobe uio && "
+ "sudo insmod ./ko/src/igb_uio.ko'"\
+ .format(trex_path))
+
(ret, stdout, stderr) = ssh.exec_command(
- "sh -c 'cd /opt/trex-core-1.88/scripts/ && "
- "sudo nohup ./t-rex-64 -i -c 4 --iom 0 > /dev/null 2>&1 &'")
+ "sh -c 'cd {0}/scripts/ && "
+ "sudo nohup ./t-rex-64 -i -c 4 --iom 0 > /dev/null 2>&1 &'"\
+ .format(trex_path))
@staticmethod
def teardown_traffic_generator(node):
@@ -101,55 +105,30 @@ class TrafficGenerator(object):
ssh = SSH()
ssh.connect(node)
- tg_port3_src_mac = Topology.get_interface_mac_by_port_key(node, "port3")
- _, adj_int = Topology.\
- get_adjacent_node_and_interface_by_key(nodes_info, node, "port3")
- tg_port3_dst_mac = adj_int['mac_address']
-
- tg_port5_src_mac = Topology.get_interface_mac_by_port_key(node, "port5")
- _, adj_int = Topology.\
- get_adjacent_node_and_interface_by_key(nodes_info, node, "port5")
- tg_port5_dst_mac = adj_int['mac_address']
-
-
if node['subtype'] == NodeSubTypeTG.TREX:
if traffic_type in ["3-node-xconnect", "3-node-bridge"]:
(ret, stdout, stderr) = ssh.exec_command(
"sh -c '/tmp/openvpp-testing/resources/tools/t-rex-stateless.py "
"-d {0} -r {1}% -s {2} "
- "--p1_src_mac 52:00:00:00:00:01 "
- "--p1_dst_mac 52:00:00:00:00:02 "
"--p1_src_start_ip 10.10.10.1 "
"--p1_src_end_ip 10.10.10.254 "
"--p1_dst_start_ip 20.20.20.1 "
- "--p1_dst_end_ip 20.20.20.254 "
- "--p2_src_mac 52:00:00:00:00:02 "
- "--p2_dst_mac 52:00:00:00:00:01 "
"--p2_src_start_ip 20.20.20.1 "
"--p2_src_end_ip 20.20.20.254 "
- "--p2_dst_start_ip 10.10.10.1 "
- "--p2_dst_end_ip 10.10.10.254'".\
+ "--p2_dst_start_ip 10.10.10.1'".\
format(duration, rate, framesize), timeout=int(duration)+60)
elif traffic_type in ["3-node-IPv4"]:
(ret, stdout, stderr) = ssh.exec_command(
"sh -c '/tmp/openvpp-testing/resources/tools/t-rex-stateless.py "
"-d {0} -r {1}% -s {2} "
- "--p1_src_mac {3} "
- "--p1_dst_mac {4} "
"--p1_src_start_ip 10.10.10.2 "
"--p1_src_end_ip 10.10.10.254 "
"--p1_dst_start_ip 20.20.20.2 "
- "--p1_dst_end_ip 20.20.20.2 "
- "--p2_src_mac {5} "
- "--p2_dst_mac {6} "
"--p2_src_start_ip 20.20.20.2 "
"--p2_src_end_ip 20.20.20.254 "
- "--p2_dst_start_ip 10.10.10.2 "
- "--p2_dst_end_ip 10.10.10.2'".\
- format(duration, rate, framesize,\
- tg_port3_src_mac, tg_port3_dst_mac,\
- tg_port5_src_mac, tg_port5_dst_mac),\
- timeout=int(duration)+60)
+ "--p2_dst_start_ip 10.10.10.2'".\
+ format(duration, rate, framesize),\
+ timeout=int(duration)+60)
else:
raise NotImplementedError('Unsupported traffic type')
diff --git a/resources/libraries/python/VatExecutor.py b/resources/libraries/python/VatExecutor.py
index aff8c36130..d53e57c309 100644
--- a/resources/libraries/python/VatExecutor.py
+++ b/resources/libraries/python/VatExecutor.py
@@ -74,7 +74,7 @@ class VatExecutor(object):
logger.trace("stdout: '{0}'".format(self._stdout))
logger.trace("stderr: '{0}'".format(self._stderr))
- # TODO: download vpe_api_test output file
+ # TODO: download vpp_api_test output file
# self._delete_files(node, remote_file_path, remote_file_out)
def execute_script_json_out(self, vat_name, node, timeout=10,):
diff --git a/resources/libraries/python/constants.py b/resources/libraries/python/constants.py
index d7134cedcb..f9bbc46a95 100644
--- a/resources/libraries/python/constants.py
+++ b/resources/libraries/python/constants.py
@@ -16,4 +16,4 @@ class Constants(object):
RESOURCES_LIB_SH = 'resources/libraries/bash'
RESOURCES_TPL_VAT = 'resources/templates/vat'
#OpenVPP VAT binary name
- VAT_BIN_NAME = 'vpe_api_test'
+ VAT_BIN_NAME = 'vpp_api_test'
diff --git a/resources/libraries/python/ssh.py b/resources/libraries/python/ssh.py
index 72e41c76a6..385619ce42 100644
--- a/resources/libraries/python/ssh.py
+++ b/resources/libraries/python/ssh.py
@@ -101,7 +101,7 @@ class SSH(object):
>>> #Execute command without input (sudo -S cmd)
>>> ssh.exex_command_sudo("ifconfig eth0 down")
>>> #Execute command with input (sudo -S cmd <<< "input")
- >>> ssh.exex_command_sudo("vpe_api_test", "dump_interface_table")
+ >>> ssh.exex_command_sudo("vpp_api_test", "dump_interface_table")
"""
if cmd_input is None:
command = 'sudo -S {c}'.format(c=cmd)
diff --git a/resources/libraries/python/topology.py b/resources/libraries/python/topology.py
index 3ced69d7fe..6a7ea798cc 100644
--- a/resources/libraries/python/topology.py
+++ b/resources/libraries/python/topology.py
@@ -323,7 +323,7 @@ class Topology(object):
This method updates the topology dictionary by querying interface lists
of all nodes mentioned in the topology dictionary.
It does this by dumping interface list to json output from all devices
- using vpe_api_test, and pairing known information from topology
+ using vpp_api_test, and pairing known information from topology
(mac address/pci address of interface) to state from VPP.
For TG/linux nodes add interface name only.
"""