Age | Commit message (Collapse) | Author | Files | Lines |
|
JIRA: YARDSTICK-1072
We need to show SUT information in GUI.
Change-Id: I40bcd513f3c6a443c82764687637ac5258b99584
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
|
|
|
|
Function delete_neutron_router now uses shade client instead of neutron
client.
JIRA: YARDSTICK-890
Change-Id: I5b557b640396f343b85b5f5eff415384decc083c
Signed-off-by: Shobhi Jain <shobhi.jain@intel.com>
|
|
Function 'create_neutron_subnet' now uses shade client
instead of neutron client.
JIRA: YARDSTICK-890
Change-Id: I8eb5295cecd73742bfb5a7d0764af6f45ef0685e
Signed-off-by: Shobhi Jain <shobhi.jain@intel.com>
|
|
Function create_neutron_net now uses shade client instead of neutron
client.
JIRA: YARDSTICK-890
Change-Id: I456078e98550901c1f736640c9f9bd0d5f9c3df6
Signed-off-by: Shobhi Jain <shobhi.jain@intel.com>
|
|
JIRA: YARDSTICK-1063
We have the demand to get SUT information.
In this patch, we use ansible to get the SUT information.
Change-Id: I983675d6d367fa528f00c1b50bc6fa2a9cee03f7
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
|
|
|
|
There is a missing "s" in HeatTemplateError message [1].
[1]https://github.com/opnfv/yardstick/blob/8400c1895c49cb0c7802692f75d820fb5b8b7dc4/yardstick/common/exceptions.py#L70
JIRA: YARDSTICK-1047
Change-Id: Ieb6fbf0af35d624015dbf34f34de7c7cc9145dd5
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
|
|
|
|
This new option provides to the user the ability to output the rendered
input files. This option could be useful in case the input files are
Jinja2 templates, depending on input arguments. The user can preview
the rendered input tasks files without executing them.
JIRA: YARDSTICK-1020
Change-Id: Ib15ade7e1adcb29beae5e635fb5d02045c4432bb
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@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
|
|
|
|
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>
|
|
|
|
"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>
|
|
|
|
|
|
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>
|
|
JIRA: YARDSTICK-970
Change-Id: I593af4b3a30e52521e3d77fd84bec16ab4733483
Signed-off-by: rexlee8776 <limingjiang@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>
|
|
|
|
|
|
Function delete_neutron_net now uses shade client instead of neutron
client.
JIRA: YARDSTICK-890
Change-Id: I99b6f3ecd37d6e3b783f7eb3da9f971398fc3bdd
Signed-off-by: Shobhi Jain <shobhi.jain@intel.com>
|
|
IP address format introduced in [1] should be unicode instead of string.
"ipaddress.IPv4Address(min_value)" doesn't parse correctly the input
parameter unless the parameter is in unicode format; this is valid both
for Python version 2 and 3.
Execution error if the parameter is a string:
>>> int(ipaddress.IPv4Address('10.0.3.2'))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/ipaddress.py",
line 1391, in __init__
self._check_packed_address(address, 4)
File "/usr/local/lib/python2.7/dist-packages/ipaddress.py",
line 554, in _check_packed_address
expected_len, self._version))
ipaddress.AddressValueError: '10.0.3.2' (len 8 != 4) is not permitted
as an IPv4 address. Did you pass in a bytes (str in Python 2) instead
of a unic
[1]https://github.com/opnfv/yardstick/blob/e5775e7efbc55f116b4d4ac11ff87b8d8553247e/yardstick/network_services/traffic_profile/traffic_profile.py#L87-L88
JIRA: YARDSTICK-996
Change-Id: Ic727a79044834b181c99789f0f5efc21c68f0ff2
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
|
|
Some modules can't be imported and used in Yardstick. For example,
"ansible" has GPLv3 license and can't be used as a library in this
project without modifying Yardstick license.
JIRA: YARDSTICK-896
Change-Id: I9d6bec0493ac50f1051235cc77e81059dfc3e01c
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
IOError and OSError are the same in Python 3?
Anyway we want to ignore ENOENT, not EEXIST
JIRA: YARDSTICK-1012
Change-Id: Ia75e41fecce505685745e0099669e45f3e82a1be
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
Both "uio" and "igb_uio" drivers are present in the VM image generated
using "./nsb_setup.sh" script. "igb_uio" driver is compiled along with
the DPDK library compilation.
Tool "nsb_setup.sh" provisioning and execution should be removed from
this function because there is not needed anymore.
In case "igb_uio" driver is not loaded, an exception should be raised.
JIRA: YARDSTICK-999
Change-Id: I89174f84ac36d8231587402c96751746cb18e290
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
This new module provides methods to manage Python PIP packages from
a URL, from a local directory or from a build PIP package.
The implemented commands are:
- Install package.
- Remove package.
- List all installed packages in the system.
JIRA: YARDSTICK-910
Change-Id: I8f7d1b77c0c384b801cc6f5e67d8b45ce7c6bfdf
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
Function get_network_id now uses shade client instead of shade client.
Removed redundant function: get_port_id.
JIRA: YARDSTICK-890
Change-Id: I6081477fee39fa78131187e65daf3d7d3a9e439f
Signed-off-by: Shobhi Jain <shobhi.jain@intel.com>
|
|
Replaced "python-heatclient" with "shade" client. The "python-heatclient"
library is removed from requirements file. "shade" client version 1.22.2
is the required one for OpenStack Pike release.
shade is the recommended client to interact with OpenStack clouds [1]
[1] https://github.com/openstack-infra/shade
JIRA: YARDSTICK-880
Change-Id: Ibbdfc42a543d2d9ed4cf70d78de3de8cbecd0076
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
The goal of this function is to:
- Read the default hugepage size.
- Set 16GB of hugepages.
- Check if the status of the last action.
According to [1], the default hugepage size could be read in
"/proc/meminfo", always in kB. Then "/proc/sys/vm/nr_hugepages"
could be used to set the number of default hugepages.
[1] https://www.kernel.org/doc/Documentation/vm/hugetlbpage.txt
JIRA: YARDSTICK-997
Change-Id: I762d1b16294ba1c1c2feee56610819ac358c7410
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
The current implementation of dynamic library importation is prone
to failure [1]:
- "sys.modules" is modified manually, which is something not
recommended [2].
- When a module is imported is added to "sys.modules"; that means
there is no need to manually create an entry in this object.
- "importlib" library is part of the standard library and is now
available in PY3 and PY2 (backported). This library contains a
function called "import_module" to import a module in runtime.
[1]https://github.com/opnfv/yardstick/blob/d2c7cc4e9768ed003257a95c92cdb278d516761b/yardstick/common/utils.py#L72-L93
[2]http://justus.science/blog/2015/04/19/sys.modules-is-dangerous.html
JIRA: YARDSTICK-949
Change-Id: Ide3b74f98858d06fa275fb6c9b78ceeaa64feed5
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
GenericVNF class is now an abstract class. Only optional methods are
implemented. Mandatory methods:
- instantiate
- wait_for_instantiate
- terminate
- scale
- collect_kpi.
JIRA: YARDSTICK-866
Change-Id: Ia8766f9f98816e11894d1e72b0f3bd573d091d99
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
"check_output" is a blocking wrapper for "Popen" which returns the output
of the command execution or raises an exception in case of error.
"Popen" is a non-blocking function that allows to create asynchronous
tasks. It returns any possible execution error but doesn't raise an
exception; this is delegated to the developer.
This code is used in the Yardstick CLI base test class.
Change-Id: Ie3e1228b2d40cb306354447653678bf581bc9697
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
|
|
by default ConfigParser will lowercase everything,
unless you override optionxform.
also sort key value in inventory line for consistency
https://docs.python.org/3/library/configparser.html#configparser.ConfigParser.optionxform
Transforms the option name option as found in an input file or as passed in by
client code to the form that should be used in the internal structures. The
default implementation returns a lower-case version of option; subclasses may
override this or client code can set an attribute of this name on instances to
affect this behavior.
You don’t need to subclass the parser to use this method, you can also set it
on an instance, to a function that takes a string argument and returns a
string. Setting it to str, for example, would make option names case sensitive:
cfgparser = ConfigParser()
cfgparser.optionxform = str
Note that when reading configuration files, whitespace around the option names
is stripped before optionxform() is called.
YARDSTICK-833
Change-Id: Ia1810b0c77922d84e11c9e538540b38816338593
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
Change-Id: I7248d97a55974091daf20f0fba4b612101a0e4c5
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
|
|
The PROX tests were hanging in the duration
runner.
These are fixes for various errors:
raise error in collect_kpi if VNF is down
move prox dpdk_rebind after collectd stop
fix dpdk nicbind rebind to group by drivers
prox: raise error in collect_kpi if the VNF is down
prox: add VNF_TYPE for consistency
sample_vnf: debug and fix kill_vnf
pkill is not matching some executable names,
add some debug process dumps and try switching
back to killall until we can find the issue
sample_vnf: add default timeout, so we can override
default 3600 SSH timeout
collect_kpi is the point at which we check
the VNFs and TGs for failures or exits
queues are the problem make sure we aren't silently blocking on
non-empty queues by canceling join thread in subprocess
fixup duration runner to close queues
and other attempt to stop duration runner
from hanging
VnfdHelper: memoize port_num
resource: fail if ssh can't connect
at the end of 3600 second test our ssh connection
is dead, so we can't actually stop collectd
unless we reconnect
fix stop() logic to ignore ssh errors
Change-Id: I6c8e682a80cb9d00362e2fef4a46df080f304e55
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
https://jira.opnfv.org/browse/YARDSTICK-773?filter=-3
Remove dependency of yardstick on utils methods
Change-Id: Iadf502364a7f08c279a8f0d17d7e45e8047f4066
Signed-off-by: Edward MacGillivray <edward.s.macgillivray@intel.com>
|
|
JIRA: YARDSTICK-803
Currently kubernetes test case can only run in master node.
We need to support it run in jump server.
So I add service and use nodePort type.
Then we can login the pod using nodePort.
Change-Id: Ia7900d263f1c5323f132435addec27ad10547ef9
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
|
|
We seen cases where grafana container bring-up code would fail,
because of too quick access to the http api. Added 10sec timeout
for the first query of the API.
Change-Id: Ifc95a626d0ab5552a1f26fb167fc3f65791392d7
Signed-off-by: Maciej Skrocki <maciej.skrocki@intel.com>
|
|
|
|
|
|
bad modules can also throw SyntaxError besides ImportError
Change-Id: I4fa912505753cba3c06f127105354572b7f5ddd8
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
|
|
|