Skip to content

Commit

Permalink
Merge pull request #143 from chaitanya1731/qat-docs
Browse files Browse the repository at this point in the history
device_plugins: Update deploy_qat readme
  • Loading branch information
uMartinXu authored Sep 18, 2023
2 parents 64a6c86 + 0df51a7 commit 3132f89
Showing 1 changed file with 41 additions and 1 deletion.
42 changes: 41 additions & 1 deletion device_plugins/deploy_qat.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,44 @@ Output:
```
NAME DESIRED READY NODE SELECTOR AGE
qatdeviceplugin-sample 1 1 {"intel.feature.node.kubernetes.io/qat":"true"} 3h27m
```
```

# Verify QAT Device Plugin
After the plugin is deployed, use below command to verify QAT resources:
```
$ oc describe node <node name> | grep qat.intel.com
qat.intel.com/cy: 32
qat.intel.com/cy: 32
qat.intel.com/dc: 32
qat.intel.com/dc: 32
```

# QAT Device Plugin Configuration
> **Note**: The QAT device plugin can be configured with the flags. In this release, only the configurations in the table below are verified and supported on RHOCP.
For more details about the QAT device plugin configuration flags, see [Modes and Configurations Options](https://github.com/intel/intel-device-plugins-for-kubernetes/blob/main/cmd/qat_plugin/README.md#modes-and-configuration-options).

| Flag | Configuration | Description |
| ---- | ---- | ---- |
| `-dpdk-driver` | vfio-pci | Using vfio-pci driver to manage QAT VFIO device. See details [here](https://doc.dpdk.org/guides/linux_gsg/linux_drivers.html) |
| `-kernel-vf-drivers` | 4xxxvf | Supporting 4xxx QAT device </br> **Note**: Verified on 4th Gen Intel® Xeon® Scalable processors. See details [here](https://github.com/intel/qatlib/blob/main/INSTALL#L72) |
| `-max-num-devices ` | 128 | 128 QAT VFIO Virtual Function (VF) devices provided to QAT device plugin to manage. It is the maximum VF device it can support for 4xxx QAT device. |
| `-provisioning-config ` | qat-config or empty | See section [QAT resource configuration](/device_plugins/deploy_qat.md#qat-resource-configuration) |

## QAT Resource Configuration
In this release, if the user does not configure the QAT resources through the device plugin `-provisioning-config` flag. The device plugin will configure half of the QAT VFIO VF devices for compression/decompression and the other half for cryptography.

Users can use the steps below to customize the QAT resource configuration:
1. Create the configmap for qat resource configuration
```
$ oc create configmap --namespace=openshift-operators --from-literal "qat.conf=ServicesEnabled=<option>" qat-config
```
Options:
`dc`: Configure all the QAT VF devices managed by the device plugin CR for compression/decompression.
`sym` or `asym`: Configure all the QAT VF devices managed by the device plugin CR for cryptography
2. Create QAT device plugin CR with `-provisioning-config` set as qat-config.
# Run Intel QAT based workloads on RHOCP
To run the Intel QAT based workloads as an unprivileged pod (see [issue](https://github.com/intel/intel-technology-enabling-for-openshift/issues/122)). The customized `qat-scc` Security Context Constraint (SCC) is provided to bind with service account and run the QAT based workload.
See [Verify Intel QuickAssist Technology Provisioning](https://github.com/intel/intel-technology-enabling-for-openshift/tree/main/tests/l2#verify-intel-quickassist-technology-provisioning) for the detailed steps.

0 comments on commit 3132f89

Please sign in to comment.