Procházet zdrojové kódy

修正guest 事件 处理 bug

James Iter před 9 roky
rodič
revize
32c14c4da0
1 změnil soubory, kde provedl 5 přidání a 3 odebrání
  1. 5 3
      models/event_processor.py

+ 5 - 3
models/event_processor.py

@@ -43,9 +43,13 @@ class EventProcessor(object):
     def guest_event_processor(cls):
         cls.guest.uuid = cls.message['message']['uuid']
         cls.guest.get_by('uuid')
+        cls.guest.on_host = cls.message['host']
+        last_status = cls.guest.status
+        cls.guest.status = cls.message['type']
 
         if cls.message['type'] == GuestState.update.value:
-            cls.message['type'] = cls.guest.status
+            # 更新事件不改变 Guest 的状态
+            cls.guest.status = last_status
             cls.guest.xml = cls.message['message']['xml']
 
         elif cls.guest.status == GuestState.migrating.value:
@@ -86,8 +90,6 @@ class EventProcessor(object):
 
                     cls.guest_migrate_info.create()
 
-        cls.guest.on_host = cls.message['host']
-        cls.guest.status = cls.message['type']
         cls.guest.update()
 
     @classmethod