StarlingX Intel Device Plugins app
Go to file
Md Irshad Sheikh 9420bf9662 Add "app.starlingx.io/component=platform" label
Set the default label value for app.starlingx.io/component
label to 'platform'

Test Plan:
PASSED: build-pkgs
PASSED: Upload using 'system application-upload
        <intel-device-plugins-operator-version.tgz>'
PASSED: Check the status of charts using below command, it should
        be disabled.
        "system helm-override-list app_name --long"
PASSED: Enable the charts using below command:
        "system helm-chart-attribute-modify --enabled true app_name
        chart_name namespace"
PASSED: Apply the app using "system application-apply" command
PASSED: Testing on QAT supported hardware:
        After apply, QAT pod should be running. Verify using below
        command.
        "kubectl get pods -A | grep qat"
PASSED: Check all pods are running in platform label using command
        "sudo kube-cpusets | grep intel-device-plugin"

        Note: List the core numbers using command
        "system host-cpu-list 1"

PASSED: Change label to application using command "system
        helm-override-update --values values.yaml
        intel-device-plugins-operator intel-device-plugins-operator
        intel-device-plugins-operator"
        and check the pods are running in application core using
        "sudo kube-cpusets | grep intel-device-plugin"

        Note: cat values.yaml
        app.starlingx.io/component: application

PASSED: Change label to invalid label then it raises error:
        ValueError: Value invalid for label:namespace
        app.starlingx.io/component:invalid is not supported

        Note: cat values.yaml
        app.starlingx.io/component: invalid

Story: 2010604
Task: 51027

Change-Id: I0498efc77457a03ab56695227a67488072bef4c7
Signed-off-by: Md Irshad Sheikh <mdirshad.sheikh@windriver.com>
2024-09-20 05:32:05 -04:00
helm-charts Merge "Add GPU plugin to app-intel-device-plugins" 2024-06-07 15:27:38 +00:00
python3-k8sapp-intel-device-plugins-operator Add "app.starlingx.io/component=platform" label 2024-09-20 05:32:05 -04:00
stx-intel-device-plugins-operator-helm Update helm/fluxcd api version. 2024-06-27 12:05:30 -03:00
.gitignore Update app Zuul Check Jobs. 2023-12-13 11:40:49 -07:00
.gitreview Added .gitreview 2023-08-16 14:35:50 +00:00
.zuul.yaml Add minimum Kubernetes version supported 2024-02-06 15:35:06 -03:00
bindep.txt Intel Device Plugins App: FluxCD directory structure creation 2023-09-15 13:23:24 +00:00
debian_build_layer.cfg Intel Device Plugins App: FluxCD directory structure creation 2023-09-15 13:23:24 +00:00
debian_iso_image.inc Intel Device Plugins App: FluxCD directory structure creation 2023-09-15 13:23:24 +00:00
debian_pkg_dirs Add GPU plugin to app-intel-device-plugins 2024-06-07 05:36:53 -04:00
README Update error message 2024-06-26 06:39:32 -04:00
requirements.txt Integration of Intel Device Plugins as a system app 2023-10-20 09:22:06 -04:00
test-requirements.txt Integration of Intel Device Plugins as a system app 2023-10-20 09:22:06 -04:00
tox.ini Update app Zuul Check Jobs. 2023-12-13 11:40:49 -07:00

## Application app-intel-device-plugins
This application provides the intel device plugins to the StarlingX

Top Level Directory Structure

app-intel-device-plugins
├── bindep.txt
├── debian_build_layer.cfg
├── debian_iso_image.inc
├── debian_pkg_dirs
├── helm-charts
│   ├── custom # contains customized helm package
│   │   └── intel-device-plugins-secret-observer-helm # contains secret-observer helm package
│   └── upstream # contains upstream hlem package
│       ├── intel-device-plugins-dsa-helm # contains DSA plugin helm package
│       ├── intel-device-plugins-gpu-helm # contains GPU plugin helm package
│       ├── intel-device-plugins-operator-helm # contains oeprator helm package
│       └── intel-device-plugins-qat-helm # contains QAT plugin helm package
├── python3-k8sapp-intel-device-plugins-operator # contains python plugins of application life cycle management
├── README
├── requirements.txt
├── stx-intel-device-plugins-operator-helm # helm package manager for the application
├── test-requirements.txt
└── tox.ini

## Source
Charts are based on
<https://github.com/intel/helm-charts/releases>.

## Installation step:
1. Build a package
    "build -c -p
    intel-device-plugins-operator-helm,
    intel-device-plugins-dsa-helm,
    intel-device-plugins-gpu-helm,
    intel-device-plugins-qat-helm,
    intel-device-plugins-secret-observer-helm,
    python3-k8sapp-intel-device-plugins-operator,
    stx-intel-device-plugins-operator-helm"

2. Extract the content of stx-intel-device-plugins-helm_*amd64.deb and check
   if the helm tar file is present in the location temp/usr/local/share/application/helm

   Extract using command.
   dpkg -x stx-intel-device-plugins-helm_*amd64.deb temp

3. In the QAT hardware lab, if tar file file does not exist at the location "/usr/local/share/application/helm", then copy the tar file.

4. Upload the tar using command.
    "system application-upload tar_file"

5. Check the helm chart status using command.
   "system helm-override-list intel-device-plugins-operator --long"

6. If you want to install any of the helm chart, then make it enable using command.
   "system helm-chart-attribute-modify [--enabled <true/false>] <app name> <chart name> <namespace>"

   For example, run following command to enable QAT helm chart.
   "system helm-chart-attribute-modify  --enabled true intel-device-plugins-operator intel-device-plugins-qat intel-device-plugins-operator"

7. Apply the application using command. (Note: Make sure node-feature-discovery application should be applied first before applying intel-device-plugins-operator application.)
   "system application-apply intel-device-plugins-operator"

8. After applying the application, Operator and QAT pods will be running and status can be checked using command.
   "kubectl get pods -n intel-device-plugins-operator"