Age | Commit message (Collapse) | Author | Files | Lines |
|
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>
|
|
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>
|
|
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>
|
|
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, "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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
'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
|
|
* 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
|
|
|
|
|
|
|
|
|
|
|
|
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>
|
|
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>
|
|
|
|
|
|
|
|
JIRA: YARDSTICK-1211
Change-Id: I0899d470ca5a0ec7d42d36a9ff9c39cc7369310c
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
|
|
|
|
|
|
|
|
JIRA: YARDSTICK-1212
Change-Id: Ic4d4a3c00e4e278f4de06cc176ff663892895569
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
|
|
JIRA: YARDSTICK-1218
Change-Id: I804065e9bce3e728f5bf9e756a78df8fd28f74ac
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
JIRA: YARDSTICK-1216
Change-Id: I82556e1d1b0c723221a58e188067cbce560b8338
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
JIRA: YARDSTICK-1215
Change-Id: I5ecfd3dccd91b07cd8de5309dfa1a372eff16ed0
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
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>
|
|
JIRA: YARDSTICK-1213
Change-Id: Id96edc5d23d3530110466e1cf69327c3e267e4c0
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
|
|
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>
|
|
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>
|
|
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>
|
|
|
|
|
|
Function create_image now uses shade client.
JIRA: YARDSTICK-892
Change-Id: Ia41d9ce702a1f24031080f8a365c1b2bd9ac9faa
Signed-off-by: Shobhi Jain <shobhi.jain@intel.com>
|
|
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>
|
|
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>
|
|
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>
|
|
|
|
|
|
Yardstick web GUI build fails due to angular version
JIRA: YARDSTICK-1202
Change-Id: Ie075d18cb2eac2070267759978cbdb7c784599ef
Signed-off-by: rexlee8776 <limingjiang@huawei.com>
|
|
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>
|
|
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>
|
|
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>
|