def test_get_disk_bus(self): expected = ((arch.X86_64, 'disk', 'virtio'), (arch.X86_64, 'cdrom', 'ide'), (arch.X86_64, 'floppy', 'fdc'), (arch.PPC, 'disk', 'virtio'), (arch.PPC, 'cdrom', 'scsi'), (arch.PPC64, 'disk', 'virtio'), (arch.PPC64, 'cdrom', 'scsi')) for guestarch, dev, res in expected: with mock.patch.object(blockinfo.libvirt_utils, 'get_arch', return_value=guestarch): bus = blockinfo.get_disk_bus_for_device_type('kvm', device_type=dev) self.assertEqual(res, bus) expected = (('scsi', None, 'disk', 'scsi'), (None, 'scsi', 'cdrom', 'scsi'), ('usb', None, 'disk', 'usb')) for dbus, cbus, dev, res in expected: image_meta = { 'properties': { 'hw_disk_bus': dbus, 'hw_cdrom_bus': cbus } } bus = blockinfo.get_disk_bus_for_device_type('kvm', image_meta, device_type=dev) self.assertEqual(res, bus) image_meta = {'properties': {'hw_disk_bus': 'xen'}} self.assertRaises(exception.UnsupportedHardware, blockinfo.get_disk_bus_for_device_type, 'kvm', image_meta)
def test_get_disk_bus(self): bus = blockinfo.get_disk_bus_for_device_type('kvm') self.assertEqual(bus, 'virtio') bus = blockinfo.get_disk_bus_for_device_type('kvm', device_type='cdrom') self.assertEqual(bus, 'ide') image_meta = {'properties': {'hw_disk_bus': 'scsi'}} bus = blockinfo.get_disk_bus_for_device_type('kvm', image_meta) self.assertEqual(bus, 'scsi') image_meta = { 'properties': { 'hw_disk_bus': 'usb', 'hw_cdrom_bus': 'scsi' } } bus = blockinfo.get_disk_bus_for_device_type('kvm', image_meta, device_type='cdrom') self.assertEqual(bus, 'scsi') bus = blockinfo.get_disk_bus_for_device_type('kvm', image_meta) self.assertEqual(bus, 'usb') image_meta = {'properties': {'hw_disk_bus': 'xen'}} self.assertRaises(exception.UnsupportedHardware, blockinfo.get_disk_bus_for_device_type, 'kvm', image_meta)
def test_get_disk_bus(self): bus = blockinfo.get_disk_bus_for_device_type('kvm') self.assertEqual(bus, 'virtio') bus = blockinfo.get_disk_bus_for_device_type('kvm', device_type='cdrom') self.assertEqual(bus, 'ide') image_meta = {'properties': {'disk_bus': 'scsi'}} bus = blockinfo.get_disk_bus_for_device_type('kvm', image_meta) self.assertEqual(bus, 'scsi') image_meta = {'properties': {'disk_bus': 'usb', 'cdrom_bus': 'scsi'}} bus = blockinfo.get_disk_bus_for_device_type('kvm', image_meta, device_type='cdrom') self.assertEqual(bus, 'scsi') bus = blockinfo.get_disk_bus_for_device_type('kvm', image_meta) self.assertEqual(bus, 'usb') image_meta = {'properties': {'disk_bus': 'xen'}} self.assertRaises(exception.UnsupportedHardware, blockinfo.get_disk_bus_for_device_type, 'kvm', image_meta)
def test_get_disk_bus(self): expected = (('x86_64', 'disk', 'virtio'), ('x86_64', 'cdrom', 'ide'), ('x86_64', 'floppy', 'fdc'), ('ppc', 'disk', 'virtio'), ('ppc', 'cdrom', 'scsi'), ('ppc64', 'disk', 'virtio'), ('ppc64', 'cdrom', 'scsi')) for arch, dev, res in expected: with mock.patch.object(blockinfo.libvirt_utils, 'get_arch', return_value=arch): bus = blockinfo.get_disk_bus_for_device_type('kvm', device_type=dev) self.assertEqual(bus, res) image_meta = {'properties': {'hw_disk_bus': 'scsi'}} bus = blockinfo.get_disk_bus_for_device_type('kvm', image_meta) self.assertEqual(bus, 'scsi') image_meta = { 'properties': { 'hw_disk_bus': 'usb', 'hw_cdrom_bus': 'scsi' } } bus = blockinfo.get_disk_bus_for_device_type('kvm', image_meta, device_type='cdrom') self.assertEqual(bus, 'scsi') bus = blockinfo.get_disk_bus_for_device_type('kvm', image_meta) self.assertEqual(bus, 'usb') image_meta = {'properties': {'hw_disk_bus': 'xen'}} self.assertRaises(exception.UnsupportedHardware, blockinfo.get_disk_bus_for_device_type, 'kvm', image_meta)
def test_get_disk_bus(self): expected = ( (arch.X86_64, "disk", "virtio"), (arch.X86_64, "cdrom", "ide"), (arch.X86_64, "floppy", "fdc"), (arch.PPC, "disk", "virtio"), (arch.PPC, "cdrom", "scsi"), (arch.PPC64, "disk", "virtio"), (arch.PPC64, "cdrom", "scsi"), (arch.S390, "disk", "virtio"), (arch.S390, "cdrom", "scsi"), (arch.S390X, "disk", "virtio"), (arch.S390X, "cdrom", "scsi"), ) image_meta = {} for guestarch, dev, res in expected: with mock.patch.object(blockinfo.libvirt_utils, "get_arch", return_value=guestarch): bus = blockinfo.get_disk_bus_for_device_type("kvm", image_meta, dev) self.assertEqual(res, bus) expected = (("scsi", None, "disk", "scsi"), (None, "scsi", "cdrom", "scsi"), ("usb", None, "disk", "usb")) for dbus, cbus, dev, res in expected: image_meta = {"properties": {"hw_disk_bus": dbus, "hw_cdrom_bus": cbus}} bus = blockinfo.get_disk_bus_for_device_type("kvm", image_meta, device_type=dev) self.assertEqual(res, bus) image_meta = {"properties": {"hw_disk_bus": "xen"}} self.assertRaises(exception.UnsupportedHardware, blockinfo.get_disk_bus_for_device_type, "kvm", image_meta)
def test_get_disk_bus_with_osinfo(self): self.useFixture(fixtures.MonkeyPatch("nova.virt.osinfo.libosinfo", fakelibosinfo)) instance = objects.Instance(**self.test_instance) image_meta = {"properties": {"os_name": "fedora22"}} image_meta = objects.ImageMeta.from_dict(image_meta) bus = blockinfo.get_disk_bus_for_device_type(instance, "kvm", image_meta) self.assertEqual("virtio", bus)
def test_get_disk_bus(self): instance = objects.Instance(**self.test_instance) expected = ( (arch.X86_64, 'disk', 'virtio'), (arch.X86_64, 'cdrom', 'ide'), (arch.X86_64, 'floppy', 'fdc'), (arch.PPC, 'disk', 'virtio'), (arch.PPC, 'cdrom', 'scsi'), (arch.PPC64, 'disk', 'virtio'), (arch.PPC64, 'cdrom', 'scsi'), (arch.S390, 'disk', 'virtio'), (arch.S390, 'cdrom', 'scsi'), (arch.S390X, 'disk', 'virtio'), (arch.S390X, 'cdrom', 'scsi') ) image_meta = objects.ImageMeta.from_dict(self.test_image_meta) for guestarch, dev, res in expected: with mock.patch.object(blockinfo.libvirt_utils, 'get_arch', return_value=guestarch): bus = blockinfo.get_disk_bus_for_device_type( instance, 'kvm', image_meta, dev) self.assertEqual(res, bus) expected = ( ('scsi', None, 'disk', 'scsi'), (None, 'scsi', 'cdrom', 'scsi'), ('usb', None, 'disk', 'usb') ) for dbus, cbus, dev, res in expected: props = {} if dbus is not None: props['hw_disk_bus'] = dbus if cbus is not None: props['hw_cdrom_bus'] = cbus image_meta = objects.ImageMeta.from_dict( {'properties': props}) bus = blockinfo.get_disk_bus_for_device_type( instance, 'kvm', image_meta, device_type=dev) self.assertEqual(res, bus) image_meta = objects.ImageMeta.from_dict( {'properties': {'hw_disk_bus': 'xen'}}) self.assertRaises(exception.UnsupportedHardware, blockinfo.get_disk_bus_for_device_type, instance, 'kvm', image_meta)
def test_get_disk_bus(self): instance = objects.Instance(**self.test_instance) expected = ( (arch.X86_64, "disk", "virtio"), (arch.X86_64, "cdrom", "ide"), (arch.X86_64, "floppy", "fdc"), (arch.PPC, "disk", "virtio"), (arch.PPC, "cdrom", "scsi"), (arch.PPC64, "disk", "virtio"), (arch.PPC64, "cdrom", "scsi"), (arch.PPCLE, "disk", "virtio"), (arch.PPCLE, "cdrom", "scsi"), (arch.PPC64LE, "disk", "virtio"), (arch.PPC64LE, "cdrom", "scsi"), (arch.S390, "disk", "virtio"), (arch.S390, "cdrom", "scsi"), (arch.S390X, "disk", "virtio"), (arch.S390X, "cdrom", "scsi"), (arch.AARCH64, "disk", "virtio"), (arch.AARCH64, "cdrom", "scsi"), ) image_meta = objects.ImageMeta.from_dict(self.test_image_meta) for guestarch, dev, res in expected: with mock.patch.object(blockinfo.libvirt_utils, "get_arch", return_value=guestarch): bus = blockinfo.get_disk_bus_for_device_type(instance, "kvm", image_meta, dev) self.assertEqual(res, bus) expected = (("scsi", None, "disk", "scsi"), (None, "scsi", "cdrom", "scsi"), ("usb", None, "disk", "usb")) for dbus, cbus, dev, res in expected: props = {} if dbus is not None: props["hw_disk_bus"] = dbus if cbus is not None: props["hw_cdrom_bus"] = cbus image_meta = objects.ImageMeta.from_dict({"properties": props}) bus = blockinfo.get_disk_bus_for_device_type(instance, "kvm", image_meta, device_type=dev) self.assertEqual(res, bus) image_meta = objects.ImageMeta.from_dict({"properties": {"hw_disk_bus": "xen"}}) self.assertRaises( exception.UnsupportedHardware, blockinfo.get_disk_bus_for_device_type, instance, "kvm", image_meta )
def test_get_disk_bus(self): bus = blockinfo.get_disk_bus_for_device_type("kvm") self.assertEqual(bus, "virtio") bus = blockinfo.get_disk_bus_for_device_type("kvm", device_type="cdrom") self.assertEqual(bus, "ide") image_meta = {"properties": {"disk_bus": "scsi"}} bus = blockinfo.get_disk_bus_for_device_type("kvm", image_meta) self.assertEqual(bus, "scsi") image_meta = {"properties": {"disk_bus": "usb", "cdrom_bus": "scsi"}} bus = blockinfo.get_disk_bus_for_device_type("kvm", image_meta, device_type="cdrom") self.assertEqual(bus, "scsi") bus = blockinfo.get_disk_bus_for_device_type("kvm", image_meta) self.assertEqual(bus, "usb") image_meta = {"properties": {"disk_bus": "xen"}} self.assertRaises(exception.UnsupportedHardware, blockinfo.get_disk_bus_for_device_type, "kvm", image_meta)
def test_get_disk_bus(self): expected = ( (arch.X86_64, 'disk', 'virtio'), (arch.X86_64, 'cdrom', 'ide'), (arch.X86_64, 'floppy', 'fdc'), (arch.PPC, 'disk', 'virtio'), (arch.PPC, 'cdrom', 'scsi'), (arch.PPC64, 'disk', 'virtio'), (arch.PPC64, 'cdrom', 'scsi'), (arch.S390, 'disk', 'virtio'), (arch.S390, 'cdrom', 'scsi'), (arch.S390X, 'disk', 'virtio'), (arch.S390X, 'cdrom', 'scsi') ) image_meta = {} for guestarch, dev, res in expected: with mock.patch.object(blockinfo.libvirt_utils, 'get_arch', return_value=guestarch): bus = blockinfo.get_disk_bus_for_device_type('kvm', image_meta, dev) self.assertEqual(res, bus) expected = ( ('scsi', None, 'disk', 'scsi'), (None, 'scsi', 'cdrom', 'scsi'), ('usb', None, 'disk', 'usb') ) for dbus, cbus, dev, res in expected: image_meta = {'properties': {'hw_disk_bus': dbus, 'hw_cdrom_bus': cbus}} bus = blockinfo.get_disk_bus_for_device_type('kvm', image_meta, device_type=dev) self.assertEqual(res, bus) image_meta = {'properties': {'hw_disk_bus': 'xen'}} self.assertRaises(exception.UnsupportedHardware, blockinfo.get_disk_bus_for_device_type, 'kvm', image_meta)
def test_get_disk_bus(self): expected = ( ('x86_64', 'disk', 'virtio'), ('x86_64', 'cdrom', 'ide'), ('x86_64', 'floppy', 'fdc'), ('ppc', 'disk', 'virtio'), ('ppc', 'cdrom', 'scsi'), ('ppc64', 'disk', 'virtio'), ('ppc64', 'cdrom', 'scsi') ) for arch, dev, res in expected: with mock.patch.object(blockinfo.libvirt_utils, 'get_arch', return_value=arch): bus = blockinfo.get_disk_bus_for_device_type('kvm', device_type=dev) self.assertEqual(bus, res) image_meta = {'properties': {'hw_disk_bus': 'scsi'}} bus = blockinfo.get_disk_bus_for_device_type('kvm', image_meta) self.assertEqual(bus, 'scsi') image_meta = {'properties': {'hw_disk_bus': 'usb', 'hw_cdrom_bus': 'scsi'}} bus = blockinfo.get_disk_bus_for_device_type('kvm', image_meta, device_type='cdrom') self.assertEqual(bus, 'scsi') bus = blockinfo.get_disk_bus_for_device_type('kvm', image_meta) self.assertEqual(bus, 'usb') image_meta = {'properties': {'hw_disk_bus': 'xen'}} self.assertRaises(exception.UnsupportedHardware, blockinfo.get_disk_bus_for_device_type, 'kvm', image_meta)