yardstick.git
7 years agoFix installation dependency and authentication issue for fuel plugin 43/26543/2
Edwin Zhai [Mon, 26 Dec 2016 00:00:06 +0000 (16:00 -0800)]
Fix installation dependency and authentication issue for fuel plugin

JIRA: YARDSTICK-516

Change-Id: I348959c2ea3b6ed586f487cde88a173eb593be4f
Signed-off-by: Edwin Zhai <edwin.zhai@intel.com>
7 years agoMerge "ssh: don't quote ~ in remotepaths"
Jing Lu [Thu, 22 Dec 2016 04:33:32 +0000 (04:33 +0000)]
Merge "ssh: don't quote ~ in remotepaths"

7 years agoMerge "Add smoke, components, features and performance test suite for Yatdstick"
Rex Lee [Thu, 22 Dec 2016 03:41:47 +0000 (03:41 +0000)]
Merge "Add smoke, components, features and performance test suite for Yatdstick"

7 years agoYardstick API refactor 21/26321/2
chenjiankun [Wed, 21 Dec 2016 01:07:26 +0000 (01:07 +0000)]
Yardstick API refactor

JIRA: YARDSTICK-503

Now in api/views.py there are many redundant code.
So I do some refactoring and make it to be a lightweight framework.

Change-Id: Id7cecc95e60f5403b2d26239a3ef41d01bbb542a
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
7 years agoMerge "Replace heat, keystone and nova command with openstack command"
Rex Lee [Thu, 22 Dec 2016 02:52:16 +0000 (02:52 +0000)]
Merge "Replace heat, keystone and nova command with openstack command"

7 years agoMerge "Use openstack command instead keystone command in prepare_storperf_admin-rc.sh"
Jing Lu [Thu, 22 Dec 2016 02:13:09 +0000 (02:13 +0000)]
Merge "Use openstack command instead keystone command in prepare_storperf_admin-rc.sh"

7 years agorestore the yardstick-img-modify cleanup() func 57/26357/2
Ryan.RCS [Wed, 21 Dec 2016 07:44:21 +0000 (07:44 +0000)]
restore the yardstick-img-modify cleanup() func

There is a result failed again after last update.
So i restore the clean() function to its original codes and avoid CI failed.
But i'm not sure something about the clean() function,
and I will check this failed clearly in future.

Change-Id: I8f49533788c7ccb2016e7a484368a72028579fa8
JIRA: YARDSTICK-502
Signed-off-by: Ryan.RCS <lihainong@huawei.com>
7 years agossh: don't quote ~ in remotepaths 33/26333/2
Ross Brattain [Wed, 21 Dec 2016 05:40:52 +0000 (21:40 -0800)]
ssh: don't quote ~ in remotepaths

~ 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>
7 years agoMerge "fixed issue in yardstick-img-modify cleanup() fun"
Jing Lu [Wed, 21 Dec 2016 04:28:51 +0000 (04:28 +0000)]
Merge "fixed issue in yardstick-img-modify cleanup() fun"

7 years agofixed issue in yardstick-img-modify cleanup() fun 27/26327/1
Ryan.RCS [Wed, 21 Dec 2016 02:29:41 +0000 (02:29 +0000)]
fixed issue in yardstick-img-modify cleanup() fun

1. when run yardstick-img-modify script, sometimes it show below error.
 + '[' -f /tmp/workspace/yardstick/yardstick-xenial-server.raw ']'
 + kpartx -dv /tmp/workspace/yardstick/yardstick-xenial-server.raw
 ioctl: LOOP_CLR_FD: No such device or address
 del devmap : loop0p1
 can't del loop : /dev/loop0
 + test 1 -eq 1 -o 1 -eq 2
 2. so i added a expression to check if the .raw file map deleted or not
 3. if the devmap not deleted, then we delete it, otherwise, we do nothing

JIRA: YARDSTICK-502

Change-Id: Ia050121ed6bf837bab05e38f2e9e9628ca31627a
Signed-off-by: Ryan.RCS <lihainong@huawei.com>
7 years agoReplace heat, keystone and nova command with openstack command 97/26197/5
JingLu5 [Tue, 20 Dec 2016 03:17:45 +0000 (11:17 +0800)]
Replace heat, keystone and nova command with openstack command

JIRA: YARDSTICK-486

In future Openstack release, 'heat', 'keystone', 'nova' command will be
deprecated. So we need to use 'openstack' command instead.

Change-Id: I7070f8aaf0d235705b65e0760c845f843ad79719
Signed-off-by: JingLu5 <lvjing5@huawei.com>
7 years agoBugFix: remotepath cannot be found 71/26271/2
JingLu5 [Tue, 20 Dec 2016 02:46:26 +0000 (10:46 +0800)]
BugFix: remotepath cannot be found

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>
7 years agoMerge "change m1.* flavor to "yardstick-flavor""
Rex Lee [Tue, 20 Dec 2016 01:28:57 +0000 (01:28 +0000)]
Merge "change m1.* flavor to "yardstick-flavor""

