summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2016-12-01Add API to run test case under samples directorychenjiankun4-0/+53
JIRA: YARDSTICK-432 Change-Id: I8ca6409449e2b960ac9f48c8eb8a6ae9959a4fc8 Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
2016-12-01Merge "Clone the corresponding branch of the repo according to the job branch"Jing Lu1-2/+2
2016-12-01Merge "ssh.py: add flag to keep stdin open"Rex Lee2-10/+37
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-30Clone the corresponding branch of the repo according to the job branchjose.lausuch1-2/+2
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>
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-21ssh.py: add flag to keep stdin openRoss Brattain2-10/+37
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>
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>