aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2016-12-01Merge "switch logging to proper usage"Rex Lee31-97/+97
2016-12-01Merge "Modify url mapping to make API more Restful"Jing Lu2-4/+4
2016-12-01Merge "Use flask jsonify method to return json result"Jing Lu8-247/+6
2016-11-30switch logging to proper usageRoss Brattain31-97/+97
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>
2016-11-30Merge "centralize logging into root logger"Rex Lee5-21/+56
2016-11-30Merge "netperf_node test case improvement."Rex Lee3-22/+58
2016-11-30Modify url mapping to make API more Restfulchenjiankun2-4/+4
JIRA: YARDSTICK-435 Change-Id: Ief767ceca2979494ec0b4ea4d197fd399352b856 Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
2016-11-30BugFix: yardstick-docker-build-push failureJingLu51-0/+2
JIRA: YARDSTICK-434 Change-Id: I391403975bf4643c5658e666a165762d690c42bc Signed-off-by: JingLu5 <lvjing5@huawei.com>
2016-11-30Use flask jsonify method to return json resultchenjiankun8-247/+6
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>
2016-11-29centralize logging into root loggerRoss Brattain5-21/+56
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>
2016-11-30Merge "Bugfix: the API to get result do not work due to can't parse $"Jing Lu2-8/+14
2016-11-30Merge "Create API and command to create a influxDB container"Jing Lu15-34/+298
2016-11-30Merge "Decoupling prepare_env.sh and load_images.sh"Rex Lee2-10/+12
2016-11-30Bugfix: the API to get result do not work due to can't parse $chenjiankun2-8/+14
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>
2016-11-30Create API and command to create a influxDB containerchenjiankun15-34/+298
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>
2016-11-30netperf_node test case improvement.liyin3-22/+58
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>
2016-11-29Bugfix: dict don't have startwith method error when use API to run test casechenjiankun1-1/+1
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>
2016-11-29Merge "Move requirement.txt from tests/ci/ to project root path"Rex Lee1-79/+0
2016-11-29Merge "contexts/node: default to pod.yaml"Rex Lee1-2/+2
2016-11-29Decoupling prepare_env.sh and load_images.shJingLu52-10/+12
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>
2016-11-28bottlenecks test case supportliyin1-0/+43
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>
2016-11-28Merge "ArgsAlreadyParsedError: arguments already parsed: cannot register CLI ↵Kubi1-1/+16
option"
2016-11-28Merge "Update release note for Colorado 3.0"Rex Lee1-11/+33
2016-11-28Merge "Create API to get test case result"Rex Lee15-15/+295
2016-11-25ArgsAlreadyParsedError: arguments already parsed: cannot register CLI optionchenjiankun1-1/+16
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>
2016-11-24Create API to get test case resultchenjiankun15-15/+295
JIRA: YARDSTICK-416 Change-Id: I722566bb0e5bc5288cd6302559e56a3f92ebbeca Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
2016-11-24Fix the conflict in yardstick.conf between API and CIchenjiankun2-2/+2
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>
2016-11-24Merge "Deployment for API"Jing Lu5-0/+85
2016-11-24Update release note for Colorado 3.0JingLu51-11/+33
Change-Id: Ic83a0b02ea1ca77b5073c80fada6d8f45ff2e399 Signed-off-by: JingLu5 <lvjing5@huawei.com>
2016-11-24Merge "influx: use urlsplit.hostname instead of netloc"Jing Lu1-1/+1
2016-11-24Merge "Upgrade yardstick VM image from Ubuntu 14.04 to 16.04"Jing Lu34-42/+44
2016-11-23Deployment for APIchenjiankun5-0/+85
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>
2016-11-22influx: use urlsplit.hostname instead of netlocRoss Brattain1-1/+1
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>
2016-11-21Create API to run test caseschenjiankun19-7/+449
JIRA: YARDSTICK-413 Change-Id: Ibf58b50b568fae3f2eea985b25ee33be0a3666b7 Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
2016-11-17Move requirement.txt from tests/ci/ to project root pathchenjiankun1-79/+0
JIRA: YARDSTICK-414 Change-Id: I63e4fe1f8cb11ce3d7d94ba999aa3d0597a7c28e Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
2016-11-17Merge "Yardstick installation unified (pip/setup)"Kubi5-62/+126
2016-11-16Merge "Add os-odl_l2-fdio-ha scenario support"Kubi1-0/+30
2016-11-16Merge "Add how to add/modify Yardstick Grafana dashboard in user guide"Kubi1-18/+51
2016-11-16Merge "convert networkcapacity to LF"Kubi2-127/+127
2016-11-15Yardstick installation unified (pip/setup)chenjiankun5-62/+126
JIRA: YARDSTICK-394 Change-Id: I486aa24121b2ad8d66cd6df97ca86ef826862c91 Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
2016-11-14Merge "Create a constants.py to manage constant variable consistently"Kubi5-1/+56
2016-11-14Merge "Add task call entry in cli for REST API"Kubi2-3/+34
2016-11-14Merge "bugfix: ipv6 should log in controller node to setup"Kubi3-5/+37
2016-11-10convert networkcapacity to LFRoss Brattain2-127/+127
JIRA: YARDSTICK-408 Change-Id: Iec9ce9ac991ee80f9396827c7caf9c7026e11e3f Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2016-11-10contexts/node: default to pod.yamlRoss Brattain1-2/+2
We used to default to /etc/yardstick/nodes/pod.yaml but this was changed Recently I got a weird error 2016-11-10 01:18:03,404 - INFO - yardstick.benchmark.contexts.node - Parsing pod file: /root/isb/yardstick/ [Errno 21] Is a directory: '/root/isb/yardstick/' It looks like if file attr is not defined we default to self.file_path = "" which leads to a path ending with a '/' which is a directory so we get the weird Errno 21 error. I think we want to default to pod.yaml in YARDSTICK_ROOT_PATH JIRA: YARDSTICK-364 Change-Id: Iab1a2b935d1e380edc208af3ce4e4758e8424bfe Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2016-11-10add option to connect to non-standard ssh portRoss Brattain33-50/+138
not all enviroments have port 22 enabled for SSH. In particular for network isolation NAT and port forwarding may be used. example pod.yaml: nodes: - ip: 10.2.45.145 name: node1 password: '' role: Controller ssh_port: 5000 user: root - ip: 10.2.45.145 name: node2 password: '' role: Controller ssh_port: 5001 user: root - ip: 10.2.45.145 name: node3 password: '' role: Controller ssh_port: 5002 user: root JIRA: YARDSTICK-407 Change-Id: I8f9d6e388f31d291dd15cb900d7f71f347e41ef6 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2016-11-09Upgrade yardstick VM image from Ubuntu 14.04 to 16.04JingLu534-42/+44
JIRA: YARDSTICK-365 This patch upgrades the base Ubuntu version of Yardstick VM image from trusty(14.04) to xenial(16.04). If you still want to use Ubuntu 14.04 to build Yardstick custom image you can use command: sudo ./tools/yardstick-img-modify tools/ubuntu-server-cloudimg-modify.sh trusty And now the "yardstick-trusty-server" is rename as "yardstick-image". Change-Id: I0765f3aee2d17eea1ad2257d0f576cdb9ef2b18d Signed-off-by: JingLu5 <lvjing5@huawei.com>
2016-11-09bugfix: ipv6 should log in controller node to setuprexlee87763-5/+37
JIRA: YARDSTICK-363 Change-Id: Ic1f2ab98425512014d746a997b7356d3490c6b33 Signed-off-by: rexlee8776 <limingjiang@huawei.com>
2016-11-09Add task call entry in cli for REST APIchenjiankun2-3/+34
JIRA: YARDSTICK-368 This is to add api entry for api, the way to use cli will not be changed The command line will use main method, and the api will use api method The **kwargs in do_start will receive the args from api entry Change-Id: Ic487344436f4596cd2efd70e008c8ea862778f2e Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
2016-11-08Create a constants.py to manage constant variable consistentlychenjiankun5-1/+56
JIRA: YARDSTICK-378 Change-Id: I527d4f60f2a2081730118bdbbea6c19fc093672f Signed-off-by: chenjiankun <chenjiankun1@huawei.com>