-
Notifications
You must be signed in to change notification settings - Fork 216
Description
Hello,
I'm trying to enable Microshift on NVIDIA Jetson. To give Microshift pods access to the iGPU, the "nvidia-device-plugin-daemonset" (found at https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v0.17.1/deployments/static/nvidia-device-plugin.yml) must be installed in the kube-admin
namespace.
However, if run on an RPM-OSTree system (which I am trying to do), this will cause greenboot-healthcheck.service to fail due to the following lines in 40_microshift_running_check.sh:
declare -a csi_components=('csi-snapshot-controller')
csi_pods_ct=0
for csi_c in "${csi_components[@]}"; do
if csiComponentShouldBeDeployed "${csi_c}"; then
(( csi_pods_ct += 1 ))
fi
done
if [ ${csi_pods_ct} -gt 0 ]; then
PODS_NS_LIST+=(kube-system)
PODS_CT_LIST+=("${csi_pods_ct}")
fi
This, if I understand correctly, statically declares csi-snapshot-controller
as the only allowed component in kube-system
# Wait for MicroShift core pods to enter ready state
for i in "${!PODS_NS_LIST[@]}"; do
CHECK_PODS_NS=${PODS_NS_LIST[${i}]}
CHECK_PODS_CT=${PODS_CT_LIST[${i}]}
echo "Waiting ${WAIT_TIMEOUT_SECS}s for ${CHECK_PODS_CT} pod(s) from the '${CHECK_PODS_NS}' namespace to be in 'Ready' state"
if ! wait_for "${WAIT_TIMEOUT_SECS}" namespace_pods_ready; then
echo "Error: Timed out waiting for ${CHECK_PODS_CT} pod(s) in the '${CHECK_PODS_NS}' namespace to be in 'Ready' state"
create_fail_marker_and_exit
fi
done
And then this will cause greenboot-healthcheck.service to fail if there are any other components in the kube-system namespace.
Could a configuration be added for the expected components in kube-system
? I'd happily make a pull request myself to add this feature, but I couldn't find the source code for 40_microshift_running_check.sh anywhere in this repository