-
Notifications
You must be signed in to change notification settings - Fork 106
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OCPBUGS-19908: virtual: get real PCI address for each device found #837
Conversation
@EmilienM: This pull request references Jira Issue OCPBUGS-19908, which is invalid:
Comment The bug has been updated to refer to the pull request using the external bug tracker. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/jira refresh |
@EmilienM: This pull request references Jira Issue OCPBUGS-19908, which is valid. The bug has been moved to the POST state. 3 validation(s) were run on this bug
Requesting review from QA contact: In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
@EmilienM: This pull request references Jira Issue OCPBUGS-19908, which is valid. 3 validation(s) were run on this bug
Requesting review from QA contact: In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/hold under testing |
Nice catch! |
k8snetworkplumbingwg/sriov-network-operator#516 This PR is just for internal testing for now. |
8bc1a77
to
3903139
Compare
I'm holding it until we get:
|
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: bn222, EmilienM The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes! We'll need to backport that too.
@mandre thanks for your review, I'll address your comments shortly. I didn't have the time today due to testing this PR in real environment.
👍 |
/retest e2e-openstack-nfv |
@EmilienM: The
The following commands are available to trigger optional jobs:
Use In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/test e2e-openstack-nfv |
3903139
to
f9b60cc
Compare
New changes are detected. LGTM label has been removed. |
f9b60cc
to
f23d49c
Compare
/cherry-pick release-4.14 |
@mandre: once the present PR merges, I will cherry-pick it on top of release-4.14 in a new PR and assign it to you. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
de361fe
to
b62bfa8
Compare
We can't rely on the PCI address from the metadata so we will lookup the real PCI address for the NIC that matches the MAC address. Libvirt/QEMU cannot guarantee that the address specified in the XML will match the address seen by the guest. This is a well known limitation: https://libvirt.org/pci-addresses.html When using the q35 machine type, it highlights this issue due to the change from using PCI to PCI-E bus for virtual devices. With that said, the PCI value in Nova Metadata is a best effort hint due to the limitations mentioned above. Therefore we will lookup the real PCI address for the NIC that matches the MAC address.
https://devicehunt.com/view/type/pci/vendor/1AF4/device/1041 https://qemu.readthedocs.io/en/master/specs/pci-ids.html Modern QEMU brings up virtio 1.0 network device, we need to support that for DPDK.
b62bfa8
to
4c5c56f
Compare
/hold cancel |
/hold |
@EmilienM: all tests passed! Full PR test history. Your PR dashboard. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
taken care here: #842 |
@EmilienM: This pull request references Jira Issue OCPBUGS-19908. The bug has been updated to no longer refer to the pull request using the external bug tracker. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
We can't rely on the PCI address from the metadata so we will lookup the real PCI address
for the NIC that matches the MAC address.
Libvirt/QEMU cannot guarantee that the address specified in the XML will match the address seen by the guest.
This is a well known limitation: https://libvirt.org/pci-addresses.html
When using the q35 machine type, it highlights this issue due to the change from using PCI to PCI-E bus for virtual devices.
With that said, the PCI value in Nova Metadata is a best effort hint due to the limitations mentioned above. Therefore
we will lookup the real PCI address for the NIC that matches the MAC address.
This PR also adds Virtio 1.0 network device as supported
https://devicehunt.com/view/type/pci/vendor/1AF4/device/1041
https://qemu.readthedocs.io/en/master/specs/pci-ids.html
Modern QEMU brings up virtio 1.0 network device, we need to support that
for DPDK.