From 18e02d0d9d9dc7c96f627ff1e5c9b09c3d4a7962 Mon Sep 17 00:00:00 2001 From: Fabian Hardt Date: Fri, 5 Dec 2025 14:27:54 +0100 Subject: [PATCH 1/2] fix CKAD lab2 question 2 --- facilitator/assets/exams/ckad/002/answers.md | 3 +++ .../scripts/validation/q2_s4_validate_shared_volume.sh | 10 +++++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/facilitator/assets/exams/ckad/002/answers.md b/facilitator/assets/exams/ckad/002/answers.md index f2f7042..b0b2541 100644 --- a/facilitator/assets/exams/ckad/002/answers.md +++ b/facilitator/assets/exams/ckad/002/answers.md @@ -62,6 +62,9 @@ spec: volumeMounts: - name: log-volume mountPath: /var/log + - name: log-volume + mountPath: /var/log/nginx + subPath: nginx - name: sidecar-container image: busybox command: ['sh', '-c', 'while true; do echo $(date) >> /var/log/app.log; sleep 5; done'] diff --git a/facilitator/assets/exams/ckad/002/scripts/validation/q2_s4_validate_shared_volume.sh b/facilitator/assets/exams/ckad/002/scripts/validation/q2_s4_validate_shared_volume.sh index f9d7201..6d19a34 100755 --- a/facilitator/assets/exams/ckad/002/scripts/validation/q2_s4_validate_shared_volume.sh +++ b/facilitator/assets/exams/ckad/002/scripts/validation/q2_s4_validate_shared_volume.sh @@ -6,10 +6,10 @@ VOLUME_NAME=$(kubectl get pod multi-container-pod -n multi-container -o jsonpath if [[ "$VOLUME_NAME" == "log-volume" ]]; then # Volume exists, now check if it's mounted in both containers - MAIN_CONTAINER_MOUNT=$(kubectl get pod multi-container-pod -n multi-container -o jsonpath='{.spec.containers[?(@.name=="main-container")].volumeMounts[?(@.name=="log-volume")].mountPath}' 2>/dev/null) - SIDECAR_CONTAINER_MOUNT=$(kubectl get pod multi-container-pod -n multi-container -o jsonpath='{.spec.containers[?(@.name=="sidecar-container")].volumeMounts[?(@.name=="log-volume")].mountPath}' 2>/dev/null) - - if [[ "$MAIN_CONTAINER_MOUNT" == "/var/log" && "$SIDECAR_CONTAINER_MOUNT" == "/var/log" ]]; then + MAIN_CONTAINER_MOUNT=$(kubectl get pod multi-container-pod -n multi-container -o jsonpath='{.spec.containers[?(@.name=="main-container")].volumeMounts[?(@.name=="log-volume")]}' 2>/dev/null) + SIDECAR_CONTAINER_MOUNT=$(kubectl get pod multi-container-pod -n multi-container -o jsonpath='{.spec.containers[?(@.name=="sidecar-container")].volumeMounts[?(@.name=="log-volume")]}' 2>/dev/null) + + if [[ "$MAIN_CONTAINER_MOUNT" == *"/var/log"* && "$SIDECAR_CONTAINER_MOUNT" == "/var/log" ]]; then # Both containers have the volume mounted at the correct path exit 0 else @@ -21,4 +21,4 @@ if [[ "$VOLUME_NAME" == "log-volume" ]]; then else echo "Volume 'log-volume' does not exist in pod 'multi-container-pod'" exit 1 -fi \ No newline at end of file +fi \ No newline at end of file From b88dcd7f4002cb86321749b2e3f58adf7539e7d4 Mon Sep 17 00:00:00 2001 From: Fabian Hardt Date: Fri, 5 Dec 2025 14:46:57 +0100 Subject: [PATCH 2/2] use exact match for sidecar container --- .../ckad/002/scripts/validation/q2_s4_validate_shared_volume.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/facilitator/assets/exams/ckad/002/scripts/validation/q2_s4_validate_shared_volume.sh b/facilitator/assets/exams/ckad/002/scripts/validation/q2_s4_validate_shared_volume.sh index 6d19a34..a6ddf03 100755 --- a/facilitator/assets/exams/ckad/002/scripts/validation/q2_s4_validate_shared_volume.sh +++ b/facilitator/assets/exams/ckad/002/scripts/validation/q2_s4_validate_shared_volume.sh @@ -7,7 +7,7 @@ VOLUME_NAME=$(kubectl get pod multi-container-pod -n multi-container -o jsonpath if [[ "$VOLUME_NAME" == "log-volume" ]]; then # Volume exists, now check if it's mounted in both containers MAIN_CONTAINER_MOUNT=$(kubectl get pod multi-container-pod -n multi-container -o jsonpath='{.spec.containers[?(@.name=="main-container")].volumeMounts[?(@.name=="log-volume")]}' 2>/dev/null) - SIDECAR_CONTAINER_MOUNT=$(kubectl get pod multi-container-pod -n multi-container -o jsonpath='{.spec.containers[?(@.name=="sidecar-container")].volumeMounts[?(@.name=="log-volume")]}' 2>/dev/null) + SIDECAR_CONTAINER_MOUNT=$(kubectl get pod multi-container-pod -n multi-container -o jsonpath='{.spec.containers[?(@.name=="sidecar-container")].volumeMounts[?(@.name=="log-volume")].mountPath}' 2>/dev/null) if [[ "$MAIN_CONTAINER_MOUNT" == *"/var/log"* && "$SIDECAR_CONTAINER_MOUNT" == "/var/log" ]]; then # Both containers have the volume mounted at the correct path