diff --git a/tests/integration/kubernetes/runtimeclass_workloads/custom-node-debugger.yaml b/tests/integration/kubernetes/runtimeclass_workloads/custom-node-debugger.yaml new file mode 100644 index 0000000000..58a6a8cfae --- /dev/null +++ b/tests/integration/kubernetes/runtimeclass_workloads/custom-node-debugger.yaml @@ -0,0 +1,37 @@ +# +# Copyright (c) IBM Corp. 2024 +# +# SPDX-License-Identifier: Apache-2.0 +# +apiVersion: v1 +kind: Pod +metadata: + name: custom-node-debugger +spec: + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: kubernetes.io/hostname + operator: In + values: + - ${NODE_NAME} + containers: + - name: node-debugger-container + image: quay.io/bedrock/ubuntu:latest + command: ["/bin/sh", "-c", "sleep infinity"] + stdin: true + tty: true + securityContext: + privileged: true + runAsUser: 0 + allowPrivilegeEscalation: true + volumeMounts: + - name: host-root + mountPath: /host + volumes: + - name: host-root + hostPath: + path: / + type: Directory diff --git a/tests/integration/kubernetes/tests_common.sh b/tests/integration/kubernetes/tests_common.sh index c552f5bf2c..98a3c60c9e 100644 --- a/tests/integration/kubernetes/tests_common.sh +++ b/tests/integration/kubernetes/tests_common.sh @@ -104,7 +104,7 @@ exec_host() { local old_debugger_pods=($(kubectl get pods -o name | grep node-debugger)) # Run a debug pod - kubectl debug -q "node/${node}" --image=quay.io/bedrock/ubuntu:latest -- chroot /host bash -c "sleep infinity" >&2 + NODE_NAME="${node}" envsubst < runtimeclass_workloads/custom-node-debugger.yaml | kubectl apply -f - > /dev/null # Identify the new debugger pod local new_debugger_pod=$(get_new_debugger_pod "${old_debugger_pods[@]}")