yardstick.git
6 years agoChange AutoConnectSSH to return error code by default 07/60507/2
Mytnyk, Volodymyr [Thu, 2 Aug 2018 08:17:48 +0000 (09:17 +0100)]
Change AutoConnectSSH to return error code by default

AutoConnectSSH execute method always returns exception when remote
command returns non 0 ret code. This behavior has been introduced
by https://gerrit.opnfv.org/gerrit/#/c/58579/ changes which break
the NSB functionality. There are 200+ places where return code
(event non zoro) is expected to be returned by
AutoConnectSSH.execute() method. Right now the method returns
always exception in case of remote command return not zero which
causes the problem.

Changed execute() method to have previous behavior (raise_on_error
is always False by default) and the exception is raised only in
case if raise_on_error=True is set explicitly.

Added UT.

JIRA: YARDSTICK-1365

Change-Id: Ib067583ea5eb704b9174084b45b920c24eb307ac
Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
6 years agoFix remote command execution in common.utils 79/58579/4
Miikka Koistinen [Fri, 15 Jun 2018 08:54:14 +0000 (11:54 +0300)]
Fix remote command execution in common.utils

yardstick.common.utils get_port_mac and get_port_ip both raise a
RuntimeError on positive remote command exit status. This commit fixes
them to use the error raising mechanism in yardstick.ssh.SSH.

Additionally, the class AutoConnectSSH class needed an additional
argument to allow the raising mechanism to work correctly.

JIRA: YARDSTICK-1240

Change-Id: Idad125ebbd668cef10a6149eb3e601a437a8d40d
Signed-off-by: Miikka Koistinen <miikka.koistinen@nokia.com>
6 years agoCleanup pktgen_dpdk unit tests 97/58497/11
Miikka Koistinen [Wed, 13 Jun 2018 10:27:47 +0000 (13:27 +0300)]
Cleanup pktgen_dpdk unit tests

* Improve test execution
* Use common functionality in setUp()
* Disable logging
* Remove tests that test common/utils code. These tests are moved to
  common/utils's unit tests in a follow-up patch.

JIRA: YARDSTICK-1239

Change-Id: I88d047fe25c4c13bea446c9fc9bda92306420296
Signed-off-by: Miikka Koistinen <miikka.koistinen@nokia.com>
6 years agoMerge "Check for network already created k8"
Emma Foley [Tue, 31 Jul 2018 08:39:47 +0000 (08:39 +0000)]
Merge "Check for network already created k8"

6 years agoMerge "Cleanup pktgen unit tests"
Emma Foley [Tue, 31 Jul 2018 08:14:00 +0000 (08:14 +0000)]
Merge "Cleanup pktgen unit tests"

6 years agoMerge "Change assert statement to raise in common/utils"
Rex Lee [Tue, 31 Jul 2018 07:38:02 +0000 (07:38 +0000)]
Merge "Change assert statement to raise in common/utils"

6 years agoMerge "Refactor remote command execution in vsperf_dpdk"
Rex Lee [Tue, 31 Jul 2018 07:33:29 +0000 (07:33 +0000)]
Merge "Refactor remote command execution in vsperf_dpdk"

6 years agoMerge "Refactor remote command execution in vsperf"
Rex Lee [Tue, 31 Jul 2018 07:33:23 +0000 (07:33 +0000)]
Merge "Refactor remote command execution in vsperf"

6 years agoCleanup pktgen unit tests 95/58495/12
Miikka Koistinen [Wed, 13 Jun 2018 13:25:21 +0000 (16:25 +0300)]
Cleanup pktgen unit tests

* Improve test execution
* Use common functionality in setUp()
* Disable logging

JIRA: YARDSTICK-1238

Change-Id: I0904bf99f0e151b437d506bf322da83f706dcf8f
Signed-off-by: Miikka Koistinen <miikka.koistinen@nokia.com>
6 years agoChange assert statement to raise in common/utils 53/60353/1
Miikka Koistinen [Mon, 30 Jul 2018 13:01:14 +0000 (16:01 +0300)]
Change assert statement to raise in common/utils

This modification utilises a custom exception to be raised if an invalid
mac address is passed to the function "mac_address_to_hex_list".

JIRA: YARDSTICK-966

Change-Id: Ic2940276f500e9710c54963a445a137e73bd6b25
Signed-off-by: Miikka Koistinen <miikka.koistinen@nokia.com>
6 years agoMake ixnet a class attribute in TestIxNextgen 59/58159/5
Emma Foley [Thu, 14 Jun 2018 08:39:23 +0000 (08:39 +0000)]
Make ixnet a class attribute in TestIxNextgen

Change-Id: Iad8e8397f4ef339f70c6eef80ef58b1b045ef3fa
Signed-off-by: Emma Foley <emma.l.foley@intel.com>
6 years agoRefactor remote command execution in vsperf_dpdk 29/59429/5
Miikka Koistinen [Mon, 2 Jul 2018 10:50:59 +0000 (13:50 +0300)]
Refactor remote command execution in vsperf_dpdk

* Remove unneeded variables
* Do not raise RuntimeError when a remote command fails, instead
  leave it for the yardstick ssh module to handle.
* Prevent CsvReader from raising StopIteration if csv output cannot be
  parsed. The SLA validation will take care of errors in that case.

JIRA: YARDSTICK-1166

Change-Id: I9e353d39dfd3bd27407dde32744ce71b5762e84e
Signed-off-by: Miikka Koistinen <miikka.koistinen@nokia.com>
6 years agoRefactor remote command execution in vsperf 35/59335/7
Miikka Koistinen [Fri, 29 Jun 2018 13:31:31 +0000 (16:31 +0300)]
Refactor remote command execution in vsperf

