Skip to content

Commit a948cfa

Browse files
authored
Merge pull request #221 from Helene/fix_err_msg
Fix broken ERR messages
2 parents 422cc62 + 385154b commit a948cfa

File tree

6 files changed

+24
-15
lines changed

6 files changed

+24
-15
lines changed

source/collector.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
import copy
2525
import analytics
2626
from queryHandler.Query import Query
27-
from messages import MSG
27+
from messages import MSG, ERR
2828
from collections import defaultdict
2929
from typing import Optional, Any, List
3030
from threading import Thread
@@ -216,7 +216,7 @@ def get_zimon_query(self):
216216
if not self.metricsaggr and not self.sensor:
217217
self.logger.error(MSG['QueryError'].
218218
format('Missing metric or sensor name'))
219-
raise cherrypy.HTTPError(400, MSG[400])
219+
raise cherrypy.HTTPError(400, ERR[400])
220220

221221
if self.metricsaggr:
222222
for key, value in self.metricsaggr.items():

source/confgenerator.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,8 @@ def GET(self, **params):
111111

112112
conn = cherrypy.request.headers.get('Host').split(':')
113113
if int(conn[1]) != int(self.attr.get('prometheus')):
114+
self.logger.error(MSG['EndpointNotSupportedForPort'].
115+
format(cherrypy.request.script_name, str(conn[1])))
114116
raise cherrypy.HTTPError(400, ERR[400])
115117

116118
# generate prometheus.yml
@@ -122,9 +124,7 @@ def GET(self, **params):
122124

123125
else:
124126
self.logger.error(MSG['EndpointNotSupported'].format(cherrypy.request.script_name))
125-
raise cherrypy.HTTPError(400,
126-
MSG['EndpointNotSupported'].format(
127-
cherrypy.request.script_name))
127+
raise cherrypy.HTTPError(400, ERR[400])
128128

129129
del cherrypy.response.headers['Allow']
130130
cherrypy.response.headers['Access-Control-Allow-Origin'] = '*'

source/messages.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
'InconsistentParams': 'Received parameters {} inconsistent with request parameters {}',
4545
'SensorDisabled': 'Sensor for metric {} is disabled',
4646
'EndpointNotSupported': 'Endpoint {} you try to access is not supported',
47+
'EndpointNotSupportedForPort': 'Endpoint {} is not supported for port {}',
4748
'NoData': 'Empty results received', # Please check the pmcollector is properly configured and running.
4849
'NoSensorConfigData': 'No sensor configuration data parsed',
4950
'NoDataStartNextAttempt': 'No Metadata results received from the pmcollector. Start retry attempt {} in 60s (MAX_ATTEMPTS_COUNT:{})',

source/metadata.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
from queryHandler.Topo import Topo
2727
from queryHandler import SensorConfig
2828
from utils import execution_time
29-
from messages import MSG
29+
from messages import ERR, MSG
3030
from metaclasses import Singleton
3131
from time import sleep
3232

@@ -186,7 +186,7 @@ def update(self, refresh_all=False):
186186
self.__metaData = Topo(self.qh.getTopology())
187187
if not (self.metaData and self.metaData.topo):
188188
self.logger.error(MSG['NoData']) # Please check the pmcollector is properly configured and running.
189-
raise cherrypy.HTTPError(404, MSG[404])
189+
raise cherrypy.HTTPError(404, ERR[404])
190190
self.logger.details(MSG['MetaSuccess'])
191191
self.logger.debug(MSG['ReceivAttrValues'].format('parents', ", ".join(self.metaData.allParents)))
192192
return ({'msg': MSG['MetaSuccess']})

source/opentsdb.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,9 @@ def GET(self, **params):
283283

284284
conn = cherrypy.request.headers.get('Host').split(':')
285285
if int(conn[1]) != int(self.port):
286-
raise cherrypy.HTTPError(400, MSG[400])
286+
self.logger.error(MSG['EndpointNotSupportedForPort'].
287+
format(cherrypy.request.script_name, str(conn[1])))
288+
raise cherrypy.HTTPError(400, ERR[400])
287289

288290
# /api/suggest
289291
if 'suggest' in cherrypy.request.script_name:
@@ -307,6 +309,11 @@ def GET(self, **params):
307309
supportedFilters['pm_filter'] = filterDesc
308310
resp = supportedFilters
309311

312+
else:
313+
self.logger.error(MSG['EndpointNotSupported'].
314+
format(cherrypy.request.script_name))
315+
raise cherrypy.HTTPError(400, ERR[400])
316+
310317
del cherrypy.response.headers['Allow']
311318
cherrypy.response.headers['Access-Control-Allow-Origin'] = '*'
312319
# cherrypy.response.headers['Content-Type'] = 'application/json'
@@ -327,7 +334,7 @@ def POST(self):
327334
jreq = cherrypy.request.json
328335
if jreq.get('queries') is None:
329336
self.logger.error(MSG['QueryError'].format('empty'))
330-
raise cherrypy.HTTPError(400, MSG[400])
337+
raise cherrypy.HTTPError(400, ERR[400])
331338

332339
return self.query(jreq)
333340

source/prometheus.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
import cherrypy
2424
import json
2525
import analytics
26-
from messages import MSG
26+
from messages import ERR, MSG
2727
from typing import Optional
2828
from cherrypy.process.plugins import Monitor
2929
from collector import SensorCollector, QueryPolicy
@@ -151,7 +151,9 @@ def GET(self, **params):
151151

152152
conn = cherrypy.request.headers.get('Host').split(':')
153153
if int(conn[1]) != int(self.port):
154-
raise cherrypy.HTTPError(400, MSG[400])
154+
self.logger.error(MSG['EndpointNotSupportedForPort'].
155+
format(cherrypy.request.script_name, str(conn[1])))
156+
raise cherrypy.HTTPError(400, ERR[400])
155157

156158
if self.endpoints and self.endpoints.get(cherrypy.request.script_name,
157159
None):
@@ -169,10 +171,9 @@ def GET(self, **params):
169171
return resString
170172

171173
else:
172-
self.logger.error(MSG['EndpointNotSupported'].format(sensor))
173-
raise cherrypy.HTTPError(400,
174-
MSG['EndpointNotSupported'].format(
175-
cherrypy.request.script_name))
174+
self.logger.error(MSG['EndpointNotSupported'].
175+
format(cherrypy.request.script_name))
176+
raise cherrypy.HTTPError(400, ERR[400])
176177

177178
del cherrypy.response.headers['Allow']
178179
cherrypy.response.headers['Access-Control-Allow-Origin'] = '*'

0 commit comments

Comments
 (0)