[Starlingx-discuss] [Bug] flavor "pci_passthrough:alias" should be required to passthrough physical NICs

Peters, Matt Matt.Peters at windriver.com
Tue Sep 3 11:49:55 UTC 2019


MP> inline

From: "Xu, Chenjie" <chenjie.xu at intel.com>
Date: Monday, September 2, 2019 at 1:51 AM
To: "Peters, Matt" <Matt.Peters at windriver.com>
Cc: Ghada Khalil <Ghada.Khalil at windriver.com>, "Zhao, Forrest" <forrest.zhao at intel.com>, "starlingx-discuss at lists.starlingx.io" <starlingx-discuss at lists.starlingx.io>, "Webster, Steven" <Steven.Webster at windriver.com>, "Kopec, Gerald (Gerry)" <Gerry.Kopec at windriver.com>
Subject: RE: [Starlingx-discuss] [Bug] flavor "pci_passthrough:alias" should be required to passthrough physical NICs

Hi Matt,
The created VM’s status is error and the description says that ”No valid host was found. There are not enough hosts available”. By checking the log of nova scheduler, the following line says that the controller-0 is filtered out by PciPassthroughFilter:
['RetryFilter: (start: 1, end: 1)', 'ComputeFilter: (start: 1, end: 1)', 'AvailabilityZoneFilter: (start: 1, end: 1)', 'AggregateInstanceExtraSpecsFilter: (start: 1, end: 1)', 'ComputeCapabilitiesFilter: (start: 1, end: 1)', 'ImagePropertiesFilter: (start: 1, end: 1)', 'NUMATopologyFilter: (start: 1, end: 1)', 'ServerGroupAffinityFilter: (start: 1, end: 1)', 'ServerGroupAntiAffinityFilter: (start: 1, end: 1)', 'PciPassthroughFilter: (start: 1, end: 0)']

MP> Do you have the log of the PCI request when using this method?
MP> More comments below…

Best Regards,
Xu, Chenjie

From: Peters, Matt [mailto:Matt.Peters at windriver.com]
Sent: Friday, August 30, 2019 7:40 PM
To: Xu, Chenjie <chenjie.xu at intel.com>
Cc: Khalil, Ghada <Ghada.Khalil at windriver.com>; Zhao, Forrest <forrest.zhao at intel.com>; starlingx-discuss at lists.starlingx.io; Webster, Steven <Steven.Webster at windriver.com>; Kopec, Gerald (Gerry) <Gerry.Kopec at windriver.com>
Subject: Re: [Starlingx-discuss] [Bug] flavor "pci_passthrough:alias" should be required to passthrough physical NICs

Hi Chenjie,
What were the issues you encountered that prevented it from working with the port vnic_type?

Thanks, Matt

From: "Xu, Chenjie" <chenjie.xu at intel.com<mailto:chenjie.xu at intel.com>>
Date: Thursday, August 29, 2019 at 10:49 PM
To: "Peters, Matt" <Matt.Peters at windriver.com<mailto:Matt.Peters at windriver.com>>, "Webster, Steven" <Steven.Webster at windriver.com<mailto:Steven.Webster at windriver.com>>, "Kopec, Gerald (Gerry)" <Gerry.Kopec at windriver.com<mailto:Gerry.Kopec at windriver.com>>
Cc: Ghada Khalil <Ghada.Khalil at windriver.com<mailto:Ghada.Khalil at windriver.com>>, "Zhao, Forrest" <forrest.zhao at intel.com<mailto:forrest.zhao at intel.com>>, "starlingx-discuss at lists.starlingx.io<mailto:starlingx-discuss at lists.starlingx.io>" <starlingx-discuss at lists.starlingx.io<mailto:starlingx-discuss at lists.starlingx.io>>
Subject: RE: [Starlingx-discuss] [Bug] flavor "pci_passthrough:alias" should be required to passthrough physical NICs

Hi Matt,

I have finished my testing with I210 NIC and the result shows that this way should be only used for SR-IOV physical function. And the blueprint "SR-IOV physical functions assignment with Neutron port" also indicates the same thing.
https://blueprints.launchpad.net/nova/+spec/sriov-pf-passthrough-neutron-port
https://bugs.launchpad.net/starlingx/+bug/1836682

For this limitation, which way do you suggest?
1. Record as a known limitation and document how to pass through NICs which don't support SR-IOV. Like below: users need to override helm with PCI alias like following:
cat > nova-overrides.yaml <<EOF
   conf:
   nova:
     DEFAULT:
       debug: True
     pci:
       alias:
           type: multistring
           values:
           - '{"vendor_id": "8086", "product_id": "37d2","device_type":"type-PCI","name": "pci-pass"}'
   EOF
  system helm-override-update stx-openstack nova openstack --values nova-overrides.yaml

