예제 #1
0
    def live_resize_cpus(self, userid, count):
        # Check power state is 'on'
        state = self.get_power_state(userid)
        if state != 'on':
            LOG.error("Failed to live resize cpus of guest %s, error: "
                      "guest is inactive, cann't perform live resize." %
                      userid)
            raise exception.SDKConflictError(modID='guest', rs=1,
                                             userid=userid)
        # Do live resize
        self._smutclient.live_resize_cpus(userid, count)

        LOG.info("Complete live resize cpu on vm %s", userid)
예제 #2
0
    def live_migrate_vm(self, userid, destination, parms, action):
        """Move an eligible, running z/VM(R) virtual machine transparently
        from one z/VM system to another within an SSI cluster."""
        # Check guest state is 'on'
        state = self.get_power_state(userid)
        if state != 'on':
            LOG.error("Failed to live migrate guest %s, error: "
                    "guest is inactive, cann't perform live migrate." %
                    userid)
            raise exception.SDKConflictError(modID='guest', rs=1,
                                             userid=userid)
        # Do live migrate
        if action.lower() == 'move':
            LOG.info("Moving the specific vm %s", userid)
            self._smtclient.live_migrate_move(userid, destination, parms)
            LOG.info("Complete move vm %s", userid)

        if action.lower() == 'test':
            LOG.info("Testing the eligiblity of specific vm %s", userid)
            self._smtclient.live_migrate_test(userid, destination)