def testGetExternalVMs(self): if not v2v.supported(): raise SkipTest('v2v is not supported current os version') def _connect(uri, username, passwd): return LibvirtMock(vms=self._VMS) with MonkeyPatchScope([(libvirtconnection, 'open_connection', _connect) ]): vms = v2v.get_external_vms('esx://mydomain', 'user', ProtectedPassword('password'))['vmList'] self.assertEqual(len(vms), len(self._VM_SPECS)) for vm, spec in zip(vms, self._VM_SPECS): self._assertVmMatchesSpec(vm, spec) self._assertVmDisksMatchSpec(vm, spec)
def testGetExternalVMs(self): if not v2v.supported(): raise SkipTest('v2v is not supported current os version') def _connect(uri, username, passwd): return LibvirtMock(vms=self._VMS) with MonkeyPatchScope([(libvirtconnection, 'open_connection', _connect)]): vms = v2v.get_external_vms('esx://mydomain', 'user', ProtectedPassword('password'))['vmList'] self.assertEqual(len(vms), len(self._VM_SPECS)) for vm, spec in zip(vms, self._VM_SPECS): self._assertVmMatchesSpec(vm, spec) self._assertVmDisksMatchSpec(vm, spec)
def testGetExternalVMs(self): if not v2v.supported(): raise SkipTest('v2v is not supported current os version') vms = v2v.get_external_vms('esx://mydomain', 'user', 'password') self.assertEquals(len(vms), 1) vm = vms[0] self.assertEquals(vm['vmId'], '564d7cb4-8e3d-06ec-ce82-7b2b13c6a611') self.assertEquals(vm['memSize'], 2048) self.assertEquals(vm['smp'], 1) self.assertEquals(len(vm['disks']), 1) self.assertEquals(len(vm['networks']), 1) disk = vm['disks'][0] self.assertEquals(disk['dev'], 'sda') self.assertEquals(disk['alias'], '[datastore1] RHEL/RHEL.vmdk') network = vm['networks'][0] self.assertEquals(network['type'], 'bridge') self.assertEquals(network['macAddr'], '00:0c:29:c6:a6:11') self.assertEquals(network['bridge'], 'VM Network')
def testGetExternalVMs(self): if not v2v.supported(): raise SkipTest('v2v is not supported current os version') vms = v2v.get_external_vms('esx://mydomain', 'user', ProtectedPassword('password'))['vmList'] self.assertEquals(len(vms), 1) vm = vms[0] self.assertEquals(vm['vmId'], '564d7cb4-8e3d-06ec-ce82-7b2b13c6a611') self.assertEquals(vm['memSize'], 2048) self.assertEquals(vm['smp'], 1) self.assertEquals(len(vm['disks']), 1) self.assertEquals(len(vm['networks']), 1) disk = vm['disks'][0] self.assertEquals(disk['dev'], 'sda') self.assertEquals(disk['alias'], '[datastore1] RHEL/RHEL.vmdk') network = vm['networks'][0] self.assertEquals(network['type'], 'bridge') self.assertEquals(network['macAddr'], '00:0c:29:c6:a6:11') self.assertEquals(network['bridge'], 'VM Network')
def testGetExternalVMsWithoutDisksInfo(self): if not v2v.supported(): raise SkipTest('v2v is not supported current os version') def internal_error(name): raise fake.Error(libvirt.VIR_ERR_INTERNAL_ERROR) # we need a sequence of just one vm mock = LibvirtMock(vms=self._VMS[:1]) mock.storageVolLookupByPath = internal_error def _connect(uri, username, passwd): return mock with MonkeyPatchScope([(libvirtconnection, 'open_connection', _connect) ]): vms = v2v.get_external_vms('esx://mydomain', 'user', ProtectedPassword('password'))['vmList'] self.assertEquals(len(vms), 1) self._assertVmMatchesSpec(vms[0], self._VM_SPECS[0]) for disk in vms[0]['disks']: self.assertNotIn('capacity', disk) self.assertNotIn('allocation', disk)
def testGetExternalVMsWithoutDisksInfo(self): if not v2v.supported(): raise SkipTest('v2v is not supported current os version') def internal_error(name): raise fake.Error(libvirt.VIR_ERR_INTERNAL_ERROR) # we need a sequence of just one vm mock = LibvirtMock(vms=self._VMS[:1]) mock.storageVolLookupByPath = internal_error def _connect(uri, username, passwd): return mock with MonkeyPatchScope([(libvirtconnection, 'open_connection', _connect)]): vms = v2v.get_external_vms('esx://mydomain', 'user', ProtectedPassword('password'))['vmList'] self.assertEquals(len(vms), 1) self._assertVmMatchesSpec(vms[0], self._VM_SPECS[0]) for disk in vms[0]['disks']: self.assertNotIn('capacity', disk) self.assertNotIn('allocation', disk)
def testGetExternalVMsWithXMLDescFailure(self): specs = list(self._VM_SPECS) def internal_error(flags=0): raise fake.Error(libvirt.VIR_ERR_INTERNAL_ERROR) fake_vms = [VmMock(*spec) for spec in specs] # Cause vm 1 to fail, so it would not appear in results fake_vms[1].XMLDesc = internal_error del specs[1] def _connect(uri, username, passwd): return LibvirtMock(vms=fake_vms) with MonkeyPatchScope([(libvirtconnection, 'open_connection', _connect) ]): vms = v2v.get_external_vms('esx://mydomain', 'user', ProtectedPassword('password'))['vmList'] self.assertEqual(len(vms), len(specs)) for vm, spec in zip(vms, specs): self._assertVmMatchesSpec(vm, spec) self._assertVmDisksMatchSpec(vm, spec)
def testGetExternalVMsWithXMLDescFailure(self): specs = list(self._VM_SPECS) def internal_error(flags=0): raise fake.Error(libvirt.VIR_ERR_INTERNAL_ERROR) fake_vms = [VmMock(*spec) for spec in specs] # Cause vm 1 to fail, so it would not appear in results fake_vms[1].XMLDesc = internal_error del specs[1] def _connect(uri, username, passwd): return LibvirtMock(vms=fake_vms) with MonkeyPatchScope([(libvirtconnection, 'open_connection', _connect)]): vms = v2v.get_external_vms('esx://mydomain', 'user', ProtectedPassword('password'))['vmList'] self.assertEqual(len(vms), len(specs)) for vm, spec in zip(vms, specs): self._assertVmMatchesSpec(vm, spec) self._assertVmDisksMatchSpec(vm, spec)