yardstick.git
5 years agoCleanup TaskParseTestCase unit tests 95/60095/1
Rodolfo Alonso Hernandez [Mon, 23 Jul 2018 06:58:56 +0000 (07:58 +0100)]
Cleanup TaskParseTestCase unit tests

Removed unneeded output.

JIRA: YARDSTICK-1340

Change-Id: I66c0902edfea5fad9282bcb36e57b67cd6c340ab
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
5 years agoIncrease timeouts for installing requrements 55/60055/1
Cristina Pauna [Fri, 20 Jul 2018 14:44:13 +0000 (17:44 +0300)]
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>
5 years agoMerge "Create Dockerfile to create a yardstick-image of docker"
Emma Foley [Fri, 20 Jul 2018 13:32:45 +0000 (13:32 +0000)]
Merge "Create Dockerfile to create a yardstick-image of docker"

5 years agoAdd "stdin" and "tty" parameters to Kubernetes container 53/59953/5
Rodolfo Alonso Hernandez [Wed, 18 Jul 2018 16:14:24 +0000 (17:14 +0100)]
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>
5 years agoAccept strings and lists as container "args" and "commands" 47/59947/4
Rodolfo Alonso Hernandez [Wed, 18 Jul 2018 15:39:17 +0000 (16:39 +0100)]
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>
5 years agoCreate Dockerfile to create a yardstick-image of docker 43/59743/5
rexlee8776 [Fri, 6 Jul 2018 06:56:11 +0000 (06:56 +0000)]
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>
5 years agoMerge "Add "imagePullPolicy" parameter in Kubernetes container"
Rodolfo Alonso Hernandez [Thu, 19 Jul 2018 09:09:23 +0000 (09:09 +0000)]
Merge "Add "imagePullPolicy" parameter in Kubernetes container"

5 years agoMerge "Kubernetes NodePort must have 'name' if multiple created"
Rodolfo Alonso Hernandez [Thu, 19 Jul 2018 09:09:14 +0000 (09:09 +0000)]
Merge "Kubernetes NodePort must have 'name' if multiple created"

5 years agoAdd "imagePullPolicy" parameter in Kubernetes container 27/59927/2
Rodolfo Alonso Hernandez [Wed, 18 Jul 2018 11:02:58 +0000 (12:02 +0100)]
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>
5 years agoKubernetes NodePort must have 'name' if multiple created 57/59857/3
Rodolfo Alonso Hernandez [Mon, 16 Jul 2018 13:38:26 +0000 (14:38 +0100)]
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>
5 years agoNodePort information returned in context should be a dictionary 49/59849/3
Rodolfo Alonso Hernandez [Mon, 16 Jul 2018 08:35:34 +0000 (09:35 +0100)]
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>
5 years agoMerge "add support of dpdk for bottlenecks_ping"
Jing Lu [Thu, 19 Jul 2018 03:26:15 +0000 (03:26 +0000)]
Merge "add support of dpdk for bottlenecks_ping"

5 years agoadd support of dpdk for bottlenecks_ping 03/59903/3
Yang (Gabriel) Yu [Wed, 18 Jul 2018 03:33:07 +0000 (11:33 +0800)]
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>
5 years agoMerge "Improve VMs spawning for OpenStack"
Rodolfo Alonso Hernandez [Wed, 18 Jul 2018 15:22:33 +0000 (15:22 +0000)]
Merge "Improve VMs spawning for OpenStack"

5 years agoMerge "Fix CGNAPT VNF name in install.yaml"
Rodolfo Alonso Hernandez [Wed, 18 Jul 2018 15:20:52 +0000 (15:20 +0000)]
Merge "Fix CGNAPT VNF name in install.yaml"

5 years agokubernetes_utils: avoid 404 error code in delete_pod() 79/59879/7
Mytnyk, Volodymyr [Tue, 17 Jul 2018 08:42:47 +0000 (09:42 +0100)]
kubernetes_utils: avoid 404 error code in delete_pod()

JIRA: YARDSTICK-1320

Change-Id: I5b762d4732440008630093e1d0952f7e41a8a191
Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
5 years agoFix CGNAPT VNF name in install.yaml 61/59861/1
Mytnyk, Volodymyr [Mon, 16 Jul 2018 15:50:34 +0000 (16:50 +0100)]
Fix CGNAPT VNF name in install.yaml

JIRA: YARDSTICK-1325

