-
Notifications
You must be signed in to change notification settings - Fork 1.3k
kvm: pre-add 32 PCI controller for hot-plug issue #4182
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
kvm: pre-add 32 PCI controller for hot-plug issue #4182
Conversation
On newer libvirt/qemu it seems PCI hot-plugging could be an issue as seen in: https://www.suse.com/support/kb/doc/?id=000019383 https://bugs.launchpad.net/nova/+bug/1836065 As per the default machine doc, it advises to pre-allocate PCI controllers on the machine and pcie-to-pci-bridge based controller for legacy PCI models: https://libvirt.org/pci-hotplug.html#x86_64-q35 This patch introduces the concept as a workaround until a proper fix is done (ideally in the upstream libvirt/qemu projects). Until then client code can add 32 PCI controllers and a pcie-to-pci-bridge controller. Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com> (cherry picked from commit 532b234) Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
|
@kiwiflyer @weizhouapache @wido @GabrielBrascher @nvazquez @andrijapanicsb |
|
@blueorangutan package |
|
@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress. |
|
Packaging result: ✔centos7 ✔debian. JID-1474 |
|
@blueorangutan test |
|
@rhtyd a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests |
|
@blueorangutan test |
|
@rhtyd a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests |
|
@rhtyd I have no objection to this implementation as a work-around. I researched some alternatives, one would be Using PCI Hotplug Support. But that requires Hotplug drivers installed on all KVM nodes; and then use qemu monitor to add the devices on demand. |
|
@blueorangutan test |
|
@rhtyd a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests |
|
@blueorangutan test |
|
@rhtyd a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests |
|
On hold - tests are failing, needs investigation and explore best case solution |
|
Closing this, moved to #5193 |
On newer libvirt/qemu it seems PCI hot-plugging could be an issue as
seen in:
https://www.suse.com/support/kb/doc/?id=000019383
https://bugs.launchpad.net/nova/+bug/1836065
As per the default machine doc, it advises to pre-allocate PCI
controllers on the machine and pcie-to-pci-bridge based controller
for legacy PCI models:
https://libvirt.org/pci-hotplug.html#x86_64-q35
This patch introduces the concept as a workaround until a proper fix is
done (ideally in the upstream libvirt/qemu projects). Until then client
code can add 32 PCI controllers and a pcie-to-pci-bridge controller.
Types of changes
How Has This Been Tested?
On this env:
I was unable to add nic to a VM (beyond 3 nics) and got the error "No more available PCI slots". After this workaround/fix I was able to add nic and disks to the VM. (The VM was using virtio-scsi for disks and virtio based nics on PCI controller)