elif status == 'HEALTH_ERR':
return 2
-PG_STATES = ['creating', 'active', 'clean', 'down', 'scrubbing', 'degraded',
+PG_STATES = ['creating', 'active', 'clean', 'down', 'scrubbing', 'deep', 'degraded',
'inconsistent', 'peering', 'repair', 'recovering', 'forced-recovery',
'backfill', 'forced-backfill', 'wait-backfill', 'backfill-toofull',
'incomplete', 'stale', 'remapped', 'undersized', 'peered']
try:
self.metrics[path].set(value)
except KeyError:
- self.log.warn('Skipping unknown PG State {}'.format(state))
+ self.log.warn("skipping pg in unknown state {}".format(state))
reported_states = [s[0] for s in reported_pg_s]
for state in PG_STATES:
path = 'pg_{}'.format(state)
if state not in reported_states:
- self.metrics[path].set(0)
+ try:
+ self.metrics[path].set(0)
+ except KeyError:
+ self.log.warn("skipping pg in unknown state {}".format(state))
def get_metadata_and_osd_status(self):
osd_map = self.get('osd_map')