diff options
Diffstat (limited to 'utils/test')
-rw-r--r-- | utils/test/dashboard/dashboard/conf/config.py | 4 | ||||
-rw-r--r-- | utils/test/dashboard/dashboard/elastic2kibana/main.py | 20 | ||||
-rw-r--r-- | utils/test/dashboard/dashboard/elastic2kibana/templates/qpi.json | 45 | ||||
-rw-r--r-- | utils/test/dashboard/dashboard/mongo2elastic/format.py | 18 | ||||
-rw-r--r-- | utils/test/dashboard/dashboard/mongo2elastic/main.py | 10 | ||||
-rw-r--r-- | utils/test/dashboard/dashboard/qtip/__init__.py | 0 | ||||
-rw-r--r-- | utils/test/dashboard/dashboard/qtip/testcases.yaml | 28 | ||||
-rw-r--r-- | utils/test/dashboard/etc/config.ini | 1 |
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 |