Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
service testing"
|
|
|
|
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>
|
|
|
|
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>
|
|
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>
|
|
|
|
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-530
Currently we can not run a test suite if we are not in yardstick root
path.
The reason is that the file in test suite config file use relative path.
So I change it to absolute path when run.
Change-Id: I62758bc67f466ac794d339b597562b3be05574fb
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-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-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>
|
|
~ is not expanded in double quotes, so we have a dilemma.
We need to quote in order to preserve filenames with spaces,
but we have to make sure we don't quote the ~ so it can be expanded.
To resolve this we use a regex to search for tidle-prefixes
and excluded them from quotes.
Added unittests for the cases:
path with tilde
path with space
path with tilde and space
see bash man page for details of tidle expansion
Tilde Expansion
If a word begins with an unquoted tilde character (`~'), all of the
characters preceding the first unquoted slash (or all characters, if there is
no unquoted slash) are considered a tilde-prefix. If none of the characters in
the tilde-prefix are quoted, the characters in the tilde-prefix following the
tilde are treated as a possible login name. If this login name is the null
string, the tilde is replaced with the value of the shell parameter HOME. If
HOME is unset, the home directory of the user executing the shell is
substituted instead. Otherwise, the tilde-prefix is replaced with the
home directory associated with the specified login name.
JIRA: YARDSTICK-501
Change-Id: I324be20aba0dbd50434fbd8081685c598ebd8a84
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
JIRA: YARDSTICK-501
An redundant pair of quotation in ssh.py causes remotepath cannot be found.
Change-Id: I2df8ab59830fd28d8ad8882a93a8efbd4d1f7cb7
Signed-off-by: JingLu5 <lvjing5@huawei.com>
|
|
JIRA: YARDSTICK-410
This patch uses keystoneauth1.session to initialize the client for Heat
The keystoneauth1.session.Session class was introduced into keystoneauth1
as an attempt to bring a unified interface to the various OpenStack clients
that share common authentication and request parameters between a variety of
services.
Change-Id: Ie6287b50a36cf03950fa1174791df826e9bdafd3
Signed-off-by: JingLu5 <lvjing5@huawei.com>
|
|
|
|
|
|
|
|
|
|
upstream openstack rally added new _put_file_* methods
we should use these
https://github.com/openstack/rally/blob/0.7.0/rally/common/sshutils.py#L270
Updates:
imported rally test__put_file_shell unittests
quote to prevent word split
use -- guard
only chmod on cat success
Change-Id: I357d1a66b5beddad8042958f4e55d67fc68929f6
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
Original implementation of vsperf specific class
was changed to relfect recent vsperf changes. It is
now possible to modify any of vsperf's configuration
parameters via --test-param CLI argument. It means, that
it is possible to write a yardstick TC, which will define
all required vsperf configuration inside the YAML TC
definition.
Vsperf documentation related to yardstick usage and
sample TC files are located inside vsperf repository
and they were updated by a separate patch.
JIRA: VSPERF-422
Change-Id: I978d1c85ffeb3c90d9d47a20c6c0e0f68b437123
Signed-off-by: Martin Klozik <martinx.klozik@intel.com>
Reviewed-by: <sunshine.wang@huawei.com>
Reviewed-by: <lvjing5@huawei.com>
Reviewed-by: <jean.gaoliang@huawei.com>
Reviewed-by: <david.j.chou@intel.com>
|
|
JIRA: YARDSTICK-433
Python json lib is very hard to parse when transport via network.
Flask jsonfiy is more easier to use.
Change-Id: I2afd5238d65bc474170c57d2f9307dc881ea4990
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
|
|
JIRA: YARDSTICK-425
This API is used to create a influxDB Container
Add command line to create a influxDB Container, too
Change-Id: If9c2d04b779924d492a5d5ea91f7968fa959570e
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
|
|
JIRA: YARDSTICK-419
The StorPerf now supports query the job "status", Yardstick's StorPerf testcase
need to support this feature. The "status" will be used for determining whether
a StorPerf workload is finished.
Change-Id: I9d8bca5f8cd209653204740df63fef4091ca43f5
Signed-off-by: JingLu5 <lvjing5@huawei.com>
|
|
JIRA: YARDSTICK-416
Change-Id: I722566bb0e5bc5288cd6302559e56a3f92ebbeca
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
|
|
For some VNFs we may want to send periodic commands, for example to print
statistics, but otherwise not write anything for long periods of time.
Currently when we can no longer read from stdin we close it.
A workaround is to constantly spam stdin with newlines to keep forcing
stdin open. We don't want to have to do this, so add an enable flag to
keep stdin open. If the caller wants to close stdin at some point it
can.
Change-Id: I9496022295dfd19804572e484fe4f170ca7d4ac3
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
JIRA: YARDSTICK-413
Change-Id: Ibf58b50b568fae3f2eea985b25ee33be0a3666b7
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
|
|
|
|
|
|
JIRA: YARDSTICK-408
Change-Id: Iec9ce9ac991ee80f9396827c7caf9c7026e11e3f
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
JIRA: YARDSTICK-363
Change-Id: Ic1f2ab98425512014d746a997b7356d3490c6b33
Signed-off-by: rexlee8776 <limingjiang@huawei.com>
|
|
JIRA: YARDSTICK-378
Change-Id: I527d4f60f2a2081730118bdbbea6c19fc093672f
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
|
|
JIRA: YARDSTICK-369
Change-Id: I286e883d88a47d2befa4bb523ad9384937e079b3
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
|
|
|
|
JIRA: YARDSTICK-270
1)description info amended according to really tested
2)hyper-thread status check added
Change-Id: I813a41ff1e55c2d816fa55b773cf6c4bdd2af2bd
Signed-off-by: MatthewLi <matthew.lijun@huawei.com>
|
|
JIRA: YARDSTICK-315
1) make packetsize workable
2) add ping_count parameter
Change-Id: Ice2235fc5744b94df6a3f981c23159ca8280d876
Signed-off-by: MatthewLi <matthew.lijun@huawei.com>
|
|
JIRA: YARDSTICK-319
Change-Id: I25ee9a2582c751024b30e91eabf77aebb14a02f7
Signed-off-by: rexlee8776 <limingjiang@huawei.com>
|
|
|
|
VM A runs pktgen-dpdk as a traffic generator and is connected
back-to-back with VM B running testpmd for forwarding packets.
1. use linux expect to fetch the latency statics data.
2. fetch 10 samples of latency and calculate avg_latency.
3. use screen to keep test scripts running in the background.
4. add a function send_command() for screen in ssh.py
JIRA:YARDSTICK-233
Change-Id: I90ae64b3d198c79f159275ae35715eb284f05080
Signed-off-by: wu.zhihui <wu.zhihui1@zte.com.cn>
|
|
grafana dashboard
Change-Id: I255586efb0d1e25d7505838693d90a40282249b4
Signed-off-by: JingLu5 <lvjing5@huawei.com>
|