7 years agoMerge "Update Yardstick README file"
Rex Lee [Mon, 19 Dec 2016 06:16:14 +0000 (06:16 +0000)]
Merge "Update Yardstick README file"

7 years agochange m1.* flavor to "yardstick-flavor" 67/26167/1
JingLu5 [Mon, 19 Dec 2016 00:59:34 +0000 (08:59 +0800)]
change m1.* flavor to "yardstick-flavor"

JIRA: YARDSTICK-485

In OpenStack Newton, the 'm1.tiny', 'm1.small', 'm1.medium' and 'm1.large' will
not be automatic created. This may cause errors as some Yardstick testcases are
using one of these flavor. Therefore, it's better change all the flavor option
in task configuration file to 'yardstick-flavor'.

Change-Id: Ibb29a77ef331bbf728dec9894a2e9f17c19d5ebd
Signed-off-by: JingLu5 <lvjing5@huawei.com>
7 years agoUse openstack command instead keystone command in prepare_storperf_admin-rc.sh 81/26081/3
JingLu5 [Fri, 16 Dec 2016 06:38:16 +0000 (14:38 +0800)]
Use openstack command instead keystone command in prepare_storperf_admin-rc.sh

JIRA: YARDSTICK-476

In Openstack Newton, the ”tenant“ is deprecated and "project" is used.
The prepare_storperf_admin-rc.sh uses keystone command to get "tenant id".
So for newton, we need to use openstack command to get "project id".

This patch also add a copy right header in tests/ci/scp_storperf_admin-rc.sh.

Change-Id: Ic69cb07f684ccb557866a4141e9d2724fc054f29
Signed-off-by: JingLu5 <lvjing5@huawei.com>
7 years agoAdd smoke, components, features and performance test suite for Yatdstick 53/24953/4
JingLu5 [Mon, 28 Nov 2016 03:03:08 +0000 (11:03 +0800)]
Add smoke, components, features and performance test suite for Yatdstick

JIRA: YARDSTICK-417

This patch adds a smoke test suite for Yardstick. The smoke test suite consists
of 3 test cases: TC002 Ping, TC005 Fio, TC012 LMbench.

3 test suites for components, features and performance tiers are also provided.

Change-Id: Ic5223c1401270d126aabb4bf062e40da9464e18f
Signed-off-by: JingLu5 <lvjing5@huawei.com>
7 years agoMerge "Add support for OpenSrack Newton"
Rex Lee [Thu, 15 Dec 2016 09:01:21 +0000 (09:01 +0000)]
Merge "Add support for OpenSrack Newton"

7 years agoMerge "Bugfixed:run command: "yardstick-img-modify" fail!"
Rex Lee [Thu, 15 Dec 2016 09:00:33 +0000 (09:00 +0000)]
Merge "Bugfixed:run command: "yardstick-img-modify" fail!"

7 years agoUpdate Yardstick README file 85/25385/8
JingLu5 [Fri, 2 Dec 2016 02:00:35 +0000 (10:00 +0800)]
Update Yardstick README file

JIRA: YARDSTICK-443

Change-Id: Iecd56e257513ca2d1217fd44aaaf377a3c04104d
Signed-off-by: JingLu5 <lvjing5@huawei.com>
7 years agoBugfixed:run command: "yardstick-img-modify" fail! 01/25701/3
Ryan.RCS [Fri, 9 Dec 2016 03:06:41 +0000 (03:06 +0000)]
Bugfixed:run command: "yardstick-img-modify" fail!

Avoid incorrect deletion of $raw_imgfile when the command:
"kpartx -dv $raw_imgfile" execute failed.

JIRA: YARDSTICK-424

Change-Id: I34dac60bda6c028c4b0f0bfd9ad077e2d5dbb0ff
Signed-off-by: Ryan.RCS <lihainong@huawei.com>
7 years agoMerge "BugFix: Upgrade python-novaclient and other dependencies"
Rex Lee [Wed, 14 Dec 2016 01:13:48 +0000 (01:13 +0000)]
Merge "BugFix: Upgrade python-novaclient and other dependencies"

7 years agoAdd support for OpenSrack Newton 23/25823/5
JingLu5 [Tue, 13 Dec 2016 05:42:41 +0000 (05:42 +0000)]
Add support for OpenSrack Newton

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>
7 years agoMerge "ssh.py: add flag to request for a pseudo terminal (pty) for ssh connection"
Rex Lee [Tue, 13 Dec 2016 07:38:03 +0000 (07:38 +0000)]
Merge "ssh.py: add flag to request for a pseudo terminal (pty) for ssh connection"

