Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
|
|
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>
|
|
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>
|
|
"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>
|
|
|
|
|
|
Refactor SSH handling and library mocks.
JIRA: YARDSTICK-1236
Change-Id: I591601f8ea8bf4bbd5c43300ff29d7930af5c3c6
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
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>
|
|
|
|
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
|
|
|
|
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>
|
|
* 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
|
|
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>
|
|
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>
|
|
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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>
|
|
|
|
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>
|
|
|
|
|
|
|
|
"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>
|
|
|
|
|
|
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>
|
|
|
|
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>
|
|
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>
|
|
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>
|
|
"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>
|