diff --git a/ansible/roles/nova-cell/templates/nova.conf.d/libvirt.conf.j2 b/ansible/roles/nova-cell/templates/nova.conf.d/libvirt.conf.j2 index 3f599c051a..2a81411319 100644 --- a/ansible/roles/nova-cell/templates/nova.conf.d/libvirt.conf.j2 +++ b/ansible/roles/nova-cell/templates/nova.conf.d/libvirt.conf.j2 @@ -27,5 +27,6 @@ cpu_mode = {{ nova_libvirt_cpu_mode }} {% if enable_multipathd | bool %} volume_use_multipath = True {% endif %} +num_pcie_ports = 16 [workarounds] skip_cpu_compare_on_dest = True diff --git a/releasenotes/notes/fix-q35-pcie-hotplug-libvirt-50b1879d61b1df72.yaml b/releasenotes/notes/fix-q35-pcie-hotplug-libvirt-50b1879d61b1df72.yaml new file mode 100644 index 0000000000..380a4404b6 --- /dev/null +++ b/releasenotes/notes/fix-q35-pcie-hotplug-libvirt-50b1879d61b1df72.yaml @@ -0,0 +1,10 @@ +--- +upgrade: + - | + Configure Nova libvirt.num_pcie_ports to 16 by default. Nova currently + sets 'num_pcie_ports' to "0" (defaults to libvirt's "1"), which is + not sufficient for hotplug use with 'q35' machine type. +fixes: + - | + Fixes an issue where 'q35' libvirt machine type VM could not hotplug + more than one PCIe device at a time.