7 years agoMerge "env: convert file open to context manager"
Jing Lu [Tue, 13 Dec 2016 06:27:55 +0000 (06:27 +0000)]
Merge "env: convert file open to context manager"

7 years agoMerge "Increase Ping scenario ssh timeout limit to 600 seconds"
Rex Lee [Mon, 12 Dec 2016 07:43:15 +0000 (07:43 +0000)]
Merge "Increase Ping scenario ssh timeout limit to 600 seconds"

7 years agoMerge "Bugfix: update Yardstick custom VM image name in user guide"
Rex Lee [Mon, 12 Dec 2016 07:42:37 +0000 (07:42 +0000)]
Merge "Bugfix: update Yardstick custom VM image name in user guide"

7 years agoMerge "use context manager for stdin files and use _put_file_shell"
Rex Lee [Mon, 12 Dec 2016 07:13:30 +0000 (07:13 +0000)]
Merge "use context manager for stdin files and use _put_file_shell"

7 years agoMerge "Add support for Storperf job status"
Rex Lee [Mon, 12 Dec 2016 07:06:59 +0000 (07:06 +0000)]
Merge "Add support for Storperf job status"

7 years agossh.py: add flag to request for a pseudo terminal (pty) for ssh connection 83/25683/2
Deepak S [Thu, 8 Dec 2016 08:27:13 +0000 (13:57 +0530)]
ssh.py: add flag to request for a pseudo terminal (pty) for ssh connection

For some VNFs we may want to send periodic commands, for example to
print statistics etc.

When you open a SSH connection, request a pseudo terminal (pty) which
allows passing of control characters to the connection.

JIRA: YARDSTICK-453

Change-Id: Ibfd4164e745f005d0e29f6efdc63076e1e220b60
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
7 years agoBugFix: Upgrade python-novaclient and other dependencies 73/25673/3
JingLu5 [Thu, 8 Dec 2016 11:49:46 +0000 (19:49 +0800)]
BugFix: Upgrade python-novaclient and other dependencies

JIRA: YARDSTICK-454

The python-novalient need to upgraded to fix the error in jenkin CI joid environment.
Related dependencies also need to be updated.

Change-Id: I63ce57aadbd46f159df2b5371caf3725e311ab34
Signed-off-by: JingLu5 <lvjing5@huawei.com>
7 years agoenv: convert file open to context manager 89/25589/1
Ross Brattain [Wed, 7 Dec 2016 05:26:16 +0000 (00:26 -0500)]
env: convert file open to context manager

always use context managers to open file

Change-Id: I2c894ea87a94789edbed4a4da1fa906b28556664
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
7 years agoBugfix: update Yardstick custom VM image name in user guide 79/25579/1
JingLu5 [Wed, 7 Dec 2016 03:26:07 +0000 (11:26 +0800)]
Bugfix: update Yardstick custom VM image name in user guide

JIRA: YARDSTICK-451

Change-Id: Ie6e4a0b924f4ee047756b954e88c50621e0b596f
Signed-off-by: JingLu5 <lvjing5@huawei.com>
7 years agoMerge "update grafana dashboard opnfv_yardstick_tc002"
Rex Lee [Tue, 6 Dec 2016 10:36:30 +0000 (10:36 +0000)]
Merge "update grafana dashboard opnfv_yardstick_tc002"

7 years agoupdate grafana dashboard opnfv_yardstick_tc002 29/25529/3
rexlee8776 [Tue, 6 Dec 2016 09:30:57 +0000 (17:30 +0800)]
update grafana dashboard opnfv_yardstick_tc002

JIRA: YARDSTICK-447

Change-Id: Iba97948eb9db2d8f22b31fdfc6e09570ed6b11b9
Signed-off-by: rexlee8776 <limingjiang@huawei.com>
7 years agoBugfix: create stack failed due to not export EXTERNAL_NETWORK environment viarable 21/25521/1
chenjiankun [Tue, 6 Dec 2016 09:15:33 +0000 (09:15 +0000)]
Bugfix: create stack failed due to not export EXTERNAL_NETWORK environment viarable

JIRA: YARDSTICK-449

Now if we run prepare env, we will not source the EXTERNAL_NETWORK.
I will source the EXTERNAL_NETWORK after I get it.

Change-Id: I917fcecae2cac13b7511667c0687d10eccfac751
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
7 years agoChange grafana default dashboard from ping to opnfv_yardstick_tc002 97/25497/1
chenjiankun [Mon, 5 Dec 2016 14:31:46 +0000 (14:31 +0000)]
Change grafana default dashboard from ping to opnfv_yardstick_tc002

