This commits adds helm chart of Intel DSA (Data Streaming Accelerator)
plugin to Intel Device Plugins app. Intel DSA is a high-performance data
copy and transformation accelerator integrated into processors starting
with 4th Generation Intel Xeon processors. It is targeted for
optimizing streaming data movement and transformation operations common
with applications for high-performance storage, networking, persistent
memory, and various data processing applications. The Intel DSA device
plugin discovers DSA work queues and presents them as node resources.
This commit also overrides default dsa helm chart value for
nodeFeatureRule to true, which labels the node with the help of NFD
(Node Feature Discovery) app. Node Feature Rule is defined in dsa.yaml
file which recognizes the device id of DSA hardware and label the node
with intel.feature.node.kubernetes.io/dsa: "true".
nodeSelector is used to match the label and create the pod of DSA plugin
in the node where the DSA devices (hardware) exists. So NodeAffinity and
Tolerations are not required to use.
Moreover, this commit patches the upstream helm chart to allow a custom
configuration for DSA device by setting the overrideConfig value via
system helm-chart-overrides. The default config is based on upstream
intel-device-plugins repository:
https://github.com/intel/intel-device-plugins-for-kubernetes/blob/release-0.29/deployments/dsa_plugin/overlays/dsa_initcontainer/dsa-config.yaml
Test Plan:
PASS: Build process is successful with creation of debian package.
PASS: Extract the content of stx-intel-device-plugins-helm_*.deb and
check if the dsa helm tar file is present.
PASS: Upload using 'system application-upload' command
PASS: Check the status of charts using below command, it should
be disabled.
"system helm-override-list app_name --long"
PASS: Enable the charts using below command:
"system helm-chart-attribute-modify --enabled true app_name
chart_name namespace"
PASS: Apply the app using "system application-apply" command
PASS: Testing on DSA supported hardware (AIO-SX):
After apply, DSA sample pod should be running.
Verify using below command:
"kubectl get pods -A | grep dsa"
PASS: Testing on DSA not supported hardware (AIO-SX):
After apply, Daemonset should be running, but dsa plugin
pod should not be created. Verify using below command.
"kubectl get ds -A | grep dsa"
PASS: Tested app upload/apply/remove/delete in AIO-SX.
PASS: Override DSA config and confirm that it is applied via
idxd-initcontainer after system application-apply
Story: 2011040
Task: 49559
Change-Id: I8bdb615ffd2b0a7d304a47e6056a8b67c1e8fd9a
Signed-off-by: Alyson Deives Pereira <alyson.deivespereira@windriver.com>