From 206b428681a9ba31a0fe0200586b8e4913ab7eba Mon Sep 17 00:00:00 2001 From: Clark Boylan Date: Wed, 14 Oct 2015 13:22:44 -0700 Subject: [PATCH] Switch to kibana3 link generation This makes use of the kibana3 logstash dashboard's query and from parameters to link in queries similar to how we linked in kibana2 queries with base64 encoding. This however uses a saner urlencode instead of base64 so you should be able to read them as a human. Note we shouldn't land this until we have switched logstash.o.o over to kibana3. Change-Id: Idc1d637db7e1142a24adab2d21bc747d3002dd56 Depends-On: I176148c3bdaf603a1703d215ac2086101ecabe21 --- elastic_recheck/cmd/uncategorized_fails.py | 3 ++- elastic_recheck/query_builder.py | 11 +++-------- web/share/gate.html | 2 +- web/share/index.html | 2 +- 4 files changed, 7 insertions(+), 11 deletions(-) diff --git a/elastic_recheck/cmd/uncategorized_fails.py b/elastic_recheck/cmd/uncategorized_fails.py index b62a4346..985112d5 100755 --- a/elastic_recheck/cmd/uncategorized_fails.py +++ b/elastic_recheck/cmd/uncategorized_fails.py @@ -148,7 +148,8 @@ def classifying_rate(fails, data, engine, classifier): 'AND error_pr:["-1000.0" TO "-10.0"] ' % url['build_uuid']) logstash_query = qb.encode_logstash_query(query) - logstash_url = 'http://logstash.openstack.org/#%s' % logstash_query + logstash_url = 'http://logstash.openstack.org' \ + '/#/dashboard/file/logstash.json?%s' % logstash_query results = classifier.hits_by_query(query, size=1) if results: url['crm114'] = logstash_url diff --git a/elastic_recheck/query_builder.py b/elastic_recheck/query_builder.py index 3a93b243..da5164a5 100644 --- a/elastic_recheck/query_builder.py +++ b/elastic_recheck/query_builder.py @@ -18,8 +18,7 @@ A set of utility methods to build the kinds of queries that are needed by elastic recheck to talk with elastic search. """ -import base64 -import json +from six.moves.urllib.parse import urlencode def generic(raw_query, facet=None): @@ -134,9 +133,5 @@ def encode_logstash_query(query, timeframe=864000): and an optional timeframe argument. """ - urlq = dict(search=query, - fields=[], - offset=0, - timeframe=str(timeframe), - graphmode="count") - return base64.urlsafe_b64encode(json.dumps(urlq)) + timeframe = str(timeframe) + 's' + return urlencode({'query': query, 'from': timeframe}) diff --git a/web/share/gate.html b/web/share/gate.html index a995b352..8b0b0a88 100644 --- a/web/share/gate.html +++ b/web/share/gate.html @@ -70,7 +70,7 @@ {{/if}}
- Logstash + Logstash Launchpad diff --git a/web/share/index.html b/web/share/index.html index 4bc4861b..534f86be 100644 --- a/web/share/index.html +++ b/web/share/index.html @@ -73,7 +73,7 @@ {{/if}}
- Logstash + Logstash Launchpad