JIRA: YARDSTICK-447

Now the grafana default dashboard use the sample/ping.yaml test case.
I will change it to opnfv_yardstick_tc002 because it is the release test
case.

Change-Id: If20ca123d0407ad92b49f7d2dac98faa2a01e195
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
7 years agouse context manager for stdin files and use _put_file_shell 57/24957/11
Ross Brattain [Thu, 1 Dec 2016 03:56:38 +0000 (19:56 -0800)]
use context manager for stdin files and use _put_file_shell

requires https://gerrit.opnfv.org/gerrit/#/c/25183/

use new ssh method _put_file_shell to upload files.
We have to use _put_file_shell because we rely on ~/ path
expansions.  Eventually we should move to remote absolute
paths so we can use sftp upload.

For ssh.execute() replace open() with context manager

context managers were invented partly to control
freeing resources.  Opening files without closing
them will leak file descriptors.

The old standard method for closing files:

f = open('data.txt')
try:
    data = f.read()
finally:
    f.close()

was replaced with a context manager

with open('data.txt') as f:
    data = f.read()

Reference:  Raymond Hettinger's Pycon 2013 presentation:
https://speakerdeck.com/pyconslides/transforming-code-into-beautiful-idiomatic-python-by-raymond-hettinger-1

Video: https://youtu.be/OSGv2VnC0go?t=2522

Always use context managers for files

Update:
   rebased now that _put_file_shell was merged

Change-Id: Iabfc0e43aa3b7766d7c658115e13d21c31efb2a9
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
7 years agoBugfix: create yardstick.conf file failed due to wrong config file path 81/25481/1
chenjiankun [Mon, 5 Dec 2016 10:48:35 +0000 (10:48 +0000)]
Bugfix: create yardstick.conf file failed due to wrong config file path

JIRA: YARDSTICK-446

now the yardstick dispatcher config path is set to
/etc/yardstick/config.yaml which is wrong.
I will change it to /etc/yardstick/yardstick.conf

Change-Id: I4cd5436bf64f3b764f6bb102eff3443e765fffe9
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
7 years agoBugfix: easy_install -U setuptools go wrong due to the setuptools version 73/25473/1
chenjiankun [Mon, 5 Dec 2016 08:53:25 +0000 (08:53 +0000)]
Bugfix: easy_install -U setuptools go wrong due to the setuptools version

JIRA: YARDSTICK-445

Currently we do not set the setuptools version.
Now the setuptools version update to the 30.2.0, but when run
easy_install -U setuptools, it goes wrong.
So I set the setuptools version to 30.0.0

Change-Id: Id7ae232cce6d088355f71a7124688cb625d18457
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
7 years agoMerge "argsAlreadyParsedError: arguments already parsed: cannot register CLI option"
Rex Lee [Mon, 5 Dec 2016 06:40:58 +0000 (06:40 +0000)]
Merge "argsAlreadyParsedError: arguments already parsed: cannot register CLI option"

7 years agoMerge "fix SSH object examples to use correct context manager form"
Rex Lee [Mon, 5 Dec 2016 06:38:48 +0000 (06:38 +0000)]
Merge "fix SSH object examples to use correct context manager form"

7 years agoMerge "import new _put_file_shell method from upstream rally"
Rex Lee [Mon, 5 Dec 2016 06:37:08 +0000 (06:37 +0000)]
Merge "import new _put_file_shell method from upstream rally"

7 years agoMerge "Making nginx and uwsgi service start when run docker by using supervisor"
Rex Lee [Mon, 5 Dec 2016 06:33:43 +0000 (06:33 +0000)]
Merge "Making nginx and uwsgi service start when run docker by using supervisor"

7 years agoMerge "Bugfix: debug should be default off"
Jing Lu [Mon, 5 Dec 2016 06:29:44 +0000 (06:29 +0000)]
Merge "Bugfix: debug should be default off"

7 years agoAdd API and command support for yardstick env prepare 11/25311/9
chenjiankun [Thu, 1 Dec 2016 07:34:23 +0000 (07:34 +0000)]
Add API and command support for yardstick env prepare

JIRA: YARDSTICK-406

Change-Id: Icf837a6f34a22158203566a43a6446fc269c096f
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
7 years agoMaking nginx and uwsgi service start when run docker by using supervisor 47/25447/1
chenjiankun [Sat, 3 Dec 2016 15:04:36 +0000 (15:04 +0000)]
Making nginx and uwsgi service start when run docker by using supervisor

JIRA: YARDSTICK-444

We need web service start when docker run.
But now we add command in bashrc, so the web service start only if we
login in docker container.
So I use supervisor to make the web service start when docker run.