MP> I prefer this option to avoid adding special handling for specific devices (if required – see next comment).

2. Generate the helm override automatically. If this way is chosen, do you think this should be fixed in stx 2.0 or stx 3.0?

MP> System Inventory / Config doesn’t currently have knowledge of the device type, so it would need to infer the type based on something like sriov_totalvfs.  We wouldn’t want device specific overrides, so I would only suggest an automatic override if we can key off of something generic.

Best Regards,
Xu, Chenjie

From: Peters, Matt [mailto:Matt.Peters at windriver.com]
Sent: Wednesday, August 7, 2019 6:52 PM
To: Xu, Chenjie <chenjie.xu at intel.com<mailto:chenjie.xu at intel.com>>; Webster, Steven <Steven.Webster at windriver.com<mailto:Steven.Webster at windriver.com>>; Kopec, Gerald (Gerry) <Gerry.Kopec at windriver.com<mailto:Gerry.Kopec at windriver.com>>
Cc: Khalil, Ghada <Ghada.Khalil at windriver.com<mailto:Ghada.Khalil at windriver.com>>; Zhao, Forrest <forrest.zhao at intel.com<mailto:forrest.zhao at intel.com>>; starlingx-discuss at lists.starlingx.io<mailto:starlingx-discuss at lists.starlingx.io>
Subject: Re: [Starlingx-discuss] [Bug] flavor "pci_passthrough:alias" should be required to passthrough physical NICs

Hi Chenjie,
The latest openstack release should support using the port vnic_type for type-PCI devices.  The only device I know of that doesn’t support PF/VF is the i210, which is what I think was used in reporting the bug.  I think your approach of having them retest with this method is the correct thing to do given you don’t have access to the hardware.

-Matt

From: "Xu, Chenjie" <chenjie.xu at intel.com<mailto:chenjie.xu at intel.com>>
Date: Tuesday, August 6, 2019 at 8:17 PM
To: "Peters, Matt" <Matt.Peters at windriver.com<mailto:Matt.Peters at windriver.com>>, "Webster, Steven" <Steven.Webster at windriver.com<mailto:Steven.Webster at windriver.com>>, "Kopec, Gerald (Gerry)" <Gerry.Kopec at windriver.com<mailto:Gerry.Kopec at windriver.com>>
Cc: Ghada Khalil <Ghada.Khalil at windriver.com<mailto:Ghada.Khalil at windriver.com>>, "Zhao, Forrest" <forrest.zhao at intel.com<mailto:forrest.zhao at intel.com>>, "starlingx-discuss at lists.starlingx.io<mailto:starlingx-discuss at lists.starlingx.io>" <starlingx-discuss at lists.starlingx.io<mailto:starlingx-discuss at lists.starlingx.io>>
Subject: RE: [Starlingx-discuss] [Bug] flavor "pci_passthrough:alias" should be required to passthrough physical NICs

Hi Matt,
Yes, I mean the port that does not report itself as a PF.

Best Regards,
Xu, Chenjie

From: Peters, Matt [mailto:Matt.Peters at windriver.com]
Sent: Wednesday, August 7, 2019 12:55 AM
To: Xu, Chenjie <chenjie.xu at intel.com<mailto:chenjie.xu at intel.com>>; Webster, Steven <Steven.Webster at windriver.com<mailto:Steven.Webster at windriver.com>>; Kopec, Gerald (Gerry) <Gerry.Kopec at windriver.com<mailto:Gerry.Kopec at windriver.com>>
Cc: Khalil, Ghada <Ghada.Khalil at windriver.com<mailto:Ghada.Khalil at windriver.com>>; Zhao, Forrest <forrest.zhao at intel.com<mailto:forrest.zhao at intel.com>>; starlingx-discuss at lists.starlingx.io<mailto:starlingx-discuss at lists.starlingx.io>
Subject: Re: [Starlingx-discuss] [Bug] flavor "pci_passthrough:alias" should be required to passthrough physical NICs

Hello Chenjie,
We typically configure the PCI-PT devices using the vnic-type option for manually created ports.  This replaces the older mechanism of being able to specify the vif-type (which was a StarlingX specific extension that was dropped).

For your question about the NIC type that does not support SR-IOV, do you mean a port that does not report itself as a PF (from a libvirt/nova perspective that would be device with Type-PCI vs Type-PF)?

-Matt

