Age | Commit message (Collapse) | Author | Files | Lines |
|
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>
|
|
This patch defines Generic traffic profiles
- rfc2544, http etc
JiRA: YARDSTICK-489
Change-Id:I0d8270b4d5f5f2d3415b98182990d8649099dbe3
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
|
|
This patches added common function to collect NFVi KPIs for given usecases
- Core KPIs like memory/LLC/IPC etc
- OVS stats
- memory stats etc.
JIRA: YARDSTICK-488
Change-Id: Iab41146392efc47b7313b1846a67728a44d0f1d6
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
|
|
JIRA: YARDSTICK-487
Change-Id:I23dabcf6b4b7d49b8eb0f18778cddd50a1195a05
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
|
|
This patch introduces the framework which is aligned with ETSI-TST001
This patch adds:
1. NetworkServiceTestCase introduces following functions
--> setup
--> Verify if infrastructure mapping can meet topology
--> Load VNF models
--> Fill traffic profile with information from topology
--> Provision VNFs
--> Run experiment (traffic)
--> run -> Yardstick calls run() at intervals defined in the yaml
and produces timestamped samples
--> teardown --> Stop VNFs
2. TrafficProfile is a generic class to get traffic profile for a given
testcase and select the traffic generator for testcase.
3. QueueFileWrapper is a class to send/recive cmds to vnf
4. GenericVNF is a generic class to instantiate VNF
5. GenericTrafficGen is a generic class to run/listen/verify traffic.
JIRA: YARDSTICK-483
Change-Id: Ic453c917d34dcb508a7f3afb459011da85f6402e
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
|
|
This patch adds, generic helper function to provision the tools
and get required fields from yardstick.conf
v2: Added unit tests to keep test coverage :)
JIRA: YARDSTICK-484
Change-Id: Id6701924e3488c7f38f29c82e55c27fba67c0d76
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
|
|
v2: Added unit tests to keep test coverage :)
JIRA: YARDSTICK-482
Change-Id: I9281b00a4b619cc04550cb623c027ee5765c4974
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
|
|
This patch introduces standalone virtualization context to
deploy/undeploy NFVi infrastructure to run the VNF
Supported NFVi Type:
- vswitch
- ovs
- ovs-dpdk
- sr-iov
- testpmd
- linuxbridge
This patches inits the function stubs to enable the standalone context.
Actual deploy/undeploy code will be added in later check-in
v2: Added unit tests to keep test coverage :)
JIRA: YARDSTICK-479
Change-Id: I6ab3ac3335f40eabc4efb0af7d5addc20c122d65
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
|
|
|
|
|
|
JIRA: YARDSTICK-537
Now the openstackclient version is set to 3.3.0, but it cannot support
osc-lib 1.3.0 whose version is automatic set.
So I set openstackclient version to 3.7.0 and osc-lib version to 1.2.0
Change-Id: If4ccd517f6a572f6c463270596d0e1019ba9a1e6
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
|
|
|
|
JIRA: YARDSTICK-540
We are adding dynamically generated suffix to server name in the
previous patch.
But in that patch we just change the 'target', 'host' in nodes, but not
'node1', 'node2' ...
This patch will change all this.
Change-Id: Ic7c82c323dea24a40f1fe30871603d30c2689f67
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
|
|
|
|
|
|
Process running via ssh can return "None" or emtpy data from the
application. To avoid encodutils raise NoneType issue. Check the data before
encode.
JIRA: YARDSTICK-539
Change-Id: I7e86e6a17c0adc95d41714f6fec463dfadc2b81b
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
|
|
1. don't use sys.exit() to exit when there is an exception, it will hide
the underlying error
2. use the Abstract Base Classes for type checking.
3. don't have to build list, can use next
JIRA: YARDSTICK-541
Change-Id: Id4485acb21e7e02bbc22d3e689cbf0699363098a
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
|
|
|
|
JIRA: YARDSTICK-538
Currently it is hard to test API, So I add a base class as flask
document do.
In this framework I will mock a temp sqlite database and a server.
Change-Id: If881233cb22655617c07ad018201b8ee08492d06
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
|
|
JIRA: YARDSTICK-537
Now the openstackclient version is set to 3.3.0, but it cannot support
osc-lib 1.3.0 whose version is automatic set.
So I set openstackclient version to 3.3.0 and osc-lib version to 1.3.0
Change-Id: Ia480feb3621be97a4a97bb027685cc438e01c53e
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
|
|
|
|
JIRA: YARDSTICK-525
For consistency, we always use """triple double quotes""" around
docstrings.
Change-Id: I47a20bbd8b55bc544b4841ea4006929af0a044ac
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
|
|
|
|
Porting to Python3 using Openstack guidelines:
https://wiki.openstack.org/wiki/Python3
This passes unittests on Python 3.5 and passes opnfv_smoke suite
Updates:
use six for urlparse and urlopen
fix exception.message attribute removal
run unittests on python3
use unitest.mock on python 3
fix open mock for vsperf
fix float division by using delta/eplison comparison
use unicode in StringIO
use plugin/sample_config.yaml relative path from test case
fixed apexlake unittests
upgraded to mock 2.0.0 to match python3 unittest.mock features
fixed flake8 issues
implement safe JSON decode with oslo_serialization.jsonutils.dump_as_bytes()
implement safe unicode encode/decode with oslo_utils.encodeutils
heat: convert pub key file from bytes to unicode
pkg_resources returns raw bytes, in python3
we have to decode this to utf-8 unicode
so JSON can encode it for heat template
JIRA: YARDSTICK-452
Change-Id: Ib80dd1d0c0eb0592acd832b82f6a7f8f7c20bfda
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
The .format() won't work, since it can't slice the uuid
We have to convert the uuid to string before we slice it.
I thought .format() would implicitly call __str__() before
applying width, but that is not the case.
'files/yardstick_key-{:.{width}}'.format(self.key_uuid, width=8))
We also need to define a constant short uuid lenght, we can't
hardcode the length to 8 everywhere.
Create a helper function to standardize the generation
of the short key uuid and use that helper function everywhere
Change-Id: I59e051bfe697587e967f93f5b8f209e0e7daa5c7
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
when influx was refactored these test cases must not
have been removed
> influx._write_data(measurement, field, timestamp, tags)
E AttributeError: 'module' object has no attribute '_write_data'
Change-Id: I78814266fae04bd3b0bc06fe1fe41317ba8aced4
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
|
|
|
|
JIRA: YARDSTICK-475
This API will be used to run test suite files in the test/opnfv/test_suites directory
Change-Id: I208edf9abed62fd6436de988ac85bfe99c4d01bd
Signed-off-by: JingLu5 <lvjing5@huawei.com>
|
|
JIRA: YARDSTICK-527
This work is to support yardstick parallel tasks in the future.
Currently, the RSA key we generated and used to access the VM is named
'yardstick_key'.
If more than two tasks are running paralleled, the later 'yardstick_key' will
cover the former.
We want associate an uuid to identify differnets for each tasks. So the key
files won't conflict.
The first 8 digits will be used, as there is no need to used a full-length uuid.
Change-Id: If8eaf47ae527cf9b3bd50f37ab3051fbdccf5f03
Signed-off-by: JingLu5 <lvjing5@huawei.com>
|
|
|
|
|
|
JIRA: YARDSTICK-526
Currently there are many API run a task using sub thread.
But we don't know the status of this task.
So we need to offer a API to query the status of this task.
Change-Id: I8d2cc558750bf9270aed4a7abb8bf35d17894d83
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
|
|
|
|
|
|
JIRA: YARDSTICK-528
Currently yardstick framework can not support run the same test case at
the same time.
But actually we need to support it.
The reason why framework can't support it is that openstack do not allow
to create stack with the same name.
So I use the task_id to make the stack different.
Change-Id: I9e853793650066dfc56606464f7826f330a1401c
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
|
|
List of packages:
zmq - Py lib helps to publish/subscribe for ZeroMQ for data exchange
pika - Py lib helps setup amqp for data exchange with collectd
JIRA: YARDSTICK-453
Change-Id: Ic537d677622167fdb3aef81fb0c313553fcf087a
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
|
|
JIRA: YARDSTICK-511
We need to unify yardstick entry. Now the solution is using CLI call API
as nova do.
This is the first step: coupling the yardstick core logic from CLI.
Moving the core logic to yardstick/benchmark/core and the CLI using a
object to call yardstick core logic.
Change-Id: I84f10d2134635880c281cc63212a8533f2dd7d4e
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
|
|
|
|
|
|
|
|
|
|
JIRA: YARDSTICK-509
Currently we use influxdb as database and will not record test case name
when run a test case.
So if we must offer test case name if we want to get result from API.
Regarding future requirement, I create sqlite database and alchemy orm
framework. And record test case name when run a test case. So we needn't
offer test case any more when call for get result API.
Change-Id: I7d7dc24543a33918546267591f7bdcd0742928cb
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
|
|
JIRA: YARDSTICK-442
Change-Id: I4736e8cb8331d7a74c8c9946e21edd791b0c8ba9
Signed-off-by: JingLu5 <lvjing5@huawei.com>
|
|
|
|
|
|
JIRA: YARDSTICK-516
Change-Id: I348959c2ea3b6ed586f487cde88a173eb593be4f
Signed-off-by: Edwin Zhai <edwin.zhai@intel.com>
|
|
JIRA: YARDSTICK-514
The ping_load task uses multiple(3 in this case) host VMs to ping one target
VM in parallel. The multiple hosts configuration will be rendered using jinja
syntax. "contexts" is used to specify the target and muiltip host VMs.
Change-Id: I3e36b86d16d0386b4d446a2e252a094926cd97a3
Signed-off-by: JingLu5 <lvjing5@huawei.com>
|
|
JIRA:YARDSTICK-513
the copyright info in openstack_utils.py is not accurate.
(yardstick: this file is copied from rally and slightly modified)
this line should be deleted.
Change-Id: I6cf8205ee6b142ae87b268829e5ac7454239dd0d
Signed-off-by: JingLu5 <lvjing5@huawei.com>
|