Change-Id: Ic77eb0e130ae7dbd82039c312649fed76b128513
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
7 years agoAdd API to create Grafana container 77/25377/5
chenjiankun [Fri, 2 Dec 2016 00:30:58 +0000 (00:30 +0000)]
Add API to create Grafana container

JIRA: YARDSTICK-441

Change-Id: Ia848c4af072915ef252e8e03100dd7a4e4a6c3c2
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
7 years agoargsAlreadyParsedError: arguments already parsed: cannot register CLI option 21/25421/1
chenjiankun [Fri, 2 Dec 2016 12:36:56 +0000 (12:36 +0000)]
argsAlreadyParsedError: arguments already parsed: cannot register CLI option

JIRA: YARDSTICK-216

Change-Id: I0368a3d1c1f5eaf9f4ef2dcb519815241f377d24
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
7 years agoAdd support for sample testcase to get test result 81/25381/1
chenjiankun [Fri, 2 Dec 2016 01:39:32 +0000 (01:39 +0000)]
Add support for sample testcase to get test result

JIRA: YARDSTICK-440

Change-Id: I15234e833353a33b063993b96f1f787ddf649720
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
7 years agoMerge "vsperf: Enhanced vswitchperf configuration"
Rex Lee [Thu, 1 Dec 2016 09:34:27 +0000 (09:34 +0000)]
Merge "vsperf: Enhanced vswitchperf configuration"

7 years agoAdd swagger support for Rest API 91/25291/3
chenjiankun [Thu, 1 Dec 2016 01:51:16 +0000 (01:51 +0000)]
Add swagger support for Rest API

JIRA: YARDSTICK-439

Change-Id: I36ad0663455c51d635c4329f5cbb9da25d8042e1
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
7 years agoAdd API to run test case under samples directory 69/25169/3
chenjiankun [Tue, 29 Nov 2016 17:53:25 +0000 (17:53 +0000)]
Add API to run test case under samples directory

JIRA: YARDSTICK-432

Change-Id: I8ca6409449e2b960ac9f48c8eb8a6ae9959a4fc8
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
7 years agoMerge "Clone the corresponding branch of the repo according to the job branch"
Jing Lu [Thu, 1 Dec 2016 01:11:09 +0000 (01:11 +0000)]
Merge "Clone the corresponding branch of the repo according to the job branch"

7 years agoMerge "ssh.py: add flag to keep stdin open"
Rex Lee [Thu, 1 Dec 2016 01:05:28 +0000 (01:05 +0000)]
Merge "ssh.py: add flag to keep stdin open"

7 years agoMerge "switch logging to proper usage"
Rex Lee [Thu, 1 Dec 2016 00:56:37 +0000 (00:56 +0000)]
Merge "switch logging to proper usage"

7 years agoMerge "Modify url mapping to make API more Restful"
Jing Lu [Thu, 1 Dec 2016 00:53:04 +0000 (00:53 +0000)]
Merge "Modify url mapping to make API more Restful"

7 years agoMerge "Use flask jsonify method to return json result"
Jing Lu [Thu, 1 Dec 2016 00:52:54 +0000 (00:52 +0000)]
Merge "Use flask jsonify method to return json result"

7 years agoswitch logging to proper usage 47/24947/3
Ross Brattain [Fri, 25 Nov 2016 22:21:37 +0000 (14:21 -0800)]
switch logging to proper usage

The logging methods do string interpolation themselves

From the reference:

https://docs.python.org/2/library/logging.html#logging.Logger.debug

  Logger.debug(msg, *args, **kwargs)

Logs a message with level DEBUG on this logger. The msg is the message format string, and the args are the arguments which are merged into msg using the string formatting operator. (Note that this means that you can use keywords in the format string, together with a single dictionary argument.)

There are two keyword arguments in kwargs which are inspected: exc_info which, if it does not evaluate as false, causes exception information to be added to the logging message. If an exception tuple (in the format returned by sys.exc_info()) is provided, it is used; otherwise, sys.exc_info() is called to get the exception informatio

The reason logging does string interpolation itselfs is to implement deferred interpolation.

String interpolation involves evaluating arguments, so it can introduce significant computation.  The logging module tries to be smart about deferring interpolation until the last possible moment.

The logging methods check isEnabledFor for the log level and won't interpolate if the level is not enabled.

https://github.com/python/cpython/blob/2.7/Lib/logging/__init__.py#L1178

     def warning(self, msg, *args, **kwargs):
        if self.isEnabledFor(WARNING):
            self._log(WARNING, msg, args, **kwargs)

logging actually waits to interpolate the string in LogRecord.getMessage()

https://github.com/python/cpython/blob/2.7/Lib/logging/__init__.py#L328
        if self.args:
            msg = msg % self.args

