26
26
from queryHandler .Topo import Topo
27
27
from queryHandler import SensorConfig
28
28
from utils import execution_time
29
- from messages import MSG
29
+ from messages import ERR , MSG
30
30
from metaclasses import Singleton
31
31
from time import sleep
32
32
@@ -129,14 +129,15 @@ def __initializeTables(self):
129
129
raise ValueError (MSG ['NoSensorConfigData' ])
130
130
MAX_ATTEMPTS_COUNT = 3
131
131
for attempt in range (1 , MAX_ATTEMPTS_COUNT + 1 ):
132
- self . __metaData = Topo ( self .qh .getTopology () )
133
- if not ( self . metaData and self . metaData . topo ) :
132
+ topoStr = self .qh .getTopology ()
133
+ if not topoStr :
134
134
if attempt > MAX_ATTEMPTS_COUNT :
135
135
break
136
136
# if no data returned because of the REST HTTP server is still starting, sleep and retry (max 3 times)
137
137
self .logger .warning (MSG ['NoDataStartNextAttempt' ].format (attempt , MAX_ATTEMPTS_COUNT ))
138
138
sleep (self .sleepTime )
139
139
else :
140
+ self .__metaData = Topo (topoStr )
140
141
foundItems = len (self .metaData .allParents ) - 1
141
142
sensors = self .metaData .sensorsSpec .keys ()
142
143
self .logger .info (MSG ['MetaSuccess' ])
@@ -155,10 +156,11 @@ def update(self, refresh_all=False):
155
156
if refresh_all :
156
157
self .__sensorsConf = SensorConfig .readSensorsConfigFromMMSDRFS (self .logger )
157
158
158
- self . __metaData = Topo ( self .qh .getTopology () )
159
- if not ( self . metaData and self . metaData . topo ) :
159
+ topoStr = self .qh .getTopology ()
160
+ if not topoStr :
160
161
self .logger .error (MSG ['NoData' ]) # Please check the pmcollector is properly configured and running.
161
- raise cherrypy .HTTPError (404 , MSG [404 ])
162
+ raise cherrypy .HTTPError (404 , ERR [404 ])
163
+ self .__metaData = Topo (topoStr )
162
164
self .logger .details (MSG ['MetaSuccess' ])
163
165
self .logger .debug (MSG ['ReceivAttrValues' ].format ('parents' , ", " .join (self .metaData .allParents )))
164
166
return ({'msg' : MSG ['MetaSuccess' ]})
0 commit comments