sudo grubby --update-kernel=ALL --args="iommu=pt intel_iommu=on" echo 'GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX iommu=pt intel_iommu=on hugepagesz=1GB hugepages=32 default_hugepagesz=1GB"' >> /etc/sysconfig/grub grub2-mkconfig -o /boot/grub2/grub.cfg [zuul@compute-yk9jpqtr-0 ~]$ sudo grubby --update-kernel=ALL --args="iommu=pt intel_iommu=on" [zuul@compute-yk9jpqtr-0 ~]$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg [zuul@titan96 ~]$ virsh destroy cifmw-compute-yk9jpqtr-0 ... [zuul@titan96 ~]$ virt-xml cifmw-compute-yk9jpqtr-0 --add-device --controller type=usb,model=qemu-xhci [zuul@titan96 ~]$ virt-xml cifmw-compute-yk9jpqtr-0 --add-device --disk path=/var/lib/libvirt/images/usb16.qcow2,bus=usb,device=disk [zuul@titan96 ~]$ virsh start cifmw-compute-yk9jpqtr-0 Domain 'cifmw-compute-yk9jpqtr-0' started ... [zuul@compute-yk9jpqtr-0 ~]$ lspci -nn | grep -i xhci 0a:00.0 USB controller [0c03]: Red Hat, Inc. QEMU XHCI Host Controller [1b36:000d] (rev 01) 0b:00.0 USB controller [0c03]: Red Hat, Inc. QEMU XHCI Host Controller [1b36:000d] (rev 01) 0c:00.0 USB controller [0c03]: Red Hat, Inc. QEMU XHCI Host Controller [1b36:000d] (rev 01) 0d:00.0 USB controller [0c03]: Red Hat, Inc. QEMU XHCI Host Controller [1b36:000d] (rev 01) 0e:00.0 USB controller [0c03]: Red Hat, Inc. QEMU XHCI Host Controller [1b36:000d] (rev 01) 0f:00.0 USB controller [0c03]: Red Hat, Inc. QEMU XHCI Host Controller [1b36:000d] (rev 01) 10:00.0 USB controller [0c03]: Red Hat, Inc. QEMU XHCI Host Controller [1b36:000d] (rev 01) 11:00.0 USB controller [0c03]: Red Hat, Inc. QEMU XHCI Host Controller [1b36:000d] (rev 01) 12:00.0 USB controller [0c03]: Red Hat, Inc. QEMU XHCI Host Controller [1b36:000d] (rev 01) 13:00.0 USB controller [0c03]: Red Hat, Inc. QEMU XHCI Host Controller [1b36:000d] (rev 01) 14:00.0 USB controller [0c03]: Red Hat, Inc. QEMU XHCI Host Controller [1b36:000d] (rev 01) 15:00.0 USB controller [0c03]: Red Hat, Inc. QEMU XHCI Host Controller [1b36:000d] (rev 01) 16:00.0 USB controller [0c03]: Red Hat, Inc. QEMU XHCI Host Controller [1b36:000d] (rev 01) 17:00.0 USB controller [0c03]: Red Hat, Inc. QEMU XHCI Host Controller [1b36:000d] (rev 01) 18:00.0 USB controller [0c03]: Red Hat, Inc. QEMU XHCI Host Controller [1b36:000d] (rev 01) 19:00.0 USB controller [0c03]: Red Hat, Inc. QEMU XHCI Host Controller [1b36:000d] (rev 01) [zuul@compute-yk9jpqtr-0 ~]$ cat /var/lib/openstack/config/nova/55-nova-extra.conf [DEFAULT] # NetApp array is taking a while to attach due to the unroutable IPv6 # addresses, so the reimage operation of 1GB volume will take longer # than the default 20 seconds. reimage_timeout_per_gb = 60 [pci] device_spec = {"address": "0000:0a:00.0", "vendor_id":"1b36", "product_id":"000d"} device_spec = {"address": "0000:0b:00.0", "vendor_id":"1b36", "product_id":"000d"} device_spec = {"address": "0000:0c:00.0", "vendor_id":"1b36", "product_id":"000d"} device_spec = {"address": "0000:0d:00.0", "vendor_id":"1b36", "product_id":"000d"} device_spec = {"address": "0000:0e:00.0", "vendor_id":"1b36", "product_id":"000d"} device_spec = {"address": "0000:0f:00.0", "vendor_id":"1b36", "product_id":"000d"} device_spec = {"address": "0000:10:00.0", "vendor_id":"1b36", "product_id":"000d"} device_spec = {"address": "0000:11:00.0", "vendor_id":"1b36", "product_id":"000d"} device_spec = {"address": "0000:12:00.0", "vendor_id":"1b36", "product_id":"000d"} device_spec = {"address": "0000:13:00.0", "vendor_id":"1b36", "product_id":"000d"} device_spec = {"address": "0000:14:00.0", "vendor_id":"1b36", "product_id":"000d"} device_spec = {"address": "0000:15:00.0", "vendor_id":"1b36", "product_id":"000d"} device_spec = {"address": "0000:16:00.0", "vendor_id":"1b36", "product_id":"000d"} device_spec = {"address": "0000:17:00.0", "vendor_id":"1b36", "product_id":"000d"} device_spec = {"address": "0000:18:00.0", "vendor_id":"1b36", "product_id":"000d"} device_spec = {"address": "0000:19:00.0", "vendor_id":"1b36", "product_id":"000d"} alias = {"name": "usb_passthrough", "vendor_id": "1b36", "product_id": "000d"} report_in_placement = True [zuul@controller-0 ~]$ oc rsh openstackclient sh-5.1$ openstack resource provider list +--------------------------------------+------------------------------------------------------+------------+--------------------------------------+--------------------------------------+ | uuid | name | generation | root_provider_uuid | parent_provider_uuid | +--------------------------------------+------------------------------------------------------+------------+--------------------------------------+--------------------------------------+ | 94d3933f-dc48-4715-add6-f15690e607d9 | compute-yk9jpqtr-1.ctlplane.example.com | 80 | 94d3933f-dc48-4715-add6-f15690e607d9 | None | | 89a1ca0d-9b72-4589-9e5a-6820c12d9399 | compute-yk9jpqtr-0.ctlplane.example.com | 62 | 89a1ca0d-9b72-4589-9e5a-6820c12d9399 | None | | afd0f222-16c7-41fa-91d4-f300651077ee | compute-yk9jpqtr-3.ctlplane.example.com | 74 | afd0f222-16c7-41fa-91d4-f300651077ee | None | | da165a93-6d33-4128-b472-d6781e350a14 | compute-yk9jpqtr-2.ctlplane.example.com | 70 | da165a93-6d33-4128-b472-d6781e350a14 | None | | 92821195-0c28-4268-8ace-f3d1bdc6d370 | compute-yk9jpqtr-0.ctlplane.example.com_0000:0A:00.0 | 2 | 89a1ca0d-9b72-4589-9e5a-6820c12d9399 | 89a1ca0d-9b72-4589-9e5a-6820c12d9399 | | 26dfe7d9-c9b2-4486-bbec-fc58f04b4993 | compute-yk9jpqtr-0.ctlplane.example.com_0000:0B:00.0 | 2 | 89a1ca0d-9b72-4589-9e5a-6820c12d9399 | 89a1ca0d-9b72-4589-9e5a-6820c12d9399 | | 6e6d2a10-d5d9-44d6-bb12-bebd7296e590 | compute-yk9jpqtr-0.ctlplane.example.com_0000:0C:00.0 | 2 | 89a1ca0d-9b72-4589-9e5a-6820c12d9399 | 89a1ca0d-9b72-4589-9e5a-6820c12d9399 | | a2b9b0cc-e41b-4a0d-926e-3ef5ff1c60cc | compute-yk9jpqtr-0.ctlplane.example.com_0000:0D:00.0 | 2 | 89a1ca0d-9b72-4589-9e5a-6820c12d9399 | 89a1ca0d-9b72-4589-9e5a-6820c12d9399 | | 3f54ef7b-33fe-4c89-b32d-2cae027bc721 | compute-yk9jpqtr-0.ctlplane.example.com_0000:0E:00.0 | 2 | 89a1ca0d-9b72-4589-9e5a-6820c12d9399 | 89a1ca0d-9b72-4589-9e5a-6820c12d9399 | | f4088022-c190-4c33-b9d1-4379e6d03071 | compute-yk9jpqtr-0.ctlplane.example.com_0000:0F:00.0 | 2 | 89a1ca0d-9b72-4589-9e5a-6820c12d9399 | 89a1ca0d-9b72-4589-9e5a-6820c12d9399 | | 1385b4ef-e1c6-4883-9a1d-2c4a49a9a021 | compute-yk9jpqtr-0.ctlplane.example.com_0000:10:00.0 | 2 | 89a1ca0d-9b72-4589-9e5a-6820c12d9399 | 89a1ca0d-9b72-4589-9e5a-6820c12d9399 | | a0cf21ab-50e2-46dc-8c14-c67a5f20ef49 | compute-yk9jpqtr-0.ctlplane.example.com_0000:11:00.0 | 2 | 89a1ca0d-9b72-4589-9e5a-6820c12d9399 | 89a1ca0d-9b72-4589-9e5a-6820c12d9399 | +--------------------------------------+------------------------------------------------------+------------+--------------------------------------+--------------------------------------+ [zuul@controller-0 ~]$ oc exec openstack-cell1-galera-0 -- mysql -u root --password=12345678 -e 'select deleted,address from nova_cell1.pci_devices where compute_node_id = 4 and deleted = 0;' Defaulted container "galera" out of: galera, mysql-bootstrap (init) deleted address 0 0000:0a:00.0 0 0000:0b:00.0 0 0000:0c:00.0 0 0000:0d:00.0 0 0000:0e:00.0 0 0000:0f:00.0 0 0000:10:00.0 0 0000:11:00.0 0 0000:12:00.0 0 0000:13:00.0 0 0000:14:00.0 0 0000:15:00.0 0 0000:16:00.0 0 0000:17:00.0 0 0000:18:00.0 0 0000:19:00.0 # Remove devspec [zuul@compute-yk9jpqtr-0 ~]$ vi /var/lib/openstack/config/nova/55-nova-extra.conf [zuul@compute-yk9jpqtr-0 ~]$ date Wed Oct 1 18:46:54 UTC 2025 [zuul@compute-yk9jpqtr-0 ~]$ sudo systemctl restart edpm_nova_compute [zuul@compute-yk9jpqtr-0 ~]$ date Wed Oct 1 18:47:06 UTC 2025 ... [zuul@controller-0 ~]$ date Wed Oct 1 18:46:19 UTC 2025 [zuul@controller-0 ~]$ oc exec openstack-cell1-galera-0 -- mysql -u root --password=12345678 -e 'select deleted,address from nova_cell1.pci_devices where compute_node_id = 4 and deleted = 0;' | wc -l Defaulted container "galera" out of: galera, mysql-bootstrap (init) 17 [zuul@controller-0 ~]$ date Wed Oct 1 18:47:10 UTC 2025 [zuul@controller-0 ~]$ oc exec openstack-cell1-galera-0 -- mysql -u root --password=12345678 -e 'select deleted,address from nova_cell1.pci_devices where compute_node_id = 4 and deleted = 0;' | wc -l Defaulted container "galera" out of: galera, mysql-bootstrap (init) 17 [zuul@controller-0 ~]$ date Wed Oct 1 18:47:13 UTC 2025 [zuul@controller-0 ~]$ oc exec openstack-cell1-galera-0 -- mysql -u root --password=12345678 -e 'select deleted,address from nova_cell1.pci_devices where compute_node_id = 4 and deleted = 0;' | wc -l Defaulted container "galera" out of: galera, mysql-bootstrap (init) 17 [zuul@controller-0 ~]$ date Wed Oct 1 18:47:16 UTC 2025 [zuul@controller-0 ~]$ oc exec openstack-cell1-galera-0 -- mysql -u root --password=12345678 -e 'select deleted,address from nova_cell1.pci_devices where compute_node_id = 4 and deleted = 0;' | wc -l Defaulted container "galera" out of: galera, mysql-bootstrap (init) 9 [zuul@controller-0 ~]$ date Wed Oct 1 18:47:20 UTC 2025 [zuul@controller-0 ~]$ oc exec openstack-cell1-galera-0 -- mysql -u root --password=12345678 -e 'select deleted,address from nova_cell1.pci_devices where compute_node_id = 4 and deleted = 0;' | wc -l Defaulted container "galera" out of: galera, mysql-bootstrap (init) 0 [zuul@controller-0 ~]$ date Wed Oct 1 18:47:23 UTC 2025 [zuul@controller-0 ~]$ oc exec openstack-cell1-galera-0 -- mysql -u root --password=12345678 -e 'select deleted,address from nova_cell1.pci_devices where compute_node_id = 4 and deleted = 0;' | wc -l Defaulted container "galera" out of: galera, mysql-bootstrap (init) 0