aboutsummaryrefslogtreecommitdiffstats
path: root/yardstick/benchmark/contexts
AgeCommit message (Collapse)AuthorFilesLines
2018-10-12Merge "Add OvS 2.8.1 support into SA context"Abhijit Sinha1-1/+2
2018-10-12Merge "Configure n_rxq DPDK port option when adding the port"Abhijit Sinha1-7/+5
2018-10-04Configure n_rxq DPDK port option when adding the portMytnyk, Volodymyr1-7/+5
On some platform, setting n_rxq option on port separately does not work well and causes issues like port link down, so changed the logic to set n_rxq DPDK port option during adding the port to the bridge which help to resolve the problem. JIRA: YARDSTICK-1463 Change-Id: Icdb064153a38afd53b835de8742e6fcef08f66bb Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
2018-10-04Add OvS 2.8.1 support into SA contextMytnyk, Volodymyr1-1/+2
JIRA: YARDSTICK-1462 Change-Id: I001a173fc728be6e88f5ae6d38c64b740e536ff2 Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
2018-09-20SA: Fix private key file name generation issueMytnyk, Volodymyr1-1/+1
In current implementation of Yardstick, SA context uses the same SSH key file name for each VM created. E.g. the Yardstick overrides the key file context each time the new VM is created. As a result, the key file is valid only for last VM created by Yardstick causing the connection problem for other VMs. Solution is to generate different key file name for each VM name separately. JIRA: YARDSTICK-1436 Change-Id: I22ae2874695736255aa3314654a2cced9338b53d Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
2018-08-29Assign static IP to VM for standalone contextStepan Andrushko3-13/+35
During VM spawning IP address should be assigned by DHCP server in the local network. Sometimes DHCP server is not capable to assign IP address. So, need to add static IP address. JIRA: YARDSTICK-1402 Change-Id: Ie59c340eb88eddcaff043496fc20aa48b49205ec Signed-off-by: Stepan Andrushko <stepanx.andrushko@intel.com>
2018-08-27Merge "Make security group configurable - dovetail"Jing Lu1-1/+5
2018-08-23Provide access to VM in Standalone contextStepan Andrushko3-17/+134
Add possibility to access VM with SampleVNF image, which is spawned on baremetal server using password or key pairs (provided or generated). Changes provided for OVS-DPDK and SRIOV cases. JIRA: YARDSTICK-1260 Change-Id: I89cf17dc83f02abe23d206b24b9d0ec1298d3231 Signed-off-by: Stepan Andrushko <stepanx.andrushko@intel.com>
2018-08-20Make security group configurable - dovetailrexlee87761-1/+5
Make sercurity group can be configured via the context. The format would be: context: name: demo image: yardstick-image flavor: yardstick-flavor user: ubuntu security_group: rules: - remote_ip_prefix: "0.0.0.0/0" protocol: "tcp" port_range_min: 1 port_range_max: 65535 - remote_ip_prefix: "0.0.0.0/0" protocol: "udp" port_range_min: 1 port_range_max: 65535 - remote_ip_prefix: "0.0.0.0/0" protocol: "icmp" JIRA: YARDSTICK-1360 Change-Id: I00c45767ee2d70b790590e824599d5a4c274bced Signed-off-by: rexlee8776 <limingjiang@huawei.com>
2018-07-25kubernetes_utils: avoid 404 error code in delete_config_map()Mytnyk, Volodymyr1-1/+1
JIRA: YARDSTICK-1318 Change-Id: I0c04bd2928d5a4166b483f0c4f9f75fa9e5e00d2 Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
2018-07-25kubernetes_utils: avoid 404 error code in delete_replication_controller()Mytnyk, Volodymyr1-1/+1
JIRA: YARDSTICK-1319 Change-Id: I8370c5ef4e43e58a8bb9c3aac60a089b0981dda0 Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
2018-07-19NodePort information returned in context should be a dictionaryRodolfo Alonso Hernandez1-3/+10
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, Volodymyr1-1/+1
JIRA: YARDSTICK-1320 Change-Id: I5b762d4732440008630093e1d0952f7e41a8a191 Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
2018-07-13Add service NodePort information in server descriptionRodolfo Alonso Hernandez1-7/+11
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 Hernandez1-9/+41
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-12Merge "Improve "get_server" function in Kubernetes context"Rodolfo Alonso Hernandez1-8/+17
2018-07-12Improve "get_server" function in Kubernetes contextJohn O Loughlin1-8/+17
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-12Merge "Make context types constants"Rodolfo Alonso Hernandez7-16/+40
2018-07-06Merge "Add new Kubernetes resource kind: "Network""Rodolfo Alonso Hernandez1-0/+12
2018-07-06Merge "Add new Kubernetes resource kind: "CustomResourceDefinition""Rodolfo Alonso Hernandez1-0/+12
2018-07-05Make context types constantsRodolfo Alonso Hernandez7-16/+40
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 "Move "read_yaml_file" to common.yaml_loader"Rodolfo Alonso Hernandez2-5/+6
2018-06-29NFVI support for standalone, baremetal and heat contextsChornyi, TarasX1-0/+3
JIRA: YARDSTICK-1257 Change-Id: I6733bd49ac91985e8f3d7722e6990e8733bb430e Signed-off-by: Chornyi, TarasX <tarasx.chornyi@intel.com>
2018-06-29Move "read_yaml_file" to common.yaml_loaderRodolfo Alonso Hernandez2-5/+6
JIRA: YARDSTICK-1265 Change-Id: Ic2813dca7fc9a3230632f6e8bd75aeacc7e951b0 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-06-26Extended Context class with get_physical_nodes functionalityChornyi, TarasX8-43/+171
JIRA: YARDSTICK-1255 Change-Id: I446d715dc6cf716a4fcbc1b809c1b1d6303071e0 Signed-off-by: Chornyi, TarasX <tarasx.chornyi@intel.com>
2018-06-25Merge "Add "volumes" parameter in Kubernetes context"Rodolfo Alonso Hernandez1-5/+2
2018-06-14Merge "Add "host_name_separator" variable to Context class"Rodolfo Alonso Hernandez6-16/+17
2018-06-14Add new Kubernetes resource kind: "Network"Rodolfo Alonso Hernandez1-0/+12
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 Hernandez1-0/+12
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 "volumes" parameter in Kubernetes contextRodolfo Alonso Hernandez1-5/+2
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-05-22Standalone XML machine type is not longer validRodolfo Alonso Hernandez1-1/+1
Current XML machine type definition [1] is not longer valid. According to [2], the default machine type should be "pc-i440fx-xenial". NOTE: StandAlone physical nodes are deployed using Ubuntu OS. [1]https://github.com/opnfv/yardstick/blob/master/yardstick/benchmark/contexts/standalone/model.py#L48 [2]https://wiki.ubuntu.com/QemuKVMMigration#Upgrade_machine_type JIRA: YARDSTICK-1192 Change-Id: I77b1379aaf416b1225e91af2c3ac746cb101f774 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-05-22Error when adding SR-IOV interfaces in SR-IOV contextRodolfo Alonso Hernandez1-3/+3
Method "add_sriov_interfaces" in Libvirt class throws an error when trying to add SR-IOV interfaces in the XML file. Function "setup_sriov_context" in SriovContext if passing to "_enable_interfaces" method the XML file name instead of passing the XML string. JIRA: YARDSTICK-1189 Change-Id: If021c102311ecb98cb26934f78067dfc720e4291 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-05-21Add "host_name_separator" variable to Context classRodolfo Alonso Hernandez6-16/+17
This feature will provide Kubernetes context the ability to handle the context name inside the class itself, providing to the developer an abstraction of the possible naming limitations in Kubernetes. E.g.: "dot" character in Pod names is no allowed [1]. [1] https://github.com/fabric8io/fluent-plugin-kubernetes_metadata_filter/issues/58 JIRA: YARDSTICK-1188 Change-Id: I82121f970b550170357a443b6340be7900602a57 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-05-03Add "os_cloud_config" as a new context flag parameterRodolfo Alonso Hernandez2-4/+9
This new parameter will contain the OpenStack cloud specific configuration used by Shade client. This new flag is used only in Heat context. By default, this new parameter (dict) will contain this content: 'os_cloud_config': {'verify': False} This field will be used by HeatStack [1] to create a Shade cloud. Shade retrieves, if not defined, the OpenStack configuration from "os_client_config". This configuration is used to generate the cloud configuration, which is the description of the OpenStackCloud returned. The default parameter defined, "verify", refers to the related bug. By default, in case of using SSL certificate it will not be verified. [1] https://github.com/opnfv/yardstick/blob/b338d3091bb0beb89d4ad9f7c144f43a31a19a74/yardstick/orchestrator/heat.py#L47 JIRA: YARDSTICK-1139 Change-Id: I875a7018401b84e51dab775b8194174645d27e06 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-04-25Fix "os.path" mock problems during testsRoss Brattain1-3/+0
This patch removes the global mocking applied on "os.path". Change-Id: Ia18d2c90195c5408a1852792bdf05b6f0c1ad21f Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-04-16Improve "Libvirt.create_snapshot_qemu" functionRodolfo Alonso Hernandez1-8/+34
Improved "Libvirt.create_snapshot_qemu" function: - Check if the base image is present in the remote host. If not, try to copy from the execution host. - Check the execution status. In case the command fails, raise an exception. JIRA: YARDSTICK-944 Change-Id: I78bd0d3ed6a1f35ed772c0d192bb240009a580ed Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-03-28Remove tool provisioning in Standalone contextsRodolfo Alonso Hernandez2-9/+5
In both Standalone contexts, SR-IOV and DPDK, the tool provisioning must be removed. If the tool, "dpdk-devbind.py", is not in the VNF, the test should fail because this tool should be provided during the provisioning, not during the test execution. JIRA: YARDSTICK-1092 Change-Id: I212c1303fd655f151e9c0efc29aad97fe6d71d1c Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-03-21Improve "Libvirt.virsh_destroy_vm" functionRodolfo Alonso Hernandez1-1/+4
Read the command exit code and log a warning in case the VM destroy process went wrong. JIRA: YARDSTICK-943 Change-Id: I2750b8d4a8f67af081c1988510cf5aca848a2cf1 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-03-21Improve "Libvirt.virsh_create_vm" functionRodolfo Alonso Hernandez1-2/+4
Read the command exit code and raise an exception in case the VM boot process went wrong. JIRA: YARDSTICK-941 Change-Id: Ibabaae8983213a33799ad00fa4d9541bbabea857 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-03-21Improve NSB Standalone XML generationRodolfo Alonso Hernandez3-49/+54
Delayed the generation of the XML file until the last step. The following functions will return a XML string insted: - Libvirt.build_vm_xml - SriovContext._enable_interfaces - OvsDpdkContext._enable_interfaces The XML file will be written just before copying the file to the compute hosting the VMs. JIRA: YARDSTICK-939 Change-Id: Icc80f4741903bbe335db4ebccab395b72fa87e82 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-03-21Improve OVS-DPDK setup processRodolfo Alonso Hernandez1-23/+21
Improved OVS-DPDK setup process: - Added log string for each command executed. - Removed unnecessary 'kill' command. - Check if commands are executed correctly. JIRA: YARDSTICK-922 Change-Id: I09fba96ffa39cde1e000a3c4382d474219c99985 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-03-21Improve OVS-DPDK boot processRodolfo Alonso Hernandez2-70/+98
Check if hugepages are present in the system. Check if every command executed during the boot up process exits correctly. JIRA: YARDSTICK-917 Change-Id: Ic0c8a72199ad80e3a65488cc88d0692863751284 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-03-06Merge "Move SSH key generation from "init" to "deploy""Emma Foley1-11/+11
2018-03-06Move SSH key generation from "init" to "deploy"Rodolfo Alonso Hernandez1-11/+11
In [1], the Context SSH key generation was modified; the SSH now has a name matching the name context (which depends on the given name and the task ID). In a test suite, the task ID is the same for all test cases executed in the same batch. If the context name of different test cases is the same (there is no impediment, e.g.: "demo", "yardstick"), the SSH key filename will be the same. Currently the SSH key generation is done during the initialization process, at the begining of the test suite executing. If, by coincidence, two test cases have the same context name, the first one will remove the SSH key file during the "undeploy" process; then the second one will rise an exception because the SSH key file is deleted. This patch moves the SSH key file generation from the initialization process to the context deploy process: TEST SUITE: - init: parse all test cases - test case 1: - deploy (generate SSH keys) - run - undeploy (delete SSH keys) - test case 2: ... [1] Id175061d6cfe23a068bb3d12ce176c1f176e8236 JIRA: YARDSTICK-1045 Change-Id: I05dc46db20d2a0cba3092c415ce9b248513406fb Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
2018-03-06Merge "Enable heat context to support existing network"Jack Chan2-17/+62
2018-03-02heat: replace neutronclient with shadeRoss Brattain1-7/+6
neutronclient is deprecated and also has bunches of issues with SSL and such. JIRA: YARDSTICK-890 JIRA: YARDSTICK-1032 Change-Id: I41c9aac0ea69e1307560a001f7dc34178fcd7e71 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2018-03-02Add yardstick.benchmark.contexts.heat.HeatContext._delete_key_file()Emma Foley1-6/+10
* Move logic for removing key file into its own method * Update the log message to be more useful JIRA: YARDSTICK-1026 Change-Id: I8c131720ed91c939698c41ad63d586396fcce1fe Signed-off-by: Emma Foley <emma.l.foley@intel.com>
2018-03-01Add ability to reuse existing OpenStack set-upEmma Foley1-2/+17
This change adds two optional flags to the context configuration for heat: * no_setup -- to re-use an existing OpenStack deployment * no_teardown -- to skip undeploying the context, so it is available in other testcases In order to achieve this, resource naming had to be made more predictable. When no_setup or no_teardown are set: * Do not add a suffix to context name * When searching, try with and without a suffix to find a server by name All behaviors remain the same unless these values are set. NOTE: This feature doesn't work with the NSPerf scenario, because the interfaces in the VNFs are bound to DPDK after the first test, so the look-up for missing topology information fails in subsequent test runs, as the interfaces are not visable to the kernel. This can be addressed either by either unbinding the interfaces from DPDK at the end of each test, or modifying the look-up for the missing topology information to query DPDK as well. The change will be made in a future patch. JIRA: YARDSTICK-886 Change-Id: I6df5e86e419c283a2bee41917e4f62179aa9c31a Signed-off-by: Emma Foley <emma.l.foley@intel.com>
2018-03-01Add methods to get an existing stackEmma Foley1-0/+9
* Add yardstick/orchestrator/heat.py:HeatStack.get * Add yardstick/benchmark/contexts/heay.py:HeatContext.retrieve_existing_stack JIRA: YARDSTICK-886 Change-Id: I6974b79a25f98066a49b1bc8ccd11383e7962091 Signed-off-by: Emma Foley <emma.l.foley@intel.com>
2018-03-01Use context name instead of key_uuidEmma Foley1-11/+14
context.key_uuid is only used as a suffix for the key files. There is already a unique ID associated with a the context; the context name includes a task ID, which is a UUID. This patch sets context.key_uuid to to context.name instead of generating a separate UUID As a result, get_short_key_uuid() is not needed. JIRA: YARDSTICK-1028 Change-Id: Id175061d6cfe23a068bb3d12ce176c1f176e8236 Signed-off-by: Emma Foley <emma.l.foley@intel.com>