* Remove unneeded variables
* Do not raise RuntimeError when a remote command fails, instead leave
  it for the yardstick ssh module to handle.
* Prevent CsvReader from raising StopIteration if csv output cannot be
  parsed. The SLA validation will take care of errors in that case.

JIRA: YARDSTICK-1166

Change-Id: I6cf550bd7bc8f511b3c0f25c67f8caab18bccd28
Signed-off-by: Miikka Koistinen <miikka.koistinen@nokia.com>
6 years agoMerge "Enable "wait_until_true" when used ouf the main thread"
Rodolfo Alonso Hernandez [Thu, 26 Jul 2018 14:56:14 +0000 (14:56 +0000)]
Merge "Enable "wait_until_true" when used ouf the main thread"

6 years agoMerge "NSB TREX RFC2544 scenario fails with correlated traffic"
Rodolfo Alonso Hernandez [Thu, 26 Jul 2018 14:45:38 +0000 (14:45 +0000)]
Merge "NSB TREX RFC2544 scenario fails with correlated traffic"

6 years agoMerge "Make injection time configurable for IXIA RFC2544 test cases"
Rodolfo Alonso Hernandez [Thu, 26 Jul 2018 14:33:17 +0000 (14:33 +0000)]
Merge "Make injection time configurable for IXIA RFC2544 test cases"

6 years agoEnable "wait_until_true" when used ouf the main thread 15/60215/2
Rodolfo Alonso Hernandez [Thu, 26 Jul 2018 14:21:45 +0000 (15:21 +0100)]
Enable "wait_until_true" when used ouf the main thread

"util.wait_until_true" uses "util.Timer" to create an active wait for a
condition. "Timer" class uses "signal" to create a watchdog to track the
time lapsed.

When used out of the main thread, "Timer" raises the following error:
  ValueError: signal only works in main thread

To make "util.wait_until_true" usable always, a new waitting method is
implemented.

JIRA: YARDSTICK-1358

Change-Id: Ifb5ba0b17b5beca0af5ceab4f6431d58b7928762
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
6 years agoNSB TREX RFC2544 scenario fails with correlated traffic 05/60205/4
Mytnyk, Volodymyr [Thu, 26 Jul 2018 08:47:19 +0000 (09:47 +0100)]
NSB TREX RFC2544 scenario fails with correlated traffic

When correlated traffic TC is running, the traffic is
running only on uplink ports instead of both type of ports
(yardstick/network_services/traffic_profile/rfc2544.py +113).

Trex TG fails to get samples on downlink ports.

JIRA: YARDSTICK-1357

Change-Id: I66d78b73f2dc5bb531fe8607d0e46f60b828953e
Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
6 years agoMake injection time configurable for IXIA RFC2544 test cases 65/57765/13
Rodolfo Alonso Hernandez [Wed, 23 May 2018 17:03:19 +0000 (18:03 +0100)]
Make injection time configurable for IXIA RFC2544 test cases

JIRA: YARDSTICK-1196

Change-Id: I77b4772b9224ff5cd21fd9fc67eb7e4b821fcf77
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
6 years agokubernetes_utils: avoid 404 error code in delete_config_map() 73/59973/5
Mytnyk, Volodymyr [Thu, 19 Jul 2018 07:47:02 +0000 (08:47 +0100)]
kubernetes_utils: avoid 404 error code in delete_config_map()

JIRA: YARDSTICK-1318

Change-Id: I0c04bd2928d5a4166b483f0c4f9f75fa9e5e00d2
Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
6 years agokubernetes_utils: avoid 404 error code in delete_replication_controller() 77/59977/5
Mytnyk, Volodymyr [Thu, 19 Jul 2018 08:04:06 +0000 (09:04 +0100)]
kubernetes_utils: avoid 404 error code in delete_replication_controller()

JIRA: YARDSTICK-1319

Change-Id: I8370c5ef4e43e58a8bb9c3aac60a089b0981dda0
Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
6 years agoMerge "Fix typo in classname AclUknownActionTemplate"
Rodolfo Alonso Hernandez [Wed, 25 Jul 2018 06:58:17 +0000 (06:58 +0000)]
Merge "Fix typo in classname AclUknownActionTemplate"

6 years agoIxNetwork IPv4 mask format is x.x.x.x 55/60155/3
Rodolfo Alonso Hernandez [Tue, 24 Jul 2018 14:11:37 +0000 (15:11 +0100)]
IxNetwork IPv4 mask format is x.x.x.x

When updating the IP packet in IxNextgen library, the IPv4 mask should
be defined in the following format: x.x.x.x

This mask defines the number of lower bits used to generate a random IP.
For example:
  - mask length: 16
  - mask string: 0.0.255.255

JIRA: YARDSTICK-1351

Change-Id: Ie3cbf0205aac83aea8d7f665bc068e8566238055
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
6 years agoFix typo in classname AclUknownActionTemplate 81/59981/3
Emma Foley [Thu, 19 Jul 2018 09:33:04 +0000 (10:33 +0100)]
Fix typo in classname AclUknownActionTemplate

AclUknownActionTemplate -> AclUnknownActionTemplate

JIRA: YARDSTICK-1334
Change-Id: I796e080078c657c5e0e59144d24ec797e244a8f7
Signed-off-by: Emma Foley <emma.l.foley@intel.com>
6 years agoMerge changes from topics 'YARDSTICK-1351', 'YARDSTICK-1339'
Rodolfo Alonso Hernandez [Tue, 24 Jul 2018 11:00:12 +0000 (11:00 +0000)]
Merge changes from topics 'YARDSTICK-1351', 'YARDSTICK-1339'

