Add more timestamps and export them for profiler
[doctor.git] / tests / inspector.py
index 129a386..c1f9569 100644 (file)
@@ -54,6 +54,7 @@ class DoctorInspectorSample(object):
     def disable_compute_host(self, hostname):
         for server in self.servers[hostname]:
             self.nova.servers.reset_state(server, 'error')
+            LOG.info('doctor mark vm(%s) error at %s' % (server, time.time()))
 
         # NOTE: We use our own client here instead of this novaclient for a
         #       workaround.  Once keystone provides v2.1 nova api endpoint
@@ -63,6 +64,7 @@ class DoctorInspectorSample(object):
         # self.nova.services.force_down(hostname, 'nova-compute', True)
         #
         nova_force_down.force_down(hostname)
+        LOG.info('doctor mark host(%s) down at %s' % (hostname, time.time()))
 
 
 app = Flask(__name__)
@@ -75,10 +77,11 @@ def event_posted():
     LOG.info('inspector = %s' % inspector)
     LOG.info('received data = %s' % request.data)
     d = json.loads(request.data)
-    hostname = d['hostname']
-    event_type = d['type']
-    if event_type == 'compute.host.down':
-        inspector.disable_compute_host(hostname)
+    for event in d:
+        hostname = event['details']['hostname']
+        event_type = event['type']
+        if event_type == 'compute.host.down':
+            inspector.disable_compute_host(hostname)
     return "OK"