Change-Id: Idc56237f3a8435c6636be2a6e7c6b04662d831ee
Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
5 years agoCreate a SampleVNF MQ consumer class 65/59565/10
Rodolfo Alonso Hernandez [Wed, 4 Jul 2018 16:54:05 +0000 (17:54 +0100)]
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>
5 years agoAdd service NodePort information in server description 95/59795/4
Rodolfo Alonso Hernandez [Fri, 13 Jul 2018 10:10:18 +0000 (11:10 +0100)]
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>
5 years agoAdd interface and network information to Kubernetes context 37/59737/4
Rodolfo Alonso Hernandez [Wed, 11 Jul 2018 16:32:44 +0000 (17:32 +0100)]
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>
5 years agoMerge "nsb_setup.sh fails to build DPDK"
Abhijit Sinha [Fri, 13 Jul 2018 09:59:31 +0000 (09:59 +0000)]
Merge "nsb_setup.sh fails to build DPDK"

5 years agoMerge "Cleanup TG IxLoad test cases"
Rodolfo Alonso Hernandez [Fri, 13 Jul 2018 09:36:33 +0000 (09:36 +0000)]
Merge "Cleanup TG IxLoad test cases"

5 years agoMerge "Omit functional tests from coverage report analysis"
Rodolfo Alonso Hernandez [Fri, 13 Jul 2018 09:33:01 +0000 (09:33 +0000)]
Merge "Omit functional tests from coverage report analysis"

5 years agoMerge "Fix "id" retrieval from MQ producer in GenericTrafficGen"
Rodolfo Alonso Hernandez [Fri, 13 Jul 2018 09:32:46 +0000 (09:32 +0000)]
Merge "Fix "id" retrieval from MQ producer in GenericTrafficGen"

5 years agoMerge ""install_dpdk" ansible role fails if DPDK version has revision number"
Rodolfo Alonso Hernandez [Fri, 13 Jul 2018 08:59:26 +0000 (08:59 +0000)]
Merge ""install_dpdk" ansible role fails if DPDK version has revision number"

5 years agonsb_setup.sh fails to build DPDK 05/59705/4
Mytnyk, Volodymyr [Wed, 11 Jul 2018 16:39:46 +0000 (17:39 +0100)]
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>
5 years agoMerge "Make uwsgi app to not demonize"
Rex Lee [Fri, 13 Jul 2018 02:32:02 +0000 (02:32 +0000)]
Merge "Make uwsgi app to not demonize"

5 years agoMerge "Add ACL sample config file"
Rodolfo Alonso Hernandez [Thu, 12 Jul 2018 16:40:46 +0000 (16:40 +0000)]
Merge "Add ACL sample config file"

5 years agoMerge "Improve "get_server" function in Kubernetes context"
Rodolfo Alonso Hernandez [Thu, 12 Jul 2018 16:17:33 +0000 (16:17 +0000)]
Merge "Improve "get_server" function in Kubernetes context"

5 years agoImprove "get_server" function in Kubernetes context 71/59671/3
John O Loughlin [Wed, 11 Jul 2018 10:22:39 +0000 (11:22 +0100)]
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>
5 years ago"install_dpdk" ansible role fails if DPDK version has revision number 95/59695/2
Rodolfo Alonso Hernandez [Wed, 11 Jul 2018 15:33:46 +0000 (16:33 +0100)]
"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>
5 years agoFix "id" retrieval from MQ producer in GenericTrafficGen 65/59765/1
Rodolfo Alonso Hernandez [Thu, 12 Jul 2018 14:06:55 +0000 (15:06 +0100)]
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>
5 years agoMerge "Do not request NFVi metrics from empty nodes"
Rodolfo Alonso Hernandez [Thu, 12 Jul 2018 11:28:04 +0000 (11:28 +0000)]
Merge "Do not request NFVi metrics from empty nodes"

5 years agoMerge "Make context types constants"
Rodolfo Alonso Hernandez [Thu, 12 Jul 2018 10:50:35 +0000 (10:50 +0000)]
Merge "Make context types constants"

5 years agoCleanup TG IxLoad test cases 27/58427/4
Rodolfo Alonso Hernandez [Mon, 11 Jun 2018 14:58:25 +0000 (15:58 +0100)]
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>
5 years agoOmit functional tests from coverage report analysis 41/59741/1
Rodolfo Alonso Hernandez [Thu, 12 Jul 2018 10:25:42 +0000 (11:25 +0100)]
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>
5 years agoMerge "Change "monitor" to "assert" in SLA"
Abhijit Sinha [Thu, 12 Jul 2018 08:10:33 +0000 (08:10 +0000)]
Merge "Change "monitor" to "assert" in SLA"

