[zuul@controller-0 ~]$ oc get configmaps sriov-nova -o yaml apiVersion: v1 data: 03-sriov-nova.conf: | [pci] device_spec = {"address": "0000:d8:00.0", "vendor_id":"144d", "product_id":"a824", "device_type":"type-PCI"} alias = {"name": "nvme_passthrough", "vendor_id": "144d", "product_id": "a824"} report_in_placement = True kind: ConfigMap metadata: annotations: kubectl.kubernetes.io/last-applied-configuration: | {"apiVersion":"v1","data":{"03-sriov-nova.conf":"[pci]\ndevice_spec = {\"address\": \"0000:d8:00.0\", \"vendor_id\":\"144d\", \"product_id\":\"a824\", \"device_type\":\"type-PCI\"}\nalias = {\"name\": \"nvme_passthrough\", \"vendor_id\": \"144d\", \"product_id\": \"a824\"}\n"},"kind":"ConfigMap","metadata":{"annotations":{},"name":"sriov-nova","namespace":"openstack"}} creationTimestamp: "2025-07-01T04:00:41Z" name: sriov-nova namespace: openstack resourceVersion: "71761" uid: 5c41ef11-9f1f-40b3-984e-925e72033ab0 [zuul@controller-0 ~]$ oc get configmaps sriov-nova -o yaml > nova-extra-config.yaml [zuul@controller-0 ~]$ vi nova-extra-config.yaml [zuul@controller-0 ~]$ cat nova-extra-config.yaml apiVersion: v1 data: 03-sriov-nova.conf: | [pci] device_spec = {"address": "0000:d8:00.0", "vendor_id":"144d", "product_id":"a824", "device_type":"type-PCI", "one_time_use": true} alias = {"name": "nvme_passthrough", "vendor_id": "144d", "product_id": "a824"} report_in_placement = True kind: ConfigMap metadata: annotations: kubectl.kubernetes.io/last-applied-configuration: | {"apiVersion":"v1","data":{"03-sriov-nova.conf":"[pci]\ndevice_spec = {\"address\": \"0000:d8:00.0\", \"vendor_id\":\"144d\", \"product_id\":\"a824\", \"device_type\":\"type-PCI\"}\nalias = {\"name\": \"nvme_passthrough\", \"vendor_id\": \"144d\", \"product_id\": \"a824\"}\n"},"kind":"ConfigMap","metadata":{"annotations":{},"name":"sriov-nova","namespace":"openstack"}} creationTimestamp: "2025-07-01T04:00:41Z" name: sriov-nova namespace: openstack resourceVersion: "71761" uid: 5c41ef11-9f1f-40b3-984e-925e72033ab0 [zuul@controller-0 ~]$ oc apply -f nova-extra-config.yaml configmap/sriov-nova configured [zuul@controller-0 ~]$ oc get configmaps sriov-nova -o yaml apiVersion: v1 data: 03-sriov-nova.conf: | [pci] device_spec = {"address": "0000:d8:00.0", "vendor_id":"144d", "product_id":"a824", "device_type":"type-PCI", "one_time_use": true} alias = {"name": "nvme_passthrough", "vendor_id": "144d", "product_id": "a824"} report_in_placement = True kind: ConfigMap metadata: annotations: kubectl.kubernetes.io/last-applied-configuration: | {"apiVersion":"v1","data":{"03-sriov-nova.conf":"[pci]\ndevice_spec = {\"address\": \"0000:d8:00.0\", \"vendor_id\":\"144d\", \"product_id\":\"a824\", \"device_type\":\"type-PCI\", \"one_time_use\": true}\nalias = {\"name\": \"nvme_passthrough\", \"vendor_id\": \"144d\", \"product_id\": \"a824\"}\n"},"kind":"ConfigMap","metadata":{"annotations":{},"creationTimestamp":"2025-07-01T04:00:41Z","name":"sriov-nova","namespace":"openstack","resourceVersion":"71761","uid":"5c41ef11-9f1f-40b3-984e-925e72033ab0"}} creationTimestamp: "2025-07-01T04:00:41Z" name: sriov-nova namespace: openstack resourceVersion: "2641900" uid: 5c41ef11-9f1f-40b3-984e-925e72033ab0 [zuul@controller-0 ~]$ cat compute_otu_devices_deploy.yaml apiVersion: dataplane.openstack.org/v1beta1 kind: OpenStackDataPlaneDeployment metadata: annotations: name: compute-otu-devices namespace: openstack spec: nodeSets: - openstack-edpm [zuul@controller-0 ~]$ oc create -f compute_otu_devices_deploy.yaml openstackdataplanedeployment.dataplane.openstack.org/compute-otu-devices created [zuul@controller-0 ~]$ oc get osdpd NAME NODESETS STATUS MESSAGE compute-otu-devices ["openstack-edpm"] False Deployment in progress edpm-deployment ["openstack-edpm"] True Setup complete [zuul@controller-0 ~]$ oc get osdpd NAME NODESETS STATUS MESSAGE compute-otu-devices ["openstack-edpm"] True Setup complete edpm-deployment ["openstack-edpm"] True Setup complete [zuul@controller-0 ~]$ ssh -i ~/.ssh/id_cifw cloud-admin@192.168.122.101 Register this system with Red Hat Insights: insights-client --register Create an account or view all your systems at https://red.ht/insights-dashboard Last login: Thu Jul 3 18:51:34 2025 from 192.168.122.9 [cloud-admin@edpm-compute-1 ~]$ cat /var/lib/openstack/config/nova/03-sriov-nova.conf [pci] device_spec = {"address": "0000:d8:00.0", "vendor_id":"144d", "product_id":"a824", "device_type":"type-PCI", "one_time_use": true} alias = {"name": "nvme_passthrough", "vendor_id": "144d", "product_id": "a824"} report_in_placement = True ... [zuul@controller-0 ~]$ oc rsh openstackclient sh-5.1$ openstack resource provider list --required HW_PCI_ONE_TIME_USE +--------------------------------------+--------------------------------------------------+------------+--------------------------------------+--------------------------------------+ | uuid | name | generation | root_provider_uuid | parent_provider_uuid | +--------------------------------------+--------------------------------------------------+------------+--------------------------------------+--------------------------------------+ | 8fca1905-b9da-4950-a48e-d73b28631e99 | edpm-compute-0.ctlplane.example.com_0000:D8:00.0 | 3 | 87ff004c-86f8-4767-9fc2-f259389e7d59 | 87ff004c-86f8-4767-9fc2-f259389e7d59 | | 30aa0184-b2cf-423f-abab-bc0673a28056 | edpm-compute-1.ctlplane.example.com_0000:D8:00.0 | 3 | 8497e907-80e8-423f-8829-50d9206c8afd | 8497e907-80e8-423f-8829-50d9206c8afd | +--------------------------------------+--------------------------------------------------+------------+--------------------------------------+--------------------------------------+ sh-5.1$ openstack flavor create --vcpus 4 --ram 1024 --disk 10 nvme_test +----------------------------+--------------------------------------+ | Field | Value | +----------------------------+--------------------------------------+ | OS-FLV-DISABLED:disabled | False | | OS-FLV-EXT-DATA:ephemeral | 0 | | description | None | | disk | 10 | | id | 31c3a7a0-ad5f-4e86-8235-90cabc4d64f8 | | name | nvme_test | | os-flavor-access:is_public | True | | properties | | | ram | 1024 | | rxtx_factor | 1.0 | | swap | | | vcpus | 4 | +----------------------------+--------------------------------------+ sh-5.1$ openstack flavor set nvme_test --property "pci_passthrough:alias"="nvme_passthrough:1" sh-5.1$ openstack server create --flavor nvme_test --image cirros-0.6.2-x86_64-disk.img nvme_otu-1 --wait +-------------------------------------+---------------------------------------------------------------------+ | Field | Value | +-------------------------------------+---------------------------------------------------------------------+ | OS-DCF:diskConfig | MANUAL | | OS-EXT-AZ:availability_zone | nova | | OS-EXT-SRV-ATTR:host | edpm-compute-0.ctlplane.example.com | | OS-EXT-SRV-ATTR:hypervisor_hostname | edpm-compute-0.ctlplane.example.com | | OS-EXT-SRV-ATTR:instance_name | instance-0000008e | | OS-EXT-STS:power_state | Running | | OS-EXT-STS:task_state | None | | OS-EXT-STS:vm_state | active | | OS-SRV-USG:launched_at | 2025-07-03T19:24:49.000000 | | OS-SRV-USG:terminated_at | None | | accessIPv4 | | | accessIPv6 | | | addresses | public=192.168.122.227 | | adminPass | QGj6u6m62ekx | | config_drive | True | | created | 2025-07-03T19:24:36Z | | flavor | nvme_test (31c3a7a0-ad5f-4e86-8235-90cabc4d64f8) | | hostId | d230aefbfd5319bb3fc977405bb10de6bebc12044f713f3b8bc2bacb | | id | 48ffe705-4bdb-426d-b408-8283826af9d7 | | image | cirros-0.6.2-x86_64-disk.img (08e0e5a0-3e9b-4f24-8086-316de933008e) | | key_name | None | | name | nvme_otu-1 | | progress | 0 | | project_id | eafd3e17d938440288be7feffc12f0c8 | | properties | | | security_groups | name='default' | | status | ACTIVE | | updated | 2025-07-03T19:24:49Z | | user_id | 5e5caf31a6c249b5a2039a5f7022fab9 | | volumes_attached | | +-------------------------------------+---------------------------------------------------------------------+ sh-5.1$ openstack resource provider list --required HW_PCI_ONE_TIME_USE +--------------------------------------+--------------------------------------------------+------------+--------------------------------------+--------------------------------------+ | uuid | name | generation | root_provider_uuid | parent_provider_uuid | +--------------------------------------+--------------------------------------------------+------------+--------------------------------------+--------------------------------------+ | 8fca1905-b9da-4950-a48e-d73b28631e99 | edpm-compute-0.ctlplane.example.com_0000:D8:00.0 | 5 | 87ff004c-86f8-4767-9fc2-f259389e7d59 | 87ff004c-86f8-4767-9fc2-f259389e7d59 | | 30aa0184-b2cf-423f-abab-bc0673a28056 | edpm-compute-1.ctlplane.example.com_0000:D8:00.0 | 3 | 8497e907-80e8-423f-8829-50d9206c8afd | 8497e907-80e8-423f-8829-50d9206c8afd | +--------------------------------------+--------------------------------------------------+------------+--------------------------------------+--------------------------------------+ sh-5.1$ openstack resource provider inventory list 8fca1905-b9da-4950-a48e-d73b28631e99 +----------------------+------------------+----------+----------+----------+-----------+-------+------+ | resource_class | allocation_ratio | min_unit | max_unit | reserved | step_size | total | used | +----------------------+------------------+----------+----------+----------+-----------+-------+------+ | CUSTOM_PCI_144D_A824 | 1.0 | 1 | 1 | 1 | 1 | 1 | 1 | +----------------------+------------------+----------+----------+----------+-----------+-------+------+ sh-5.1$ openstack server delete nvme_otu-1 sh-5.1$ openstack resource provider inventory list 8fca1905-b9da-4950-a48e-d73b28631e99 +----------------------+------------------+----------+----------+----------+-----------+-------+------+ | resource_class | allocation_ratio | min_unit | max_unit | reserved | step_size | total | used | +----------------------+------------------+----------+----------+----------+-----------+-------+------+ | CUSTOM_PCI_144D_A824 | 1.0 | 1 | 1 | 1 | 1 | 1 | 0 | +----------------------+------------------+----------+----------+----------+-----------+-------+------+ sh-5.1$ openstack resource provider inventory set --amend \ > --resource CUSTOM_PCI_144D_A824:reserved=0 \ > 8fca1905-b9da-4950-a48e-d73b28631e99 +----------------------+------------------+----------+----------+----------+-----------+-------+ | resource_class | allocation_ratio | min_unit | max_unit | reserved | step_size | total | +----------------------+------------------+----------+----------+----------+-----------+-------+ | CUSTOM_PCI_144D_A824 | 1.0 | 1 | 1 | 0 | 1 | 1 | +----------------------+------------------+----------+----------+----------+-----------+-------+ sh-5.1$ openstack resource provider inventory list 8fca1905-b9da-4950-a48e-d73b28631e99 +----------------------+------------------+----------+----------+----------+-----------+-------+------+ | resource_class | allocation_ratio | min_unit | max_unit | reserved | step_size | total | used | +----------------------+------------------+----------+----------+----------+-----------+-------+------+ | CUSTOM_PCI_144D_A824 | 1.0 | 1 | 1 | 0 | 1 | 1 | 0 | +----------------------+------------------+----------+----------+----------+-----------+-------+------+