'DEVICE_HEALTH_IN_USE': [],
}
devs = self.get("devices")
+ now = datetime.now()
+ osdmap = self.get("osd_map")
+ assert osdmap is not None
for dev in devs['devices']:
devid = dev['devid']
if 'life_expectancy_min' not in dev:
'%Y-%m-%d %H:%M:%S.%f')
self.log.debug('device %s expectancy min %s', dev,
life_expectancy_min)
- now = datetime.now()
if life_expectancy_min - now <= mark_out_threshold_td:
if self.self_heal:
osds_in = []
osds_out = []
for _id in osd_ids:
- if self.is_osd_in(_id):
+ if self.is_osd_in(osdmap, _id):
osds_in.append(_id)
else:
osds_out.append(_id)
self.set_health_checks(checks)
return (0,"","")
- def is_osd_in(self, osd_id):
- osdmap = self.get("osd_map")
- assert osdmap is not None
+ def is_osd_in(self, osdmap, osd_id):
for osd in osdmap['osds']:
if str(osd_id) == str(osd['osd']):
return bool(osd['in'])