5 years agoMerge "Revert "vPE Sample VNF is missing in the installation scripts""
Rodolfo Alonso Hernandez [Wed, 11 Jul 2018 15:35:32 +0000 (15:35 +0000)]
Merge "Revert "vPE Sample VNF is missing in the installation scripts""

5 years agoRevert "vPE Sample VNF is missing in the installation scripts" 91/59691/2
Volodymyr Mytnyk [Wed, 11 Jul 2018 14:51:36 +0000 (14:51 +0000)]
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>
5 years agoChange "monitor" to "assert" in SLA 43/59543/3
Dimitrios Markou [Wed, 4 Jul 2018 09:18:47 +0000 (12:18 +0300)]
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>
5 years agoAdd ACL sample config file 63/59663/2
Mytnyk, Volodymyr [Wed, 11 Jul 2018 08:25:26 +0000 (09:25 +0100)]
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>
5 years agoDo not request NFVi metrics from empty nodes 73/59673/1
Rodolfo Alonso Hernandez [Wed, 11 Jul 2018 11:39:51 +0000 (12:39 +0100)]
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>
5 years agoMerge "Add network elements as a dict in Kubernetes context"
Rodolfo Alonso Hernandez [Tue, 10 Jul 2018 17:03:46 +0000 (17:03 +0000)]
Merge "Add network elements as a dict in Kubernetes context"

5 years agoMake uwsgi app to not demonize 29/58929/6
Mytnyk, Volodymyr [Fri, 22 Jun 2018 15:04:14 +0000 (16:04 +0100)]
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>
5 years agoAdd "tolerations" parameter in Kubernetes context 31/58931/4
Rodolfo Alonso Hernandez [Fri, 22 Jun 2018 13:53:22 +0000 (14:53 +0100)]
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>
5 years agoAdd "ports" parameters in Kubernetes context 37/57537/15
John O'Loughlin [Thu, 17 May 2018 15:06:53 +0000 (15:06 +0000)]
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>
5 years agoAdd "restartPolicy" parameter in Kubernetes policy 03/57403/9
John O Loughlin [Tue, 15 May 2018 15:20:33 +0000 (16:20 +0100)]
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>
5 years agoMerge "Add "resources" parameter in Kubernetes context"
Rodolfo Alonso Hernandez [Tue, 10 Jul 2018 09:23:29 +0000 (09:23 +0000)]
Merge "Add "resources" parameter in Kubernetes context"

5 years agoMerge "Add send socket commands function"
Rodolfo Alonso Hernandez [Tue, 10 Jul 2018 07:48:43 +0000 (07:48 +0000)]
Merge "Add send socket commands function"

5 years agoFix IXIA IxNetwork IMIX configuration 13/59613/1
Rodolfo Alonso Hernandez [Mon, 9 Jul 2018 11:06:55 +0000 (12:06 +0100)]
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>
5 years agoMerge changes from topics 'YARDSTICK-1286', 'YARDSTICK-1127'
Rodolfo Alonso Hernandez [Mon, 9 Jul 2018 07:07:57 +0000 (07:07 +0000)]
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

5 years agoAdd network elements as a dict in Kubernetes context 81/59581/1
Rodolfo Alonso Hernandez [Fri, 6 Jul 2018 11:13:48 +0000 (12:13 +0100)]
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>
5 years agoAdd "resources" parameter in Kubernetes context 93/57393/4
John O Loughlin [Tue, 15 May 2018 10:43:05 +0000 (11:43 +0100)]
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>
5 years agoAdd "env" parameter in Kubernetes context 47/57347/5
John O Loughlin [Fri, 11 May 2018 17:09:54 +0000 (18:09 +0100)]
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>
5 years agoMerge "Create user defined "NodePort" services per pod"
Rodolfo Alonso Hernandez [Fri, 6 Jul 2018 09:00:54 +0000 (09:00 +0000)]
Merge "Create user defined "NodePort" services per pod"

5 years agoMerge "Change "KubernetesObject" class name to "ReplicationController""
Rodolfo Alonso Hernandez [Fri, 6 Jul 2018 09:00:42 +0000 (09:00 +0000)]
Merge "Change "KubernetesObject" class name to "ReplicationController""

