2.2 Configuring PCI Pass Through over Openstack Cloud
Perform the following steps to configure PCI pass through over cloud:
- Configure nova-scheduler (controller).
Add PciPassthroughFilter filter to nova.conf with the following command:
[filter_scheduler] enabled_filters = <your filters>, PciPassthroughFilter available_filters = nova.scheduler.filters.all_filters
- Locate vendor_id and product_id of the
eLynx card (compute).
Execute the following lspci commnd to show vendor_id and product_id:
lspci -vvv -nn | grep -i "10ee:7035" -A 11
Sample Output:
[root@host2 ~]$ lspci -vvv -nn | grep -i "10ee:7035" -A 2 07:00.0 Network controller [0280]: Xilinx Corporation Device [10ee:7035] (rev 10) Subsystem: Xilinx Corporation Device [10ee:0007] Physical Slot: 2
In the above output:- 07:00.0 is the PCI address of the eLYNX card.
- The value “10ee:7035” represents Vendor ID (10ee) and Product ID (7035)
- Physical Slot: 2 indicates the physical PCIe slot where the eLYNX card is inserted.
- Configure nova-api (controller).
Add eLynx card to nova.conf file on the controller:
The type of the card must be type-PCI. Name can be anything.
Example:
[pci] pci_passthrough_whitelist = "{"vendor_id":"10ee","product_id":"7035"}" alias = "{"vendor_id":"10ee","product_id":"7035",”device_type”:”type-PCI”,”name”:”elynx1}"
In this example the card name is eLynx1:
Note: If multiple eLynx cards are connected to a host, multiple alias needs to be created.
- Update flavor with the card name
(controller or cli box).
Execute the following command:
openstack flavor set elynx_flavor --property "pci_passthrough:alias"="elynx1:1"
- Restart the controller and compute
services.
- Restart the controller services
with the following command:
systemctl restart openstack-nova-api.service openstack-nova-conductor.service openstack-nova-consoleauth.service openstack-nova-metadata-api.service openstack-nova-scheduler.service
-
Restart the compute services with the following command:
systemctl restart openstack-nova-compute.service
- Restart the controller services
with the following command: