aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2018-07-23Add pktgen test case base filesRodolfo Alonso Hernandez4-0/+278
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>
2018-07-23Add pktgen traffic profileRodolfo Alonso Hernandez3-0/+125
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>
2018-07-23Add DPDK pktgen traffic generatorRodolfo Alonso Hernandez4-0/+187
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>
2018-07-23Merge "Propose the backporting process"Rex Lee1-0/+26
2018-07-23Merge "Clean-up tests in test_vsperf_dpdk.py:VsperfDPDKTestCase"Rex Lee1-99/+27
2018-07-23Merge "Increase rounding digits in IXIA RFC2544"Rodolfo Alonso Hernandez2-6/+10
2018-07-23Merge "Accept line rate percentage or fps a initial rate for IXIA RFC2544"Rodolfo Alonso Hernandez6-24/+83
2018-07-23Merge "kubernetes_utils: avoid 404 error code in ↵Rodolfo Alonso Hernandez3-5/+26
delete_custom_resource_definition()"
2018-07-23Merge "kubernetes_utils: avoid 404 error code in delete_service()"Rodolfo Alonso Hernandez4-7/+42
2018-07-20Increase timeouts for installing requrementsCristina Pauna1-3/+3
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>
2018-07-20kubernetes_utils: avoid 404 error code in delete_custom_resource_definition()Mytnyk, Volodymyr3-5/+26
JIRA: YARDSTICK-1317 Change-Id: I2dc924334199761d63dce9aebe9ce200ca0fddf8 Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
2018-07-20Increase rounding digits in IXIA RFC2544Rodolfo Alonso Hernandez2-6/+10
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>
2018-07-20Accept line rate percentage or fps a initial rate for IXIA RFC2544Rodolfo Alonso Hernandez6-24/+83
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>
2018-07-20Merge "Create Dockerfile to create a yardstick-image of docker"Emma Foley1-0/+39
2018-07-19Add "stdin" and "tty" parameters to Kubernetes containerRodolfo Alonso Hernandez2-0/+19
JIRA: YARDSTICK-1330 Change-Id: I05303a1d0783421472883806f97441dd63f7f740 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-07-19kubernetes_utils: avoid 404 error code in delete_service()Mytnyk, Volodymyr4-7/+42
JIRA: YARDSTICK-1321 Change-Id: Id0f3a5d93f11674fd3908a7f5cf7214afcfa3600 Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
2018-07-19Accept strings and lists as container "args" and "commands"Rodolfo Alonso Hernandez3-10/+38
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>
2018-07-19Create Dockerfile to create a yardstick-image of dockerrexlee87761-0/+39
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>
2018-07-19Merge "Add "imagePullPolicy" parameter in Kubernetes container"Rodolfo Alonso Hernandez3-0/+21
2018-07-19Merge "Kubernetes NodePort must have 'name' if multiple created"Rodolfo Alonso Hernandez3-14/+64
2018-07-19Add "imagePullPolicy" parameter in Kubernetes containerRodolfo Alonso Hernandez3-0/+21
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>
2018-07-19Kubernetes NodePort must have 'name' if multiple createdRodolfo Alonso Hernandez3-14/+64
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>
2018-07-19NodePort information returned in context should be a dictionaryRodolfo Alonso Hernandez2-6/+23
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>
2018-07-19Merge "add support of dpdk for bottlenecks_ping"Jing Lu1-0/+5
2018-07-19add support of dpdk for bottlenecks_pingYang (Gabriel) Yu1-0/+5
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>
2018-07-18Merge "Improve VMs spawning for OpenStack"Rodolfo Alonso Hernandez3-3/+65
2018-07-18Merge "Fix CGNAPT VNF name in install.yaml"Rodolfo Alonso Hernandez1-1/+1
2018-07-18kubernetes_utils: avoid 404 error code in delete_pod()Mytnyk, Volodymyr3-4/+37
JIRA: YARDSTICK-1320 Change-Id: I5b762d4732440008630093e1d0952f7e41a8a191 Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
2018-07-16Fix CGNAPT VNF name in install.yamlMytnyk, Volodymyr1-1/+1
JIRA: YARDSTICK-1325 Change-Id: Idc56237f3a8435c6636be2a6e7c6b04662d831ee Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
2018-07-16Clean-up tests in test_vsperf_dpdk.py:VsperfDPDKTestCaseEmma Foley1-99/+27
* 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>
2018-07-16Propose the backporting processEmma Foley1-0/+26
Change-Id: I0b0fddf8dfdd68fa144b28dba911352e9a4974fd JIRA: YARDSTICK-1253 Signed-off-by: Emma Foley <emma.l.foley@intel.com>
2018-07-13Create a SampleVNF MQ consumer classRodolfo Alonso Hernandez37-258/+384
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>
2018-07-13Add service NodePort information in server descriptionRodolfo Alonso Hernandez2-39/+59
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>
2018-07-13Add interface and network information to Kubernetes contextRodolfo Alonso Hernandez4-23/+143
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>
2018-07-13Merge "nsb_setup.sh fails to build DPDK"Abhijit Sinha1-1/+13
2018-07-13Merge "Cleanup TG IxLoad test cases"Rodolfo Alonso Hernandez2-87/+62
2018-07-13Merge "Omit functional tests from coverage report analysis"Rodolfo Alonso Hernandez1-1/+1
2018-07-13Merge "Fix "id" retrieval from MQ producer in GenericTrafficGen"Rodolfo Alonso Hernandez2-2/+2
2018-07-13Merge ""install_dpdk" ansible role fails if DPDK version has revision number"Rodolfo Alonso Hernandez1-1/+8
2018-07-13nsb_setup.sh fails to build DPDKMytnyk, Volodymyr1-1/+13
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>
2018-07-13Merge "Make uwsgi app to not demonize"Rex Lee4-6/+9
2018-07-12Merge "Add ACL sample config file"Rodolfo Alonso Hernandez1-1/+9
2018-07-12Merge "Improve "get_server" function in Kubernetes context"Rodolfo Alonso Hernandez4-15/+34
2018-07-12Improve "get_server" function in Kubernetes contextJohn O Loughlin4-15/+34
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>
2018-07-12"install_dpdk" ansible role fails if DPDK version has revision numberRodolfo Alonso Hernandez1-1/+8
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>
2018-07-12Fix "id" retrieval from MQ producer in GenericTrafficGenRodolfo Alonso Hernandez2-2/+2
"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>
2018-07-12Merge "Do not request NFVi metrics from empty nodes"Rodolfo Alonso Hernandez2-18/+36
2018-07-12Merge "Make context types constants"Rodolfo Alonso Hernandez14-43/+77
2018-07-12Cleanup TG IxLoad test casesRodolfo Alonso Hernandez2-87/+62
Refactor SSH handling and library mocks. JIRA: YARDSTICK-1236 Change-Id: I591601f8ea8bf4bbd5c43300ff29d7930af5c3c6 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-07-12Omit functional tests from coverage report analysisRodolfo Alonso Hernandez1-1/+1
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>