5 years agoMerge "Specify the networks to be used per pod"
Rodolfo Alonso Hernandez [Fri, 6 Jul 2018 09:00:32 +0000 (09:00 +0000)]
Merge "Specify the networks to be used per pod"

5 years agoMerge "Add new Kubernetes resource kind: "Network""
Rodolfo Alonso Hernandez [Fri, 6 Jul 2018 09:00:20 +0000 (09:00 +0000)]
Merge "Add new Kubernetes resource kind: "Network""

5 years agoMerge "Add new Kubernetes resource kind: "CustomResourceDefinition""
Rodolfo Alonso Hernandez [Fri, 6 Jul 2018 09:00:09 +0000 (09:00 +0000)]
Merge "Add new Kubernetes resource kind: "CustomResourceDefinition""

5 years agoMerge "Add "securityContext" parameter in Kubernetes context"
Rodolfo Alonso Hernandez [Fri, 6 Jul 2018 09:00:03 +0000 (09:00 +0000)]
Merge "Add "securityContext" parameter in Kubernetes context"

5 years agoMerge "[Bug fix] Execute teardown if SLA is set to "assert""
Rex Lee [Fri, 6 Jul 2018 06:45:01 +0000 (06:45 +0000)]
Merge "[Bug fix] Execute teardown if SLA is set to "assert""

