File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -3,9 +3,17 @@ set -Eeuo pipefail
33
44DATA_DIR=" ${DATA_DIR:-/ var/ lib/ rabbitmq} "
55# Backup jobs inject DP_TARGET_POD_NAME. Volume-populator AsDataSource prepareData
6- # may only inject DP_TARGET_RELATIVE_PATH (= pod identity / archive stem). Prefer
7- # POD_NAME when present; otherwise accept RELATIVE_PATH so KB12 dataSource restore works.
8- TARGET_POD_NAME=" ${DP_TARGET_POD_NAME:- ${DP_TARGET_RELATIVE_PATH:? DP_TARGET_POD_NAME or DP_TARGET_RELATIVE_PATH is required} } "
6+ # may only inject DP_TARGET_RELATIVE_PATH (= target name / target pod name).
7+ # DP_BACKUP_BASE_PATH is already scoped to that relative path, so only its final
8+ # pod-name segment belongs in the archive key.
9+ if [ -n " ${DP_TARGET_POD_NAME:- } " ]; then
10+ TARGET_POD_NAME=" ${DP_TARGET_POD_NAME} "
11+ else
12+ TARGET_RELATIVE_PATH=" ${DP_TARGET_RELATIVE_PATH:? DP_TARGET_POD_NAME or DP_TARGET_RELATIVE_PATH is required} "
13+ TARGET_POD_NAME=" ${TARGET_RELATIVE_PATH%/ } "
14+ TARGET_POD_NAME=" ${TARGET_POD_NAME##*/ } "
15+ : " ${TARGET_POD_NAME:? DP_TARGET_RELATIVE_PATH must end with a target pod name} "
16+ fi
917ARCHIVE_NAME=" ${TARGET_POD_NAME} .tar.zst"
1018
1119[ -n " ${DP_DATASAFED_BIN_PATH:- } " ] && export PATH=" ${PATH} :${DP_DATASAFED_BIN_PATH} "
Original file line number Diff line number Diff line change @@ -143,7 +143,7 @@ DATASAFED
143143 The stdout should include " restore prepareData completed"
144144 End
145145
146- It " falls back to DP_TARGET_RELATIVE_PATH when volume-populator omits DP_TARGET_POD_NAME "
146+ It " uses only the pod-name stem from the volume-populator target relative path "
147147 When call bash -c '
148148 set -Eeuo pipefail
149149 restore_script="$1"
@@ -160,8 +160,8 @@ DATASAFED
160160set -e
161161case "$1" in
162162 list)
163- # Archive key matches the relative path / pod identity injected by volume populator.
164- printf "%s\n" "${DP_TARGET_RELATIVE_PATH }.tar.zst"
163+ test "${DATASAFED_BACKEND_BASE_PATH}" = "${EXPECTED_BACKUP_BASE_PATH}"
164+ printf "%s\n" "${EXPECTED_TARGET_POD_NAME }.tar.zst"
165165 ;;
166166 pull)
167167 cat "${FAKE_ARCHIVE_PATH}"
@@ -178,8 +178,10 @@ DATASAFED
178178 unset DP_TARGET_POD_NAME || true
179179 PATH="${bin_dir}:${PATH}" \
180180 DATA_DIR="${data_dir}" \
181- DP_TARGET_RELATIVE_PATH="rmq-br-5400-rabbitmq-2" \
182- DP_BACKUP_BASE_PATH="/backup/base" \
181+ DP_TARGET_RELATIVE_PATH="rabbitmq/rmq-br-5400-rabbitmq-2" \
182+ DP_BACKUP_BASE_PATH="/backup/base/rabbitmq/rmq-br-5400-rabbitmq-2" \
183+ EXPECTED_BACKUP_BASE_PATH="/backup/base/rabbitmq/rmq-br-5400-rabbitmq-2" \
184+ EXPECTED_TARGET_POD_NAME="rmq-br-5400-rabbitmq-2" \
183185 FAKE_ARCHIVE_PATH="${tmp_dir}/payload.tar" \
184186 bash "${restore_script}"
185187 test -f "${data_dir}/restored.txt"
You can’t perform that action at this time.
0 commit comments