intel / intel-technology-enabling-for-openshift

The project focuses on Intel’s enterprise AI and cloud native foundation for Red Hat OpenShift Container Platform (RHOCP) solution enablement and innovation including Intel data center hardware features, Intel technology enhanced AI platform and the referenced AI workloads provisioning for OpenShift.
https://intel.github.io/intel-technology-enabling-for-openshift/
Apache License 2.0
17 stars 12 forks source link

Need an Elegant Solution for Setting Alternative Firmware Path at Runtime with KMM #279

Open chaitanya1731 opened 4 months ago

chaitanya1731 commented 4 months ago

Summary:

While setting the alternative firmware path at runtime with KMM, we currently need to manually update the ConfigMap to set worker.setFirmwareClassPath to /var/lib/firmware. This is being done with the following oc command:

$ oc patch configmap kmm-operator-manager-config -n openshift-kmm --type='json' -p='[{"op": "add", "path": "/data/controller_config.yaml", "value": "healthProbeBindAddress: :8081\nmetricsBindAddress: 127.0.0.1:8080\nleaderElection:\n  enabled: true\n  resourceID: kmm.sigs.x-k8s.io\nwebhook:\n  disableHTTP2: true\n  port: 9443\nworker:\n  runAsUser: 0\n  seLinuxType: spc_t\n  setFirmwareClassPath: /var/lib/firmware"}]'
$ oc get pods -n openshift-kmm | grep -i "kmm-operator-controller-" | awk '{print $1}' | xargs oc delete pod -n openshift-kmm

However, this command sets the path explicitly and then reboot the controller manager pod, we need a more elegant solution to update this firmware path.

Impact:

The current method breaks "one-click" provisioning solution, which stops the Ansible playbook without completing its execution.. As a workaround, users need to be already logged in to the cluster using oc command..

Desired Solution:

Need a solution that allows for a more integrated and seamless way to set the firmware path without manual intervention.