aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
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>
2018-07-12Merge "Change "monitor" to "assert" in SLA"Abhijit Sinha3-9/+9
2018-07-11Merge "Revert "vPE Sample VNF is missing in the installation scripts""Rodolfo Alonso Hernandez4-8/+2
2018-07-11Revert "vPE Sample VNF is missing in the installation scripts"Volodymyr Mytnyk4-8/+2
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>
2018-07-11Change "monitor" to "assert" in SLADimitrios Markou3-9/+9
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>
2018-07-11Add ACL sample config fileMytnyk, Volodymyr1-1/+9
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>
2018-07-11Do not request NFVi metrics from empty nodesRodolfo Alonso Hernandez2-18/+36
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>
2018-07-10Merge "Add network elements as a dict in Kubernetes context"Rodolfo Alonso Hernandez2-10/+8
2018-07-10Make uwsgi app to not demonizeMytnyk, Volodymyr4-6/+9
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>
2018-07-10Add "tolerations" parameter in Kubernetes contextRodolfo Alonso Hernandez2-2/+45
This new parameter, "torelations", is applied to pods and allow (but not require) the pods to schedule onto node with matching tains [1]. Example of "tolerations" definition in a Kubernetes pod: spec: containers: [...] tolerations: - key: <key defined in the taint> value: <key value to match with the taint> effect: <effect in case of match> operator: <matching operator> - key: ... Example of "tolerations" definition in a Yardstick test case: context: type: Kubernetes servers: host: containers: [...] tolerations: - key: ... value: ... effect: ... operator: ... NOTE: if any toleration is defined, a default one will be applied in order to allow any replication controller to create the pods in any Kubernetes node. This default toleration is defined as: spec: tolerations: - operator: "Exists" [1] https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ JIRA: YARDSTICK-1254 Change-Id: I32fb9c7086b4218c323218738057f634eb6ffff4 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-07-10Add "ports" parameters in Kubernetes contextJohn O'Loughlin3-1/+54
This new parameter, "ports", will allow the user to automatically to add port variables in a pod definition: context: type: Kubernetes servers: host: image: ... commands: ... ports: - containerPort: <port value> # Mandatory hostIP: <host IP> # Optional hostPort: <host port> # Optional name: <port name> # Optional protocol: <protocol name> # Optional The port type and the definition must be one of the supported ones in Kubernetes [1]. Container port definition, V1 API, Kubernetes Python library v6.0.0 [2] [1] https://kubernetes.io/docs/concepts/services-networking/connect-applications-service/ [2] https://github.com/kubernetes-client/python/blob/6.0.0/kubernetes/client/models/v1_container_port.py JIRA: YARDSTICK-1183 Change-Id: I3673dbeec8d380cb2f8b1dacf6c25c7cdbc37e28 Signed-off-by: John O Loughlin <john.oloughlin@intel.com>
2018-07-10Add "restartPolicy" parameter in Kubernetes policyJohn O Loughlin3-3/+23
This new parameter, "restartPolicy", will allow define the restart policy per pod. Example of yaml definition in Kubernetes: apiVersion: v1 kind: Pod metadata: name: frontend spec: containers: - name: db ... restartPolicy: Always # Possible values: "Always", "OnFailure" and "Never" Example of definition in a Yardstick context: context: type: Kubernetes servers: host: containers: - name: ... restartPolicy: Always # Default value: "Always" Restart policy [1]. [1] https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy JIRA: YARDSTICK-1175 Change-Id: Id4317b909f98422e89d6d4553e8cfb0e1f593355 Signed-off-by: John O Loughlin <john.oloughlin@intel.com>
2018-07-10Merge "Add "resources" parameter in Kubernetes context"Rodolfo Alonso Hernandez2-0/+25
2018-07-10Merge "Add send socket commands function"Rodolfo Alonso Hernandez3-0/+87
2018-07-09Fix IXIA IxNetwork IMIX configurationRodolfo Alonso Hernandez2-11/+8
IxNet library is not setting correctly the IMIX definition per traffic item. The correct input for "weightedRangePairs" parameter is: [[64, 64, 10], [128, 128, 15], [512, 512, 5]] JIRA: YARDSTICK-1296 Change-Id: Idb4034ce817250da5b9a434230b1be6dae0d3ba3 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-07-09Merge changes from topics 'YARDSTICK-1286', 'YARDSTICK-1127'Rodolfo Alonso Hernandez26-83/+890
* changes: Make "IterationIPC" MQ producer for VNF control messages Enable traffic generator PID in "NSPerf" scenario setup Enable the MQ producer in "SampleVNFTrafficGen" class Add "TrafficGeneratorProducer" for "GenericTrafficGen" instances Add "IterationIPC" runner
2018-07-06Add network elements as a dict in Kubernetes contextRodolfo Alonso Hernandez2-10/+8
Like in Heat context, network elements should be defined in a dictionary, using the network name as the entry key. Previous implementation: context: networks: - name: ... plugin: ... args: ... New implementation: context: networks: net_name_1: plugin: ... args: ... net_name_2: ... JIRA: YARDSTICK-1160 Change-Id: I786b06555af509440604305e2c3c2c9fe521bef8 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-07-06Add "resources" parameter in Kubernetes contextJohn O Loughlin2-0/+25
This new parameter, "resources", will allow the user to automatically add resources in a pod definition per container. Example of yaml definition in Kubernetes: apiVersion: v1 kind: Pod metadata: name: frontend spec: containers: - name: db image: mysql resources: requests: memory: "64Mi" cpu: "250m" limits: memory: "128Mi" cpu: "500m" Example of definition in a Yardstick context: context: type: Kubernetes servers: host: resources: # There are two possible keys in this dict: # "requests" and "limits". limits: <dictionary> requests: <dictionary> Resources in containers [1]. [1] https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ JIRA:YARDSTICK-1171 Change-Id: I163d72d9d3e88b538fca73eb4dbf38613aa23ff4 Signed-off-by: John O Loughlin <john.oloughlin@intel.com>
2018-07-06Add "env" parameter in Kubernetes contextJohn O Loughlin2-0/+23
This new parameter, "env", will allow the user to automatically to add environment variables in a pod definition Example of definition in a context: context: type: Kubernetes servers: host: image: ... commands: ... env: - <variable name>: <variable value> - <variable name>: <variable value> The volume type and the definition must be one of the supported ones in Kubernetes [1]. [1] https://kubernetes.io/docs/concepts/storage/volumes/#types-of-volumes JIRA: YARDSTICK-1161 Change-Id: Icf372a98c090063f10c9217755519ab92ba9b0ba Signed-off-by: John O Loughlin <john.oloughlin@intel.com>
2018-07-06Merge "Create user defined "NodePort" services per pod"Rodolfo Alonso Hernandez3-22/+79
2018-07-06Merge "Change "KubernetesObject" class name to "ReplicationController""Rodolfo Alonso Hernandez2-19/+22
2018-07-06Merge "Specify the networks to be used per pod"Rodolfo Alonso Hernandez2-1/+28
2018-07-06Merge "Add new Kubernetes resource kind: "Network""Rodolfo Alonso Hernandez6-4/+370
2018-07-06Merge "Add new Kubernetes resource kind: "CustomResourceDefinition""Rodolfo Alonso Hernandez7-3/+245
2018-07-06Merge "Add "securityContext" parameter in Kubernetes context"Rodolfo Alonso Hernandez2-5/+60
2018-07-06Merge "[Bug fix] Execute teardown if SLA is set to "assert""Rex Lee1-0/+1
2018-07-05[Bug fix] Execute teardown if SLA is set to "assert"Dimitrios Markou1-0/+1
In Duration runner if SLA is set to "assert" and a SLAValidationError happens then a teardown is needed to avoid garbages in the environment. JIRA: YARDSTICK-1291 Change-Id: I9056b0da3e7e496171ed42430ffc340b5c68f108 Signed-off-by: Dimitrios Markou <mardim@intracom-telecom.com>
2018-07-05Merge "Remove TRex installer from ansible directory"Rodolfo Alonso Hernandez1-51/+0
2018-07-05Make context types constantsRodolfo Alonso Hernandez14-43/+77
Make context types constants. These are the current context types: - Dummy - Heat - Kubernetes - Node - StandaloneOvsDpdk - StandaloneSriov Any reference to a context type should use the referred constant. JIRA: YARDSTICK-1292 Change-Id: I1ff0085161f88304d71e3ddad7975f9020e0fc20 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-07-05Merge "Fix vCGNAPT name in ansible constants"Rodolfo Alonso Hernandez3-4/+4
2018-07-05Merge "vPE Sample VNF is missing in the installation scripts"Rodolfo Alonso Hernandez4-2/+8
2018-07-05Merge "Move "read_yaml_file" to common.yaml_loader"Rodolfo Alonso Hernandez7-25/+26
2018-07-05Make "IterationIPC" MQ producer for VNF control messagesRodolfo Alonso Hernandez6-27/+125
"IterationIPC" runner class is a consumer for MQ aware VNFs. A MQ aware traffic generator can send "started", "finished" and "iteration" messages. This feature implements a MQ producer in the runner in order to send messages to the VNFs. The messages implemented are: - "start_iteration" - "stop_iteration" JIRA: YARDSTICK-1286 Change-Id: I706f9a9dda5e5beed52231be7d71452945a7dbed Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-07-05Merge "Cleanup TestProxSocketHelper unit tests"Rodolfo Alonso Hernandez1-164/+182
2018-07-05Merge "Cleanup OvsDpdkContextTestCase unit tests"Rodolfo Alonso Hernandez1-0/+6
2018-07-05Remove TRex installer from ansible directoryRodolfo Alonso Hernandez1-51/+0
Standalone TRex installer script is not updated or maintained. TRex is installed in Jumphost and the physical nodes using the installer script. There is no need to keep this script anymore. JIRA: YARDSTICK-1251 Change-Id: I3af62e70e244d2277a980a1ca6b8079597621a62 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-07-05Merge "Cleanup ScenarioGeneral unit tests"Rodolfo Alonso Hernandez1-4/+7
2018-07-05Enable traffic generator PID in "NSPerf" scenario setupRodolfo Alonso Hernandez13-56/+205
Now "NSPerf" scenario will inform about the traffic generator PIDs after setup process. With this information, IterationIPC runner will be able to receive the messages sent by those traffic generators and control the main iteration loop. The following example, using vFW as VNF and OpenStack as context, makes use of this new runner implementation: /samples/vnf_samples/nsut/vfw/ tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex_iterationipc.yaml JIRA: YARDSTICK-1127 Change-Id: I46b1368bc209680b88ff9fb5c3b9beadf6271ac9 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-07-05Enable the MQ producer in "SampleVNFTrafficGen" classRodolfo Alonso Hernandez10-14/+150
Now all traffic generators using the default implementation of "ClientResourceHelper.run_traffic" will update the status of the traffic injection using the MQ. The available methods are listed in common.messsaging (VNF_METHOD_*): - tg_method_started: VNF app started - tg_method_finished: VNF app finished - tg_method_iteration: VNF app execution loop started JIRA: YARDSTICK-1127 Change-Id: I12829e1762fc20cc95da3b50767a66f031e25ee8 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-07-05Add "TrafficGeneratorProducer" for "GenericTrafficGen" instancesRodolfo Alonso Hernandez2-1/+47
Added "TrafficGeneratorProducer" class, a message producer specific for "GenericTrafficGen" derived classes. JIRA: YARDSTICK-1127 Change-Id: Icc87a6920155612e759a1d4d2f29028940c2e040 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-07-05Add "IterationIPC" runnerRodolfo Alonso Hernandez6-4/+382
"IterationIPC" is a runner that runs a configurable number of times before it returns. Each iteration has a configurable timeout. The loop control depends on the feedback received from the running VNFs. The context PIDs from the VNFs to listen the messages from are given in the scenario "setup" method. The MQ consumer, "RunnerIterationIPCConsumer", is subscribed to messages sent to topic "messaging.TOPIC_TG". The endpoints are defined in the class "RunnerIterationIPCEndpoint". Three are implemented: "messaging.TG_METHOD_STARTED", "messaging.TG_METHOD_FINISHED" and "messaging.TG_METHOD_ITERATION". JIRA: YARDSTICK-1127 Change-Id: I4b2f11a15ef41e6f3c70bd64188d5c7fbcdb7eed Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-07-05Merge "Bump requirements to match OpenStack Queens release upper requirements"Rex Lee4-14/+14