aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2018-06-14Create user defined "NodePort" services per podRodolfo Alonso Hernandez3-22/+79
This feature will give the user the ability to create user defined "NodePort" services per pod, a part from the default SSH port created, by default, for each pod created. Example of Kubernetes yaml definition: apiVersion: v1 kind: Servicemeta data: name: pod-1-service-nodeport spec: type: NodePort ports: - name: web port: 80 targetPort: 8888 nodePort: 33333 clusterIP: 10.254.0.8 selector: app: pod-1 Example of Yardstick test case definition: context: type: Kubernetes servers: host: containers: - image: ... securityContext: allowPrivilegeEscalation: false - image: ... node_ports: - port: <port number> # Mandatory name: <port name> # Optional targetPort: <port name> # Optional, default: targetPort=port nodePort: <port number> # Optional, assigned by Kubernetes Kubernetes service, type "NodePort" [1] [1] https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport JIRA: YARDSTICK-1181 Change-Id: Ia7730e4569d5526d573402a98c27d55c5c82cdef Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-06-14Change "KubernetesObject" class name to "ReplicationController"Rodolfo Alonso Hernandez2-19/+22
The class name "KubernetesObject" is not accurate. This class holds the definition of a Kubernetes replication controller. The suggested name is therefore "ReplicationControllerObject". JIRA: YARDSTICK-1180 Change-Id: I9ee9228f9528cb779e54a9bc178760b6e24c85c2 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-06-14Specify the networks to be used per podRodolfo Alonso Hernandez2-1/+28
If CRD "Network" is defined and network items are created, each pod (server) can have access to one or several networks. This is defined in the metadata section, as "annotations.networks" [1]. Example of Kubernetes pod definition with networks: apiVersion: v1 kind: Pod metadata: name: test-pod annotations: networks: '[{"name": "flannel"}]' Example of Yardstick server definition with networks: context: type: Kubernetes servers: host: containers: - name: ... networks: - flannel # These names must be defined in # context.networks ... networks: - name: flannel plugin: flannel Kubernetes annotations [2]. [1]https://github.com/intel/multus-cni/tree/b9446232cdf4f1b6f2bea583291973cc97e963f4#configuring-multus-to-use-kubeconfig-and-a-default-network [2]https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ JIRA: YARDSTICK-1178 Change-Id: I6e7b4bacf10810833ec733c14d44e5db613675e3 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-06-14Add new Kubernetes resource kind: "Network"Rodolfo Alonso Hernandez6-4/+370
Add a new Kubernetes resource kind: "Network" [1] [2] Kubernetes network plugins (alpha definition): [3] Network definition example in Kubernetes: apiVersion: "kubernetes.com/v1" kind: Network metadata: name: flannel plugin: flannel args: '[ {delegate": {"isDefaultGateway": true}} ]' Proposed Kubernetes context network definition: context: networks: - name: flannel plugin: flannel args: (string) - name: sriov_upload plugin: sriov args: (string) [1]https://builders.intel.com/docs/networkbuilders/multiple-network-interfaces-in-kubernetes-application-note.pdf [2]http://cdn.opensourcecloud.cn/zt/k8s/01.pdf [3]https://kubernetes.io/docs/concepts/cluster-administration/network-plugins/ JIRA: YARDSTICK-1160 Change-Id: I71a49ac14e3d28ded91d2ed3cd9cc527e40303f7 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-06-14Add new Kubernetes resource kind: "CustomResourceDefinition"Rodolfo Alonso Hernandez7-3/+245
Custom resource definition example in Kubernetes: apiVersion: "apiextensions.k8s.io/v1beta" kind: CustomResourceDefinition metadata: name: networks.kubernetes.com spec: group: kubernetes.com version: v1 scope: Namespaced names: plural: networks singular: network kind: Network Proposed Kubernetes context network definition: context: custom_resources:     - name: network        # name of the resource (singular)       version: v1          # optional, "v1" by default       scope: Namespaced    # optional, "Namespaced" by default From this definition, we will extract the Kubernetes parameters: - metadata.name: custom_resources.name + "s" + context_name + ".com" - spec.group: context_name + ".com" - spec.scope: custom_resources.scope - spec.version: custom_resources.version - spec.names.plural: custom_resources.name + "s" - spec.names.singular: custom_resources.name - spec.names.kind: custom_resources.name with first capital letter [1] https://kubernetes.io/docs/concepts/api-extension/custom-resources/ JIRA: YARDSTICK-1163 Change-Id: If8980dc3f6ddf9c6949bf15be8011aa98482ddc9 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-06-14Add "securityContext" parameter in Kubernetes contextRodolfo Alonso Hernandez2-5/+60
This new parameter, "securityContext", will allow the user to define the privilege and access control settings for a pod or a container [1]. Example of "securityContext" definition in the pod (if only one container is defined): context:   type: Kubernetes   servers:     host:       image: ...       securityContext:         runAsUser: 1000         fsGroup: 2000  Example of "securityContext" definition in the pod and the container (if several containers are defined):      context:   type: Kubernetes   servers:     host:       securityContext:         runAsUser: 1000         fsGroup: 2000        containers:         - image: ...           securityContext:             allowPrivilegeEscalation: false         - image: ... [1] https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ JIRA: YARDSTICK-1156 Change-Id: I597a300c68cd834522a284b1cca0faa918493342 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-06-14Define several containers per pod in a replication controllerRodolfo Alonso Hernandez2-50/+102
Add the ability to define not only one but many containers per pod in a replication controller descriptor. This feature must be backwards compatible; all current test cases using the "single container" server definition must be accepted. Example of single container pod definition: context: type: Kubernetes servers: host: image: ... commands: ... volumes: - name: volume1 # mandatory <volume type definition> # mandatory Example of several container pod definition: context: type: Kubernetes servers: host: containers: # if this key is present, all container specific parameters (image, commands, args, volumeMounts, etc.) must be defined per container - image: ... commands: ... - image: ... commands: ... volumes: - name: volume1 # mandatory <volume type definition> # mandatory NOTE: other parameters, like "volumes" or "nodeSelector", are common to all containers in the pod. JIRA: YARDSTICK-1155 Change-Id: Ib95668c68e9c09e6de3f1aa41c903cc52e6809ad Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-06-14Add "volumeMounts" parameter in Kubernetes contextRodolfo Alonso Hernandez2-28/+89
This new parameter, "volumeMounts", will allow the user to automatically create new volumes mounted inside the container. Example of Kubernetes context definition: context: type: Kubernetes servers: host: volumeMounts: - name: volume1 # mandatory mountPath: /dev/hugepages # mandatory readOnly: True # optional, default=False JIRA: YARDSTICK-1151 Change-Id: Ic00b45e6d603a9f85e3f0e25becdf0bce14e637c Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-06-14Add "volumes" parameter in Kubernetes contextRodolfo Alonso Hernandez6-40/+118
This new parameter, "volumes", will allow the user to automatically create new volumes. Example of Kubernetes context definition: context: type: Kubernetes servers: host: image: ... commands: ... volumes: - name: volume1 # mandatory <volume type definition> # mandatory 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-1152 Change-Id: I44a91c605f047de4f286407e28fb5aa2e921b00a Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-06-12Improve IXIA IxNetwork library and traffic profile (4)Rodolfo Alonso Hernandez10-277/+324
This patch implements an active wait for the traffic injection. Once the traffic is started, the traffic generator class will poll periodically the IXIA traffic generator chassis to retrieve the status of the traffic ("started", "stopped"). Now the latency statistics are retrieved and reported for each injection period. JIRA: YARDSTICK-1116 Change-Id: I4422e2c88b4fc97b7cac3de8a82b2d75467c4117 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com> Signed-off-by: Emma Foley <emma.l.foley@intel.com>
2018-06-12Improve IXIA IxNetwork library and traffic profile (3)Rodolfo Alonso Hernandez3-96/+157
This patch modifies IP packet parameters. "IxNextgen.update_ip_packet" modifies the L3 packet according to the test case and setup the IP addresses. JIRA: YARDSTICK-1116 Change-Id: I46ff75ab1989d0e6f5cc876418a015386717e06f Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com> Signed-off-by: Emma Foley <emma.l.foley@intel.com>
2018-06-12Improve IXIA IxNetwork library and traffic profile (2)Rodolfo Alonso Hernandez7-1158/+621
This patch modifies the way the packet frame and the flow is configured before the injection. "IxNextgen.update_frame" modifies the L2 frame according to the test case and setup the frame rate, frame size, traffic injection duration and MAC addresses. JIRA: YARDSTICK-1116 Change-Id: Ife08f15a4eda24d7835c92c4172b450854d112ee Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com> Signed-off-by: Emma Foley <emma.l.foley@intel.com>
2018-06-12Improve IXIA IxNetwork library and traffic profile (1)Rodolfo Alonso Hernandez4-244/+432
This patch introduces a new way to configure the TCL IxNetwork server. All the configuration is done using the TCL API, removing the need of using the pre-saved configuration file. "IxNextgen.assign_ports" creates and assigns the virtual ports for each physical port defined in the test case. "IxNextgen.create_traffic_item" creates one traffic item and two flow groups per pair of ports, in both directions. "IxNextgen.gt_statistics" retrieves only the required statistics to generate the samples blob in the traffic generator. JIRA: YARDSTICK-1116 Change-Id: I8f1c0c55e99c274b2ed8276ed9a385c502e16d93 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com> Signed-off-by: Emma Foley <emma.l.foley@intel.com>
2018-06-12Merge changes from topics 'YARDSTICK-1218', 'YARDSTICK-1216', ↵Rodolfo Alonso Hernandez14-178/+161
'YARDSTICK-1215', 'YARDSTICK-1214' * changes: Move IncorrectConfig, IncorrectSetup and IncorrectNodeSetup to exceptions Move ErrorClass definition to exceptions module Convert SSH custom exceptions to Yardstick exceptions Remove AnsibleCommon class method mock
2018-06-11Move tests: unit/network_services/vnf_genericEmma Foley29-251/+306
* Fix pylint errors * Add TODOs Some errors are ignored locally, as they were a symptom of other problems. These issues have been flagged with a TODO, and should be fixed later. JIRA: YARDSTICK-837 Signed-off-by: Emma Foley <emma.l.foley@intel.com> Change-Id: I3d95537a64bde923703421510d27bac0d6dd92bd
2018-06-08Merge "Remove print out of logger exception in TestUtils"Rodolfo Alonso Hernandez1-7/+10
2018-06-08Merge "Cleanup TestYardstickNSCli class"Rodolfo Alonso Hernandez1-18/+32
2018-06-08Merge "Remove __init__ method overriding in HeatContextTestCase"Rodolfo Alonso Hernandez1-7/+4
2018-06-08Merge "Standalone XML machine type is not longer valid"Rodolfo Alonso Hernandez1-1/+1
2018-06-08Merge "Error when adding SR-IOV interfaces in SR-IOV context"Rodolfo Alonso Hernandez2-12/+18
2018-06-08Remove print out of logger exception in TestUtilsRodolfo Alonso Hernandez1-7/+10
Remove print out of logger exception while executing "TestUtils.test_parse_ini_file_missing_section_header" test case. JIRA: YARDSTICK-1225 Change-Id: I2a4e447c5d119fb9585b477d74f3d0a002c8278e Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-06-07Cleanup TestYardstickNSCli classRodolfo Alonso Hernandez1-18/+32
Remove the console output during the test execution. Refactor the "parse_arguments" test case. JIRA: YARDSTICK-1224 Change-Id: I68954b986dbea70752adb121e0445e162bdfddcb Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-06-07Merge "Fix latency in l2 and l3 PROX generator config files"Abhijit Sinha4-20/+85
2018-06-07Merge "Use TRex release v2.41 to support both x86 and aarch64"Rodolfo Alonso Hernandez2-2/+3
2018-06-07Merge "Remove instantiated contexts in "test_task""Rodolfo Alonso Hernandez1-0/+9
2018-06-07Fix latency in l2 and l3 PROX generator config filesXavier Simonart4-20/+85
JIRA: YARDSTICK-1211 Change-Id: I0899d470ca5a0ec7d42d36a9ff9c39cc7369310c Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
2018-06-06Merge "Add NSB PROX Baremetal dashboard for L3"Abhijit Sinha2-1151/+9973
2018-06-06Merge "Fix NSB NFVi metrics accuracy"Abhijit Sinha6-62/+82
2018-06-05Merge "Bump oslo.messaging version to 5.36.0"Rodolfo Alonso Hernandez1-1/+1
2018-06-05Fix NSB NFVi metrics accuracyXavier Simonart6-62/+82
JIRA: YARDSTICK-1212 Change-Id: Ic4d4a3c00e4e278f4de06cc176ff663892895569 Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
2018-06-01Move IncorrectConfig, IncorrectSetup and IncorrectNodeSetup to exceptionsRodolfo Alonso Hernandez7-67/+50
JIRA: YARDSTICK-1218 Change-Id: I804065e9bce3e728f5bf9e756a78df8fd28f74ac Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-06-01Move ErrorClass definition to exceptions moduleRodolfo Alonso Hernandez6-39/+46
JIRA: YARDSTICK-1216 Change-Id: I82556e1d1b0c723221a58e188067cbce560b8338 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-06-01Convert SSH custom exceptions to Yardstick exceptionsRodolfo Alonso Hernandez7-62/+59
JIRA: YARDSTICK-1215 Change-Id: I5ecfd3dccd91b07cd8de5309dfa1a372eff16ed0 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-06-01Remove AnsibleCommon class method mockRodolfo Alonso Hernandez1-12/+8
In [1], several methods in "AnsibleCommon" class are mocked, but those mocks are not removed after the test execution. Depending on the test execution order, this affects other results. [1] https://github.com/opnfv/yardstick/blob/stable/fraser/yardstick/tests/unit/service/test_environment.py#L20 JIRA: YARDSTICK-1214 Change-Id: I85ef702b3b5b2fda5cf453a21b9f0bec61b155f0 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-06-01Add NSB PROX Baremetal dashboard for L3Xavier Simonart2-1151/+9973
JIRA: YARDSTICK-1213 Change-Id: Id96edc5d23d3530110466e1cf69327c3e267e4c0 Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
2018-06-01Remove __init__ method overriding in HeatContextTestCaseRodolfo Alonso Hernandez1-7/+4
Unit test case clases should implement setUp() method instead of overriding __init__() method. JIRA: YARDSTICK-1210 Change-Id: I0f9a10575f9aeebf76dfa84619e59589b3ea83f6 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-05-31Remove instantiated contexts in "test_task"Rodolfo Alonso Hernandez1-0/+9
During unit testing, all contexts instantiated must be deleted at the end of the test to avoid clashes with other tests. JIRA: YARDSTICK-1209 Change-Id: I1994b915001b4a518e096833a0c5d33febbd8de6 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-05-31Replace glance delete image with shade client.Shobhi Jain5-44/+93
Remove get_image_id function. Function delete_image now uses shade client. JIRA: YARDSTICK-892 Change-Id: I6e8510dfa49aa14786ed7ac3382b85c4e699fb9e Signed-off-by: Shobhi Jain <shobhi.jain@intel.com>
2018-05-31Merge "Replace glance create image with shade client."Rodolfo Alonso Hernandez5-78/+171
2018-05-30Merge "Set "cmd2" library to version 0.8.6"Rodolfo Alonso Hernandez1-0/+1
2018-05-29Replace glance create image with shade client.Shobhi Jain5-78/+171
Function create_image now uses shade client. JIRA: YARDSTICK-892 Change-Id: Ia41d9ce702a1f24031080f8a365c1b2bd9ac9faa Signed-off-by: Shobhi Jain <shobhi.jain@intel.com>
2018-05-28PTL change from Ross Brattain to Mingjiang Li (Rex)Ross Brattain2-14/+14
results of Yardstick PTL election https://civs.cs.cornell.edu/cgi-bin/results.pl?id=E_b99c79421ce70058&rkey=c39fb1d5405efc15 Change-Id: I1a71f4415a737baec4bd44085ac3115fb86bd560 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2018-05-28Bump oslo.messaging version to 5.36.0Rodolfo Alonso Hernandez1-1/+1
A decoding error was introduced in the AMQP libraries installed by oslo.messaging version 5.30.2. Error example: File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-master/ .tox/functional/local/lib/python2.7/site-packages/amqp/utils.py", line 89, in str_to_bytes return s.encode('utf-8') UnicodeDecodeError: 'ascii' codec can't decode byte 0xd2 in position 3: ordinal not in range(128) This problem is fixed in the library versions installed in version 5.36.0. JIRA: YARDSTICK-1204 Change-Id: I4719d8e0a0891ebbb3b87c31d593d15f897ef53a Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-05-28Set "cmd2" library to version 0.8.6Rodolfo Alonso Hernandez1-0/+1
Last "cmd2" version, 0.9.0, removed Python 2+ support [1]. In order to support Python 2.7, version 0.8.6 (or earlier) must be installed. [1] https://github.com/python-cmd2/cmd2/commit/e54e5a5b891548df4df0acb04b6e607ad8f871b1 JIRA: YARDSTICK-1205 Change-Id: Ic2fe57438720de5b21c75f9456e653c6facf3ae9 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-05-28Merge "PROX: [WIP] Added scale up TCs."Rodolfo Alonso Hernandez10-0/+810
2018-05-25Merge "[release] Yardstick release note 6.1.0"Ross Brattain1-6/+35
2018-05-25Bugfix: Yardstick GUI build fails on Fraser 6.1.0rexlee87761-1/+1
Yardstick web GUI build fails due to angular version JIRA: YARDSTICK-1202 Change-Id: Ie075d18cb2eac2070267759978cbdb7c784599ef Signed-off-by: rexlee8776 <limingjiang@huawei.com>
2018-05-24Dockerfile: add ping for prepare_env.shRoss Brattain2-3/+3
INFO: Creating openstack credentials .. Verifying connectivity to 10.20.0.2... /home/opnfv/repos/yardstick//tests/ci/prepare_env.sh: line 56: ping: command not found /home/opnfv/repos/yardstick//tests/ci/prepare_env.sh: line 56: ping: command not found https://build.opnfv.org/ci/view/yardstick/job/yardstick-fuel-baremetal-daily-master/2400/console JIRA: YARDSTICK-1201 Change-Id: Ib9e139046724ece4be7a85cc1ae74cbb0ec8e203 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2018-05-24Use TRex release v2.41 to support both x86 and aarch64trevortao2-2/+3
Currently Yardstick uses Cisco's TRex release v2.28 which can only support x86, for the consideration of multi-arch support of Yardstick, the trex release v2.41 is now available and it can support multi-arch(both x86 and aarch64) now. For the external lib of v2.41, for x86_64, it looks like: external_libs/pyzmq-14.5.0/python2/intel/ucs4/64bit/zmq for arm64, it looks like: external_libs/pyzmq-14.5.0/python2/arm/ucs4/64bit/zmq So replace the trex release v2.28 with v2.41. JIRA: YARDSTICK-1191 Change-Id: I22dc3499283d48a89da1145cc480fd7d2a93a1cc Signed-off-by: trevortao <trevor.tao@arm.com>
2018-05-23Test case spec for SDN controller resilience in HA configGeorg Kunz2-0/+197
This is the test case specification for verifying the HA capabilities of a SDN controller running in a HA configuration. JIRA: HA-33 JIRA: YARDSTICK-955 Change-Id: I016ec1ef7bb51b79f8c21440abf8f04c923ef9dc Signed-off-by: Georg Kunz <georg.kunz@ericsson.com>