Exemple #1
0
 def test_get_vm_power_status(self):
     """Retrieve virtual machine power status; return power status object."""
     vm_name = 'test'
     vm = SpokeVMPowerXen(self.hv_uri, vm_name)
     result = vm.get()['data'][0]['state']
     expected_result = 'On'
     self.assertEquals(result, expected_result)
Exemple #2
0
def power_modify(vm_name, state):
    from spoke.lib.vm_power import SpokeVMPowerXen
    vmp = SpokeVMPowerXen(hv_uri, vm_name)
    try:
        result = vmp.modify(state)
    except error.SpokeError as e:
        result = common.handle_error(e)
    return result    
Exemple #3
0
def power_search(vm_name):
    from spoke.lib.vm_power import SpokeVMPowerXen
    vmp = SpokeVMPowerXen(hv_uri, vm_name)
    try:
        result = vmp.get()
    except error.SpokeError as e:
        result = common.handle_error(e)
    return result    
Exemple #4
0
def power_modify(vm_name, state):
    try:
        conf = _spoke_config(_salt_config('config'))
        hv_uri = conf.get('VM', 'hv_uri')
        vmp = SpokeVMPowerXen(hv_uri, vm_name)
        result = vmp.modify(state)
    except error.SpokeError as e:
        result = common.handle_error(e)
    return result
Exemple #5
0
def power_delete(vm_name, force=False):
    try:
        conf = _spoke_config(_salt_config('config'))
        hv_uri = conf.get('VM', 'hv_uri')
        vmp = SpokeVMPowerXen(hv_uri, vm_name)
        result = vmp.delete(force=force)
    except error.SpokeError as e:
        result = common.handle_error(e)
    return result
Exemple #6
0
 def test_force_poweroff_vm(self):
     """Force power off a running virtual machine object; return True"""
     vm_name = 'test'
     vm = SpokeVMPowerXen(self.hv_uri, vm_name)
     self.assertTrue(vm.delete(force=True))
Exemple #7
0
 def test_poweroff_stopped_vm(self):
     """Power off a non-running virtual machine object; raise VMStopped"""
     vm_name = 'test'
     vm = SpokeVMPowerXen(self.hv_uri, vm_name)
     vm.delete()
     self.assertRaises(error.VMStopped, vm.delete)
Exemple #8
0
import spoke.lib.mc_helper as mc

# TODO This only works for Xen until we can hide VM Storage types in the vm_storage module
from spoke.lib.vm_power import SpokeVMPowerXen

config_file = '/usr/local/pkg/spoke/etc/spoke.conf'
config = config.setup(config_file)
    
if __name__ == '__main__':
    log = logger.setup('main', verbose=False, quiet=True)
    mc = mc.MCollectiveAction()
    request = mc.request()
    try:
        hv_uri = config.get('VM', 'hv_uri')
        vm_name = request['data']['hostname']
        vmp = SpokeVMPowerXen(hv_uri, vm_name)
    except error.SpokeError, e:
        mc.fail(e.msg, e.exit_code)

    if request['action'] == 'search':
        try:
            mc.data = vmp.get()
        except error.SpokeError, e:
            mc.fail(e.msg, e.exit_code)        
    elif request['action'] == 'on':
        try:
            mc.data = vmp.create()
        except error.SpokeError, e:
            mc.fail(e.msg, e.exit_code)
    elif request['action'] == 'off':
        try:
Exemple #9
0
 def test_poweroff_vm(self):
     """Power off a running virtual machine object; return True"""
     vm_name = 'test'
     vm = SpokeVMPowerXen(self.hv_uri, vm_name)
     self.assertTrue(vm.delete)
Exemple #10
0
 def test_poweron_vm_twice(self):
     """Power on a running virtual machine object; raise VMRunning"""
     vm_name = 'test'
     vm = SpokeVMPowerXen(self.hv_uri, vm_name)
     self.assertRaises(error.VMRunning, vm.create)