* changes:
  Add IP mask to IxNetwork configuration
  Improve NetworkServiceTestCase._get_ip_flow_range() function

6 years agoMerge changes from topics 'YARDSTICK-1346', 'YARDSTICK-1345', 'YARDSTICK-1344'
Rodolfo Alonso Hernandez [Tue, 24 Jul 2018 11:00:01 +0000 (11:00 +0000)]
Merge changes from topics 'YARDSTICK-1346', 'YARDSTICK-1345', 'YARDSTICK-1344'

* changes:
  Add pktgen test case base files
  Add pktgen traffic profile
  Add DPDK pktgen traffic generator

6 years agoMerge "kubernetes_utils: avoid 404 error code in delete_network()"
Rodolfo Alonso Hernandez [Tue, 24 Jul 2018 08:38:04 +0000 (08:38 +0000)]
Merge "kubernetes_utils: avoid 404 error code in delete_network()"

6 years agokubernetes_utils: avoid 404 error code in delete_network() 49/59949/6
Mytnyk, Volodymyr [Wed, 18 Jul 2018 15:56:23 +0000 (16:56 +0100)]
kubernetes_utils: avoid 404 error code in delete_network()

JIRA: YARDSTICK-1316

Change-Id: I792c873b42aba80be62ff7a93f6d02ea89e42356
Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
6 years agoMerge changes from topics 'YARDSTICK-1343', 'YARDSTICK-1342'
Rodolfo Alonso Hernandez [Tue, 24 Jul 2018 08:09:39 +0000 (08:09 +0000)]
Merge changes from topics 'YARDSTICK-1343', 'YARDSTICK-1342'

* changes:
  Cleanup EnvironmentTestCase unit tests
  Cleanup Testcase unit tests

6 years agoMerge "Cleanup Ansible common unit tests"
Rodolfo Alonso Hernandez [Tue, 24 Jul 2018 08:09:23 +0000 (08:09 +0000)]
Merge "Cleanup Ansible common unit tests"

6 years agoAdd IP mask to IxNetwork configuration 47/60147/1
Rodolfo Alonso Hernandez [Mon, 23 Jul 2018 16:00:52 +0000 (17:00 +0100)]
Add IP mask to IxNetwork configuration

Assign the IP mask to IxNetwork configuration, depending on the IP range
provided by the user in the traffic profile. In case of single IP, a
default mask will be provided:
  - IP_VERSION_4_MASK = 24
  - IP_VERSION_6_MASK = 64

JIRA: YARDSTICK-1351

Change-Id: I029473ab8b9966a76cf559ffef53b34ca11462ad
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
6 years agoMerge "Bugfix: yardstick env grafana return http error"
Jing Lu [Tue, 24 Jul 2018 07:01:35 +0000 (07:01 +0000)]
Merge "Bugfix: yardstick env grafana return http error"

6 years agoMerge "Adjust timeouts for installing requrements"
Emma Foley [Mon, 23 Jul 2018 14:32:29 +0000 (14:32 +0000)]
Merge "Adjust timeouts for installing requrements"

6 years agoAdd pktgen test case base files 57/59957/2
Rodolfo Alonso Hernandez [Mon, 23 Jul 2018 11:18:38 +0000 (12:18 +0100)]
Add pktgen test case base files

Added pktgen VNF topology, VNF descriptor and traffic profile files.

JIRA: YARDSTICK-1346

Change-Id: Ifb1824edb2dc8db1afa83a53573fb2ed1c2a79ea
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
6 years agoAdd pktgen traffic profile 13/60113/2
Rodolfo Alonso Hernandez [Mon, 23 Jul 2018 11:07:27 +0000 (12:07 +0100)]
Add pktgen traffic profile

This new profile is based on the DPDK pktgen traffic generator. The traffic
generator is controlled using LUA [1]. Those string commands are sent to
the traffic generator using an open socket. Host address and open port are
needed parameters.

The following actions are implemented:
  - start injection
  - stop injection
  - change injection rate
  - clear all stats
  - help message command

[1] http://pktgen-dpdk.readthedocs.io/en/latest/lua.html

JIRA: YARDSTICK-1345

Change-Id: I560a168d194cedc9fdba312ec84437933efc8d9b
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
6 years agoAdjust timeouts for installing requrements 11/60111/1
Cristina Pauna [Mon, 23 Jul 2018 08:58:32 +0000 (11:58 +0300)]
Adjust timeouts for installing requrements

The time it takes to install the the requirements is different on the 2 build
servers we have for aarch64: on build4 it takes ~12min, on pod5 it takes <10min.
So the timeouts need to be adjusted again to bigger values to cover both servers.

JIRA: ARMBAND-391

Change-Id: Idd8f07e6f54d64a6cfaee0753ecd8efd141ff615
Signed-off-by: Cristina Pauna <cristina.pauna@enea.com>
6 years agoAdd DPDK pktgen traffic generator 07/60107/2
Rodolfo Alonso Hernandez [Mon, 23 Jul 2018 09:05:49 +0000 (10:05 +0100)]
Add DPDK pktgen traffic generator

Add DPDK pktgen traffic generator. This traffic generator is designed
only to work in with a MQ aware runner. Implements two consumer methods:
  - runner_method_start_iteration
  - runner_method_stop_iteration

"run_traffic" method will only initialize the traffic profile object.
This traffic generator uses a socket port (LUA port, default 22022) to
send the command messages.

