Age | Commit message (Collapse) | Author | Files | Lines |
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "Adjust timeouts for installing requrements"
- Adjust timeouts for installing requrements
The time it takes to install the the requirements is different on the 2 build
servers we have for aarch64: on build4 it takes ~12min, on pod5 it takes <10min.
So the timeouts need to be adjusted again to bigger values to cover both servers.
JIRA: ARMBAND-391
Change-Id: Idd8f07e6f54d64a6cfaee0753ecd8efd141ff615
Signed-off-by: Cristina Pauna <cristina.pauna@enea.com>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "Cleanup TaskParseTestCase unit tests"
- Cleanup TaskParseTestCase unit tests
Removed unneeded output.
JIRA: YARDSTICK-1340
Change-Id: I66c0902edfea5fad9282bcb36e57b67cd6c340ab
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "Propose the backporting process"
- Propose the backporting process
Change-Id: I0b0fddf8dfdd68fa144b28dba911352e9a4974fd
JIRA: YARDSTICK-1253
Signed-off-by: Emma Foley <emma.l.foley@intel.com>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "Clean-up tests in test_vsperf_dpdk.py:VsperfDPDKTestCase"
- Clean-up tests in test_vsperf_dpdk.py:VsperfDPDKTestCase
* Move some common mocking into the setUp()
The same return values was being set for moch_ssh
in each test method.
* Remove duplicate statements in test_vsperf_dpdk.py:VsperfDPDKTestCase
The same assert* were being called for multiple methods,
which were checking that setup worked as expected.
These checks are not required each time.
Change-Id: I325fc98ee569dcf7988951c82da0c02d5e465a16
Signed-off-by: Emma Foley <emma.l.foley@intel.com>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "Increase rounding digits in IXIA RFC2544"
- Increase rounding digits in IXIA RFC2544
Increase rounding digits in IXIA RFC2544 for:
- Drop percentage: 6 digits
- Rate: 5 digits, both for fps and % line rate.
JIRA: YARDSTICK-1338
Change-Id: Iae6e49dd3d15035452f28976af0b16222fa8e23c
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "Accept line rate percentage or fps a initial rate for IXIA RFC2544"
- Accept line rate percentage or fps a initial rate for IXIA RFC2544
Accept line rate percentage or fps a initial rate for IXIA RFC2544 traffic profile:
traffic_profile:
traffic_type : IXIARFC2544Profile
frame_rate : 100%
traffic_profile:
traffic_type : IXIARFC2544Profile
frame_rate : 5000fps
JIRA: YARDSTICK-1336
Change-Id: I85b3dd0daf563bb7af098a3aa5bb872961fb009b
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "kubernetes_utils: avoid 404 error code in delete_custom_resource_definition()"
- kubernetes_utils: avoid 404 error code in delete_custom_resource_definition()
JIRA: YARDSTICK-1317
Change-Id: I2dc924334199761d63dce9aebe9ce200ca0fddf8
Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "kubernetes_utils: avoid 404 error code in delete_service()"
- kubernetes_utils: avoid 404 error code in delete_service()
JIRA: YARDSTICK-1321
Change-Id: Id0f3a5d93f11674fd3908a7f5cf7214afcfa3600
Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Increase timeouts for installing requrements
Currently the docker images fails to build on aarch64 because the installation
of the requirements step fails. The failure is caused by the timers which expire
and don't mark the job as finished.
JIRA: ARMBAND-391
Change-Id: Ic84982f81d064af1c27cf776d12a57eadc20957a
Signed-off-by: Cristina Pauna <cristina.pauna@enea.com>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "Create Dockerfile to create a yardstick-image of docker"
- Create Dockerfile to create a yardstick-image of docker
this Dockerfile target to generate a image with testing tool
installed, similar to yardstick-image for VM. The docker image
is used by k8s to start pods and test.
JIRA: YARDSTICK-1287
Change-Id: Id09a3fb6d880869c8f523d688b2ef641fb434541
Signed-off-by: rexlee8776 <limingjiang@huawei.com>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Add "stdin" and "tty" parameters to Kubernetes container
JIRA: YARDSTICK-1330
Change-Id: I05303a1d0783421472883806f97441dd63f7f740
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
- Accept strings and lists as container "args" and "commands"
Accept strings and list of strings as "args" and "commands"
in a Kubernetes container.
JIRA: YARDSTICK-1329
Change-Id: I56470741072fb7f9a62d695c51fcb0cc3f3ff1b9
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "Add "imagePullPolicy" parameter in Kubernetes container"
- Add "imagePullPolicy" parameter in Kubernetes container
The configuration parameter "imagePullPolicy" defines how Kubernetes
retrieves de image. By default, Kubernetes will always try to pull the
latest image from the repository [1]. Three possible arguments are accepted:
- Always
- IfNotPresent
- Never
Example of Kubernetes pod definition:
containers:
- name: vcmts-pktgen-pod-0
image: openretriever/yardstick
imagePullPolicy: IfNotPresent
Example of Yardstick definition:
context:
name: k8syardstick
type: Kubernetesservers:
vnf:
image: openretriever/yardstick
imagePullPolicy: IfNotPresent
[1] https://kubernetes.io/docs/concepts/containers/images/
JIRA: YARDSTICK-1328
Change-Id: I83bfb01670eef22218b1affd7d37af14e32a622e
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "Kubernetes NodePort must have 'name' if multiple created"
- Kubernetes NodePort must have 'name' if multiple created
In Kubernetes context, service NodePort can contain more than one port
defined. Actually, by default port SSH (22) is always created. If more
than one port is defined in the service template, 'name' parameter is
mandatory.
Names must be lowercase, containing alphanumeric characters or '-'.
Verification regex used by Kubernetes: [a-z0-9]([-a-z0-9]*[a-z0-9])?
JIRA: YARDSTICK-1324
Change-Id: I82791761d8eae24196c2f16aee9900af28d44c57
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
* Update docs/submodules/yardstick from branch 'master'
- NodePort information returned in context should be a dictionary
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>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "add support of dpdk for bottlenecks_ping"
- add support of dpdk for bottlenecks_ping
This patch is supposed to be coordinated with
https://gerrit.opnfv.org/gerrit/59901
to support dpdk scenario for Bottlenecks
JIRA: YARDSTICK-1332
Change-Id: I4ae3d05523d0624d689702cb8eb23be364830de1
Signed-off-by: Yang (Gabriel) Yu <Gabriel.yuyang@huawei.com>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "Improve VMs spawning for OpenStack"
- Improve VMs spawning for OpenStack
In some, like 5% or so, VMs become not responsible. Added a validation to make sure VMs
are reachable over SSH. In case of issue - restarting VM.
JIRA: YARDSTICK-1141
Change-Id: I110fe35b4b7bdbc4ba962d3814ce0f8cd40e5400
Signed-off-by: Stepan Andrushko <stepanx.andrushko@intel.com>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "Fix CGNAPT VNF name in install.yaml"
- Fix CGNAPT VNF name in install.yaml
JIRA: YARDSTICK-1325
Change-Id: Idc56237f3a8435c6636be2a6e7c6b04662d831ee
Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
|
|
* Update docs/submodules/yardstick from branch 'master'
- kubernetes_utils: avoid 404 error code in delete_pod()
JIRA: YARDSTICK-1320
Change-Id: I5b762d4732440008630093e1d0952f7e41a8a191
Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Create a SampleVNF MQ consumer class
This new class is designed to be used in a ``GenericVNF`` object (VNF
or traffic generator) in a builder pattern. This consumer class will
be instantiated when initializing the ``GenericVNF`` derived object.
The ``GenericVNFConsumer`` endpoint is the ``GenericVNF``derived object
itself.
``GenericVNFEndpoint`` is an interface class to be inherited in a
``GenericVNF`` child object; the VNF object will implement the endpoints
methods.
NewVNF(GenericVNF, GenericVNFEndpoint):
def __init__(self, name, vnfd, task_id):
...
self._consumer = vnf_base.GenericVNFConsumer([task_id], self)
self._consumer.start_rpc_server()
JIRA: YARDSTICK-1293
Change-Id: I1bcd980352099e9ebefdab0c96d51aa46f6a1e54
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Add service NodePort information in server description
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>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Add interface and network information to Kubernetes context
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>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "nsb_setup.sh fails to build DPDK"
- nsb_setup.sh fails to build DPDK
Some DPDK archive releases have different prefix in the
unzipped archived folder name. Fixed scripts to determine
the DPDK path using find.
JIRA: YARDSTICK-1307
Change-Id: Id50bc1256f458e94aa7d4050a0f8ea3462fe9083
Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "Cleanup TG IxLoad test cases"
- Cleanup TG IxLoad test cases
Refactor SSH handling and library mocks.
JIRA: YARDSTICK-1236
Change-Id: I591601f8ea8bf4bbd5c43300ff29d7930af5c3c6
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "Omit functional tests from coverage report analysis"
- Omit functional tests from coverage report analysis
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>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "Fix "id" retrieval from MQ producer in GenericTrafficGen"
- Fix "id" retrieval from MQ producer in GenericTrafficGen
"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>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge ""install_dpdk" ansible role fails if DPDK version has revision number"
- "install_dpdk" ansible role fails if DPDK version has revision number
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>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "Make uwsgi app to not demonize"
- Make uwsgi app to not demonize
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>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "Add ACL sample config file"
- Add ACL sample config file
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>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "Improve "get_server" function in Kubernetes context"
- Improve "get_server" function in Kubernetes context
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>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "Do not request NFVi metrics from empty nodes"
- Do not request NFVi metrics from empty nodes
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>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "Make context types constants"
- Make context types constants
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>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "Change "monitor" to "assert" in SLA"
- Change "monitor" to "assert" in SLA
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>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "Revert "vPE Sample VNF is missing in the installation scripts""
- Revert "vPE Sample VNF is missing in the installation scripts"
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>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "Add network elements as a dict in Kubernetes context"
- Add network elements as a dict in Kubernetes context
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>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Add "tolerations" parameter in Kubernetes context
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>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Add "ports" parameters in Kubernetes context
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>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Add "restartPolicy" parameter in Kubernetes policy
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>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "Add "resources" parameter in Kubernetes context"
- Add "resources" parameter in Kubernetes context
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>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "Add send socket commands function"
- Add send socket commands function
Pktgen provides a TCP socket connection to allow the user to control
it from a remote console or program [1].
This new method will provide Yardstick the ability to send string
commands to a port in a remote host.
[1] http://pktgen-dpdk.readthedocs.io/en/latest/socket.html
JIRA: YARDSTICK-1186
Change-Id: I9d64ccad662fa3599de65654c5dab02833fcc91d
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Fix IXIA IxNetwork IMIX configuration
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>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge changes from topics 'YARDSTICK-1286', 'YARDSTICK-1127'
* 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
- Make "IterationIPC" MQ producer for VNF control messages
"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>
- Enable traffic generator PID in "NSPerf" scenario setup
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>
- Enable the MQ producer in "SampleVNFTrafficGen" class
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>
- Add "TrafficGeneratorProducer" for "GenericTrafficGen" instances
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>
- Add "IterationIPC" runner
"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>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Add "env" parameter in Kubernetes context
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>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "Create user defined "NodePort" services per pod"
- Create user defined "NodePort" services per pod
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>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "Change "KubernetesObject" class name to "ReplicationController""
- Change "KubernetesObject" class name to "ReplicationController"
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>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "Specify the networks to be used per pod"
- Specify the networks to be used per pod
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>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "Add new Kubernetes resource kind: "Network""
- Add new Kubernetes resource kind: "Network"
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>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "Add new Kubernetes resource kind: "CustomResourceDefinition""
- Add new Kubernetes resource kind: "CustomResourceDefinition"
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>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "Add "securityContext" parameter in Kubernetes context"
- Add "securityContext" parameter in Kubernetes context
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>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "[Bug fix] Execute teardown if SLA is set to "assert""
- [Bug fix] Execute teardown if SLA is set to "assert"
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>
|
|
* Update docs/submodules/yardstick from branch 'master'
- Merge "Remove TRex installer from ansible directory"
- Remove TRex installer from ansible directory
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>
|