Need an Elegant Solution for Setting Alternative Firmware Path at Runtime with KMM
chaitanya1731 opened this issue · 0 comments
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.