Link: http://pktgen-dpdk.readthedocs.io/en/latest/index.html
JIRA: YARDSTICK-1344

Change-Id: I89bba0f462fa1c22b33f1253f67f7c41e6e721a5
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
6 years agoMerge "Cleanup TaskParseTestCase unit tests"
Rodolfo Alonso Hernandez [Mon, 23 Jul 2018 10:19:38 +0000 (10:19 +0000)]
Merge "Cleanup TaskParseTestCase unit tests"

6 years agoCleanup EnvironmentTestCase unit tests 03/60103/2
Rodolfo Alonso Hernandez [Mon, 23 Jul 2018 08:37:32 +0000 (09:37 +0100)]
Cleanup EnvironmentTestCase unit tests

Removed unneeded output.

JIRA: YARDSTICK-1343

Change-Id: Ifad21a62ce1152976952a4b8c5a142fa5a544904
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
6 years agoMerge "Propose the backporting process"
Rex Lee [Mon, 23 Jul 2018 09:01:16 +0000 (09:01 +0000)]
Merge "Propose the backporting process"

6 years agoMerge "Clean-up tests in test_vsperf_dpdk.py:VsperfDPDKTestCase"
Rex Lee [Mon, 23 Jul 2018 08:56:53 +0000 (08:56 +0000)]
Merge "Clean-up tests in test_vsperf_dpdk.py:VsperfDPDKTestCase"

6 years agoCleanup Testcase unit tests 99/60099/1
Rodolfo Alonso Hernandez [Mon, 23 Jul 2018 08:30:31 +0000 (09:30 +0100)]
Cleanup Testcase unit tests

Removed unneeded output.

JIRA: YARDSTICK-1342

Change-Id: I45ab14f854cd059625c1a96959b1cbd0a19f52a8
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
6 years agoCleanup Ansible common unit tests 97/60097/2
Rodolfo Alonso Hernandez [Mon, 23 Jul 2018 07:53:02 +0000 (08:53 +0100)]
Cleanup Ansible common unit tests

Removed unneeded output, use proper exception checks and remove
filesystem access.

JIRA: YARDSTICK-1341

Change-Id: I5c56e7b34d0e96946211e6172290bce24a156d68
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
6 years agoImprove NetworkServiceTestCase._get_ip_flow_range() function 59/60059/5
Rodolfo Alonso Hernandez [Fri, 20 Jul 2018 15:40:29 +0000 (16:40 +0100)]
Improve NetworkServiceTestCase._get_ip_flow_range() function

Improve the method to calculate the CIDR IP address range (first one,
last one). IPv4Network or IPv6Network hosts() is an iterator throught
the list of valid IPs. If the network is too big, the generation of a
list [1] can be very expensive.

[1]https://github.com/opnfv/yardstick/blob/master/yardstick/benchmark/scenarios/networking/vnf_generic.py#L90

JIRA: YARDSTICK-1339

Change-Id: I9352b2e7ff4925c246df8b40ecf43e8dc96c42d2
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
6 years agoMerge "Increase rounding digits in IXIA RFC2544"
Rodolfo Alonso Hernandez [Mon, 23 Jul 2018 07:56:24 +0000 (07:56 +0000)]
Merge "Increase rounding digits in IXIA RFC2544"

6 years agoMerge "Accept line rate percentage or fps a initial rate for IXIA RFC2544"
Rodolfo Alonso Hernandez [Mon, 23 Jul 2018 07:56:17 +0000 (07:56 +0000)]
Merge "Accept line rate percentage or fps a initial rate for IXIA RFC2544"

6 years agoMerge "kubernetes_utils: avoid 404 error code in delete_custom_resource_definition()"
Rodolfo Alonso Hernandez [Mon, 23 Jul 2018 07:54:41 +0000 (07:54 +0000)]
Merge "kubernetes_utils: avoid 404 error code in delete_custom_resource_definition()"

6 years agoMerge "kubernetes_utils: avoid 404 error code in delete_service()"
Rodolfo Alonso Hernandez [Mon, 23 Jul 2018 07:54:22 +0000 (07:54 +0000)]
Merge "kubernetes_utils: avoid 404 error code in delete_service()"

6 years agoCleanup TaskParseTestCase unit tests 95/60095/1
Rodolfo Alonso Hernandez [Mon, 23 Jul 2018 06:58:56 +0000 (07:58 +0100)]
Cleanup TaskParseTestCase unit tests

Removed unneeded output.

JIRA: YARDSTICK-1340

Change-Id: I66c0902edfea5fad9282bcb36e57b67cd6c340ab
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
6 years agoIncrease timeouts for installing requrements 55/60055/1
Cristina Pauna [Fri, 20 Jul 2018 14:44:13 +0000 (17:44 +0300)]
Increase timeouts for installing requrements

Currently the docker images fails to build on aarch64 because the installation
of the requirements step fails. The failure is caused by the timers which expire
and don't mark the job as finished.

JIRA: ARMBAND-391

Change-Id: Ic84982f81d064af1c27cf776d12a57eadc20957a
Signed-off-by: Cristina Pauna <cristina.pauna@enea.com>
6 years agokubernetes_utils: avoid 404 error code in delete_custom_resource_definition() 75/59975/3
Mytnyk, Volodymyr [Thu, 19 Jul 2018 07:55:44 +0000 (08:55 +0100)]
kubernetes_utils: avoid 404 error code in delete_custom_resource_definition()

JIRA: YARDSTICK-1317

Change-Id: I2dc924334199761d63dce9aebe9ce200ca0fddf8
Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
6 years agoIncrease rounding digits in IXIA RFC2544 45/60045/3
Rodolfo Alonso Hernandez [Fri, 20 Jul 2018 10:26:49 +0000 (11:26 +0100)]
Increase rounding digits in IXIA RFC2544

