Skip to content

Commit c5f59c5

Browse files
committed
prow.sh: allow shell commands in CSI_PROW_SANITY_POD
This is required for distributed provisioning where the Pod name is dynamically generated as part of the DaemonSet.
1 parent 71c810a commit c5f59c5

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

Diff for: prow.sh

+12-4
Original file line numberDiff line numberDiff line change
@@ -996,9 +996,17 @@ run_e2e () (
996996
run_sanity () (
997997
install_sanity || die "installing csi-sanity failed"
998998
999+
if [[ "${CSI_PROW_SANITY_POD}" =~ " " ]]; then
1000+
# Contains spaces, more complex than a simple pod name.
1001+
# Evaluate as a shell command.
1002+
pod=$(eval "${CSI_PROW_SANITY_POD}") || die "evaluation failed: CSI_PROW_SANITY_POD=${CSI_PROW_SANITY_POD}"
1003+
else
1004+
pod="${CSI_PROW_SANITY_POD}"
1005+
fi
1006+
9991007
cat >"${CSI_PROW_WORK}/mkdir_in_pod.sh" <<EOF
10001008
#!/bin/sh
1001-
kubectl exec "${CSI_PROW_SANITY_POD}" -c "${CSI_PROW_SANITY_CONTAINER}" -- mkdir "\$@" && echo "\$@"
1009+
kubectl exec "$pod" -c "${CSI_PROW_SANITY_CONTAINER}" -- mkdir "\$@" && echo "\$@"
10021010
EOF
10031011
# Using "rm -rf" as fallback for "rmdir" is a workaround for:
10041012
# Node Service
@@ -1023,8 +1031,8 @@ EOF
10231031
# why it happened.
10241032
cat >"${CSI_PROW_WORK}/rmdir_in_pod.sh" <<EOF
10251033
#!/bin/sh
1026-
if ! kubectl exec "${CSI_PROW_SANITY_POD}" -c "${CSI_PROW_SANITY_CONTAINER}" -- rmdir "\$@"; then
1027-
kubectl exec "${CSI_PROW_SANITY_POD}" -c "${CSI_PROW_SANITY_CONTAINER}" -- rm -rf "\$@"
1034+
if ! kubectl exec "$pod" -c "${CSI_PROW_SANITY_CONTAINER}" -- rmdir "\$@"; then
1035+
kubectl exec "$pod" -c "${CSI_PROW_SANITY_CONTAINER}" -- rm -rf "\$@"
10281036
exit 1
10291037
fi
10301038
EOF
@@ -1043,7 +1051,7 @@ else
10431051
fi
10441052
SCRIPT
10451053
)
1046-
kubectl exec "${CSI_PROW_SANITY_POD}" -c "${CSI_PROW_SANITY_CONTAINER}" -- /bin/sh -c "\${CHECK_PATH}"
1054+
kubectl exec "$pod" -c "${CSI_PROW_SANITY_CONTAINER}" -- /bin/sh -c "\${CHECK_PATH}"
10471055
EOF
10481056
10491057
chmod u+x "${CSI_PROW_WORK}"/*dir_in_pod.sh

0 commit comments

Comments
 (0)