Change-Id: Ie09efe0a66881e19bd8119caa376075e605627a2
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
7 years agoimport new _put_file_shell method from upstream rally 83/25183/4
Ross Brattain [Tue, 29 Nov 2016 21:25:18 +0000 (13:25 -0800)]
import new _put_file_shell method from upstream rally

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>
7 years agovsperf: Enhanced vswitchperf configuration 61/24361/6
Martin Klozik [Thu, 10 Nov 2016 14:58:44 +0000 (14:58 +0000)]
vsperf: Enhanced vswitchperf configuration

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>
7 years agoClone the corresponding branch of the repo according to the job branch 49/25249/1
jose.lausuch [Wed, 30 Nov 2016 14:42:53 +0000 (15:42 +0100)]
Clone the corresponding branch of the repo according to the job branch

Make use of the ARG BRANCH given at build time

cmd="docker build --no-cache -t $DOCKER_REPO_NAME:$DOCKER_TAG
--build-arg BRANCH=$branch ."

Change-Id: I44d342bfa5499ebd119e9147695ea82853eb64b6
Signed-off-by: jose.lausuch <jose.lausuch@ericsson.com>
7 years agoBugfix: debug should be default off 31/25231/2
rexlee8776 [Wed, 30 Nov 2016 11:23:53 +0000 (11:23 +0000)]
Bugfix: debug should be default off

JIRA: YARDSTICK-398

Change-Id: I8b2f776a9cf6d577150633999354db762fcb93ae
Signed-off-by: rexlee8776 <limingjiang@huawei.com>
7 years agoMerge "centralize logging into root logger"
Rex Lee [Wed, 30 Nov 2016 10:54:49 +0000 (10:54 +0000)]
Merge "centralize logging into root logger"

7 years agoMerge "netperf_node test case improvement."
Rex Lee [Wed, 30 Nov 2016 09:14:06 +0000 (09:14 +0000)]
Merge "netperf_node test case improvement."

7 years agoModify url mapping to make API more Restful 17/25217/1
chenjiankun [Wed, 30 Nov 2016 08:22:54 +0000 (08:22 +0000)]
Modify url mapping to make API more Restful

JIRA: YARDSTICK-435

Change-Id: Ief767ceca2979494ec0b4ea4d197fd399352b856
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
7 years agoBugFix: yardstick-docker-build-push failure 11/25211/1
JingLu5 [Wed, 30 Nov 2016 07:35:19 +0000 (15:35 +0800)]
BugFix: yardstick-docker-build-push failure

JIRA: YARDSTICK-434

Change-Id: I391403975bf4643c5658e666a165762d690c42bc
Signed-off-by: JingLu5 <lvjing5@huawei.com>
7 years agoUse flask jsonify method to return json result 09/25209/1
chenjiankun [Wed, 30 Nov 2016 07:28:36 +0000 (07:28 +0000)]
Use flask jsonify method to return json result

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>
7 years agocentralize logging into root logger 45/25045/11
Ross Brattain [Tue, 29 Nov 2016 00:35:35 +0000 (16:35 -0800)]
centralize logging into root logger

If we setup root logger correctly and have each
module logger propogate we shouldn't need individual
logger configuration

updates:
    lower paramiko to WARN level
    dispatcher/file.py was missing logging.handlers import
    purge all existing handlers and add our own handlers
    move everything back into yardstick/__init__.py so API can use it
    make _LOG_STREAM_HDLR global, so we can set loglevel on it whenever
    added api/server.py call to _init_logging
    removed old LOG_FORMATTER from cli.py
    only setLevel on yardstick logger

Change-Id: If000799590379d3407655a7d54378481a96ea3d4
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
7 years agoMerge "Bugfix: the API to get result do not work due to can't parse $"
Jing Lu [Wed, 30 Nov 2016 04:57:55 +0000 (04:57 +0000)]
Merge "Bugfix: the API to get result do not work due to can't parse $"

7 years agoMerge "Create API and command to create a influxDB container"
Jing Lu [Wed, 30 Nov 2016 04:57:29 +0000 (04:57 +0000)]
Merge "Create API and command to create a influxDB container"

7 years agoMerge "Decoupling prepare_env.sh and load_images.sh"
Rex Lee [Wed, 30 Nov 2016 04:53:09 +0000 (04:53 +0000)]
Merge "Decoupling prepare_env.sh and load_images.sh"

7 years agoBugfix: the API to get result do not work due to can't parse $ 21/25021/3
chenjiankun [Mon, 28 Nov 2016 15:06:08 +0000 (15:06 +0000)]
Bugfix: the API to get result do not work due to can't parse $

JIRA: YARDSTICK-429

The API to get result use $ to prevent sql injection. But it doesn't
work.

