Age | Commit message (Collapse) | Author | Files | Lines |
|
uwsgi will call the 'callable' function which should normally be
Flask.__call__().
But we need to init the db first, so make a wrapper function that inits
the db and then calls app()
Also refactor add_resource into for loop instead of reduce. reduce is
not really approriate here since we aren't consuming the return value
JIRA: YARDSTICK-543
Change-Id: I692d6d42de09f7d6ecf1a67a22e3019d97a4f3ca
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
don't use .format() with logging, use regular %s logginer formatter
Change-Id: I1ce0d81cc3f81c35003ef453e82c57faeb46c49f
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
use literal forms when possible
Change-Id: I2d815f40007aa2259f3f3bcb2b9cd84a11027422
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
experiment_1.yaml.json are in git
and everytime the unnitests are run the
json file is re-generated with a slightly different
key order so it make the git directory dirty.
use sort_keys=True to try to maintain a consistent
json file so git doesn't detect a difference
Change-Id: I7859664e00561e8db032849a6664fb933a36702b
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
removed redundant parens in if and while clauses
use var != constant, not constant != var.
Python doesn't allow for assignment in if statements, so we don't have
to use the old C workarounds
remove unwanted commas
use raw strings for regexps with backslashes, e.g. r'\s' instead of '\s'
Change-Id: I7aad645dd3d7f4b4b62f4e4510a425611c9d28f2
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
add unittest for non-None default
fixup get_nsb_option to return default correctly.
use NSB_ROOT for all paths
Change-Id: Idd1951a8d436bc49c30d59d84ca12a5f26e9148f
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
replace paths with empty strings so unittests see
the Exception they expect when the files are not present
Otherwise unitests are dependent on local filesystem state
fix pylint issues, adjust formatting
removed duplicate key
Change-Id: I7857988c6e6bf586b0eb403fb1d3a3da7f170cbf
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
Openstack python3 style guide prefers to not use six.iteritems() but
instead use data.items() for all cases.
We should follow the Openstack guides since OPNFV is aligned with
Openstack
https://wiki.openstack.org/wiki/Python3#Port_Python_2_code_to_Python_3
Common patterns:
* Replace "for key in dict.iterkeys()" with "for key in dict"
* Replace dict.iteritems() with dict.items()
* Replace dict.itervalues() with dict.values()
Change-Id: I99b0505199a568771341658caf8b71c1896db9cd
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
no need to build a list, just use next
Change-Id: I8a899ac538849b765f12bebda4fb8c89c84f333e
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
@contextmanager have an issue with respect to exceptions that makes
them not suitable for real usage.
@contextmanager uses yield to create a generator and then uses
generator.throw() to raise any exceptions. Exceptions thrown from
generators loose their call stack due to the way generators work, so any
exception inside a context manager is harder to debug. For this reason
we don't use @contextmanager and instead always define a new class with
__enter__ and __exit__.
There is sample code that demonstrates the
issue with @contextmanager and generator.throw() here
https://gist.github.com/rbbratta/e28b6e64a4551522c3ac9815ca7f25f0
Change-Id: I5383c01f40a63e33680112f39b5bd9c858e328f1
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
In python3 file objects automatically handle encoding to utf-8 and expect
string, not bytes, so use regular json.dump() with the file object
We should only use dump_as_bytes to replace json.dumps(), not
to replace json.dump()
This fixes Python3 issue:
Traceback (most recent call last):
File "yardstick/main.py", line 52, in <module>
main()
File "yardstick/main.py", line 49, in main
YardstickCLI().main(sys.argv[1:])
File "yardstick/yardstick/cmd/cli.py", line 167, in main
self._dispath_func_notask()
File "yardstick/yardstick/cmd/cli.py", line 145, in _dispath_func_notask
func(CONF.category)
File "yardstick/yardstick/cmd/commands/task.py", line 48, in do_start
self._init_result_file()
File "yardstick/yardstick/cmd/commands/task.py", line 57, in _init_result_file
write_json_to_file(consts.DEFAULT_OUTPUT_FILE, data)
File "yardstick/yardstick/common/utils.py", line 152, in write_json_to_file
write_file(path, jsonutils.dump_as_bytes(data), mode)
File "yardstick/yardstick/common/utils.py", line 157, in write_file
f.write(data)
TypeError: write() argument must be str, not bytes
Change-Id: I573419be25d8fa1f015e1507730ba66c05f86686
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
flake8 error
Change-Id: Ia4c90c2703335123ea48c8421a84d7288126dcf6
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
Trevor Cooper has contributed greatly to yardstick D release.
Achievement/Contributions include:
Vsperf integration with yardstick.
NSB integration coordination.
Host US slot yardstick weekly meeting.
Draft Stress Test proposal in testperf.
Draft new Testing Projects Ecosystem graph.
Change-Id: I783335a77cfe3926c0c8ff76174ef3cc4f203fd6
Signed-off-by: kubi <jean.gaoliang@huawei.com>
|
|
Ross has contributed greatly to yardstick D release.
Achievement/Contributions include:
Provided quite many high-quality review comments.
Prepare Yardstick for Python3
Support Vsperf integration with yardstick.
Support NSB integration.
Jenkins verify test evolvement.
Yardstick Architecture Improvement.
LOG system unified.
https://gerrit.opnfv.org/gerrit/#/q/project:yardstick+owner:%22Ross+Brattain+%253Cross.b.brattain%2540intel.com%253E%22
Change-Id: Ided9c95e856269277ff09572e92e9fda7288734e
Signed-off-by: kubi <jean.gaoliang@huawei.com>
|
|
When a development environment is under a proxy, tox is failed even if
environment variables of the proxy are set.
Change-Id: Ia6f8f2a1f215fc4c861d7dbc7a61dcd6973fb3cb
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
|
|
Traceback (most recent call last):
File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-master/tests/unit/network_services/vnf_generic/vnf/test_vpe_vnf.py", line 306, in test_instantiate
self.context_cfg))
AssertionError: 0 != None
Traceback (most recent call last):
File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-master/tests/unit/network_services/vnf_generic/vnf/test_base.py", line 55, in test_clear
self.assertEqual(queue_file_wrapper.q_out.empty(), True)
File "/usr/lib/python3.5/unittest/case.py", line 820, in assertEqual
assertion_func(first, second, msg=msg)
File "/usr/lib/python3.5/unittest/case.py", line 813, in _baseAssertEqual
raise self.failureException(msg)
AssertionError: False != True
Traceback (most recent call last):
File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-master/tests/unit/network_services/vnf_generic/vnf/test_tg_trex.py", line 321, in test_run_traffic
self.assertEqual(True, result)
File "/usr/lib/python3.5/unittest/case.py", line 820, in assertEqual
assertion_func(first, second, msg=msg)
File "/usr/lib/python3.5/unittest/case.py", line 813, in _baseAssertEqual
raise self.failureException(msg)
AssertionError: True != False
Traceback (most recent call last):
File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-master/tests/unit/network_services/vnf_generic/vnf/test_tg_rfc2544_trex.py", line 369, in test_run_traffic
self.assertEqual(True, result)
File "/usr/lib/python3.5/unittest/case.py", line 820, in assertEqual\
assertion_func(first, second, msg=msg)
File "/usr/lib/python3.5/unittest/case.py", line 813, in _baseAssertEqual\
raise self.failureException(msg)
AssertionError: True != False
Change-Id: I68340196b8cc9f0fc2e4e0ef1022e8098fc860f0
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
|
|
replace raw_input with six.moves.raw_input
fix raw_input mock
force float division in python 2
re-added trex download to try to workaround coverage failing
try installing pyzmq=14.5.0 and see if that helps trex compatibility
======================================================================
ERROR: test__fill_traffic_profile (benchmark.scenarios.networking.test_vnf_generic.TestNetworkServiceTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-master/tests/unit/benchmark/scenarios/networking/test_vnf_generic.py", line 399, in test__fill_traffic_profile
self.context_cfg))
File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-master/yardstick/benchmark/scenarios/networking/vnf_generic.py", line 144, in _fill_traffic_profile
return TrafficProfile.get(traffic_profile)
File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-master/yardstick/network_services/traffic_profile/base.py", line 35, in get
"yardstick.network_services.traffic_profile")
File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-master/yardstick/common/utils.py", line 86, in import_modules_from_package
try_append_module(module_name, sys.modules)
File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-master/yardstick/common/utils.py", line 70, in try_append_module
modules[name] = importutils.import_module(name)
File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-master/.tox/py3/lib/python3.5/site-packages/oslo_utils/importutils.py", line 73, in import_module
__import__(import_str)
File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-master/yardstick/network_services/traffic_profile/rfc2544.py", line 19, in <module>
from yardstick.network_services.traffic_profile.traffic_profile \
File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-master/yardstick/network_services/traffic_profile/traffic_profile.py", line 24, in <module>
from stl.trex_stl_lib.trex_stl_client import STLStream
File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-master/trex/scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_client.py", line 7, in <module>
from .trex_stl_jsonrpc_client import JsonRpcClient, BatchMessage
File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-master/trex/scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_jsonrpc_client.py", line 3, in <module>
import zmq
File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-master/trex/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/__init__.py", line 49, in <module>
from zmq import backend
File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-master/trex/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/__init__.py", line 41, in <module>
reraise(*exc_info)
File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-master/trex/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/utils/sixcerpt.py", line 34, in reraise
raise value
File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-master/trex/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/__init__.py", line 29, in <module>
_ns = select_backend(first)
File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-master/trex/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/select.py", line 27, in select_backend
mod = __import__(name, fromlist=public_api)
File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-master/trex/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/__init__.py", line 6, in <module>
from . import (constants, error, message, context,
ImportError: cannot import name 'constants'
======================================================================
ERROR: network_services.vnf_generic.vnf.test_tg_trex (unittest.loader._FailedTest)
----------------------------------------------------------------------
ImportError: Failed to import test module: network_services.vnf_generic.vnf.test_tg_trex
Traceback (most recent call last):
File "/usr/lib/python3.5/unittest/loader.py", line 428, in _find_test_path
module = self._get_module_from_name(name)
File "/usr/lib/python3.5/unittest/loader.py", line 369, in _get_module_from_name
__import__(name)
File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-master/tests/unit/network_services/vnf_generic/vnf/test_tg_trex.py", line 24, in <module>
from stl.trex_stl_lib.trex_stl_client import STLClient
File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-master/trex/scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_client.py", line 7, in <module>
from .trex_stl_jsonrpc_client import JsonRpcClient, BatchMessage
File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-master/trex/scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_jsonrpc_client.py", line 3, in <module>
import zmq
File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-master/trex/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/__init__.py", line 49, in <module>
from zmq import backend
File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-master/trex/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/__init__.py", line 41, in <module>
reraise(*exc_info)
File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-master/trex/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/utils/sixcerpt.py", line 34, in reraise
raise value
File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-master/trex/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/__init__.py", line 29, in <module>
_ns = select_backend(first)
File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-master/trex/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/select.py", line 27, in select_backend
mod = __import__(name, fromlist=public_api)
File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-master/trex/scripts/external_libs/pyzmq-14.5.0/python3/fedora18/64bit/zmq/backend/cython/__init__.py", line 6, in <module>
from . import (constants, error, message, context,
ImportError: cannot import name 'constants'
Change-Id: I832bf8c912dea6d85131ee6603b408b3198cef2f
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This patch implements test suites for kvmfornfv os-nosdn-kvm_ovs_dpdk-ha
and os-nosdn-kvm_ovs_dpdk-noha scenarios.
Change-Id: Ia7b17dda262df5d81cac87372b70510192044a40
Co-Authored-By: Navya <b.navya4@tcs.com>
Signed-off-by: KalyanReddy <reddyx.gundarapu@intel.com>
|
|
the log directory should be specific yardstick so
it can be easily pushed into artifacts with the
directory.
JIRA: YARDSTICK-507
Change-Id: If28b0c3938e123c8a55272cb98291fb76aaf6f9e
Signed-off-by: rexlee8776 <limingjiang@huawei.com>
|
|
Failures:
test_connect (network_services.nfvi.test_collectd.TestAmqpConsumer) ... ERROR:pika.adapters.base_connection:Connection to 1.1.1.1:5672 failed: timeout
WARNING:pika.connection:Could not connect, 0 attempts left
ERROR:pika.callback:Calling <bound method SelectConnection._on_connection_error of <pika.adapters.select_connection.SelectConnection object at 0x7fe7e2333710>> for "0:_on_connection_error" failed
Traceback (most recent call last):
File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-master/.tox/py27/local/lib/python2.7/site-packages/pika/callback.py", line 236, in process
callback(*args, **keywords)
File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-master/.tox/py27/local/lib/python2.7/site-packages/pika/connection.py", line 1265, in _on_connection_error
self.params.connection_attempts)
AMQPConnectionError: Connection to 1.1.1.1:5672 failed: timeout
ok
Firstly, 1.1.1.1 is not an approriate fake address, use 127.0.0.1 so we don't try
to connect to anything external
But 127.0.0.1 won't work anyway, so disable test_connect
replace 152.16.0.0 with 172.16.0.0
Remove network_services.nfvi.test_resource.TestResourceProfile since it
also fails due to same error
Remove test_amqp_collect_nfvi_kpi_exception
Change-Id: I00bb1729658e18b4651129661ad9dd9c0dedcf37
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
Fixes unittest on Python 3
stdout is bytes, so we need to decode bytes to unicode using utf-8
bytes.decode(); str.encode()
Change-Id: I4b19d237139f338a648d04aa44cd4f199bb901c3
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
|
|
|
|
service testing"
|
|
|
|
|
|
|
|
JIRA: YARDSTICK-542
Currently we do not record task status when using CLI to run task.
So I add this function.
If status=0, task is not done.
if status=1, task is done.
if status=2, there is an error.
Change-Id: Ib9b3c8abd233909c04f792115199250419fa8d7a
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
|
|
JIRA: YARDSTICK-456
Currently we do not have a API to get a list of all test cases;
Currently the test case info is from the comment;
So I create a API to get a list of all test cases;
And create a 'description' attribute to record info of a test case;
And use the CLI call this API;
Change-Id: Ife800600446683664097835c7b9f11899c85771d
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
|
|
|
|
|
|
Nothing fancy for now, just call run_tests.sh
If we want to expand we could add pep8, coverage
to tox. See dovetail tox.ini for example
Change-Id: I8b5897779ed9622dd1b38612cb393fc214ec6300
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
JIRA: YARDSTICK-522
Change-Id: I5000c0ae9cf128f09b273afd85fd797068516484
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
|
|
JIRA: YARDSTICK-521
Change-Id: Ib91d231120067e58d2e1df7f1b42db216d15c468
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
|
|
TestCases:
- 64B TC
- 1518B TC
- IMIX TC
JIRA: YARDSTICK-520
Change-Id: Ic7842de8afb0f5c222de42f99bf70af29442c94a
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
|
|
VNF life cycle
- instantiate
- collect_kpi
- terminate
JIRA: YARDSTICK-520
Change-Id: Ied6ac79870fa35cc3dd14fd7a99b6bade3b77c81
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
|
|
JIRA: YARDSTICK-520
Change-Id: I1c683236a7fb946873418fb67f63500e1ba8fc91
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
|
|
This patch uses trex trafficgen example to define dynamic traffic profiles
and how it can be mapped to real world traffic.
JIRA: YARDSTICK-492
Change-Id: Ica24957ebf43315a8d81adabd4745c27d3c7c36a
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
|
|
This patch defines
- 2tg-topology-baremetal.yaml --> Define topology
- pod.yaml -> sample pod.yaml describing TG & VNF unit details
- tc.yaml --> test case in yardstick format (scenarios/context)
- tg_ping_tpl.yaml --> VNF descriptor explaining how units are connected,
eg Host (Xe0) --> Target (Xe0)
Host (Xe1) --> Target (Xe1)
JIRA: YARDSTICK-491
Change-Id:I41b69f457a6caa58d806cac9af8e831752ad314d
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
|
|
This patch defines
- Generic VNF APIs to test Network service
--> instantiate
--> collect_kpi
--> run_traffic
--> listen_traffic
--> terminate
- vnf Descriptor to map the physical NFVi topology of the Test unit.
JIRA: YARDSTICK-491
Change-Id: I6b7e09972fc536977b65d8a19d635a220815e5f3
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
|