Increase rounding digits in IXIA RFC2544 for:
  - Drop percentage: 6 digits
  - Rate: 5 digits, both for fps and % line rate.

JIRA: YARDSTICK-1338

Change-Id: Iae6e49dd3d15035452f28976af0b16222fa8e23c
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
6 years agoAccept line rate percentage or fps a initial rate for IXIA RFC2544 99/59999/4
Rodolfo Alonso Hernandez [Thu, 19 Jul 2018 11:30:59 +0000 (12:30 +0100)]
Accept line rate percentage or fps a initial rate for IXIA RFC2544

Accept line rate percentage or fps a initial rate for IXIA RFC2544 traffic profile:
  traffic_profile:
    traffic_type : IXIARFC2544Profile
    frame_rate : 100%

  traffic_profile:
    traffic_type : IXIARFC2544Profile
    frame_rate : 5000fps

JIRA: YARDSTICK-1336

Change-Id: I85b3dd0daf563bb7af098a3aa5bb872961fb009b
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
6 years agoMerge "Create Dockerfile to create a yardstick-image of docker"
Emma Foley [Fri, 20 Jul 2018 13:32:45 +0000 (13:32 +0000)]
Merge "Create Dockerfile to create a yardstick-image of docker"

6 years agoCheck for network already created k8 93/59793/6
John O Loughlin [Fri, 13 Jul 2018 09:41:15 +0000 (10:41 +0100)]
Check for network already created k8

When creating a network the host should be checked to see if the network
is already created. If the required network is already there it should be used.

JIRA: YARDSTICK-1315

Change-Id: I09b114a728364ee56397af70cc48f1b7904f06cc
Signed-off-by: John O Loughlin <john.oloughlin@intel.com>
6 years agoAdd "stdin" and "tty" parameters to Kubernetes container 53/59953/5
Rodolfo Alonso Hernandez [Wed, 18 Jul 2018 16:14:24 +0000 (17:14 +0100)]
Add "stdin" and "tty" parameters to Kubernetes container

JIRA: YARDSTICK-1330

Change-Id: I05303a1d0783421472883806f97441dd63f7f740
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
6 years agokubernetes_utils: avoid 404 error code in delete_service() 51/59951/2
Mytnyk, Volodymyr [Wed, 18 Jul 2018 16:05:24 +0000 (17:05 +0100)]
kubernetes_utils: avoid 404 error code in delete_service()

JIRA: YARDSTICK-1321

Change-Id: Id0f3a5d93f11674fd3908a7f5cf7214afcfa3600
Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
6 years agoAccept strings and lists as container "args" and "commands" 47/59947/4
Rodolfo Alonso Hernandez [Wed, 18 Jul 2018 15:39:17 +0000 (16:39 +0100)]
Accept strings and lists as container "args" and "commands"

Accept strings and list of strings as "args" and "commands"
in a Kubernetes container.

JIRA: YARDSTICK-1329

Change-Id: I56470741072fb7f9a62d695c51fcb0cc3f3ff1b9
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
6 years agoCreate Dockerfile to create a yardstick-image of docker 43/59743/5
rexlee8776 [Fri, 6 Jul 2018 06:56:11 +0000 (06:56 +0000)]
Create Dockerfile to create a yardstick-image of docker

this Dockerfile target to generate a image with testing tool
installed, similar to yardstick-image for VM. The docker image
is used by k8s to start pods and test.

JIRA: YARDSTICK-1287

Change-Id: Id09a3fb6d880869c8f523d688b2ef641fb434541
Signed-off-by: rexlee8776 <limingjiang@huawei.com>
6 years agoMerge "Add "imagePullPolicy" parameter in Kubernetes container"
Rodolfo Alonso Hernandez [Thu, 19 Jul 2018 09:09:23 +0000 (09:09 +0000)]
Merge "Add "imagePullPolicy" parameter in Kubernetes container"

6 years agoMerge "Kubernetes NodePort must have 'name' if multiple created"
Rodolfo Alonso Hernandez [Thu, 19 Jul 2018 09:09:14 +0000 (09:09 +0000)]
Merge "Kubernetes NodePort must have 'name' if multiple created"

6 years agoBugfix: yardstick env grafana return http error 79/59979/1
rexlee8776 [Thu, 19 Jul 2018 08:09:03 +0000 (08:09 +0000)]
Bugfix: yardstick env grafana return http error

It returns "HTTPError: 404 Client Error: Not Found for url" when creating Grafana dashboard.
The log shows it failed when create "tc058" dashboard.

JIRA: YARDSTICK-1333

Change-Id: I14a275a31f019a7dc66a531a85314cc098e0f4c9
Signed-off-by: rexlee8776 <limingjiang@huawei.com>
6 years agoAdd "imagePullPolicy" parameter in Kubernetes container 27/59927/2
Rodolfo Alonso Hernandez [Wed, 18 Jul 2018 11:02:58 +0000 (12:02 +0100)]
Add "imagePullPolicy" parameter in Kubernetes container

The configuration parameter "imagePullPolicy" defines how Kubernetes
retrieves de image. By default, Kubernetes will always try to pull the
latest image from the repository [1]. Three possible arguments are accepted:
  - Always
  - IfNotPresent
  - Never

Example of Kubernetes pod definition:
  containers:
    - name: vcmts-pktgen-pod-0
      image: openretriever/yardstick
      imagePullPolicy: IfNotPresent