Change-Id: I130a847297f209fe26062317261f884c5665f5df
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
7 years agoCreate API and command to create a influxDB container 13/25013/4
chenjiankun [Mon, 28 Nov 2016 01:51:47 +0000 (01:51 +0000)]
Create API and command to create a influxDB container

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>
7 years agonetperf_node test case improvement. 25/24925/6
liyin [Sat, 26 Nov 2016 06:58:52 +0000 (14:58 +0800)]
netperf_node test case improvement.

JIRA: YARDSTICK-423

In the netperf test testcase, input and output parameters are stipulated.
in this submit, add parameters as a output, you could write the output parameters at yaml file.
and the second is if there is a netperf software at target machine,
this machine won't install this software again.

Change-Id: If4def77acbbd5c97e7b5ce9c2e454ecb5bcb12bb
Signed-off-by: liyin <liyin11@huawei.com>
7 years agofix SSH object examples to use correct context manager form 81/25181/1
Ross Brattain [Tue, 29 Nov 2016 21:24:54 +0000 (13:24 -0800)]
fix SSH object examples to use correct context manager form

change PseudoFile example to use io.RawIOBase baseclass

Change-Id: Ib5e3c844a0514274e5098061beb0ee6f8af97977
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
7 years agoBugfix: dict don't have startwith method error when use API to run test case 67/25167/1
chenjiankun [Tue, 29 Nov 2016 17:02:07 +0000 (17:02 +0000)]
Bugfix: dict don't have startwith method error when use API to run test case

JIRA: YARDSTICK-431

When use API to run test case and set the task-args args, it will
encounter a error of dict object do not have startwith method.
The reason is yardstick will only accept the str type.
So we need to change the dict to str.

Change-Id: I26aac35c477842ab9cd692bdacd401e68673b01d
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
7 years agoMerge "Move requirement.txt from tests/ci/ to project root path"
Rex Lee [Tue, 29 Nov 2016 06:49:43 +0000 (06:49 +0000)]
Merge "Move requirement.txt from tests/ci/ to project root path"

7 years agoMerge "contexts/node: default to pod.yaml"
Rex Lee [Tue, 29 Nov 2016 06:47:52 +0000 (06:47 +0000)]
Merge "contexts/node: default to pod.yaml"

7 years agoAdd support for Storperf job status 21/24721/5
JingLu5 [Wed, 23 Nov 2016 01:26:17 +0000 (09:26 +0800)]
Add support for Storperf job status

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>
7 years agoDecoupling prepare_env.sh and load_images.sh 57/25057/2
JingLu5 [Tue, 29 Nov 2016 02:50:40 +0000 (10:50 +0800)]
Decoupling prepare_env.sh and load_images.sh

JIRA: YARDSTICK-430

The "prepare_env.sh" and “load_images.sh” have serious dependency.
The “load_images.sh” uses the "YARD_IMG_ARCH" variable which is defined in
the "prepare_env.sh" to choose the base ubuntu image version.
We want to decoupling these two scripts, so they can be invoked separately.

Change-Id: I30c1b4a65f73b1550fa5eb96366fe8b1d59251d7
Signed-off-by: JingLu5 <lvjing5@huawei.com>
7 years agobottlenecks test case support 09/25009/1
liyin [Mon, 28 Nov 2016 13:44:10 +0000 (21:44 +0800)]
bottlenecks test case support

JIRA: YARDSTICK-420

this is a test case yaml file for bottlenecks netperf test.
this file is different from tc073.
this yaml file add different type of input which is bottlenecks project
need.
and remove the action of netperf_remove.sh .

Change-Id: Ie3d75d111faa71e8f2e9ab04c0656d2291051e17
Signed-off-by: liyin <liyin11@huawei.com>
7 years agoMerge "ArgsAlreadyParsedError: arguments already parsed: cannot register CLI option"
Kubi [Mon, 28 Nov 2016 12:23:11 +0000 (12:23 +0000)]
Merge "ArgsAlreadyParsedError: arguments already parsed: cannot register CLI option"

7 years agoMerge "Update release note for Colorado 3.0"
Rex Lee [Mon, 28 Nov 2016 03:20:04 +0000 (03:20 +0000)]
Merge "Update release note for Colorado 3.0"

7 years agoMerge "Create API to get test case result"
Rex Lee [Mon, 28 Nov 2016 01:14:45 +0000 (01:14 +0000)]
Merge "Create API to get test case result"

7 years agoArgsAlreadyParsedError: arguments already parsed: cannot register CLI option 77/24877/1
chenjiankun [Fri, 25 Nov 2016 02:57:50 +0000 (02:57 +0000)]
ArgsAlreadyParsedError: arguments already parsed: cannot register CLI option

JIRA: YARDSTICK-216

When I call YardstickCLI  in flask, it will always encounter a
ArgsAlreadyParsedError if the API run test case more than two times.

