- Go to Operator -> Installed Operators.
- Open Intel Device Plugins Operator.
- Navigate to tab Intel DSA Device Plugin.
- Click Create DSADevicePlugin -> set correct parameters -> Click Create
- Optional: If you want to make any customizations, select YAML view and edit the details. When you are done, click Create.
- Verify CR by checking the status of Workloads -> DaemonSet -> intel-dsa-plugin.
- Now
DsaDevicePlugin
is created.
Apply the CR yaml file:
$ oc apply -f https://raw.githubusercontent.com/intel/intel-technology-enabling-for-openshift/main/device_plugins/dsa_device_plugin.yaml
Verify that the device plugin CR is ready:
$ oc get DsaDevicePlugin
Output:
NAME DESIRED READY NODE SELECTOR AGE
dsadeviceplugin-sample 3 3 {"intel.feature.node.kubernetes.io/dsa":"true"} 98m
After the plugin is deployed, use below command to verify DSA resources:
$ oc describe node srf-2 | grep dsa.intel.com
dsa.intel.com/wq-user-dedicated: 0
dsa.intel.com/wq-user-shared: 160
dsa.intel.com/wq-user-dedicated: 0
dsa.intel.com/wq-user-shared: 160
By default the DSA plugin uses this configuration file.
The dsa init container comes with a utility called accel-config
which takes file as input and configures the DSA hardwares based on that.
The default configuration has creates dedicated WQs for each DSA device so that it's four groups per device where each groups is with 1 WQ linked to 1 engine.
Users can customise the config and can use the pre-customised config for their specific use case from here
There's also a possibility for a node specific configuration by passing a node specific profile via configMap volume mount.
Users can use the steps below to customize the DSA resource configuration:
- Create the configmap for DSA resource configuration
$ oc create configmap --namespace=openshift-operators intel-dsa-config --from-file=dsa[-$NODE_NAME].conf
- Create DSA device plugin CR with -provisioning-config set as the name of the ConfigMap (created in step 1) in the dsa_device_plugin.yaml file or set ConfigMap name in the provisioning-config option from web console.
To run the Intel DSA based workloads as an unprivileged pod, you need to use a customised SCC. The customized dsa-scc
Security Context Constraint (SCC) is provided to bind with service account and run the DSA based workload.
See Verify Intel DSA Provisioning for the detailed steps.