Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
This change adds two optional flags to the context configuration for heat:
* no_setup -- to re-use an existing OpenStack deployment
* no_teardown -- to skip undeploying the context, so it is available in other testcases
In order to achieve this, resource naming had to be made more predictable.
When no_setup or no_teardown are set:
* Do not add a suffix to context name
* When searching, try with and without a suffix to find a server by name
All behaviors remain the same unless these values are set.
NOTE:
This feature doesn't work with the NSPerf scenario, because the
interfaces in the VNFs are bound to DPDK after the first test, so the
look-up for missing topology information fails in subsequent test
runs, as the interfaces are not visable to the kernel.
This can be addressed either by either unbinding the interfaces from
DPDK at the end of each test, or modifying the look-up for the missing
topology information to query DPDK as well.
The change will be made in a future patch.
JIRA: YARDSTICK-886
Change-Id: I6df5e86e419c283a2bee41917e4f62179aa9c31a
Signed-off-by: Emma Foley <emma.l.foley@intel.com>
|
|
If no devices are present we can't detect MAC address so
we can't match Heat ports to interfaces.
If only the driver is missing we can try to probe the driver using
lspci. We can use lspci to ask the kernel what driver it should use
for the PCI device.
If we can't probe at all because the device is already bound, we can
use dpkd-devind to find all the PCI address we care about and create a
map with PCI device and real kernel driver.
Then we can dpdk force rebind to the kernel driver.
Once we have rebound to the kernel driver we can detect
MAC address and all the other attributes that are required.
Fix VnfSshHelper to allow override of wait timeout
And a bunch of other refactors that got swept up in this
JIRA: YARDSTICK-835
Change-Id: I14cb657ed289a77941d048345d06ced5b5d5da52
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
|
|
|
|
* changes:
Add _create_new_stack method
Update TaskParser to deal with qualified name in Context
Add qualified name to Context
|
|
|
|
|
|
|
|
* Add yardstick/orchestrator/heat.py:HeatStack.get
* Add yardstick/benchmark/contexts/heay.py:HeatContext.retrieve_existing_stack
JIRA: YARDSTICK-886
Change-Id: I6974b79a25f98066a49b1bc8ccd11383e7962091
Signed-off-by: Emma Foley <emma.l.foley@intel.com>
|
|
context.key_uuid is only used as a suffix for the key files.
There is already a unique ID associated with a the context;
the context name includes a task ID, which is a UUID.
This patch sets context.key_uuid to to context.name instead of
generating a separate UUID
As a result, get_short_key_uuid() is not needed.
JIRA: YARDSTICK-1028
Change-Id: Id175061d6cfe23a068bb3d12ce176c1f176e8236
Signed-off-by: Emma Foley <emma.l.foley@intel.com>
|
|
The logic for creating a new stack in contexts/heat.py:HeatContext
can added to a method to make the code eassier to read and test.
This is in preparation for an update to deploy() that would allow
an existing stack to be reused, or a new stack created.
By having the create_new_stack logic in a new method, deploy()
becomes easier to read and test.
JIRA: YARDSTICK-886
Change-Id: I7af01e2209a3460658f8db0249b7c620743cced0
Signed-off-by: Emma Foley <emma.l.foley@intel.com>
|
|
The context name depends on the defined name in the testcase input
file, the task ID and the flags of the context.
If the context is going to be undeployed at the end of the test, the
task ID is suffixed to the name to avoid interferences with previous
deployments. If the context needs to be deployed at the end of the
test, the name assigned is kept.
This patch makes this process transparent to the developer.
This patch modifies how TaskParser determines the correct context name,
taking into account that the name might change based on context flags.
JIRA: YARDSTICK-886
Change-Id: I44da30dac562c1a4166e084645ae91c17798651d
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
Signed-off-by: Emma Foley <emma.l.foley@intel.com>
|
|
Added topology and traffic profile templates
Added support for using JinJa2 templates in topology definition
Added support for static pipeline configs for SampleVNFs
JIRA: YARDSTICK-1043
Change-Id: Iab99fd5b5ad69ca32ee70b9fe47779387ad27e7f
Signed-off-by: Chornyi, TarasX <tarasx.chornyi@intel.com>
Signed-off-by: Mytnyk, Volodymyr <volodymyrx.mytnyk@intel.com>
|
|
|
|
The context name depends on the defined name in the testcase input
file, the task ID and the flags of the context.
If the context is going to be undeployed at the end of the test, the
task ID is suffixed to the name to avoid interferences with previous
deployments. If the context needs to be deployed at the end of the
test, the name assigned is kept.
This patch makes base.Context use Flags when initialising contexts,
this sets the name property based on the no_setup and no_teardown
flags.
Since base.Context is an abstract class, it cannot be instantiated.
However, there are some non-abstract methods that need testing.
Since DummyContext does not override any of these methods, it can be used for
testing.
JIRA: YARDSTICK-886
Change-Id: I1447fb5ed447691eaeb0a97f928c0b3333799d07
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
Signed-off-by: Emma Foley <emma.l.foley@intel.com>
|
|
In order to render configurable traffic profiles in NSB test cases,
a new variable is introduced: "extra_arg". The content of
this variable is added to the VNFD render data, under a key called
"extra_args".
This will allow the user to define Jinja templates for traffic profiles.
E.g.:
$ cat test_case_definition.yml
scenarios:
- type: NSPerf
traffic_profile: traffic_profile.yml
extra_args:
vports: 10
$ cat traffic_profile.yml
{% set vports = get(extra_args, 'vports', '0') or 4 %}
{% for vport in range(vports|int) %}
uplink_{{vport}}:
data...
{% endfor %}
JIRA: YARDSTICK-946
Change-Id: Ib3c1f2d89efa012772edf2156e97d5f4742a6b80
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
"traffic_profile" modules should be imported only once. Every time
TrafficProfile.get is called, the modules under
"yardstick.network_services.traffic_profiles" are loaded [1]. Instead
of this, the modules should be registered only once the first time
"yardstick.network_services.traffic_profiles.base" is loaded. This
will reduce the execution time and will avoid unnecessary calls.
[1] https://github.com/opnfv/yardstick/blob/d2c7cc4e9768ed003257a95c92cdb278d516761b/yardstick/network_services/traffic_profile/base.py#L36-L37
JIRA: YARDSTICK-951
Change-Id: Ia3565378ba3a1377fcb0aea8bda50ef8189414fd
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
adding missing scenario for Apex.
https://gerrit.opnfv.org/gerrit/#/c/50045/
JIRA: YARDSTICK-998
Change-Id: I211f567587a4864b403ce321fea007a3c0963136
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
current timeout is 10 seconds, it would fail if grafana
server start slow in some cases.
JIRA: YARDSTICK-972
Change-Id: I783206fdd1352e94ba7e498283f70b5a6834b6fa
Signed-off-by: rexlee8776 <limingjiang@huawei.com>
|
|
|
|
Make it more clear that traffic_profile is not a generic class.
Eventually we can refactor a more generic traffic profile.
Change-Id: I1bf44a8cafcdeb8d74efb9e85a34f6d7b526d036
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
|
|
|
|
|
|
TRex Python libraries are not going to be available during
unit testing execution. Those modules calling TRex libraries
should be mocked individually. This patch will remove the need
of mocking those libraries per module.
JIRA: YARDSTICK-1010
Change-Id: I4aa11d43ecf32a3dad78f869541b4afea4ec1d28
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
|
|
|
|
JIRA: YARDSTICK-1036
This stores a number of extra counters in influxdb for Prox test cases.
It also stores existing counters with a "succcess_" tag.
Previously throughput where stored without success or failure indication.
Also "Result_" counters are also stored.
These can now be used by Grafana to graph output.
Change-Id: Ie5636c14ecbab1b53a988bdfbd47ddd1fcdbd695
Signed-off-by: Daniel Martin Buckley <daniel.m.buckley@intel.com>
|
|
OS_TENANT_NAME was deprecated as authentication variable in Keystone
when moved from v2 to v3, in Icehouse (2014). Because this project doesn't
support oldest versions, by default the only identification API version
supported is v3.
JIRA: YARDSTICK-902
Change-Id: I273fb0151ba583f7c8a5a809e5e8864e92c27d31
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
|
|
This patch adds a Flags class to represent the flags passed to
the context.
Flags will contain a set of attributes (for example no_setup and no_teardown).
Those attributes will modify the behaviour of the context.
The attributes added initially are:
* 'no_setup' (default: False)
* 'no_teardown' (default: False)
In future patches, they will be used by the context to:
* Change the name of the context.
* Skip the deploy() and undeploy() methods to keep the VNFs active after the
testcases are run.
JIRA: YARDSTICK-886
Change-Id: I734b082aa101649eea8991304a8b753ae96aa9de
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
Signed-off-by: Emma Foley <emma.l.foley@intel.com>
|
|
JIRA: YARDSTICK-1033
Change-Id: Ia0f745b1a21845afc5c3b3ec58d7a79da56d6a6c
Signed-off-by: rexlee8776 <limingjiang@huawei.com>
|
|
|
|
|
|
JIRA: YARDSTICK-840
This provides a developer guide to enable the reader to add NSB
PROX tests based on existing PROX functionality.
This allows the user to configure, run and debug NSB Prox tests
for Baremetal and Openstack (both 2 and 4 ports)
Change-Id: I2cb9eb6064e501dd9abe0d2cc4ed8ce4b369f174
Signed-off-by: Daniel Martin Buckley <daniel.m.buckley@intel.com>
|
|
JIRA: YARDSTICK-1034
Change-Id: I613b8bff669fceeb0c7c59dec2b6f1ab22b09247
Signed-off-by: mting <dianfeng.du@ericsson.com>
|
|
|
|
JIRA: BOTTLENECK-217
This patch is used to find storage bottlenecks while using
yardstick for multistack.
Shubham is busy for his exam,
I can't change his patch, so I need to resubmit a patch.
Change-Id: Ibf8ec3ae7f19b27254eedabb1b95bd89a0993ed7
Signed-off-by: Ace Lee <liyin11@huawei.com>
|
|
JIRA: YARDSTICK-1030
Change-Id: I5d9e135449b2d35f051ecf5fa63a1ce11030de4a
Signed-off-by: rexlee8776 <limingjiang@huawei.com>
|
|
|
|
If a heat_template was used by a testcase the heat_timeout
variable was not getting initialized and that caused errors
in the Shade python module.
JIRA: YARDSTICK-1027
Change-Id: Ic0bf15b13cc00595964a97f8150dc5e6f2b7e1d7
Signed-off-by: Dimitrios Markou <mardim@intracom-telecom.com>
|
|
JIRA: YARDSTICK-989
We used to have real-time influxdb reporting of test KPIs. The user
could monitor using grafana and see the real-time output.
The record format was changed to now only report KPIs at the end of the
test.
This is a problem for test cases which run for a long duration, we need
to wait until the end of the test execution to get any results from
influxdb. If the test fails in between or doesn't exit cleanly for some
reason, we are left with no results stored in influxdb which gives the
user no information.
This is also a regression from the previous behaviour.
Change-Id: I0f476dff9162a359f0286fb421f2e9c4befaa5cc
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
|
|
JIRA: YARDSTICK-1024
This work adds the 'ANSIBLE_ROLES_PATH' as one of the Ansible environment variables.
This 'ANSIBLE_ROLES_PATH' is set to the roles directory in Yardstick repo.
By adding this variable, Ansible will first searches the local project for a role, then searches the roles_path.
It will let the users of the plugin projects to able to use a relative role path for any of their own roles in ansible playbook.
Change-Id: I0926ab0c0fa5c6cc37c4fe560db5b2aec3fe6eb1
Signed-off-by: JingLu5 <lvjing5@huawei.com>
|
|
|
|
|
|
|
|
|
|
|
|
This change makes files pep8 compliant before adding the
reuse context feature
JIRA: YARDSTICK-886
Change-Id: Iae7daaa159a9ddbb5809a9a7ac74f8a53683089a
Signed-off-by: Emma Foley <emma.l.foley@intel.com>
|