1. Feature Overview
Make host-device plugin as a placeholder for a DPDK device when applications wants to attach the host-device with a pod container through network attachment definition.
Name of feature: Add DPDK support to the host-device plugin
2. Feature Details
The feature allows PCI devices that have been bound to a non-kernel driver to be attach to a pod. The feature skips actions tied to kernel netdev (e.g. IPAM) in a similar way as the SR-IOV CNI plugin. Kubernetes users would not need to use a special CNI plugin (i.e. NO-OP) when using virtio-net devices bound to the vfio driver.
3. Business Justification
Enables the use of accelerated OVS/OVN-dpdk interfaces in a Shift on Stack deployment.
To be updated
The feature has already been implemented upstream and this request to include the upstream feature in the downstream release.
Verified this bug on 4.9.0-0.nightly-2021-08-19-180334
1. setup sriov operator with 4.9 version
2. init dpdk VF with following apiVersion: sriovnetwork.openshift.io/v1
3. Check the VF pciAddress
- deviceID: 154c
- deviceID: 154c
4. Create net-attach-def in namespace z1
5. oc annotate net-attach-def host-device k8s.v1.cni.cncf.io/resourceName=openshift.io/inteldpdk -n z1
6. Create test pod with above net-attach-def
# cat pod/z1/intel-dpdk.yaml-hostdevice
- name: appcntr1
7. Check the pod is running
# oc get pod -n z1
NAME READY STATUS RESTARTS AGE
testpod1-lwz28 1/1 Running 0 14m
# oc rsh -n z1 testpod1-lwz28
/ # env | grep -i pci
Move this to verified.
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory (Moderate: OpenShift Container Platform 4.9.0 bug fix and security update), and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.