Example of Yardstick definition:
  context:
    name: k8syardstick
    type: Kubernetesservers:
    vnf:
      image: openretriever/yardstick
      imagePullPolicy: IfNotPresent

[1] https://kubernetes.io/docs/concepts/containers/images/

JIRA: YARDSTICK-1328

Change-Id: I83bfb01670eef22218b1affd7d37af14e32a622e
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
6 years agoKubernetes NodePort must have 'name' if multiple created 57/59857/3
Rodolfo Alonso Hernandez [Mon, 16 Jul 2018 13:38:26 +0000 (14:38 +0100)]
Kubernetes NodePort must have 'name' if multiple created

In Kubernetes context, service NodePort can contain more than one port
defined. Actually, by default port SSH (22) is always created. If more
than one port is defined in the service template, 'name' parameter is
mandatory.

Names must be lowercase, containing alphanumeric characters or '-'.

Verification regex used by Kubernetes: [a-z0-9]([-a-z0-9]*[a-z0-9])?

JIRA: YARDSTICK-1324

Change-Id: I82791761d8eae24196c2f16aee9900af28d44c57
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
6 years agoNodePort information returned in context should be a dictionary 49/59849/3
Rodolfo Alonso Hernandez [Mon, 16 Jul 2018 08:35:34 +0000 (09:35 +0100)]
NodePort information returned in context should be a dictionary

In Kubernetes context, NodePort information returned in context should be
a dictionary. In [1], the node information is dumped in a yaml file. The
NodePort object doesn't have a serialize implementation; instead of
returning the object, an equivalent dictionary should be returned.

[1]https://github.com/opnfv/yardstick/blob/f6fa0d7422f0669d049dbf07a51eb39b1dc25830/yardstick/benchmark/scenarios/networking/vnf_generic.py#L293

JIRA: YARDSTICK-1323

Change-Id: If4844c9b074920a7a7d8c1a424b681f9f8a4b0c5
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
6 years agoMerge "add support of dpdk for bottlenecks_ping"
Jing Lu [Thu, 19 Jul 2018 03:26:15 +0000 (03:26 +0000)]
Merge "add support of dpdk for bottlenecks_ping"

6 years agoadd support of dpdk for bottlenecks_ping 03/59903/3
Yang (Gabriel) Yu [Wed, 18 Jul 2018 03:33:07 +0000 (11:33 +0800)]
add support of dpdk for bottlenecks_ping

This patch is supposed to be coordinated with
https://gerrit.opnfv.org/gerrit/59901
to support dpdk scenario for Bottlenecks

JIRA: YARDSTICK-1332

Change-Id: I4ae3d05523d0624d689702cb8eb23be364830de1
Signed-off-by: Yang (Gabriel) Yu <Gabriel.yuyang@huawei.com>
6 years agoMerge "Improve VMs spawning for OpenStack"
Rodolfo Alonso Hernandez [Wed, 18 Jul 2018 15:22:33 +0000 (15:22 +0000)]
Merge "Improve VMs spawning for OpenStack"

6 years agoMerge "Fix CGNAPT VNF name in install.yaml"
Rodolfo Alonso Hernandez [Wed, 18 Jul 2018 15:20:52 +0000 (15:20 +0000)]
Merge "Fix CGNAPT VNF name in install.yaml"

6 years agokubernetes_utils: avoid 404 error code in delete_pod() 79/59879/7
Mytnyk, Volodymyr [Tue, 17 Jul 2018 08:42:47 +0000 (09:42 +0100)]
kubernetes_utils: avoid 404 error code in delete_pod()

JIRA: YARDSTICK-1320

Change-Id: I5b762d4732440008630093e1d0952f7e41a8a191
Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
6 years agoFix CGNAPT VNF name in install.yaml 61/59861/1
Mytnyk, Volodymyr [Mon, 16 Jul 2018 15:50:34 +0000 (16:50 +0100)]
Fix CGNAPT VNF name in install.yaml

JIRA: YARDSTICK-1325

Change-Id: Idc56237f3a8435c6636be2a6e7c6b04662d831ee
Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
6 years agoClean-up tests in test_vsperf_dpdk.py:VsperfDPDKTestCase 93/58293/4
Emma Foley [Wed, 6 Jun 2018 10:04:41 +0000 (10:04 +0000)]
Clean-up tests in test_vsperf_dpdk.py:VsperfDPDKTestCase

* Move some common mocking into the setUp()
  The same return values was being set for moch_ssh
  in each test method.
* Remove duplicate statements in test_vsperf_dpdk.py:VsperfDPDKTestCase
  The same assert* were being called for multiple methods,
  which were checking that setup worked as expected.
  These checks are not required each time.

Change-Id: I325fc98ee569dcf7988951c82da0c02d5e465a16
Signed-off-by: Emma Foley <emma.l.foley@intel.com>
6 years agoPropose the backporting process 13/58913/2
Emma Foley [Fri, 22 Jun 2018 10:47:50 +0000 (10:47 +0000)]
Propose the backporting process

Change-Id: I0b0fddf8dfdd68fa144b28dba911352e9a4974fd
JIRA: YARDSTICK-1253
Signed-off-by: Emma Foley <emma.l.foley@intel.com>
6 years agoCreate a SampleVNF MQ consumer class 65/59565/10
Rodolfo Alonso Hernandez [Wed, 4 Jul 2018 16:54:05 +0000 (17:54 +0100)]
Create a SampleVNF MQ consumer class

This new class is designed to be used in a ``GenericVNF`` object (VNF
or traffic generator) in a builder pattern. This consumer class will
be instantiated when initializing the ``GenericVNF`` derived object.
The ``GenericVNFConsumer`` endpoint is the ``GenericVNF``derived object
itself.