From: "Xu, Chenjie" <chenjie.xu at intel.com<mailto:chenjie.xu at intel.com>>
Date: Tuesday, August 6, 2019 at 11:14 AM
To: "Peters, Matt" <Matt.Peters at windriver.com<mailto:Matt.Peters at windriver.com>>, "Webster, Steven" <Steven.Webster at windriver.com<mailto:Steven.Webster at windriver.com>>, "Kopec, Gerald (Gerry)" <Gerry.Kopec at windriver.com<mailto:Gerry.Kopec at windriver.com>>
Cc: Ghada Khalil <Ghada.Khalil at windriver.com<mailto:Ghada.Khalil at windriver.com>>, "Zhao, Forrest" <forrest.zhao at intel.com<mailto:forrest.zhao at intel.com>>, "starlingx-discuss at lists.starlingx.io<mailto:starlingx-discuss at lists.starlingx.io>" <starlingx-discuss at lists.starlingx.io<mailto:starlingx-discuss at lists.starlingx.io>>
Subject: RE: [Starlingx-discuss] [Bug] flavor "pci_passthrough:alias" should be required to passthrough physical NICs

Hi Matt,

I find another way to pass through SR-IOV capable physical NIC to VM. This new way doesn't require to configure "PCI alias". The key point is to create a port whose vnic_type is direct-physical. The following link can be referenced:
https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/10/html/networking_guide/sr-iov-support-for-virtual-networking

However if we try to pass through a physical NIC which doesn't support SR-IOV, we may still need to configure "PCI alias". Because I don't have a physical NIC which doesn't support SR-IOV on my server, I can't test passing such NIC to VM by creating port whose vnic_type is direct-physical.

Do you think StarlingX needs to configure “PCI alias” automatically for physical NIC which doesn’t support SR-IOV or not?

Best Regards,
Xu, Chenjie

From: Peters, Matt [mailto:Matt.Peters at windriver.com]
Sent: Thursday, August 1, 2019 6:34 PM
To: Xu, Chenjie <chenjie.xu at intel.com<mailto:chenjie.xu at intel.com>>; Webster, Steven <Steven.Webster at windriver.com<mailto:Steven.Webster at windriver.com>>; Kopec, Gerald (Gerry) <Gerry.Kopec at windriver.com<mailto:Gerry.Kopec at windriver.com>>
Cc: Khalil, Ghada <Ghada.Khalil at windriver.com<mailto:Ghada.Khalil at windriver.com>>; Zhao, Forrest <forrest.zhao at intel.com<mailto:forrest.zhao at intel.com>>; starlingx-discuss at lists.starlingx.io<mailto:starlingx-discuss at lists.starlingx.io>
Subject: Re: [Starlingx-discuss] [Bug] flavor "pci_passthrough:alias" should be required to passthrough physical NICs

+Steve +Gerry

Do you have any additional information to add here?  I don’t believe we had to setup an alias in the past to do PCI-PT, so is this something that is new to the latest OpenStack nova release?  Did we drop some functionality to align with upstream nova (that use to be in starlingx-staging)?

-Matt

From: "Xu, Chenjie" <chenjie.xu at intel.com<mailto:chenjie.xu at intel.com>>
Date: Thursday, August 1, 2019 at 3:36 AM
To: "Peters, Matt" <Matt.Peters at windriver.com<mailto:Matt.Peters at windriver.com>>
Cc: Ghada Khalil <Ghada.Khalil at windriver.com<mailto:Ghada.Khalil at windriver.com>>, "Zhao, Forrest" <forrest.zhao at intel.com<mailto:forrest.zhao at intel.com>>, "starlingx-discuss at lists.starlingx.io<mailto:starlingx-discuss at lists.starlingx.io>" <starlingx-discuss at lists.starlingx.io<mailto:starlingx-discuss at lists.starlingx.io>>
Subject: [Starlingx-discuss] [Bug] flavor "pci_passthrough:alias" should be required to passthrough physical NICs


Hi Matt,

Based on my testing, the flavor with property “pci_passthrough:alias” should be required for passing a physical NIC to the VM. But it should not be required for passing a VF to the VM. So I think the alias information should contain physical NICs which are configured with “pci-passthrough” by following command:
system host-if-modify -m 1500 -n pcipass -c pci-passthrough ${COMPUTE} ${IFUUID}
   system interface-datanetwork-assign ${COMPUTE} pcipass ${PHYSNET2}

Could you please let me know your opinions and leave a comment in the below bug:
https://bugs.launchpad.net/starlingx/+bug/1836682

Best Regards,
Xu, Chenjie
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.starlingx.io/pipermail/starlingx-discuss/attachments/20190903/bf386a29/attachment-0001.html>


More information about the Starlingx-discuss mailing list