-
Notifications
You must be signed in to change notification settings - Fork 12
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #310 from mregmi/documentation
Documentation: add DSA device plugin documentation
- Loading branch information
Showing
4 changed files
with
76 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
# Create Intel DSA Device Plugin CR | ||
|
||
## Create a CR via web console | ||
1. Go to **Operator** -> **Installed Operators**. | ||
2. Open **Intel Device Plugins Operator**. | ||
3. Navigate to tab **Intel DSA Device Plugin**. | ||
4. Click **Create DSADevicePlugin** -> set correct parameters -> Click **Create** | ||
5. Optional: If you want to make any customizations, select YAML view and edit the details. When you are done, click **Create**. | ||
|
||
## Verify via web console | ||
1. Verify CR by checking the status of **Workloads** -> **DaemonSet** -> **intel-dsa-plugin**. | ||
2. Now `DsaDevicePlugin` is created. | ||
|
||
## Create CR via CLI | ||
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 via CLI | ||
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 | ||
``` | ||
|
||
# Verify DSA Device Plugin | ||
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 | ||
``` | ||
|
||
## DSA Resource Configuration | ||
By default the DSA plugin uses [this configuration file](https://github.com/intel/intel-device-plugins-for-kubernetes/blob/main/demo/dsa.conf). | ||
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](https://github.com/intel/idxd-config/tree/stable/contrib/configs) | ||
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: | ||
1. Create the configmap for DSA resource configuration | ||
``` | ||
$ oc create configmap --namespace=openshift-operators intel-dsa-config --from-file=dsa[-$NODE_NAME].conf | ||
2. 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. | ||
# Run Intel DSA based workloads on RHOCP | ||
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](/tests/l2/dsa/README.md) for the detailed steps. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
# Copyright (c) 2024 Intel Corporation | ||
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
kind: DsaDevicePlugin | ||
apiVersion: deviceplugin.intel.com/v1 | ||
metadata: | ||
name: dsadeviceplugin-sample | ||
spec: | ||
image: 'quay.io/ocpeng/intel-dsa-plugin:0.29.0' | ||
initImage: 'quay.io/ocpeng/intel-idxd-config-initcontainer:0.29.0' | ||
logLevel: 4 | ||
nodeSelector: | ||
intel.feature.node.kubernetes.io/dsa: 'true' | ||
sharedDevNum: 10 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters