Explorar el Código

修正guest xml更新bug

James Iter hace 9 años
padre
commit
be652766c9
Se han modificado 2 ficheros con 5 adiciones y 4 borrados
  1. 1 1
      docs/todo.md
  2. 4 3
      models/event_processor.py

+ 1 - 1
docs/todo.md

@@ -10,7 +10,7 @@
 - [x] 统一 guest_disk 称谓为 disk
 - [x] 统计活着的宿主机,并提供获取列表的接口,供迁移时选择
 - [x] 分离出 API 与 views 出入口,涉及 add_rule 与 route_table
-- [ ] 加入被动更新 Guest xml 的功能,由宿主机主动推送。具体时机待定
+- [x] 加入被动更新 Guest xml 的功能,由宿主机主动推送。具体时机待定
 - [ ] 重置Guest密码功能
 - [ ] 增加模板镜像上传功能
 - [ ] 添加对 Guest 的IP管理功能

+ 4 - 3
models/event_processor.py

@@ -43,10 +43,9 @@ 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']
-        cls.guest.status = cls.message['type']
 
-        if cls.guest.status == GuestState.update.value:
+        if cls.message['type'] == GuestState.update.value:
+            cls.message['type'] = cls.guest.status
             cls.guest.xml = cls.message['message']['xml']
 
         elif cls.guest.status == GuestState.migrating.value:
@@ -87,6 +86,8 @@ 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