SRIOV device plugin is not able to handle accelerator cards (i.e ACC100)

Bug #2000939 reported by Muhammad Ahmad
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SR-IOV Network Device Plugin Charm
Invalid
Undecided
Unassigned

Bug Description

By default, the sriov-network-device-plugin version installed by the charm is old (v3.2). This version is unable to handle the newer Accelerator cards (e.g. Intel ACC100) and is not creating VF resources in kubernetes for these accelerators.

###################################################################
To reproduce:

>> Configure the node and create sriov vfs

>> Install microk8s and enable plugins

snap install microk8s --classic
microk8s enable storage rbac community dns
microk8s enable multus
juju bootstrap microk8s micro
juju add-model sriov
juju deploy sriov-cni
juju deploy sriov-network-device-plugin

>> Pass the host vfs as resource-list to the plugin. (example below)

juju config sriov-network-device-plugin resource-list='[
        {
            "resourceName": "intel_sriov_acc",
            "resourcePrefix": "canonical.com",
            "deviceType": "accelerator",
            "selectors": {
                "vendors": ["8086"],
                "devices": ["0d5d","0d90","5050"],
                "drivers": ["igb_uio", "vfio-pci"]
            }
        },
        {
            "resourceName": "intel_sriov_dpdk_cplane_fh1",
            "resourcePrefix": "canonical.com",
            "selectors": {
                "vendors": ["8086"],
                "rootDevices": ["0000:18:00.0#1"],
                "drivers": ["vfio-pci", "igb_uio"]
            }
        },
        {
            "resourceName": "intel_sriov_dpdk_uplane_fh1",
            "resourcePrefix": "canonical.com",
            "selectors": {
                "vendors": ["8086"],
                "rootDevices": ["0000:18:00.0#0"],
                "drivers": ["vfio-pci", "igb_uio"]
            }
        },
        {
            "resourceName": "intel_sriov_mplane_fh1",
            "resourcePrefix": "canonical.com",
            "selectors": {
                "vendors": ["8086"],
                "rootDevices": ["0000:18:00.0#2-3"],
                "drivers": ["iavf","i40evf"]
            }
        }
]'

>> Verify resources in kubernetes

microk8s kubectl describe nodes

Capacity:
  canonical.com/intel_sriov_acc: 0
  canonical.com/intel_sriov_dpdk_cplane_fh1: 1
  canonical.com/intel_sriov_dpdk_f1u: 2
  canonical.com/intel_sriov_dpdk_n6: 1
  canonical.com/intel_sriov_dpdk_ngu: 2
  canonical.com/intel_sriov_dpdk_uplane_fh1: 1
  canonical.com/intel_sriov_mplane_fh1: 2

Which is missing the intel_sriov_acc vfs.

###################################################

Using the device-plugin version 'latest' or '3.3.2' solves this issue and is able to create VFs for the acc100.

Capacity:
  canonical.com/intel_sriov_acc: 2
  canonical.com/intel_sriov_dpdk_cplane_fh1: 1
  canonical.com/intel_sriov_dpdk_f1u: 2
  canonical.com/intel_sriov_dpdk_n6: 1
  canonical.com/intel_sriov_dpdk_ngu: 2
  canonical.com/intel_sriov_dpdk_uplane_fh1: 1
  canonical.com/intel_sriov_mplane_fh1: 2

The default charm installation should point to the newer versions for convienence.

Revision history for this message
George Kraft (cynerva) wrote :

The latest release of the sriov-network-device-plugin charm (from the latest/stable or 1.26/stable channels) should come with v3.5.1. This change was published in mid December.

Where are you seeing sriov-network-device-plugin v3.2? When did you try this?

Changed in charm-sriov-network-device-plugin:
status: New → Incomplete
Revision history for this message
Muhammad Ahmad (ahmadfsbd) wrote :

We tested this probably just a couple of days before the latest change was pushed. As you mentioned, I see that there is v3.5.1 now, and it solves this issue. We can close this one.

Changed in charm-sriov-network-device-plugin:
status: Incomplete → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.