Beispiel #1
0
 def stop(vmName):
     try:
         try:
             OvmHost()._getDomainIdByName(vmName)
         except NoVmFoundException, e:
             logger.info(OvmVm.stop, "vm %s is already stopped"%vmName)
             return SUCC()
             
         logger.info(OvmVm.stop, "Stop vm %s"%vmName)
         vmPath = OvmHost()._vmNameToPath(vmName)
         raiseExceptionIfFail(stop_vm(vmPath))
         return SUCC()
Beispiel #2
0
 def stop(vmName):
     try:
         try:
             OvmHost()._getDomainIdByName(vmName)
         except NoVmFoundException, e:
             logger.info(OvmVm.stop, "vm %s is already stopped"%vmName)
             return SUCC()
             
         logger.info(OvmVm.stop, "Stop vm %s"%vmName)
         vmPath = OvmHost()._vmNameToPath(vmName)
         # set the VM to RUNNING before starting, OVS agent will check this status
         set_vm_status(vmPath, 'RUNNING')
         raiseExceptionIfFail(stop_vm(vmPath))
         return SUCC()
Beispiel #3
0
         try:
             OvmHost()._getDomainIdByName(vmName)
         except NoVmFoundException, e:
             logger.info(OvmVm.stop, "vm %s is already stopped"%vmName)
             return SUCC()
             
         logger.info(OvmVm.stop, "Stop vm %s"%vmName)
         try:
             vmPath = OvmHost()._vmNameToPath(vmName)
         except Exception, e:
             errmsg = fmt_err_msg(e)
             logger.info(OvmVm.stop, "Cannot find link for vm %s on primary storage, treating it as stopped\n %s"%(vmName, errmsg))
             return SUCC()
         # set the VM to RUNNING before stopping, OVS agent will check this status
         set_vm_status(vmPath, 'RUNNING')
         raiseExceptionIfFail(stop_vm(vmPath))
         return SUCC()
     except Exception, e:
         errmsg = fmt_err_msg(e)
         logger.error(OvmVm.stop, errmsg)
         raise XmlRpcFault(toErrCode(OvmVm, OvmVm.stop), errmsg)
 
 @staticmethod
 def reboot(vmName):
     try:
         #===================================================================
         # Xend has a bug of reboot. If reboot vm too quick, xend return success
         # but actually it refused reboot (seen from log)
         # vmPath = successToMap(xen_get_vm_path(vmName))['path']
         # raiseExceptionIfFail(reset_vm(vmPath))
         #===================================================================
                logger.info(OvmVm.stop, "vm %s is already stopped" % vmName)
                return SUCC()

            logger.info(OvmVm.stop, "Stop vm %s" % vmName)
            try:
                vmPath = OvmHost()._vmNameToPath(vmName)
            except Exception, e:
                errmsg = fmt_err_msg(e)
                logger.info(
                    OvmVm.stop,
                    "Cannot find link for vm %s on primary storage, treating it as stopped\n %s"
                    % (vmName, errmsg))
                return SUCC()
            # set the VM to RUNNING before stopping, OVS agent will check this status
            set_vm_status(vmPath, 'RUNNING')
            raiseExceptionIfFail(stop_vm(vmPath))
            return SUCC()
        except Exception, e:
            errmsg = fmt_err_msg(e)
            logger.error(OvmVm.stop, errmsg)
            raise XmlRpcFault(toErrCode(OvmVm, OvmVm.stop), errmsg)

    @staticmethod
    def reboot(vmName):
        try:
            #===================================================================
            # Xend has a bug of reboot. If reboot vm too quick, xend return success
            # but actually it refused reboot (seen from log)
            # vmPath = successToMap(xen_get_vm_path(vmName))['path']
            # raiseExceptionIfFail(reset_vm(vmPath))
            #===================================================================