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
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?
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:
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