class FaultManagement(object):
- def __init__(self, conf, installer, user, log):
+ def __init__(self, conf, installer, user, log, transport_url):
self.conf = conf
self.log = log
self.user = user
self.network = Network(self.conf, log)
self.instance = Instance(self.conf, log)
self.alarm = Alarm(self.conf, log)
- self.inspector = get_inspector(self.conf, log)
+ self.inspector = get_inspector(self.conf, log, transport_url)
self.monitor = get_monitor(self.conf,
self.inspector.get_inspector_url(),
log)
notification_time = \
self.consumer.notified_time - \
self.monitor.detected_time
+
+ self.log.info('doctor fault management notification_time=%s'
+ % notification_time)
+
if notification_time < 1 and notification_time > 0:
- self.log.info('doctor fault management test successfully,'
- 'notification_time=%s' % notification_time)
+ self.log.info('doctor fault management test successfully')
else:
+ if self.conf.profiler_type:
+ self.log.info('run doctor fault management profile.......')
+ self.run_profiler()
+
raise Exception('doctor fault management test failed, '
'notification_time=%s' % notification_time)
detected = self.monitor.detected_time
notified = self.consumer.notified_time
+ if None in [vmdown, hostdown, detected, notified]:
+ self.log.info('one of the time for profiler is None, return')
+ return
+
# TODO(yujunz) check the actual delay to verify time sync status
# expected ~1s delay from $trigger to $linkdown
relative_start = linkdown