コード例 #1
0
    def suspend(self):
        self.logger.info(" Suspending vSphere VM %s", self.name)

        if self.is_stopped:
            raise VMInstanceNotSuspended(self.name)
        else:
            self.raw.SuspendVM_Task()
            self.wait_for_state(VmState.SUSPENDED)
            return True
コード例 #2
0
ファイル: rhevm.py プロジェクト: tkhamis/wrapanapi
    def suspend(self):
        """
        Suspends the VM/instance.  Blocks until task completes.

        Returns: True if vm action has been initiated properly
        """
        self.wait_for_steady_state()
        self.logger.debug(' Suspending RHEV VM %s', self.name)
        if self.is_stopped:
            # TODO: possibly use ensure_state(VmState.RUNNING) here?
            raise VMInstanceNotSuspended(self.name)
        elif self.is_suspended:
            self.logger.info(' RHEV VM %s is already suspended.', self.name)
            return True
        else:
            self.api.suspend()
            self.wait_for_state(VmState.SUSPENDED)
            return True