``GenericVNFEndpoint`` is an interface class to be inherited in a
``GenericVNF`` child object; the VNF object will implement the endpoints
methods.

  NewVNF(GenericVNF, GenericVNFEndpoint):
    def __init__(self, name, vnfd, task_id):
      ...
      self._consumer = vnf_base.GenericVNFConsumer([task_id], self)
      self._consumer.start_rpc_server()

JIRA: YARDSTICK-1293

Change-Id: I1bcd980352099e9ebefdab0c96d51aa46f6a1e54
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
6 years agoAdd service NodePort information in server description 95/59795/4
Rodolfo Alonso Hernandez [Fri, 13 Jul 2018 10:10:18 +0000 (11:10 +0100)]
Add service NodePort information in server description

Kubernetes context provides a list of NodePort services to each
replication controller. "_get_server" should return this information
in the server description dictionary:

  server: { ...
    'service_ports': <list of NodePort objects>
  }

Relevant NodePort object attributes:
  - port
  - node_port
  - target_port
  - protocol
  - name

JIRA: YARDSTICK-1313

Change-Id: Ie481cdea4761f162e3b3329e4e2c5a982faea9e9
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
6 years agoAdd interface and network information to Kubernetes context 37/59737/4
Rodolfo Alonso Hernandez [Wed, 11 Jul 2018 16:32:44 +0000 (17:32 +0100)]
Add interface and network information to Kubernetes context

Add to "Kubernetes" context the "interfaces" information when retrieving
a server. This information is needed for NSPerf test cases.

The interface information comes from the resource controller network list.
Each replication controller will have one port per network defined.

JIRA: YARDSTICK-1303

Change-Id: Ifb0e17df295c042a643128c705a93876af999bad
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
6 years agoMerge "nsb_setup.sh fails to build DPDK"
Abhijit Sinha [Fri, 13 Jul 2018 09:59:31 +0000 (09:59 +0000)]
Merge "nsb_setup.sh fails to build DPDK"

6 years agoMerge "Cleanup TG IxLoad test cases"
Rodolfo Alonso Hernandez [Fri, 13 Jul 2018 09:36:33 +0000 (09:36 +0000)]
Merge "Cleanup TG IxLoad test cases"

6 years agoMerge "Omit functional tests from coverage report analysis"
Rodolfo Alonso Hernandez [Fri, 13 Jul 2018 09:33:01 +0000 (09:33 +0000)]
Merge "Omit functional tests from coverage report analysis"

6 years agoMerge "Fix "id" retrieval from MQ producer in GenericTrafficGen"
Rodolfo Alonso Hernandez [Fri, 13 Jul 2018 09:32:46 +0000 (09:32 +0000)]
Merge "Fix "id" retrieval from MQ producer in GenericTrafficGen"

6 years agoMerge ""install_dpdk" ansible role fails if DPDK version has revision number"
Rodolfo Alonso Hernandez [Fri, 13 Jul 2018 08:59:26 +0000 (08:59 +0000)]
Merge ""install_dpdk" ansible role fails if DPDK version has revision number"

6 years agonsb_setup.sh fails to build DPDK 05/59705/4
Mytnyk, Volodymyr [Wed, 11 Jul 2018 16:39:46 +0000 (17:39 +0100)]
nsb_setup.sh fails to build DPDK

Some DPDK archive releases have different prefix in the
unzipped archived folder name. Fixed scripts to determine
the DPDK path using find.

JIRA: YARDSTICK-1307

Change-Id: Id50bc1256f458e94aa7d4050a0f8ea3462fe9083
Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
6 years agoMerge "Make uwsgi app to not demonize"
Rex Lee [Fri, 13 Jul 2018 02:32:02 +0000 (02:32 +0000)]
Merge "Make uwsgi app to not demonize"

6 years agoMerge "Add ACL sample config file"
Rodolfo Alonso Hernandez [Thu, 12 Jul 2018 16:40:46 +0000 (16:40 +0000)]
Merge "Add ACL sample config file"

6 years agoMerge "Improve "get_server" function in Kubernetes context"
Rodolfo Alonso Hernandez [Thu, 12 Jul 2018 16:17:33 +0000 (16:17 +0000)]
Merge "Improve "get_server" function in Kubernetes context"

6 years agoImprove "get_server" function in Kubernetes context 71/59671/3
John O Loughlin [Wed, 11 Jul 2018 10:22:39 +0000 (11:22 +0100)]
Improve "get_server" function in Kubernetes context

When a kubernetes context is returning the node info it is
assumed that the first port defined is the ssh port which may
not be the case. This patch will address this issue by looking
for a defined port 22.

JIRA: YARDSTICK-1301

Change-Id: I65dee1bcf62f21ebcaefeaa2666bb0ad53f3876c
Signed-off-by: John O Loughlin <john.oloughlin@intel.com>
6 years ago"install_dpdk" ansible role fails if DPDK version has revision number 95/59695/2
Rodolfo Alonso Hernandez [Wed, 11 Jul 2018 15:33:46 +0000 (16:33 +0100)]
"install_dpdk" ansible role fails if DPDK version has revision number

In [1], the DPDK version string is converted to a number to be compared.
If DPDK version format is "major.minor.revision", this conversion will fail.

[1] https://github.com/opnfv/yardstick/blob/master/ansible/roles/install_dpdk/tasks/main.yml#L119

JIRA: YARDSTICK-1306

