MP> inline

 

From: "Xu, Chenjie" <chenjie.xu@intel.com>
Date: Monday, September 2, 2019 at 1:51 AM
To: "Peters, Matt" <Matt.Peters@windriver.com>
Cc: Ghada Khalil <Ghada.Khalil@windriver.com>, "Zhao, Forrest" <forrest.zhao@intel.com>, "starlingx-discuss@lists.starlingx.io" <starlingx-discuss@lists.starlingx.io>, "Webster, Steven" <Steven.Webster@windriver.com>, "Kopec, Gerald (Gerry)" <Gerry.Kopec@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@windriver.com]
Sent: Friday, August 30, 2019 7:40 PM
To: Xu, Chenjie <chenjie.xu@intel.com>
Cc: Khalil, Ghada <Ghada.Khalil@windriver.com>; Zhao, Forrest <forrest.zhao@intel.com>; starlingx-discuss@lists.starlingx.io; Webster, Steven <Steven.Webster@windriver.com>; Kopec, Gerald (Gerry) <Gerry.Kopec@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@intel.com>
Date: Thursday, August 29, 2019 at 10:49 PM
To: "Peters, Matt" <Matt.Peters@windriver.com>, "Webster, Steven" <Steven.Webster@windriver.com>, "Kopec, Gerald (Gerry)" <Gerry.Kopec@windriver.com>
Cc: Ghada Khalil <Ghada.Khalil@windriver.com>, "Zhao, Forrest" <forrest.zhao@intel.com>, "starlingx-discuss@lists.starlingx.io" <starlingx-discuss@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@windriver.com]
Sent: Wednesday, August 7, 2019 6:52 PM
To: Xu, Chenjie <chenjie.xu@intel.com>; Webster, Steven <Steven.Webster@windriver.com>; Kopec, Gerald (Gerry) <Gerry.Kopec@windriver.com>
Cc: Khalil, Ghada <Ghada.Khalil@windriver.com>; Zhao, Forrest <forrest.zhao@intel.com>; starlingx-discuss@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@intel.com>
Date: Tuesday, August 6, 2019 at 8:17 PM
To: "Peters, Matt" <
Matt.Peters@windriver.com>, "Webster, Steven" <Steven.Webster@windriver.com>, "Kopec, Gerald (Gerry)" <Gerry.Kopec@windriver.com>
Cc: Ghada Khalil <
Ghada.Khalil@windriver.com>, "Zhao, Forrest" <forrest.zhao@intel.com>, "starlingx-discuss@lists.starlingx.io" <starlingx-discuss@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@windriver.com]
Sent: Wednesday, August 7, 2019 12:55 AM
To: Xu, Chenjie <chenjie.xu@intel.com>; Webster, Steven <Steven.Webster@windriver.com>; Kopec, Gerald (Gerry) <Gerry.Kopec@windriver.com>
Cc: Khalil, Ghada <Ghada.Khalil@windriver.com>; Zhao, Forrest <forrest.zhao@intel.com>; starlingx-discuss@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@intel.com>
Date: Tuesday, August 6, 2019 at 11:14 AM
To: "Peters, Matt" <
Matt.Peters@windriver.com>, "Webster, Steven" <Steven.Webster@windriver.com>, "Kopec, Gerald (Gerry)" <Gerry.Kopec@windriver.com>
Cc: Ghada Khalil <
Ghada.Khalil@windriver.com>, "Zhao, Forrest" <forrest.zhao@intel.com>, "starlingx-discuss@lists.starlingx.io" <starlingx-discuss@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@windriver.com]
Sent: Thursday, August 1, 2019 6:34 PM
To: Xu, Chenjie <chenjie.xu@intel.com>; Webster, Steven <Steven.Webster@windriver.com>; Kopec, Gerald (Gerry) <Gerry.Kopec@windriver.com>
Cc: Khalil, Ghada <Ghada.Khalil@windriver.com>; Zhao, Forrest <forrest.zhao@intel.com>; starlingx-discuss@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@intel.com>
Date: Thursday, August 1, 2019 at 3:36 AM
To: "Peters, Matt" <
Matt.Peters@windriver.com>
Cc: Ghada Khalil <
Ghada.Khalil@windriver.com>, "Zhao, Forrest" <forrest.zhao@intel.com>, "starlingx-discuss@lists.starlingx.io" <starlingx-discuss@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