Beispiel #1
0
    def run(self):
        '''
        暂停指定的时间,到时间后执行一些列动作
        '''
        time.sleep(self.seconds)
        result = running_t.query_one(uuid=self.uuid)
        if result:
            if cond.acquire():
                # 从running_dict中删除用户
                try:
                    del_vm_in_mem(self.uuid)
                    # nginx负载均衡中删除主机
                    del_nginx_host(self.uuid)
                except Exception, e:
                    LOG.exception(e)
                # 从running_t中删除用户
                running_t.delete(uuid=self.uuid)
                # 调用openstack删除主机
                nova_api.delete_vm(self.uuid)

                # 更新backup_t中的deleted_time
                deleted_time = time.time()
                backup_t.update(dict(uuid=self.uuid),
                                deleted_time=deleted_time)

                # 通知排队线程
                cond.notify()
                cond.release()
                return
 def run(self):
     '''
     暂停指定的时间,到时间后执行一些列动作
     '''
     time.sleep(self.seconds)
     result = running_t.query_one(uuid=self.uuid)
     if result:
         if cond.acquire():
             # 从running_dict中删除用户
             try:
                 del_vm_in_mem(self.uuid)
                 # nginx负载均衡中删除主机
                 del_nginx_host(self.uuid)
             except Exception, e:
                 LOG.exception(e)
             # 从running_t中删除用户
             running_t.delete(uuid=self.uuid)
             # 调用openstack删除主机
             nova_api.delete_vm(self.uuid)
             
             # 更新backup_t中的deleted_time
             deleted_time = time.time()
             backup_t.update(dict(uuid=self.uuid), deleted_time=deleted_time)
             
             # 通知排队线程
             cond.notify()
             cond.release()
             return
Beispiel #3
0
 def run(self):
     if cond.acquire():
         del_vm_in_mem(self.uuid)
         # 当调用cloudopen接口处理失败时,调用tornado返回500
         try:
             nova_api.delete_vm(self.uuid)
         except Exception, e:
             LOG.exception(e)
             running_t.delete(uuid=self.uuid)
             
             # 更新backup_t中的deleted_time
             deleted_time = time.time()
             backup_t.update(dict(uuid=self.uuid), deleted_time=deleted_time)
             
             self.obj.send_error(500)
             return
         else:
             try:
                 del_nginx_host(self.uuid)
             except Exception, e:
                 LOG.exception(e)
Beispiel #4
0
    def run(self):
        if cond.acquire():
            del_vm_in_mem(self.uuid)
            # 当调用cloudopen接口处理失败时,调用tornado返回404
            try:
                del_nginx_host(self.uuid)
                nova_api.delete_vm(self.uuid)
            except Exception, e:
                LOG.exception(e)
                self.obj.send_error(500)
            running_t.delete(uuid=self.uuid)

            # 更新backup_t中的deleted_time
            deleted_time = time.time()
            backup_t.update(dict(uuid=self.uuid), deleted_time=deleted_time)

            # 当全部处理成功后,调用tornado返回成功状态
            self.obj.write({"status": 0})
            tornado.ioloop.IOLoop.instance().add_callback(self.obj.on_write)

            cond.notify()
            cond.release()
            return
 def run(self):
     if cond.acquire():
         del_vm_in_mem(self.uuid)
         # 当调用cloudopen接口处理失败时,调用tornado返回404
         try:
             del_nginx_host(self.uuid)
             nova_api.delete_vm(self.uuid)
         except Exception, e:
             LOG.exception(e)
             self.obj.send_error(500)
         running_t.delete(uuid=self.uuid)
         
         # 更新backup_t中的deleted_time
         deleted_time = time.time()
         backup_t.update(dict(uuid=self.uuid), deleted_time=deleted_time)
         
         # 当全部处理成功后,调用tornado返回成功状态
         self.obj.write({"status": 0})
         tornado.ioloop.IOLoop.instance().add_callback(self.obj.on_write)
         
         cond.notify()
         cond.release()
         return