-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Defining two or more SR-IOV interfaces that use the same underling resource is buggy #7444
Comments
/sig network |
We are experiencing this issue as well. The issue seems to be related to k8snetworkplumbingwg/multus-cni#499. As the order of host PCI addresses in the environment variable The issue is in in the following peices of code:
leads to:
leads to:
virt-launcher env: PCIDEVICE_VF=0000:e1:0a.3,0000:e1:0b.0
KUBEVIRT_RESOURCE_NAME_sriov0=vf
KUBEVIRT_RESOURCE_NAME_sriov1=vf vmi spec: ...
interfaces:
- name: sriov0
sriov: {}
- name: sriov1
sriov: {} sriov0 will be assigned to host PCI device: (I have yet to test this, but it seems as though multus/sriov-cni is assigning the This is irrespective of whether the VF programmed by the sriov cni for the PCI device is associated with the network attachment definition name in the vmi networks array. <hostdev mode='subsystem' type='pci' managed='no'>
<driver name='vfio'/>
<source>
<address domain='0x0000' bus='0xe1' slot='0x0a' function='0x3'/> <======= ||
</source> ====== Who's to say that this mapping is correct?
<alias name='ua-sriov-multus-sriov-network-sriov0'/> <==================== ||
<address type='pci' domain='0x0000' bus='0x07' slot='0x00' function='0x0'/>
</hostdev>
<hostdev mode='subsystem' type='pci' managed='no'>
<driver name='vfio'/>
<source>
<address domain='0x0000' bus='0xe1' slot='0x0b' function='0x0'/>
</source>
<alias name='ua-sriov-multus-sriov-network-sriov1'/>
<address type='pci' domain='0x0000' bus='0x08' slot='0x00' function='0x0'/>
</hostdev> Solutions:
|
@YitzyD Thanks for sharing and detailed info 🙂 In any case we plan to fix it properly. |
current sriov mapping is flawed on vmi's with more than 2 SRIOV networks [0]. Adding a Xfail test to record it. [0] kubevirt#7444 Signed-off-by: Ram Lavi <ralavi@redhat.com>
current sriov mapping is flawed on vmi's with more than 2 SRIOV networks [0]. Adding a Xfail test to record it. [0] kubevirt#7444 Signed-off-by: Ram Lavi <ralavi@redhat.com>
current sriov mapping is flawed on vmi's with more than 2 SRIOV networks [0]. Adding a Xfail test to record it. [0] kubevirt#7444 Signed-off-by: Ram Lavi <ralavi@redhat.com>
current sriov mapping is flawed on vmi's with more than 2 SRIOV networks [0]. Adding a Xfail test to record it. [0] kubevirt#7444 Signed-off-by: Ram Lavi <ralavi@redhat.com>
This commit utilises the SRIOV-network PCI-address mapping that was digested from the multus network-status annotation and mounted to a volume, in order to create the SRIOV devices. If the map does not exist, then the mapping will fall back to the former approach. This commit solves issue [0] reported on flawed mapping of sriov on VMIs with multiple SRIOV networks Added appropriate SRIOV e2e test. [0] kubevirt#7444 Signed-off-by: Ram Lavi <ralavi@redhat.com>
This commit utilises the SRIOV-network PCI-address mapping that was digested from the multus network-status annotation and mounted to a volume, in order to create the SRIOV devices. If the map does not exist, then the mapping will fall back to the former approach. This commit solves issue [0] reported on flawed mapping of sriov on VMIs with multiple SRIOV networks Added appropriate SRIOV e2e test. [0] kubevirt#7444 Signed-off-by: Ram Lavi <ralavi@redhat.com>
This commit utilises the SRIOV-network PCI-address mapping that was digested from the multus network-status annotation and mounted to a volume, in order to create the SRIOV devices. If the map does not exist, then the mapping will fall back to the former approach. This commit solves issue [0] reported on flawed mapping of sriov on VMIs with multiple SRIOV networks Added appropriate SRIOV e2e test. [0] kubevirt#7444 Signed-off-by: Ram Lavi <ralavi@redhat.com>
This commit utilises the SRIOV-network PCI-address mapping that was digested from the multus network-status annotation and mounted to a volume, in order to create the SRIOV devices. If the map does not exist, then the mapping will fall back to the former approach. This commit solves issue [0] reported on flawed mapping of sriov on VMIs with multiple SRIOV networks Added appropriate SRIOV e2e test. [0] kubevirt#7444 Signed-off-by: Ram Lavi <ralavi@redhat.com>
This commit utilises the SRIOV-network PCI-address mapping that was digested from the multus network-status annotation and mounted to a volume, in order to create the SRIOV devices. If the map does not exist, then the mapping will fall back to the former approach. This commit solves issue [0] reported on flawed mapping of sriov on VMIs with multiple SRIOV networks Added appropriate SRIOV e2e test. [0] kubevirt#7444 Signed-off-by: Ram Lavi <ralavi@redhat.com>
This commit utilises the SRIOV-network PCI-address mapping that was digested from the multus network-status annotation and mounted to a volume, in order to create the SRIOV devices. If the map does not exist, then the mapping will fall back to the former approach. This commit solves issue [0] reported on flawed mapping of sriov on VMIs with multiple SRIOV networks Added appropriate SRIOV e2e test. [0] kubevirt#7444 Signed-off-by: Ram Lavi <ralavi@redhat.com>
This commit utilises the SRIOV-network PCI-address mapping that was digested from the multus network-status annotation and mounted to a volume, in order to create the SRIOV devices. If the map does not exist, then the mapping will fall back to the former approach. This commit solves issue [0] reported on flawed mapping of sriov on VMIs with multiple SRIOV networks Added appropriate SRIOV e2e test. [0] kubevirt#7444 Signed-off-by: Ram Lavi <ralavi@redhat.com>
This commit utilises the SRIOV-network PCI-address mapping that was digested from the multus network-status annotation and mounted to a volume, in order to create the SRIOV devices. If the map does not exist, then the mapping will fall back to the former approach. This commit solves issue [0] reported on flawed mapping of sriov on VMIs with multiple SRIOV networks Added appropriate SRIOV e2e test. [0] kubevirt#7444 Signed-off-by: Ram Lavi <ralavi@redhat.com>
This commit utilises the SRIOV-network PCI-address mapping that was digested from the multus network-status annotation and mounted to a volume, in order to create the SRIOV devices. If the map does not exist, then the mapping will fall back to the former approach. This commit solves issue [0] reported on flawed mapping of sriov on VMIs with multiple SRIOV networks Added appropriate SRIOV e2e test. [0] kubevirt#7444 Signed-off-by: Ram Lavi <ralavi@redhat.com>
This commit utilises the SRIOV-network PCI-address mapping that was digested from the multus network-status annotation and mounted to a volume, in order to create the SRIOV devices. If the map does not exist, then the mapping will fall back to the former approach. This commit solves issue [0] reported on flawed mapping of sriov on VMIs with multiple SRIOV networks Added appropriate SRIOV e2e test. [0] kubevirt#7444 Signed-off-by: Ram Lavi <ralavi@redhat.com>
This commit utilises the SRIOV-network PCI-address mapping that was digested from the multus network-status annotation and mounted to a volume, in order to create the SRIOV devices. If the map does not exist, then the mapping will fall back to the former approach. This commit solves issue [0] reported on flawed mapping of sriov on VMIs with multiple SRIOV networks Added appropriate SRIOV e2e test. [0] kubevirt#7444 Signed-off-by: Ram Lavi <ralavi@redhat.com>
This commit utilises the SRIOV-network PCI-address mapping that was digested from the multus network-status annotation and mounted to a volume, in order to create the SRIOV devices. If the map does not exist, then the mapping will fall back to the former approach. This commit solves issue [0] reported on flawed mapping of sriov on VMIs with multiple SRIOV networks Added appropriate SRIOV e2e test. [0] kubevirt#7444 Signed-off-by: Ram Lavi <ralavi@redhat.com>
This commit utilises the SRIOV-network PCI-address mapping that was digested from the multus network-status annotation and mounted to a volume, in order to create the SRIOV devices. If the map does not exist, then the mapping will fall back to the former approach. This commit solves issue [0] reported on flawed mapping of sriov on VMIs with multiple SRIOV networks Added appropriate SRIOV e2e test. [0] kubevirt#7444 Signed-off-by: Ram Lavi <ralavi@redhat.com>
Utilise the SRIOV-network PCI-address mapping that was digested from the multus network-status annotation and mounted to a volume, in order to create the SRIOV devices. If the map does not exist, then the mapping will fall back to the former approach. Solves issue [0] reported on flawed mapping of sriov on VMIs with multiple SRIOV networks Added appropriate SRIOV e2e test. [0] kubevirt#7444 Signed-off-by: Ram Lavi <ralavi@redhat.com>
Utilise the SRIOV-network PCI-address mapping that was digested from the multus network-status annotation and mounted to a volume, in order to create the SRIOV devices. If the map does not exist, then the mapping will fall back to the former approach. Solves issue [0] reported on flawed mapping of sriov on VMIs with multiple SRIOV networks Added appropriate SRIOV e2e test. [0] kubevirt#7444 Signed-off-by: Ram Lavi <ralavi@redhat.com>
Utilize the SRIOV-network PCI-address mapping that was digested from the multus network-status annotation and mounted to a volume, in order to create the SRIOV devices. If the map does not exist, then the mapping will fall back to the former approach. Solves issue [0] reported on flawed mapping of sriov on VMIs with multiple SRIOV networks Added appropriate SRIOV e2e test. [0] kubevirt#7444 Signed-off-by: Ram Lavi <ralavi@redhat.com>
Utilize the SRIOV-network PCI-address mapping that was digested from the multus network-status annotation and mounted to a volume, in order to create the SRIOV devices. If the map does not exist, then the mapping will fall back to the former approach. Solves issue [0] reported on flawed mapping of sriov on VMIs with multiple SRIOV networks Added appropriate SRIOV e2e test. [0] kubevirt#7444 Signed-off-by: Ram Lavi <ralavi@redhat.com>
Utilize the SRIOV-network PCI-address mapping that was digested from the multus network-status annotation and mounted to a volume, in order to create the SRIOV devices. If the map does not exist, then the mapping will fall back to the former approach. Solves issue [0] reported on flawed mapping of sriov on VMIs with multiple SRIOV networks Added appropriate SRIOV e2e test. [0] kubevirt#7444 Signed-off-by: Ram Lavi <ralavi@redhat.com>
Utilize the SRIOV-network PCI-address mapping that was digested from the multus network-status annotation and mounted to a volume, in order to create the SRIOV devices. If the map does not exist, then the mapping will fall back to the former approach. Solves issue [0] reported on flawed mapping of sriov on VMIs with multiple SRIOV networks Added appropriate SRIOV e2e test. [0] kubevirt#7444 Signed-off-by: Ram Lavi <ralavi@redhat.com>
Utilize the SRIOV-network PCI-address mapping that was digested from the multus network-status annotation and mounted to a volume, in order to create the SRIOV devices. If the map does not exist, then the mapping will fall back to the former approach. Solves issue [0] reported on flawed mapping of sriov on VMIs with multiple SRIOV networks Added appropriate SRIOV e2e test. [0] kubevirt#7444 Signed-off-by: Ram Lavi <ralavi@redhat.com>
Utilize the SRIOV-network PCI-address mapping that was digested from the multus network-status annotation and mounted to a volume, in order to create the SRIOV devices. If the map does not exist, then the mapping will fall back to the former approach. Solves issue [0] reported on flawed mapping of sriov on VMIs with multiple SRIOV networks Added appropriate SRIOV e2e test. [0] kubevirt#7444 Signed-off-by: Ram Lavi <ralavi@redhat.com>
Utilize the SRIOV-network PCI-address mapping that was digested from the multus network-status annotation and mounted to a volume, in order to create the SRIOV devices. If the map does not exist, then the mapping will fall back to the former approach. Solves issue [0] reported on flawed mapping of sriov on VMIs with multiple SRIOV networks Added appropriate SRIOV e2e test. [0] kubevirt#7444 Signed-off-by: Ram Lavi <ralavi@redhat.com>
Utilize the SRIOV-network PCI-address mapping that was digested from the multus network-status annotation and mounted to a volume, in order to create the SRIOV devices. If the map does not exist, then the mapping will fall back to the former approach. Solves issue [0] reported on flawed mapping of sriov on VMIs with multiple SRIOV networks Added appropriate SRIOV e2e test. [0] kubevirt#7444 Signed-off-by: Ram Lavi <ralavi@redhat.com>
Utilize the SRIOV-network PCI-address mapping that was digested from the multus network-status annotation and mounted to a volume, in order to create the SRIOV devices. If the map does not exist, then the mapping will fall back to the former approach. Solves issue [0] reported on flawed mapping of sriov on VMIs with multiple SRIOV networks. [0] kubevirt#7444 Signed-off-by: Ram Lavi <ralavi@redhat.com>
Utilize the SRIOV-network PCI-address mapping that was digested from the multus network-status annotation and mounted to a volume, in order to create the SRIOV devices. If the map does not exist, then the mapping will fall back to the former approach. Solves issue [0] reported on flawed mapping of sriov on VMIs with multiple SRIOV networks. [0] kubevirt#7444 Signed-off-by: Ram Lavi <ralavi@redhat.com>
Utilize the SRIOV-network PCI-address mapping that was digested from the multus network-status annotation and mounted to a volume, in order to create the SRIOV devices. If the map does not exist, then the mapping will fall back to the former approach. Solves issue [0] reported on flawed mapping of sriov on VMIs with multiple SRIOV networks. [0] kubevirt#7444 Signed-off-by: Ram Lavi <ralavi@redhat.com>
Utilize the SRIOV-network PCI-address mapping that was digested from the multus network-status annotation and mounted to a volume, in order to create the SRIOV devices. If the map does not exist, then the mapping will fall back to the former approach. Solves issue [0] reported on flawed mapping of sriov on VMIs with multiple SRIOV networks. [0] kubevirt#7444 Signed-off-by: Ram Lavi <ralavi@redhat.com>
Utilize the SRIOV-network PCI-address mapping that was digested from the multus network-status annotation and mounted to a volume, in order to create the SRIOV devices. If the map does not exist, then the mapping will fall back to the former approach. Solves issue [0] reported on flawed mapping of sriov on VMIs with multiple SRIOV networks. [0] kubevirt#7444 Signed-off-by: Ram Lavi <ralavi@redhat.com>
Utilize the SRIOV-network PCI-address mapping that was digested from the multus network-status annotation and mounted to a volume, in order to create the SRIOV devices. If the map does not exist, then the mapping will fall back to the former approach. Solves issue [0] reported on flawed mapping of sriov on VMIs with multiple SRIOV networks. [0] kubevirt#7444 Signed-off-by: Ram Lavi <ralavi@redhat.com>
Utilize the SRIOV-network PCI-address mapping that was digested from the multus network-status annotation and mounted to a volume, in order to create the SRIOV devices. If the map does not exist, then the mapping will fall back to the former approach. Solves issue [0] reported on flawed mapping of sriov on VMIs with multiple SRIOV networks. [0] kubevirt#7444 Signed-off-by: Ram Lavi <ralavi@redhat.com>
Utilize the SRIOV-network PCI-address mapping that was digested from the multus network-status annotation and mounted to a volume, in order to create the SRIOV devices. If the map does not exist, then the mapping will fall back to the former approach. Solves issue [0] reported on flawed mapping of sriov on VMIs with multiple SRIOV networks. [0] kubevirt#7444 Signed-off-by: Ram Lavi <ralavi@redhat.com>
Utilize the SRIOV-network PCI-address mapping that was digested from the multus network-status annotation and mounted to a volume, in order to create the SRIOV devices. If the map does not exist, then the mapping will fall back to the former approach. Solves issue [0] reported on flawed mapping of sriov on VMIs with multiple SRIOV networks. [0] kubevirt#7444 Signed-off-by: Ram Lavi <ralavi@redhat.com>
Utilize the SRIOV-network PCI-address mapping that was digested from the multus network-status annotation and mounted to a volume, in order to create the SRIOV devices. If the map does not exist, then the mapping will fall back to the former approach. Solves issue [0] reported on flawed mapping of sriov on VMIs with multiple SRIOV networks. [0] kubevirt#7444 Signed-off-by: Ram Lavi <ralavi@redhat.com>
Utilize the SRIOV-network PCI-address mapping that was digested from the multus network-status annotation and mounted to a volume, in order to create the SRIOV devices. If the map does not exist, then the mapping will fall back to the former approach. Solves issue [0] reported on flawed mapping of sriov on VMIs with multiple SRIOV networks. [0] kubevirt#7444 Signed-off-by: Ram Lavi <ralavi@redhat.com>
Utilize the SRIOV-network PCI-address mapping that was digested from the multus network-status annotation and mounted to a volume, in order to create the SRIOV devices. If the map does not exist, then the mapping will fall back to the former approach. Solves issue [0] reported on flawed mapping of sriov on VMIs with multiple SRIOV networks. [0] kubevirt#7444 Signed-off-by: Ram Lavi <ralavi@redhat.com>
Utilize the SRIOV-network PCI-address mapping that was digested from the multus network-status annotation and mounted to a volume, in order to create the SRIOV devices. If the map does not exist, then the mapping will fall back to the former approach. Solves issue [0] reported on flawed mapping of sriov on VMIs with multiple SRIOV networks. [0] kubevirt#7444 Signed-off-by: Ram Lavi <ralavi@redhat.com>
Utilize the SRIOV-network PCI-address mapping that was digested from the multus network-status annotation and mounted to a volume, in order to create the SRIOV devices. If the map does not exist, then the mapping will fall back to the former approach. Solves issue [0] reported on flawed mapping of sriov on VMIs with multiple SRIOV networks. [0] kubevirt#7444 Signed-off-by: Ram Lavi <ralavi@redhat.com>
Utilize the SRIOV-network PCI-address mapping that was digested from the multus network-status annotation and mounted to a volume, in order to create the SRIOV devices. If the map does not exist, then the mapping will fall back to the former approach. Solves issue [0] reported on flawed mapping of sriov on VMIs with multiple SRIOV networks. [0] kubevirt#7444 Signed-off-by: Ram Lavi <ralavi@redhat.com>
What happened:
A VM with two or more SR-IOV interfaces from the same resource pool might end up with each interface connected to the wrong network.
For example #6351 (comment)
The problem seems to be the fact that there is no mapping between the SR-IOV device PCI address and the
NetworkAttachmentDefinition, but only between the SR-IOV device PCI address to the resource-name.
Therefore there is no differentiation between the devices and the mapping is inconsistent.
What you expected to happen:
Each SR-IOV interface should be attached to the correct network as specified in the VM manifest.
How to reproduce it (as minimally and precisely as possible):
Additional context:
We discover this while investigating #6351
Environment:
virtctl version
): N/Akubectl version
): N/Auname -a
): N/AThe text was updated successfully, but these errors were encountered: