diff options
author | Martin Klozik <martinx.klozik@intel.com> | 2017-08-31 15:01:18 +0200 |
---|---|---|
committer | Martin Klozik <martinx.klozik@intel.com> | 2017-11-03 08:36:29 +0000 |
commit | b1534957e463b5e34957a8d48ce5c6b0552ffbb4 (patch) | |
tree | 10985b181d62cffb4ea36355de66dc8ea4edbf8a /conf | |
parent | 87f6e48ca1b17361955f0d31551b0c6360028688 (diff) |
teststeps: Improvements and bugfixing of teststeps
This patch introduces several improvements and small bugfixes
of teststeps. These changes were identified during implementation
of OVS/DPDK regression tests.
Patch content:
* teststeps: step aliases were implemented
* teststeps: improved filtering by regex for any step, which returns string
or list of stings; filter will process all lines
* teststeps: support for log object
* teststeps: support for trafficgen get_results call
* teststeps: configurable suppression of step validation
* trafficgen: remove old results before traffic is executed
* trafficgen: support for flow control on/off (IxNet)
* trafficgen: support for configurable learning frames (IxNet)
* trafficgen: support for runtime changes of TRAFFICGEN_PKT_SIZES, _DURATION
and _LOSSRATE
* vnf: flush pexpect output of previous commands
* vnf: use execute_and_wait() to ensure correct cmds order
* vnf: dpdk vHost User interface name set according to its type,
e.g. dpdkvhostuserclient
* vswitch: support for OVS restart
* decap: simplify configuration of tunneling decapsulation tests
* settings: values of all configuration options are restored after TC execution
* modified formatting of test description used by --list
* testcase name and description is logged before its execution
* small bugfixes
JIRA: VSPERF-539
Change-Id: I550ba0d897ece89abd3f33d6d66f545c4d863e7b
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: Al Morton <acmorton@att.com>
Reviewed-by: Christian Trautman <ctrautma@redhat.com>
Reviewed-by: Sridhar Rao <sridhar.rao@spirent.com>
Reviewed-by: Trevor Cooper <trevor.cooper@intel.com>
Diffstat (limited to 'conf')
-rw-r--r-- | conf/03_traffic.conf | 15 | ||||
-rw-r--r-- | conf/04_vnf.conf | 2 | ||||
-rw-r--r-- | conf/__init__.py | 12 | ||||
-rw-r--r-- | conf/integration/02_vswitch.conf | 6 | ||||
-rw-r--r-- | conf/integration/03_traffic.conf | 6 |
5 files changed, 31 insertions, 10 deletions
diff --git a/conf/03_traffic.conf b/conf/03_traffic.conf index b5533833..6cfbbf23 100644 --- a/conf/03_traffic.conf +++ b/conf/03_traffic.conf @@ -71,6 +71,18 @@ LOG_FILE_TRAFFIC_GEN = 'traffic-gen.log' # "IP" - flow is defined by ingress ports # and src and dst IP addresses # Default value: "port" +# 'flow_control' - Controls flow control support by traffic generator. +# Supported values: +# False - flow control is disabled +# True - flow control is enabled +# Default value: False +# Note: Currently it is supported by IxNet only +# 'learning_frames' - Controls learning frames support by traffic generator. +# Supported values: +# False - learning freames are disabled +# True - learning freames are enabled +# Default value: True +# Note: Currently it is supported by IxNet only # 'l2' - A dictionary with l2 network layer details. Supported # values are: # 'srcmac' - Specifies source MAC address filled by traffic generator. @@ -143,7 +155,8 @@ TRAFFIC = { 'stream_type' : 'L4', 'pre_installed_flows' : 'No', # used by vswitch implementation 'flow_type' : 'port', # used by vswitch implementation - + 'flow_control' : False, # supported only by IxNet + 'learning_frames' : True, # supported only by IxNet 'l2': { 'framesize': 64, 'srcmac': '00:00:00:00:00:00', diff --git a/conf/04_vnf.conf b/conf/04_vnf.conf index eafec74b..37fbe2b1 100644 --- a/conf/04_vnf.conf +++ b/conf/04_vnf.conf @@ -96,6 +96,8 @@ GUEST_SHARED_DRIVE_TYPE = ['scsi'] # 'linux_bridge' - linux bridge will be configured # 'buildin' - nothing will be configured by vsperf; VM image must # ensure traffic forwarding between its interfaces +# 'clean' - nothing will be configured, but automatic login will +# be performed; Useful for stepdriven testcases. # For 2 VNFs you may use ['testpmd', 'l2fwd'] GUEST_LOOPBACK = ['testpmd'] diff --git a/conf/__init__.py b/conf/__init__.py index 808cfc97..a7c0ee5d 100644 --- a/conf/__init__.py +++ b/conf/__init__.py @@ -189,6 +189,18 @@ class Settings(object): else: setattr(self, key.upper(), conf[key]) + def restore_from_dict(self, conf): + """ + Restore ``settings`` with values found in ``conf``. + + Method will drop all configuration options and restore their + values from conf dictionary + """ + self.__dict__.clear() + tmp_conf = copy.deepcopy(conf) + for key in tmp_conf: + self.setValue(key, tmp_conf[key]) + def load_from_env(self): """ Update ``settings`` with values found in the environment. diff --git a/conf/integration/02_vswitch.conf b/conf/integration/02_vswitch.conf index 68eaf73e..63ffe1bc 100644 --- a/conf/integration/02_vswitch.conf +++ b/conf/integration/02_vswitch.conf @@ -23,12 +23,6 @@ TUNNEL_EXTERNAL_BRIDGE_IP = '192.168.240.1/24' # vxlan|gre|geneve TUNNEL_TYPE = 'vxlan' -# The receiving NIC of VXLAN traffic -# Used for OVS Vanilla Decap -DUT_NIC1_MAC = '' -# Used for OVS DPDK Decap -DUT_NIC2_MAC = '' - #Tunnel bridge configuration for P-TUN-P(VxLAN) deployment scenario # to test VxLAN performance without any overlay ingress traffic by doing the # encap decap inside the virtual switch itself. diff --git a/conf/integration/03_traffic.conf b/conf/integration/03_traffic.conf index e78e2668..5126f515 100644 --- a/conf/integration/03_traffic.conf +++ b/conf/integration/03_traffic.conf @@ -29,7 +29,7 @@ VXLAN_VNI = '99' # '00:1b:21:b3:48:a9'} VXLAN_FRAME_L2 = {'srcmac': '01:02:03:04:05:06', - 'dstmac': DUT_NIC2_MAC, + 'dstmac': '06:05:04:03:02:01', } # VXLAN is supported both in IxNetwork and IXIA IxExplorer @@ -71,7 +71,7 @@ VXLAN_FRAME_L4 = {'srcport': 4789, # TEST frame # dstmac should be set to the MAC address of the DUT's receiving port GRE_FRAME_L2 = {'srcmac': '01:02:03:04:05:06', - 'dstmac': DUT_NIC2_MAC, + 'dstmac': '06:05:04:03:02:01', } GRE_FRAME_L3 = {'proto': 'gre', @@ -95,7 +95,7 @@ GRE_FRAME_L4 = {'srcport': 0, # TEST frame # dstmac should be set to the MAC address of the DUT's receiving port GENEVE_FRAME_L2 = {'srcmac': '01:02:03:04:05:06', - 'dstmac': DUT_NIC2_MAC, + 'dstmac': '06:05:04:03:02:01', } GENEVE_FRAME_L3 = {'proto': 'udp', |