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
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