fix the data which post to sample inspector align to SB API 93/26593/6
authordongwenjuan <dong.wenjuan@zte.com.cn>
Fri, 30 Dec 2016 02:23:09 +0000 (10:23 +0800)
committerwenjuan dong <dong.wenjuan@zte.com.cn>
Tue, 3 Jan 2017 07:43:16 +0000 (07:43 +0000)
Change-Id: I18b0703541aa702ec833cd102260e92831a89e3a
Signed-off-by: dongwenjuan <dong.wenjuan@zte.com.cn>
tests/inspector.py
tests/monitor.py

index 129a386..3a0e9ad 100644 (file)
@@ -75,10 +75,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"
 
 
index 26c911d..75d8239 100644 (file)
@@ -78,33 +78,31 @@ class DoctorMonitorSample(object):
             time.sleep(self.interval)
 
     def report_error(self):
+        payload = [
+            {
+                'id': 'monitor_sample_id1',
+                'time': datetime.now().isoformat(),
+                'type': self.event_type,
+                'details': {
+                    'hostname': self.hostname,
+                    'status': 'down',
+                    'monitor': 'monitor_sample',
+                    'monitor_event_id': 'monitor_sample_event1'
+                },
+            },
+        ]
+        data = json.dumps(payload)
+
         if self.inspector_type == 'sample':
-            payload = {"type": self.event_type, "hostname": self.hostname}
-            data = json.dumps(payload)
             headers = {'content-type': 'application/json'}
             requests.post(self.inspector_url, data=data, headers=headers)
         elif self.inspector_type == 'congress':
-            data = [
-                {
-                    'id': 'monitor_sample_id1',
-                    'time': datetime.now().isoformat(),
-                    'type': self.event_type,
-                    'details': {
-                        'hostname': self.hostname,
-                        'status': 'down',
-                        'monitor': 'monitor_sample',
-                        'monitor_event_id': 'monitor_sample_event1'
-                    },
-                },
-            ]
-
             headers = {
                 'Content-Type': 'application/json',
                 'Accept': 'application/json',
                 'X-Auth-Token':self.session.get_token(),
             }
-
-            requests.put(self.inspector_url, data=json.dumps(data), headers=headers)
+            requests.put(self.inspector_url, data=data, headers=headers)
 
 
 def get_args():