Incorrect driver allocated to a container for netdevice vf over vfio interface
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
StarlingX |
Fix Released
|
Medium
|
Steven Webster |
Bug Description
Brief Description
-----------------
When having netdevice vf over vfio interface, incorrect SR-IOV device plugin capacity/allocation occurs, and incorrect driver being allocated to a container.
Severity
--------
Major
Steps to Reproduce
------------------
Lab installed with netdevice vf over vfio interface
create container using the datanetwork on netdevice vf
Expected Behavior
------------------
correct driver is used in container and interface come up in container
$ kubectl exec test-sriovdp-
net1
Actual Behavior
----------------
incorrect driver is used in container and interface did not come up in container
$ kubectl exec test-sriovdp-
dir: cannot access /sys/bus/
command terminated with exit code 2
Reproducibility
---------------
Permanent
System Configuration
-------
Lab-name: wp_112
Branch/Pull Time/Commit
-------
2020-06-27_00-41-42
Last Pass
---------
2020-06-23_20-00-00
Timestamp/Logs
--------------
[sysadmin@
+------
| Property | Value |
+------
| ifname | sriov0 |
| iftype | ethernet |
| ports | [u'ens785f1'] |
| imac | 3c:fd:fe:ac:65:79 |
| imtu | 1500 |
| ifclass | pci-sriov |
| ptp_role | none |
| aemode | None |
| schedpolicy | None |
| txhashpolicy | None |
| uuid | f7ee41ed-
| ihost_uuid | 31968bbe-
| vlan_id | None |
| uses | [] |
| used_by | [u'sriovnet'] |
| created_at | |
| updated_at | |
| sriov_numvfs | 32 |
| sriov_vf_driver | vfio |
| accelerated | [True] |
+------
[sysadmin@
+------
| Property | Value |
+------
| ifname | sriovnet |
| iftype | vf |
| ports | [] |
| imac | 3c:fd:fe:ac:65:79 |
| imtu | 1500 |
| ifclass | pci-sriov |
| ptp_role | none |
| aemode | None |
| schedpolicy | None |
| txhashpolicy | None |
| uuid | da3737d1-
| ihost_uuid | 31968bbe-
| vlan_id | None |
| uses | [u'sriov0'] |
| used_by | [] |
| created_at | |
| updated_at | |
| sriov_numvfs | 16 |
| sriov_vf_driver | netdevice |
| accelerated | [True] |
+------
[sysadmin@
+------
| hostname | uuid | ifname | datanetwork_name |
+------
| controller-0 | 51b4dd7a-
| controller-0 | e2ffe7a4-
+------
# NetworkAttachme
apiVersion: k8s.cni.cncf.io/v1
kind: NetworkAttachme
metadata:
annotations:
k8s.
name: test-sriovdp-
spec:
config: '{"\"ipam\"": {"\"assign_ipv6\"": "\"true\"", "\"type\"": "\"calico-ipam\"",
"\"
"\"type\"": "\"sriov\"", "\"cniVersion\"": "\"0.3.0\"", "\"kubernetes\"": {"\"kubeconfig\"":
"\"
# pod yaml
apiVersion: v1
kind: Pod
metadata:
annotations:
cni.
k8s.
name: test-sriovdp-
spec:
containers:
- args:
- while true; do sleep 300000; done;
command:
- /bin/bash
- -c
- --
image: centos/tools
imagePullPo
name: test-sriovdp-
resources:
limits:
requests:
securityCon
capabilities:
add:
- IPC_LOCK
- NET_ADMIN
- NET_RAW
nodeSelector:
kubernetes.
$ kubectl exec test-sriovdp-
GROUP0_
# kubectl exec test-sriovdp-
dir: cannot access /sys/bus/
command terminated with exit code 2
Test Activity
-------------
Regression Testing
Workaround
----------
Configure the parent SRIOV interface to use the netdevice VF driver and the child to use vfio
tags: | added: stx.networking |
description: | updated |
summary: |
- incorrect driver being allocated to a container for netdevice vf over - vfio interface + Incorrect driver allocated to a container for netdevice vf over vfio + interface |
Low priority - can be avoided. See the workaround.