예제 #1
0
파일: Maintenance.py 프로젝트: smarkm/ovm
 def dom_migrate(self, auth, dom, src_node, dest_node, live=None):
     LOGGER.debug('In dom_migrate: \ndom, src_node, dest_node, live\n%s, %s, %s, %s' % (dom, src_node, dest_node, live))
     try:
         tc = TaskCreator()
         dom_ent = DBSession.query(Entity).filter(Entity.entity_id == dom.id).first()
         node_ent = dom_ent.parents[0]
         task_id = tc.migrate_vm(auth, [dom.id], node_ent.entity_id, dest_node.id, live, None, None, constants.Maintenance)
         self.maint_task_context['migrated_vms'].append((dom.id, task_id))
         self.update_maint_task_context()
         wait_time = dom.get_wait_time(constants.MIGRATE)
         wait_time = int(wait_time) + 3
         finished,status = self.wait_for_task_completion(task_id, wait_time)
         if finished == True and status == Task.SUCCEEDED:
             return True
     except Exception as e:
         traceback.print_exc()
         LOGGER.info('Error trying to migrate Virtual Machine,' + dom.name + '. ' + to_str(e))
     return False