Age | Commit message (Collapse) | Author | Files | Lines |
|
JIRA: YARDSTICK-1492
Change-Id: I81c682d473ffe3d70ecbb42cce40c2d16e608b41
Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
|
|
|
|
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>
(cherry picked from commit adcc29e56130f0f047b99528ce72b6f149643da7)
|
|
JIRA: YARDSTICK-1462
Change-Id: I001a173fc728be6e88f5ae6d38c64b740e536ff2
Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
(cherry picked from commit ad63af7f42d07cffde73c32727f170973ce5ba46)
|
|
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>
|
|
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>
|
|
|
|
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>
|
|
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>
|
|
JIRA: YARDSTICK-1318
Change-Id: I0c04bd2928d5a4166b483f0c4f9f75fa9e5e00d2
Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
|
|
JIRA: YARDSTICK-1319
Change-Id: I8370c5ef4e43e58a8bb9c3aac60a089b0981dda0
Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
|
|
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>
|
|
JIRA: YARDSTICK-1320
Change-Id: I5b762d4732440008630093e1d0952f7e41a8a191
Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
|
|
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>
|
|
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>
|
|
|
|
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>
|
|
|
|
|
|
|
|
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>
|
|
|
|
JIRA: YARDSTICK-1257
Change-Id: I6733bd49ac91985e8f3d7722e6990e8733bb430e
Signed-off-by: Chornyi, TarasX <tarasx.chornyi@intel.com>
|
|
JIRA: YARDSTICK-1265
Change-Id: Ic2813dca7fc9a3230632f6e8bd75aeacc7e951b0
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
JIRA: YARDSTICK-1255
Change-Id: I446d715dc6cf716a4fcbc1b809c1b1d6303071e0
Signed-off-by: Chornyi, TarasX <tarasx.chornyi@intel.com>
|
|
|
|
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
This patch removes the global mocking applied on "os.path".
Change-Id: Ia18d2c90195c5408a1852792bdf05b6f0c1ad21f
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
|
|
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>
|
|
|
|
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>
|
|
* 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>
|
|
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>
|
|
* 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>
|
|
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>
|