[Openstack] Issue with assignment of Intel’s QAT Card to VM (PCI-passthrough) using openstack-mitaka release on Cent OS 7.2 host

Chinmaya Dwibedy ckdwibedy at gmail.com
Thu Jun 9 10:08:24 UTC 2016


Hi Giridhar,


Changed the device_type in the alias (in nova.conf) so as to attach
physical function to the instance. Now it could ale to assign Intel QAT
device to VMs (PCI passthrough).



Here are the configuration entries in /etc/nova/nova.conf:

pci_alias = {"name": "QuickAssist", "product_id": "0435", "vendor_id":
"8086", "device_type": "type-PF"}

pci_passthrough_whitelist =  [{"vendor_id":"8086","product_id":"0435"}]

scheduler_available_filters=nova.scheduler.filters.all_filters

scheduler_default_filters=RamFilter,ComputeFilter,AvailabilityZoneFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,PciPassthroughFilter


Regards,

Chinmaya



On Tue, Jun 7, 2016 at 5:53 PM, Chinmaya Dwibedy <ckdwibedy at gmail.com>
wrote:

> Hi Giridhar,
>
> Thank you for your email.
>
> There is a check in Nova ( get_device_type in
> https://github.com/openstack/nova/blob/master/nova/virt/libvirt/driver.py)
> that determines if a given PCI device is:
>
> 1)      A normal PCI device,
>
> 2)      An SR-IOV physical function (PF); or
>
> 3)      An SR-IOV virtual function (VF).
>
> If it's a normal PCI device or a virtual function it's considered for
> passthrough, if it's a PF it's not (considered to be owned by the
> host/hypervisor).What I understand, currently it is not possible to pass
> through a physical function to an OpenStack instance. Thus when I launch
> a VM using a flavor configured for passthrough, the instance goes into the
> error state.
>
>
> Furthermore I have configured the “device_type”: “type-PCI” as stated
> below in nova.conf.
>
>
> pci_alias = {"name": "QuickAssist", "product_id": "0435", "vendor_id":
> "8086", "device_type": "type-PCI"}
>
>
> I fail to understand why it shows dev_type='type-PF' in nova compute log
> and MariaDB output. It should show  dev_type='type-PCI'. Can you please
> correct me if my understanding is wrong?
>
>
> 2016-06-07 02:10:45.181 118672 INFO nova.compute.resource_tracker
> [req-5f0325a6-2dd8-4a25-b518-9143cc0aac0c - - - - -] Auditing locally
> available compute resources for node localhost
>
> 2016-06-07 02:10:45.618 118672 INFO nova.compute.resource_tracker
> [req-5f0325a6-2dd8-4a25-b518-9143cc0aac0c - - - - -] Total usable vcpus:
> 36, total allocated vcpus: 8
>
> 2016-06-07 02:10:45.618 118672 INFO nova.compute.resource_tracker
> [req-5f0325a6-2dd8-4a25-b518-9143cc0aac0c - - - - -] Final resource view:
> name=localhost phys_ram=128657MB used_ram=16896MB phys_disk=49GB
> used_disk=160GB total_vcpus=36 used_vcpus=8
> pci_stats=[PciDevicePool(count=2,numa_node=1,product_id='0435',tags={dev_type='type-PF'},vendor_id='8086')]
>
>
>
> [root at localhost ~(keystone_admin)]# lspci -vnd 8086:0435
>
> 83:00.0 0b40: 8086:0435
>
>         Subsystem: 8086:35c5
>
>         Physical Slot: 0-1
>
>         Flags: bus master, fast devsel, latency 0, IRQ 35
>
>         Memory at 387fffd00000 (64-bit, prefetchable) [size=512K]
>
>         Memory at c8200000 (64-bit, non-prefetchable) [size=256K]
>
>         Memory at c8240000 (64-bit, non-prefetchable) [size=256K]
>
>         Capabilities: [b0] MSI: Enable- Count=1/1 Maskable+ 64bit+
>
>         Capabilities: [60] MSI-X: Enable+ Count=33 Masked-
>
>         Capabilities: [6c] Power Management version 3
>
>         Capabilities: [74] Express Endpoint, MSI 00
>
>         Capabilities: [100] Advanced Error Reporting
>
>         Capabilities: [138] Alternative Routing-ID Interpretation (ARI)
>
>         Capabilities: [140] Single Root I/O Virtualization (SR-IOV)
>
>         Kernel driver in use: dh895xcc
>
>
>
> 88:00.0 0b40: 8086:0435
>
>         Subsystem: 8086:35c5
>
>         Physical Slot: 0-2
>
>         Flags: bus master, fast devsel, latency 0, IRQ 39
>
>         Memory at 387fffe00000 (64-bit, prefetchable) [size=512K]
>
>         Memory at c8000000 (64-bit, non-prefetchable) [size=256K]
>
>         Memory at c8040000 (64-bit, non-prefetchable) [size=256K]
>
>         Capabilities: [b0] MSI: Enable- Count=1/1 Maskable+ 64bit+
>
>         Capabilities: [60] MSI-X: Enable+ Count=33 Masked-
>
>         Capabilities: [6c] Power Management version 3
>
>         Capabilities: [74] Express Endpoint, MSI 00
>
>         Capabilities: [100] Advanced Error Reporting
>
>         Capabilities: [138] Alternative Routing-ID Interpretation (ARI)
>
>         Capabilities: [140] Single Root I/O Virtualization (SR-IOV)
>
>         Kernel driver in use: dh895xcc
>
>
>
> [root at localhost ~(keystone_admin)]#
>
> Also I find that, virtualization support is enabled and required kernel
> modules are loaded.
>
>
>
>  [root at localhost ~(keystone_admin)]# egrep -wo 'vmx|lm|aes'
> /proc/cpuinfo  | sort | uniq\
>
> > | sed -e 's/aes/Hardware encryption=Yes (&)/g' \
>
> > -e 's/lm/64 bit cpu=Yes (&)/g' -e 's/vmx/Intel hardware
> virtualization=Yes (&)/g'
>
> Hardware encryption=Yes (aes)
>
> 64 bit cpu=Yes (lm)
>
> *Intel hardware virtualization=Yes (vmx)*
>
> [root at localhost ~(keystone_admin)]#
>
>
>
> [root at localhost ~(keystone_admin)]# lscpu
>
> Architecture:          x86_64
>
> CPU op-mode(s):        32-bit, 64-bit
>
> Byte Order:            Little Endian
>
> CPU(s):                36
>
> On-line CPU(s) list:   0-35
>
> Thread(s) per core:    1
>
> Core(s) per socket:    18
>
> Socket(s):             2
>
> NUMA node(s):          2
>
> Vendor ID:             GenuineIntel
>
> CPU family:            6
>
> Model:                 63
>
> Model name:            Intel(R) Xeon(R) CPU E5-2699 v3 @ 2.30GHz
>
> Stepping:              2
>
> CPU MHz:               1417.285
>
> BogoMIPS:              4594.35
>
> *Virtualization:        VT-x*
>
> L1d cache:             32K
>
> L1i cache:             32K
>
> L2 cache:              256K
>
> L3 cache:              46080K
>
> NUMA node0 CPU(s):     0-17
>
> NUMA node1 CPU(s):     18-35
>
> [root at localhost ~(keystone_admin)]#
>
>
>
> [root at localhost ~(keystone_admin)]# lsmod | grep kvm
>
> kvm_intel             162153  0
>
> kvm                   525409  1 kvm_intel
>
>
>
> Regards,
>
> Chinmaya
>
> On Tue, Jun 7, 2016 at 12:11 PM, Giridhar Jayavelu <gjayavelu at vmware.com>
> wrote:
>
>> The alias has device_type as "type-PCI"
>> pci_alias = {"name": "QuickAssist", "product_id": "0435", "vendor_id":
>> "8086", "device_type": "type-PCI"}
>>
>> But from the maria DB output, you can see that the devices are "type-PF".
>> Please change the device_type in the alias if you intend to attach
>> physical function to the instance.
>>
>>
>>
>> > On Jun 6, 2016, at 11:22 PM, Chinmaya Dwibedy <ckdwibedy at gmail.com>
>> wrote:
>> >
>> > pci_alias = {"name": "QuickAssist", "product_id": "0435", "vendor_id":
>> "8086", "device_type": "type-PCI"}
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20160609/ac2dbdf6/attachment.html>


More information about the Openstack mailing list