← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1511539] [NEW] libvirt evacute on ppcle failed with IDE controllers are unsupported for this QEMU binary or machine type

 

Public bug reported:

This is on a liberty release
In evacuate, the image_meta is empty. So, we would get the architecture information from host.

However, in the nova/virt/libvirt/blockinfo.py
get_disk_bus_for_device_type, we didn't have the bus type default for
ppcle or ppcle64. So, it ended up using IDE for cdrom or disk.

So, the evacuate would failed with

2015-10-26 22:23:51.413 103536 ERROR nova.compute.manager [instance: 3c8f8d24-ebcf-425a-b50d-4ddc08e7b92f]     rv = execute(f, *args, **kwargs)
2015-10-26 22:23:51.413 103536 ERROR nova.compute.manager [instance: 3c8f8d24-ebcf-425a-b50d-4ddc08e7b92f]   File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 122, in execute
2015-10-26 22:23:51.413 103536 ERROR nova.compute.manager [instance: 3c8f8d24-ebcf-425a-b50d-4ddc08e7b92f]     six.reraise(c, e, tb)
2015-10-26 22:23:51.413 103536 ERROR nova.compute.manager [instance: 3c8f8d24-ebcf-425a-b50d-4ddc08e7b92f]   File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 80, in tworker
2015-10-26 22:23:51.413 103536 ERROR nova.compute.manager [instance: 3c8f8d24-ebcf-425a-b50d-4ddc08e7b92f]     rv = meth(*args, **kwargs)
2015-10-26 22:23:51.413 103536 ERROR nova.compute.manager [instance: 3c8f8d24-ebcf-425a-b50d-4ddc08e7b92f]   File "/usr/lib64/python2.7/site-packages/libvirt.py", line 996, in createWithFlags
2015-10-26 22:23:51.413 103536 ERROR nova.compute.manager [instance: 3c8f8d24-ebcf-425a-b50d-4ddc08e7b92f]     if ret == -1: raise libvirtError ('virDomainCreateWithFlags() failed', dom=self)
2015-10-26 22:23:51.413 103536 ERROR nova.compute.manager [instance: 3c8f8d24-ebcf-425a-b50d-4ddc08e7b92f] libvirtError: unsupported configuration: IDE controllers are unsupported for this QEMU binary or machine type
2015-10-26 22:23:51.413 103536 ERROR nova.compute.manager [instance: 3c8f8d24-ebcf-425a-b50d-4ddc08e7b92f]


The if guestarch in (arch.PPC, arch.PPC64, arch.S390, arch.S390X): line needs to be updated to
if guestarch in (arch.PPC, arch.PPC64, arch.PPCLE, arch.PPC64LE, arch.S390, arch.S390X):


 nova/virt/libvirt/blockinfo.py get_disk_bus_for_device_type
...
    elif virt_type in ("qemu", "kvm"):
        if device_type == "cdrom":
            guestarch = libvirt_utils.get_arch(image_meta)
            if guestarch in (arch.PPC, arch.PPC64, arch.S390, arch.S390X):
                return "scsi"
            else:
                return "ide"
        elif device_type == "disk":
            return "virtio"
        elif device_type == "floppy":
            return "fdc"

** Affects: nova
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1511539

Title:
  libvirt evacute on ppcle failed with IDE controllers are unsupported
  for this QEMU binary or machine type

Status in OpenStack Compute (nova):
  New

Bug description:
  This is on a liberty release
  In evacuate, the image_meta is empty. So, we would get the architecture information from host.

  However, in the nova/virt/libvirt/blockinfo.py
  get_disk_bus_for_device_type, we didn't have the bus type default for
  ppcle or ppcle64. So, it ended up using IDE for cdrom or disk.

  So, the evacuate would failed with

  2015-10-26 22:23:51.413 103536 ERROR nova.compute.manager [instance: 3c8f8d24-ebcf-425a-b50d-4ddc08e7b92f]     rv = execute(f, *args, **kwargs)
  2015-10-26 22:23:51.413 103536 ERROR nova.compute.manager [instance: 3c8f8d24-ebcf-425a-b50d-4ddc08e7b92f]   File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 122, in execute
  2015-10-26 22:23:51.413 103536 ERROR nova.compute.manager [instance: 3c8f8d24-ebcf-425a-b50d-4ddc08e7b92f]     six.reraise(c, e, tb)
  2015-10-26 22:23:51.413 103536 ERROR nova.compute.manager [instance: 3c8f8d24-ebcf-425a-b50d-4ddc08e7b92f]   File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 80, in tworker
  2015-10-26 22:23:51.413 103536 ERROR nova.compute.manager [instance: 3c8f8d24-ebcf-425a-b50d-4ddc08e7b92f]     rv = meth(*args, **kwargs)
  2015-10-26 22:23:51.413 103536 ERROR nova.compute.manager [instance: 3c8f8d24-ebcf-425a-b50d-4ddc08e7b92f]   File "/usr/lib64/python2.7/site-packages/libvirt.py", line 996, in createWithFlags
  2015-10-26 22:23:51.413 103536 ERROR nova.compute.manager [instance: 3c8f8d24-ebcf-425a-b50d-4ddc08e7b92f]     if ret == -1: raise libvirtError ('virDomainCreateWithFlags() failed', dom=self)
  2015-10-26 22:23:51.413 103536 ERROR nova.compute.manager [instance: 3c8f8d24-ebcf-425a-b50d-4ddc08e7b92f] libvirtError: unsupported configuration: IDE controllers are unsupported for this QEMU binary or machine type
  2015-10-26 22:23:51.413 103536 ERROR nova.compute.manager [instance: 3c8f8d24-ebcf-425a-b50d-4ddc08e7b92f]

  
  The if guestarch in (arch.PPC, arch.PPC64, arch.S390, arch.S390X): line needs to be updated to
  if guestarch in (arch.PPC, arch.PPC64, arch.PPCLE, arch.PPC64LE, arch.S390, arch.S390X):

  
   nova/virt/libvirt/blockinfo.py get_disk_bus_for_device_type
  ...
      elif virt_type in ("qemu", "kvm"):
          if device_type == "cdrom":
              guestarch = libvirt_utils.get_arch(image_meta)
              if guestarch in (arch.PPC, arch.PPC64, arch.S390, arch.S390X):
                  return "scsi"
              else:
                  return "ide"
          elif device_type == "disk":
              return "virtio"
          elif device_type == "floppy":
              return "fdc"

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1511539/+subscriptions


Follow ups