5 years ago[Bug fix] Execute teardown if SLA is set to "assert" 41/59541/2
Dimitrios Markou [Wed, 4 Jul 2018 08:49:54 +0000 (11:49 +0300)]
[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>
5 years agoMerge "Remove TRex installer from ansible directory"
Rodolfo Alonso Hernandez [Thu, 5 Jul 2018 12:55:16 +0000 (12:55 +0000)]
Merge "Remove TRex installer from ansible directory"

5 years agoMake context types constants 59/59559/2
Rodolfo Alonso Hernandez [Thu, 5 Jul 2018 08:14:33 +0000 (09:14 +0100)]
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>
5 years agoMerge "Fix vCGNAPT name in ansible constants"
Rodolfo Alonso Hernandez [Thu, 5 Jul 2018 08:00:29 +0000 (08:00 +0000)]
Merge "Fix vCGNAPT name in ansible constants"

5 years agoMerge "vPE Sample VNF is missing in the installation scripts"
Rodolfo Alonso Hernandez [Thu, 5 Jul 2018 08:00:24 +0000 (08:00 +0000)]
Merge "vPE Sample VNF is missing in the installation scripts"

5 years agoMerge "Move "read_yaml_file" to common.yaml_loader"
Rodolfo Alonso Hernandez [Thu, 5 Jul 2018 08:00:09 +0000 (08:00 +0000)]
Merge "Move "read_yaml_file" to common.yaml_loader"

5 years agoMake "IterationIPC" MQ producer for VNF control messages 89/59489/6
Rodolfo Alonso Hernandez [Tue, 3 Jul 2018 08:14:35 +0000 (09:14 +0100)]
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>
5 years agoMerge "Cleanup TestProxSocketHelper unit tests"
Rodolfo Alonso Hernandez [Thu, 5 Jul 2018 07:54:25 +0000 (07:54 +0000)]
Merge "Cleanup TestProxSocketHelper unit tests"

5 years agoMerge "Cleanup OvsDpdkContextTestCase unit tests"
Rodolfo Alonso Hernandez [Thu, 5 Jul 2018 07:54:12 +0000 (07:54 +0000)]
Merge "Cleanup OvsDpdkContextTestCase unit tests"

5 years agoRemove TRex installer from ansible directory 71/58871/2
Rodolfo Alonso Hernandez [Thu, 21 Jun 2018 14:36:16 +0000 (15:36 +0100)]
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>
5 years agoMerge "Cleanup ScenarioGeneral unit tests"
Rodolfo Alonso Hernandez [Thu, 5 Jul 2018 07:52:53 +0000 (07:52 +0000)]
Merge "Cleanup ScenarioGeneral unit tests"

5 years agoEnable traffic generator PID in "NSPerf" scenario setup 35/56335/32
Rodolfo Alonso Hernandez [Tue, 24 Apr 2018 09:35:50 +0000 (10:35 +0100)]
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>
5 years agoEnable the MQ producer in "SampleVNFTrafficGen" class 81/56281/23
Rodolfo Alonso Hernandez [Mon, 23 Apr 2018 16:06:25 +0000 (17:06 +0100)]
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>
5 years agoAdd "TrafficGeneratorProducer" for "GenericTrafficGen" instances 21/56221/25
Rodolfo Alonso Hernandez [Sun, 22 Apr 2018 18:52:49 +0000 (19:52 +0100)]
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>
5 years agoAdd "IterationIPC" runner 19/56219/28
Rodolfo Alonso Hernandez [Fri, 20 Apr 2018 10:34:41 +0000 (11:34 +0100)]
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>
5 years agoMerge "Bump requirements to match OpenStack Queens release upper requirements"
Rex Lee [Thu, 5 Jul 2018 07:37:43 +0000 (07:37 +0000)]
Merge "Bump requirements to match OpenStack Queens release upper requirements"

5 years agoCleanup ActionTestCase unit tests 99/59499/5
Rodolfo Alonso Hernandez [Tue, 3 Jul 2018 16:05:38 +0000 (17:05 +0100)]
Cleanup ActionTestCase unit tests

Removed unneeded output and applied the correct mocks.

JIRA: YARDSTICK-1290

Change-Id: Ib8dbf582d81f7de0fadce7ddb215360abb2d16a4
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
5 years agoMerge "DPDK site change"
Abhijit Sinha [Wed, 4 Jul 2018 15:05:27 +0000 (15:05 +0000)]
Merge "DPDK site change"

5 years agoMerge "Fix up formatting on devguide"
Rodolfo Alonso Hernandez [Wed, 4 Jul 2018 10:24:38 +0000 (10:24 +0000)]
Merge "Fix up formatting on devguide"

5 years agoBump requirements to match OpenStack Queens release upper requirements 79/59479/3
rexlee8776 [Tue, 3 Jul 2018 02:16:21 +0000 (02:16 +0000)]
Bump requirements to match OpenStack Queens release upper requirements

tox -e os-requiremnts results:
Validating requirements file "requirements.txt"
Package "oslo.config" version 4.11.1 outdated, minimum version 5.1.0
Package "keystoneauth1" version 3.1.0 outdated, minimum version 3.3.0
Package "python-cinderclient" version 3.1.0 outdated, minimum version 3.3.0
Package "requests" version 2.11.1 outdated, minimum version 2.14.2
Package "osc-lib" version 1.7.0 outdated, minimum version 1.8.0
Package "oslo.utils" version 3.28.0 outdated, minimum version 3.33.0
Package "oslo.privsep" version 1.22.1 outdated, minimum version 1.23.0
Incompatible requirement found!

JIRA: YARDSTICK-1283

Change-Id: I362c1e2b5c61abf09810ce2a2fe6bab39097d017
Signed-off-by: rexlee8776 <limingjiang@huawei.com>
5 years agoMerge "IXIA IxNetwork TP first rate is not populated"
Rodolfo Alonso Hernandez [Wed, 4 Jul 2018 09:13:31 +0000 (09:13 +0000)]
Merge "IXIA IxNetwork TP first rate is not populated"

5 years agoMerge "Sample VNF version need to be updated to Fraser"
Rodolfo Alonso Hernandez [Wed, 4 Jul 2018 06:58:58 +0000 (06:58 +0000)]
Merge "Sample VNF version need to be updated to Fraser"

5 years agoMerge changes from topics 'YARDSTICK-1250', 'YARDSTICK-1249'
Rodolfo Alonso Hernandez [Tue, 3 Jul 2018 16:33:17 +0000 (16:33 +0000)]
Merge changes from topics 'YARDSTICK-1250', 'YARDSTICK-1249'

* changes:
  Fix pip install issues in install.yaml script
  Bump ansible version to 2.5.5

5 years agoIXIA IxNetwork TP first rate is not populated 95/59495/2
Rodolfo Alonso Hernandez [Tue, 3 Jul 2018 14:47:42 +0000 (15:47 +0100)]
IXIA IxNetwork TP first rate is not populated

IXIA IxNetwork traffic profile defines an initial injection frame rate
for RFC2544 test cases:
  schema: "isb:traffic_profile:0.1"
  traffic_profile:
    frame_rate : 20000

This value should be assigned to IXIARFC2544Profile.rate before the
initial injection period.

JIRA: YARDSTICK-1288

Change-Id: I29a334c7dbb863f680e45a1d3ab880aaf1fe166d
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
5 years agoMerge "Cleanup Iperf3 unit tests"
Rodolfo Alonso Hernandez [Tue, 3 Jul 2018 16:32:19 +0000 (16:32 +0000)]
Merge "Cleanup Iperf3 unit tests"

5 years agoMerge "Cleanup Plugin unit tests"
Rodolfo Alonso Hernandez [Tue, 3 Jul 2018 16:32:14 +0000 (16:32 +0000)]
Merge "Cleanup Plugin unit tests"

5 years agoMerge "Cleanup NodeContextTestCase unit tests"
Rodolfo Alonso Hernandez [Tue, 3 Jul 2018 16:32:09 +0000 (16:32 +0000)]
Merge "Cleanup NodeContextTestCase unit tests"

5 years agoMerge "Cleanup vPE VNF unit tests"
Rodolfo Alonso Hernandez [Tue, 3 Jul 2018 16:24:36 +0000 (16:24 +0000)]
Merge "Cleanup vPE VNF unit tests"

5 years agoMerge "Cleanup TestIxLoadTrafficGen unit tests"
Rodolfo Alonso Hernandez [Tue, 3 Jul 2018 16:24:29 +0000 (16:24 +0000)]
Merge "Cleanup TestIxLoadTrafficGen unit tests"

5 years agoMerge "Cleanup GetDataDbClientTestCase unit tests"
Rodolfo Alonso Hernandez [Tue, 3 Jul 2018 16:24:24 +0000 (16:24 +0000)]
Merge "Cleanup GetDataDbClientTestCase unit tests"

5 years agoMerge "Cleanup VsperfDPDKTestCase unit tests"
Rodolfo Alonso Hernandez [Tue, 3 Jul 2018 16:24:20 +0000 (16:24 +0000)]
Merge "Cleanup VsperfDPDKTestCase unit tests"

5 years agoSample VNF version need to be updated to Fraser 97/59497/1
Rodolfo Alonso Hernandez [Tue, 3 Jul 2018 14:54:25 +0000 (15:54 +0100)]
Sample VNF version need to be updated to Fraser

JIRA: YARDSTICK-1289

Change-Id: Ib150fafdfcc7a7aa09e4ed9c683fc3013676dac4
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
5 years agoCleanup TestProxSocketHelper unit tests 33/59433/1
Rodolfo Alonso Hernandez [Mon, 2 Jul 2018 12:55:25 +0000 (13:55 +0100)]
Cleanup TestProxSocketHelper unit tests

Removed unneeded output.

JIRA: YARDSTICK-1284

Change-Id: I41d9b8d2df417fa19b0a6f8c13bc9837dc3dde95
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
5 years agoMerge "Cleanup TestProxBinSearchProfile unit tests"
Rodolfo Alonso Hernandez [Mon, 2 Jul 2018 10:01:25 +0000 (10:01 +0000)]
Merge "Cleanup TestProxBinSearchProfile unit tests"

5 years agoMerge "Cleanup ProxDuration unit tests"
Rodolfo Alonso Hernandez [Mon, 2 Jul 2018 10:00:51 +0000 (10:00 +0000)]
Merge "Cleanup ProxDuration unit tests"

5 years agoMerge "Yardstick Fraser Release notes - 6.2.1"
Rex Lee [Sun, 1 Jul 2018 19:13:57 +0000 (19:13 +0000)]
Merge "Yardstick Fraser Release notes - 6.2.1"

5 years agoYardstick Fraser Release notes - 6.2.1 11/59411/2
rexlee8776 [Sat, 30 Jun 2018 07:37:08 +0000 (07:37 +0000)]
Yardstick Fraser Release notes - 6.2.1

JIRA: YARDSTICK-1278

Change-Id: I96d54b06f0ef794c9c0ec26d78eb54ebcc6462ed
Signed-off-by: rexlee8776 <limingjiang@huawei.com>
5 years agoMerge "Bugfix: ansible install.yaml missing configure_gui step"
Rex Lee [Sun, 1 Jul 2018 04:33:46 +0000 (04:33 +0000)]
Merge "Bugfix: ansible install.yaml missing configure_gui step"

5 years agoBugfix: ansible install.yaml missing configure_gui step 99/59399/1
rexlee8776 [Sun, 1 Jul 2018 04:07:35 +0000 (04:07 +0000)]
Bugfix: ansible install.yaml missing configure_gui step

JIRA: YARDSTICK-1279

Change-Id: I7df97479e2e17495668ef4982de4aec13d04c25c
Signed-off-by: rexlee8776 <limingjiang@huawei.com>