aboutsummaryrefslogtreecommitdiffstats
path: root/yardstick
AgeCommit message (Collapse)AuthorFilesLines
2018-07-26Enable "wait_until_true" when used ouf the main threadRodolfo Alonso Hernandez2-7/+39
"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>
2018-07-25Merge "Fix typo in classname AclUknownActionTemplate"Rodolfo Alonso Hernandez3-4/+4
2018-07-24IxNetwork IPv4 mask format is x.x.x.xRodolfo Alonso Hernandez2-4/+7
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>
2018-07-24Fix typo in classname AclUknownActionTemplateEmma Foley3-4/+4
AclUknownActionTemplate -> AclUnknownActionTemplate JIRA: YARDSTICK-1334 Change-Id: I796e080078c657c5e0e59144d24ec797e244a8f7 Signed-off-by: Emma Foley <emma.l.foley@intel.com>
2018-07-24Merge changes from topics 'YARDSTICK-1351', 'YARDSTICK-1339'Rodolfo Alonso Hernandez8-94/+134
* changes: Add IP mask to IxNetwork configuration Improve NetworkServiceTestCase._get_ip_flow_range() function
2018-07-24Merge changes from topics 'YARDSTICK-1346', 'YARDSTICK-1345', 'YARDSTICK-1344'Rodolfo Alonso Hernandez7-0/+312
* changes: Add pktgen test case base files Add pktgen traffic profile Add DPDK pktgen traffic generator
2018-07-24Merge "kubernetes_utils: avoid 404 error code in delete_network()"Rodolfo Alonso Hernandez4-10/+27
2018-07-24kubernetes_utils: avoid 404 error code in delete_network()Mytnyk, Volodymyr4-10/+27
JIRA: YARDSTICK-1316 Change-Id: I792c873b42aba80be62ff7a93f6d02ea89e42356 Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
2018-07-24Merge changes from topics 'YARDSTICK-1343', 'YARDSTICK-1342'Rodolfo Alonso Hernandez3-21/+22
* changes: Cleanup EnvironmentTestCase unit tests Cleanup Testcase unit tests
2018-07-24Merge "Cleanup Ansible common unit tests"Rodolfo Alonso Hernandez2-133/+108
2018-07-24Add IP mask to IxNetwork configurationRodolfo Alonso Hernandez6-48/+75
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>
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 "Cleanup TaskParseTestCase unit tests"Rodolfo Alonso Hernandez1-3/+6
2018-07-23Cleanup EnvironmentTestCase unit testsRodolfo Alonso Hernandez2-14/+15
Removed unneeded output. JIRA: YARDSTICK-1343 Change-Id: Ifad21a62ce1152976952a4b8c5a142fa5a544904 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-07-23Merge "Clean-up tests in test_vsperf_dpdk.py:VsperfDPDKTestCase"Rex Lee1-99/+27
2018-07-23Cleanup Testcase unit testsRodolfo Alonso Hernandez1-7/+7
Removed unneeded output. JIRA: YARDSTICK-1342 Change-Id: I45ab14f854cd059625c1a96959b1cbd0a19f52a8 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-07-23Cleanup Ansible common unit testsRodolfo Alonso Hernandez2-133/+108
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>
2018-07-23Improve NetworkServiceTestCase._get_ip_flow_range() functionRodolfo Alonso Hernandez2-46/+59
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>
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-23Cleanup TaskParseTestCase unit testsRodolfo Alonso Hernandez1-3/+6
Removed unneeded output. JIRA: YARDSTICK-1340 Change-Id: I66c0902edfea5fad9282bcb36e57b67cd6c340ab Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.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-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-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-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-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-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 "Cleanup TG IxLoad test cases"Rodolfo Alonso Hernandez2-87/+62
2018-07-13Merge "Fix "id" retrieval from MQ producer in GenericTrafficGen"Rodolfo Alonso Hernandez2-2/+2
2018-07-13Merge "Make uwsgi app to not demonize"Rex Lee1-1/+3
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-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-11Merge "Revert "vPE Sample VNF is missing in the installation scripts""Rodolfo Alonso Hernandez1-2/+2