def test_vm_define(self): vm_dataset_obj = Query({'hostname': VM_HOSTNAME}, VM_ATTRIBUTES).get() hv = Hypervisor(vm_dataset_obj['hypervisor']) vm = VM(vm_dataset_obj, hv) vm_stop(VM_HOSTNAME) hv.undefine_vm(vm, keep_storage=True) self.check_vm_absent() vm_define(VM_HOSTNAME) self.check_vm_present()
def test_delete(self): vm_build(VM_HOSTNAME) self.check_vm_present() # Fails while VM is powered on with self.assertRaises(IGVMError): vm_delete(VM_HOSTNAME) vm_stop(VM_HOSTNAME) vm_delete(VM_HOSTNAME, retire=True) self.check_vm_absent()
def test_start_stop(self): # Doesn't fail, but should print a message vm_start(VM_HOSTNAME) self.check_vm_present() vm_restart(VM_HOSTNAME) self.check_vm_present() vm_stop(VM_HOSTNAME) self.assertEqual(self.vm.is_running(), False) vm_start(VM_HOSTNAME) self.assertEqual(self.vm.is_running(), True) vm_stop(VM_HOSTNAME, force=True) self.assertEqual(self.vm.is_running(), False) vm_start(VM_HOSTNAME) vm_restart(VM_HOSTNAME, force=True) self.check_vm_present()
def test_rebuild(self): vm_build(VM_HOSTNAME) # Build the VM again, this must fail, as it is already built with self.assertRaises(IGVMError): vm_build(VM_HOSTNAME) # Create files on VM to check later if the VM was really rebuilt with _get_vm(VM_HOSTNAME) as vm: vm.run('touch /root/initial_canary') vm.run('test -f /root/initial_canary') # Now stop it and rebuild it vm_stop(VM_HOSTNAME) vm_build(VM_HOSTNAME, rebuild=True) self.check_vm_present() # The VM was rebuild and thus the test file must be gone with _get_vm(VM_HOSTNAME) as vm: vm.run('test ! -f /root/initial_canary')