Change-Id: Id8d32f28627ff5a0ff8d4fb604282ba2d9931c25
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
6 years agoFix "id" retrieval from MQ producer in GenericTrafficGen 65/59765/1
Rodolfo Alonso Hernandez [Thu, 12 Jul 2018 14:06:55 +0000 (15:06 +0100)]
Fix "id" retrieval from MQ producer in GenericTrafficGen

"GenericTrafficGen.get_mq_producer_id" uses a wrong method to retrieve
the MQ producer ID. "MessagingProducer" ID is a property called "id".

JIRA: YARDSTICK-1312

Change-Id: Id72836b1cde59059359907bd3a315a1abb55778e
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
6 years agoMerge "Do not request NFVi metrics from empty nodes"
Rodolfo Alonso Hernandez [Thu, 12 Jul 2018 11:28:04 +0000 (11:28 +0000)]
Merge "Do not request NFVi metrics from empty nodes"

6 years agoMerge "Make context types constants"
Rodolfo Alonso Hernandez [Thu, 12 Jul 2018 10:50:35 +0000 (10:50 +0000)]
Merge "Make context types constants"

6 years agoCleanup TG IxLoad test cases 27/58427/4
Rodolfo Alonso Hernandez [Mon, 11 Jun 2018 14:58:25 +0000 (15:58 +0100)]
Cleanup TG IxLoad test cases

Refactor SSH handling and library mocks.

JIRA: YARDSTICK-1236

Change-Id: I591601f8ea8bf4bbd5c43300ff29d7930af5c3c6
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
6 years agoOmit functional tests from coverage report analysis 41/59741/1
Rodolfo Alonso Hernandez [Thu, 12 Jul 2018 10:25:42 +0000 (11:25 +0100)]
Omit functional tests from coverage report analysis

Coverage report will also search for new code introduced in
/yardstick/tests/functional. Any modification in functional
test cases must be omitted from coverage report.

JIRA: YARDSTICK-1308

Change-Id: Ib9c48102340f70d8d79f78dc81cbfe7b29c81115
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
6 years agoMerge "Change "monitor" to "assert" in SLA"
Abhijit Sinha [Thu, 12 Jul 2018 08:10:33 +0000 (08:10 +0000)]
Merge "Change "monitor" to "assert" in SLA"

6 years agoMerge "Revert "vPE Sample VNF is missing in the installation scripts""
Rodolfo Alonso Hernandez [Wed, 11 Jul 2018 15:35:32 +0000 (15:35 +0000)]
Merge "Revert "vPE Sample VNF is missing in the installation scripts""

6 years agoRevert "vPE Sample VNF is missing in the installation scripts" 91/59691/2
Volodymyr Mytnyk [Wed, 11 Jul 2018 14:51:36 +0000 (14:51 +0000)]
Revert "vPE Sample VNF is missing in the installation scripts"

SampleVNF source tree doesn't contain vPE VNF sources, thus the
installation of the vPE sampleVNF fails because of the changes.
Reverting.

This reverts commit 5bb855a82d960a4fb796e801ec9a9a22dc40b1ca.

Change-Id: I27e929e813a28847c2ca725031ec767633a36954
Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
6 years agoChange "monitor" to "assert" in SLA 43/59543/3
Dimitrios Markou [Wed, 4 Jul 2018 09:18:47 +0000 (12:18 +0300)]
Change "monitor" to "assert" in SLA

Change "monitor" to "assert" in SLA to make an Overall testcase
to fail if a subtest Scenario fails

JIRA: YARDSTICK-1305

Change-Id: I90f5c95f0ddace160d751a435d60ae09a42101f2
Signed-off-by: Dimitrios Markou <mardim@intracom-telecom.com>
6 years agoAdd ACL sample config file 63/59663/2
Mytnyk, Volodymyr [Wed, 11 Jul 2018 08:25:26 +0000 (09:25 +0100)]
Add ACL sample config file

The acl_rules.yaml is unused, so renamed it to sample config.
Updated the config with example of possible ACL configuration.

JIRA: YARDSTICK-1304

Change-Id: If0537cf55f4c96f57844caed5bf1c9050647e0d5
Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
6 years agoDo not request NFVi metrics from empty nodes 73/59673/1
Rodolfo Alonso Hernandez [Wed, 11 Jul 2018 11:39:51 +0000 (12:39 +0100)]
Do not request NFVi metrics from empty nodes

In Collector class [1], the information from the nodes is retrieved to
create a ResourceProfile object per node. If the node information is
empty, Collector should skip this node.

[1] https://github.com/opnfv/yardstick/blob/master/yardstick/network_services/collector/subscriber.py#L34

JIRA: YARDSTICK-1302

Change-Id: I84dff3e20881352263736b682a60a4f382960153
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
6 years agoMerge "Add network elements as a dict in Kubernetes context"
Rodolfo Alonso Hernandez [Tue, 10 Jul 2018 17:03:46 +0000 (17:03 +0000)]
Merge "Add network elements as a dict in Kubernetes context"

6 years agoMake uwsgi app to not demonize 29/58929/6
Mytnyk, Volodymyr [Fri, 22 Jun 2018 15:04:14 +0000 (16:04 +0100)]
Make uwsgi app to not demonize

Supervisord doesn't support demonize applications, thus we have to
make the uwsgi application to run not in background.

- Fixed Yardstick API path.
- Fixed HttpClient class to raise correct exception when
  the HTML response (not JSON) like 4xx, 5xx is received.
  (http://docs.python-requests.org/en/master/user/quickstart/#json-response-content)

JIRA: YARDSTICK-1297

Change-Id: I4d1c1bb7266eeed0bd357bd28b91206d1580611f
Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>