Ejemplo n.º 1
0
    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)
Ejemplo n.º 2
0
    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)
Ejemplo n.º 3
0
    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)
Ejemplo n.º 4
0
    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)
Ejemplo n.º 5
0
    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)
Ejemplo n.º 6
0
 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)
Ejemplo n.º 7
0
    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)
Ejemplo n.º 8
0
    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
        )
Ejemplo n.º 9
0
    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)
Ejemplo n.º 10
0
    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)
Ejemplo n.º 11
0
    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)