summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--utils/test/dashboard/dashboard/conf/config.py4
-rw-r--r--utils/test/dashboard/dashboard/elastic2kibana/main.py20
-rw-r--r--utils/test/dashboard/dashboard/elastic2kibana/templates/qpi.json45
-rw-r--r--utils/test/dashboard/dashboard/mongo2elastic/format.py18
-rw-r--r--utils/test/dashboard/dashboard/mongo2elastic/main.py10
-rw-r--r--utils/test/dashboard/dashboard/qtip/__init__.py0
-rw-r--r--utils/test/dashboard/dashboard/qtip/testcases.yaml28
-rw-r--r--utils/test/dashboard/etc/config.ini1
8 files changed, 108 insertions, 18 deletions
diff --git a/utils/test/dashboard/dashboard/conf/config.py b/utils/test/dashboard/dashboard/conf/config.py
index 143b1939a..48fed8894 100644
--- a/utils/test/dashboard/dashboard/conf/config.py
+++ b/utils/test/dashboard/dashboard/conf/config.py
@@ -26,7 +26,6 @@ class APIConfig:
self.es_url = 'http://localhost:9200'
self.es_creds = None
self.kibana_url = None
- self.is_js = True
self.js_path = None
def _get_str_parameter(self, section, param):
@@ -67,7 +66,6 @@ class APIConfig:
obj.es_url = obj._get_str_parameter("elastic", "url")
obj.es_creds = obj._get_str_parameter("elastic", "creds")
obj.kibana_url = obj._get_str_parameter("kibana", "url")
- obj.is_js = obj._get_bool_parameter("kibana", "js")
obj.js_path = obj._get_str_parameter("kibana", "js_path")
return obj
@@ -76,9 +74,7 @@ class APIConfig:
return "elastic_url = %s \n" \
"elastic_creds = %s \n" \
"kibana_url = %s \n" \
- "is_js = %s \n" \
"js_path = %s \n" % (self.es_url,
self.es_creds,
self.kibana_url,
- self.is_js,
self.js_path)
diff --git a/utils/test/dashboard/dashboard/elastic2kibana/main.py b/utils/test/dashboard/dashboard/elastic2kibana/main.py
index 35a154307..9ee894279 100644
--- a/utils/test/dashboard/dashboard/elastic2kibana/main.py
+++ b/utils/test/dashboard/dashboard/elastic2kibana/main.py
@@ -64,13 +64,12 @@ class KibanaConstructor(object):
visualizations,
CONF.es_url,
CONF.es_creds)
- if CONF.is_js:
- self._set_js_dict(case,
- pod,
- installer,
- family,
- vis_p.get('name'),
- dashboard.id)
+ self._set_js_dict(case,
+ pod,
+ installer,
+ family,
+ vis_p.get('name'),
+ dashboard.id)
@staticmethod
def _construct_visualizations(project,
@@ -112,10 +111,9 @@ class KibanaConstructor(object):
js_installer[pod] = CONF.kibana_url + '#/dashboard/' + id
def config_js(self):
- if CONF.is_js:
- with open(CONF.js_path, 'w+') as conf_js_fdesc:
- conf_js_fdesc.write('var kibana_dashboard_links = ')
- conf_js_fdesc.write(str(self.js_dict).replace("u'", "'"))
+ with open(CONF.js_path, 'w+') as conf_js_fdesc:
+ conf_js_fdesc.write('var kibana_dashboard_links = ')
+ conf_js_fdesc.write(str(self.js_dict).replace("u'", "'"))
def _get_pods_and_scenarios(self, project, case, installer):
query = json.JSONEncoder().encode({
diff --git a/utils/test/dashboard/dashboard/elastic2kibana/templates/qpi.json b/utils/test/dashboard/dashboard/elastic2kibana/templates/qpi.json
new file mode 100644
index 000000000..a46f315ef
--- /dev/null
+++ b/utils/test/dashboard/dashboard/elastic2kibana/templates/qpi.json
@@ -0,0 +1,45 @@
+{% set aggs = aggs|default([]) -%}
+
+{
+ "title": "qpi",
+ "type": "line",
+ "listeners": {},
+ "params": {
+ "addLegend": true,
+ "shareYAxis": true,
+ "addTooltip": true,
+ "smoothLines": false,
+ "scale": "linear",
+ "interpolate": "linear",
+ "times": [],
+ "addTimeMarker": false,
+ "defaultYExtents": false,
+ "setYExtents": false,
+ "yAxis": {},
+ "mode": "stacked"
+ },
+ "aggs": [
+ {% for agg in aggs %}
+ {
+ "id": {{agg.id }},
+ "type": "avg",
+ "schema": "metric",
+ "params": {
+ "field": "{{agg.field}}"
+ }
+ },
+ {% endfor %}
+ {
+ "id": {{ aggs|length + 1 }},
+ "type": "date_histogram",
+ "schema": "segment",
+ "params": {
+ "field": "start_date",
+ "interval": "auto",
+ "customInterval": "2h",
+ "min_doc_count": 1,
+ "extended_bounds": {}
+ }
+ }
+ ]
+}
diff --git a/utils/test/dashboard/dashboard/mongo2elastic/format.py b/utils/test/dashboard/dashboard/mongo2elastic/format.py
index ef485bae0..0bbde1746 100644
--- a/utils/test/dashboard/dashboard/mongo2elastic/format.py
+++ b/utils/test/dashboard/dashboard/mongo2elastic/format.py
@@ -184,3 +184,21 @@ def format_vims(testcase):
}
}
return True
+
+
+def format_qpi(testcase):
+ """
+ Look for these and leave any of those:
+ details.index
+
+ If none are present, then return False
+ """
+ details = testcase['details']
+ if 'index' not in details:
+ return False
+
+ for key, value in details.items():
+ if key != 'index':
+ del details[key]
+
+ return True
diff --git a/utils/test/dashboard/dashboard/mongo2elastic/main.py b/utils/test/dashboard/dashboard/mongo2elastic/main.py
index a526d5319..303d82c6f 100644
--- a/utils/test/dashboard/dashboard/mongo2elastic/main.py
+++ b/utils/test/dashboard/dashboard/mongo2elastic/main.py
@@ -91,10 +91,16 @@ class DocumentVerification(object):
return self.skip
def _fix_date(self, date_string):
+ if date_string == 'None':
+ return None
if isinstance(date_string, dict):
return date_string['$date']
- else:
- return date_string[:-3].replace(' ', 'T') + 'Z'
+ if 'T' not in date_string:
+ date_string = date_string[:-3].replace(' ', 'T')
+ if not date_string.endswith('Z'):
+ date_string += 'Z'
+
+ return date_string
class DocumentPublisher(object):
diff --git a/utils/test/dashboard/dashboard/qtip/__init__.py b/utils/test/dashboard/dashboard/qtip/__init__.py
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/utils/test/dashboard/dashboard/qtip/__init__.py
diff --git a/utils/test/dashboard/dashboard/qtip/testcases.yaml b/utils/test/dashboard/dashboard/qtip/testcases.yaml
new file mode 100644
index 000000000..cd337cd73
--- /dev/null
+++ b/utils/test/dashboard/dashboard/qtip/testcases.yaml
@@ -0,0 +1,28 @@
+qtip:
+ -
+ name: compute_test_suite
+ format: qpi
+ test_family: compute
+ visualizations:
+ -
+ name: qpi
+ fields:
+ - field: details.index
+ -
+ name: network_test_suite
+ test_family: network
+ format: qpi
+ visualizations:
+ -
+ name: qpi
+ fields:
+ - field: details.index
+ -
+ name:storage_test_suite
+ format: qpi
+ test_family: storage
+ visualizations:
+ -
+ name: qpi
+ fields:
+ - field: details.index
diff --git a/utils/test/dashboard/etc/config.ini b/utils/test/dashboard/etc/config.ini
index 1e67bd822..d9327981e 100644
--- a/utils/test/dashboard/etc/config.ini
+++ b/utils/test/dashboard/etc/config.ini
@@ -6,5 +6,4 @@ creds =
[kibana]
url = http://10.63.243.17:5601/app/kibana
-js = true
js_path = /usr/share/nginx/html/kibana_dashboards/conf.js