summaryrefslogtreecommitdiffstats
path: root/yardstick/dispatcher/http.py
diff options
context:
space:
mode:
authorQiLiang <liangqi1@huawei.com>2015-09-29 14:50:12 +0800
committerqi liang <liangqi1@huawei.com>2015-10-15 01:17:39 +0000
commitcd809cb6b8bd4bd5002538d107aea1fb8adb0584 (patch)
tree65b5b96f3f51628f519415e82c6b103fadff700a /yardstick/dispatcher/http.py
parenta1378b700a9234e7fcbf77c7890030b306bc65ea (diff)
Support general configuration file
Use openstack library oslo_config for parsing configuration options from the command line and configuration files. Refer http://docs.openstack.org/developer/oslo.config/ or rally source code for more info on oslo_config library usage. This patch is initially for test result dispatcher configuration, but it is very general to use. Usage: 0) install yardstick 1) mkdir /etc/yardstick 2) cp <repo_root_dir>/etc/yardstick/yardstick.conf.sample \ /etc/yardstick/yardstick.conf 3) edit /etc/yardstick/yardstick.conf 4) run `yardstick task start xxx` cmd JIRA: YARDSTICK-61 Change-Id: I01677ef6e9ab7c1975aa193799195e850da73478 Signed-off-by: QiLiang <liangqi1@huawei.com>
Diffstat (limited to 'yardstick/dispatcher/http.py')
-rw-r--r--yardstick/dispatcher/http.py28
1 files changed, 19 insertions, 9 deletions
diff --git a/yardstick/dispatcher/http.py b/yardstick/dispatcher/http.py
index c3230adb2..703cfca62 100644
--- a/yardstick/dispatcher/http.py
+++ b/yardstick/dispatcher/http.py
@@ -9,13 +9,29 @@
import json
import logging
-
import requests
+from oslo_config import cfg
+
from yardstick.dispatcher.base import Base as DispatchBase
LOG = logging.getLogger(__name__)
+CONF = cfg.CONF
+http_dispatcher_opts = [
+ cfg.StrOpt('target',
+ default='http://127.0.0.1:8000/results',
+ help='The target where the http request will be sent. '
+ 'If this is not set, no data will be posted. For '
+ 'example: target = http://hostname:1234/path'),
+ cfg.IntOpt('timeout',
+ default=5,
+ help='The max time in seconds to wait for a request to '
+ 'timeout.'),
+]
+
+CONF.register_opts(http_dispatcher_opts, group="dispatcher_http")
+
class HttpDispatcher(DispatchBase):
"""Dispatcher class for posting data into a http target.
@@ -23,17 +39,11 @@ class HttpDispatcher(DispatchBase):
__dispatcher_type__ = "Http"
- # TODO: make parameters below configurable, currently just hard coded
- # The target where the http request will be sent.
- target = "http://127.0.0.1:8000/results"
- # The max time in seconds to wait for a request to timeout.
- timeout = 5
-
def __init__(self, conf):
super(HttpDispatcher, self).__init__(conf)
self.headers = {'Content-type': 'application/json'}
- self.timeout = self.timeout
- self.target = self.target
+ self.timeout = CONF.dispatcher_http.timeout
+ self.target = CONF.dispatcher_http.target
def record_result_data(self, data):
if self.target == '':