In YardstickCLI, if I just call CONF.clear(), it will occur another
error due to other opts not unregister. I don’t know if the problem
is on the oslo.config side.

I solve the problem by unregister the opts.

Change-Id: Ic898c8d62625785ceb793c75e8210ac354ac63bf
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
7 years agoCreate API to get test case result 35/24635/3
chenjiankun [Tue, 22 Nov 2016 00:14:57 +0000 (00:14 +0000)]
Create API to get test case result

JIRA: YARDSTICK-416

Change-Id: I722566bb0e5bc5288cd6302559e56a3f92ebbeca
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
7 years agoFix the conflict in yardstick.conf between API and CI 31/24831/2
chenjiankun [Thu, 24 Nov 2016 07:07:07 +0000 (07:07 +0000)]
Fix the conflict in yardstick.conf between API and CI

JIRA: YARDSTICK-421

In the Docker image, the default dispatcher value in yardstick.conf is local influxDB.
But the CI will set another.
It will cause a conflict.
So I '>' to cover yardstick.conf file.

Change-Id: I7088682e952ee7bb84f6872a49a24296d676a9cb
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
7 years agoMerge "Deployment for API"
Jing Lu [Thu, 24 Nov 2016 06:36:31 +0000 (06:36 +0000)]
Merge "Deployment for API"

7 years agoUpdate release note for Colorado 3.0 11/24811/1
JingLu5 [Thu, 24 Nov 2016 03:48:48 +0000 (11:48 +0800)]
Update release note for Colorado 3.0

Change-Id: Ic83a0b02ea1ca77b5073c80fada6d8f45ff2e399
Signed-off-by: JingLu5 <lvjing5@huawei.com>
7 years agoMerge "influx: use urlsplit.hostname instead of netloc"
Jing Lu [Thu, 24 Nov 2016 03:22:27 +0000 (03:22 +0000)]
Merge "influx: use urlsplit.hostname instead of netloc"

7 years agoMerge "Upgrade yardstick VM image from Ubuntu 14.04 to 16.04"
Jing Lu [Thu, 24 Nov 2016 02:24:10 +0000 (02:24 +0000)]
Merge "Upgrade yardstick VM image from Ubuntu 14.04 to 16.04"

7 years agoDeployment for API 83/24683/2
chenjiankun [Tue, 22 Nov 2016 16:06:04 +0000 (16:06 +0000)]
Deployment for API

JIRA: YARDSTICK-418

Set yardstick.conf in /etc/yardstick/ to config yardstick output way
Set nginx config file
Set nginx service and uwsgi service start when boot

Change-Id: I5749042ae1b05feaf895cb0abffed7f9194b9cee
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
7 years agoinflux: use urlsplit.hostname instead of netloc 37/24737/1
Ross Brattain [Wed, 23 Nov 2016 06:19:49 +0000 (22:19 -0800)]
influx: use urlsplit.hostname instead of netloc

turns out urlsplit supports .hostname so we don't have to split netloc

Change-Id: I09614812296a216a369559bf55d66d94380feb94
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
7 years agossh.py: add flag to keep stdin open 11/24311/5
Ross Brattain [Mon, 14 Nov 2016 02:08:57 +0000 (18:08 -0800)]
ssh.py: add flag to keep stdin open

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>
7 years agoCreate API to run test cases 79/24479/6
chenjiankun [Thu, 17 Nov 2016 08:01:14 +0000 (08:01 +0000)]
Create API to run test cases

JIRA: YARDSTICK-413

Change-Id: Ibf58b50b568fae3f2eea985b25ee33be0a3666b7
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
7 years agoMove requirement.txt from tests/ci/ to project root path 89/24489/1
chenjiankun [Thu, 17 Nov 2016 08:50:40 +0000 (08:50 +0000)]
Move requirement.txt from tests/ci/ to project root path

JIRA: YARDSTICK-414

Change-Id: I63e4fe1f8cb11ce3d7d94ba999aa3d0597a7c28e
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
7 years agoMerge "Yardstick installation unified (pip/setup)"
Kubi [Thu, 17 Nov 2016 07:45:00 +0000 (07:45 +0000)]
Merge "Yardstick installation unified (pip/setup)"

7 years agoMerge "Add os-odl_l2-fdio-ha scenario support"
Kubi [Wed, 16 Nov 2016 02:11:39 +0000 (02:11 +0000)]
Merge "Add os-odl_l2-fdio-ha scenario support"

7 years agoMerge "Add how to add/modify Yardstick Grafana dashboard in user guide"
Kubi [Wed, 16 Nov 2016 01:13:33 +0000 (01:13 +0000)]
Merge "Add how to add/modify Yardstick Grafana dashboard in user guide"