Skip to content

Commit 154ab2a

Browse files
committed
Better REGION_DIR behavior
1 parent a713300 commit 154ab2a

6 files changed

+108
-91
lines changed

tools/hammer_loop.sh

+14-8
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ fi
3131

3232
WORK_ROOT=${WORK_ROOT:-/tmp}
3333
TEST_ROOT="$WORK_ROOT/hammer_loop"
34-
REGION_ROOT=${REGION_ROOT:-/var/tmp/hammer_loop}
3534
if [[ ! -d "$TEST_ROOT" ]]; then
3635
mkdir -p "$TEST_ROOT"
3736
if [[ $? -ne 0 ]]; then
@@ -42,6 +41,17 @@ else
4241
# Delete previous test data
4342
rm -r "$TEST_ROOT"
4443
fi
44+
REGION_ROOT=${REGION_ROOT:-/var/tmp}
45+
MY_REGION_ROOT=${REGION_ROOT/hammer_loop}
46+
if [[ ! -d "$MY_REGION_ROOT" ]]; then
47+
mkdir -p "$MY_REGION_ROOT"
48+
if [[ $? -ne 0 ]]; then
49+
echo "Failed to make region root $MY_REGION_ROOT"
50+
exit 1
51+
fi
52+
else
53+
rm -rf "$MY_REGION_ROOT"
54+
fi
4555

4656
loop_log="$TEST_ROOT/hammer_loop.log"
4757
test_log="$TEST_ROOT/hammer_loop_test.log"
@@ -67,14 +77,14 @@ done
6777

6878
if ! "$dsc" create --cleanup --ds-bin "$cds" --extent-count 60 \
6979
--output-dir "$dsc_ds_log" \
70-
--extent-size 50 --region-dir "$REGION_ROOT"
80+
--extent-size 50 --region-dir "$MY_REGION_ROOT"
7181
then
7282
echo "Failed to create region"
7383
exit 1
7484
fi
7585

7686
# Start up dsc, verify it really did start.
77-
"$dsc" start --ds-bin "$cds" --region-dir "$REGION_ROOT" \
87+
"$dsc" start --ds-bin "$cds" --region-dir "$MY_REGION_ROOT" \
7888
--output-dir "$dsc_ds_log" &
7989
dsc_pid=$!
8090
sleep 5
@@ -168,10 +178,6 @@ fi
168178
if [[ $err -eq 0 ]]; then
169179
# No errors, then cleanup all our logs and the region directories.
170180
rm -r "$TEST_ROOT"
171-
rm -r "$REGION_ROOT"/8810
172-
rm -r "$REGION_ROOT"/8820
173-
rm -r "$REGION_ROOT"/8830
174-
# If empty, remove the region directory
175-
rmdir "$REGION_ROOT"
181+
rm -rf "$MY_REGION_ROOT"
176182
fi
177183
exit "$err"

tools/test_live_repair.sh

+14-10
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,17 @@ function ctrl_c() {
2121
exit 1
2222
}
2323

24-
REGION_ROOT=${REGION_ROOT:-/var/tmp/test_live_repair}
25-
mkdir -p "$REGION_ROOT"
24+
REGION_ROOT=${REGION_ROOT:-/var/tmp}
25+
MY_REGION_ROOT=${REGION_ROOT/test_live_repair}
26+
if [[ ! -d "$MY_REGION_ROOT" ]]; then
27+
mkdir -p "$MY_REGION_ROOT"
28+
if [[ $? -ne 0 ]]; then
29+
echo "Failed to make region root $MY_REGION_ROOT"
30+
exit 1
31+
fi
32+
else
33+
rm -rf "$MY_REGION_ROOT"
34+
fi
2635

2736
# Location of logs and working files
2837
WORK_ROOT=${WORK_ROOT:-/tmp}
@@ -99,7 +108,7 @@ fi
99108
# be used by the replace test. We can use dsc to determine what the port will
100109
# be for the final region.
101110
if ! ${dsc} create --cleanup \
102-
--region-dir "$REGION_ROOT" \
111+
--region-dir "$MY_REGION_ROOT" \
103112
--region-count "$region_count" \
104113
--output-dir "$dsc_ds_log" \
105114
--ds-bin "$downstairs" \
@@ -110,7 +119,7 @@ then
110119
exit 1
111120
fi
112121
${dsc} start --ds-bin "$downstairs" \
113-
--region-dir "$REGION_ROOT" \
122+
--region-dir "$MY_REGION_ROOT" \
114123
--output-dir "$dsc_ds_log" \
115124
--region-count "$region_count" >> "$test_log" 2>&1 &
116125
dsc_pid=$!
@@ -163,12 +172,7 @@ wait "$dsc_pid"
163172
echo "$(date) Test ends with $result" | tee -a "$test_log"
164173

165174
if [[ $result -eq 0 ]]; then
166-
rm -rf "$REGION_ROOT"/8810
167-
rm -rf "$REGION_ROOT"/8820
168-
rm -rf "$REGION_ROOT"/8830
169-
rm -rf "$REGION_ROOT"/8840
170-
# If empty, remove the region directory
171-
rmdir "$REGION_ROOT"
175+
rm -rf "$MY_REGION_ROOT"
172176
rm -rf "$TEST_ROOT"
173177
fi
174178

tools/test_repair.sh

+24-23
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,16 @@ done
4141

4242

4343
# For buildomat, the regions should be in /var/tmp
44-
REGION_ROOT=${REGION_ROOT:-/var/tmp/test_repair}
45-
if [[ -d ${REGION_ROOT} ]]; then
46-
rm -rf "$REGION_ROOT"/8810
47-
rm -rf "$REGION_ROOT"/8820
48-
rm -rf "$REGION_ROOT"/8830
44+
REGION_ROOT=${REGION_ROOT:-/var/tmp}
45+
MY_REGION_ROOT=${REGION_ROOT/test_repair}
46+
if [[ ! -d "$MY_REGION_ROOT" ]]; then
47+
mkdir -p "$MY_REGION_ROOT"
48+
if [[ $? -ne 0 ]]; then
49+
echo "Failed to make region root $MY_REGION_ROOT"
50+
exit 1
51+
fi
52+
else
53+
rm -rf "$MY_REGION_ROOT"
4954
fi
5055

5156
# Location of logs and working files
@@ -90,7 +95,7 @@ while getopts 'l:N' opt; do
9095
done
9196

9297
if ! "$dsc" create --cleanup --ds-bin "$cds" --extent-count 30 \
93-
--extent-size 20 --region-dir "$REGION_ROOT" \
98+
--extent-size 20 --region-dir "$MY_REGION_ROOT" \
9499
--output-dir "$dsc_output_dir"; then
95100
echo "Failed to create region"
96101
exit 1
@@ -100,9 +105,9 @@ fi
100105
# are the same as what DSC uses by default. If either side changes, then
101106
# the other will need to be update manually.
102107
target_args="-t 127.0.0.1:8810 -t 127.0.0.1:8820 -t 127.0.0.1:8830"
103-
dump_args+=("-d ${REGION_ROOT}/8810")
104-
dump_args+=("-d ${REGION_ROOT}/8820")
105-
dump_args+=("-d ${REGION_ROOT}/8830")
108+
dump_args+=("-d ${MY_REGION_ROOT}/8810")
109+
dump_args+=("-d ${MY_REGION_ROOT}/8820")
110+
dump_args+=("-d ${MY_REGION_ROOT}/8830")
106111

107112
if pgrep -fl -U "$(id -u)" "$cds"; then
108113
echo "Downstairs already running" >&2
@@ -111,11 +116,11 @@ if pgrep -fl -U "$(id -u)" "$cds"; then
111116
fi
112117

113118
# Start all three downstairs
114-
${cds} run -d "${REGION_ROOT}/8810" -p 8810 &> "$ds_log_prefix"8810.txt &
119+
${cds} run -d "${MY_REGION_ROOT}/8810" -p 8810 &> "$ds_log_prefix"8810.txt &
115120
ds0_pid=$!
116-
${cds} run -d "${REGION_ROOT}/8820" -p 8820 &> "$ds_log_prefix"8820.txt &
121+
${cds} run -d "${MY_REGION_ROOT}/8820" -p 8820 &> "$ds_log_prefix"8820.txt &
117122
ds1_pid=$!
118-
${cds} run -d "${REGION_ROOT}/8830" -p 8830 &> "$ds_log_prefix"8830.txt &
123+
${cds} run -d "${MY_REGION_ROOT}/8830" -p 8830 &> "$ds_log_prefix"8830.txt &
119124
ds2_pid=$!
120125

121126
# TODO: Some programatic way to wait for all the downstairs to start before we
@@ -154,17 +159,17 @@ while [[ $count -lt $loops ]]; do
154159
if [[ $choice -eq 0 ]]; then
155160
kill "$ds0_pid"
156161
wait "$ds0_pid" || true
157-
${cds} run -d "${REGION_ROOT}/8810" -p 8810 --lossy &> "$ds_log_prefix"8810.txt &
162+
${cds} run -d "${MY_REGION_ROOT}/8810" -p 8810 --lossy &> "$ds_log_prefix"8810.txt &
158163
ds0_pid=$!
159164
elif [[ $choice -eq 1 ]]; then
160165
kill "$ds1_pid"
161166
wait "$ds1_pid" || true
162-
${cds} run -d "${REGION_ROOT}/8820" -p 8820 --lossy &> "$ds_log_prefix"8820.txt &
167+
${cds} run -d "${MY_REGION_ROOT}/8820" -p 8820 --lossy &> "$ds_log_prefix"8820.txt &
163168
ds1_pid=$!
164169
else
165170
kill "$ds2_pid"
166171
wait "$ds2_pid" || true
167-
${cds} run -d "${REGION_ROOT}/8830" -p 8830 --lossy &> "$ds_log_prefix"8830.txt &
172+
${cds} run -d "${MY_REGION_ROOT}/8830" -p 8830 --lossy &> "$ds_log_prefix"8830.txt &
168173
ds2_pid=$!
169174
fi
170175

@@ -200,13 +205,13 @@ while [[ $count -lt $loops ]]; do
200205
echo ""
201206
# Start downstairs without lossy
202207
if [[ $choice -eq 0 ]]; then
203-
${cds} run -d "${REGION_ROOT}/8810" -p 8810 &> "$ds_log_prefix"8810.txt &
208+
${cds} run -d "${MY_REGION_ROOT}/8810" -p 8810 &> "$ds_log_prefix"8810.txt &
204209
ds0_pid=$!
205210
elif [[ $choice -eq 1 ]]; then
206-
${cds} run -d "${REGION_ROOT}/8820" -p 8820 &> "$ds_log_prefix"8820.txt &
211+
${cds} run -d "${MY_REGION_ROOT}/8820" -p 8820 &> "$ds_log_prefix"8820.txt &
207212
ds1_pid=$!
208213
else
209-
${cds} run -d "${REGION_ROOT}/8830" -p 8830 &> "$ds_log_prefix"8830.txt &
214+
${cds} run -d "${MY_REGION_ROOT}/8830" -p 8830 &> "$ds_log_prefix"8830.txt &
210215
ds2_pid=$!
211216
fi
212217

@@ -245,8 +250,4 @@ cleanup
245250

246251
# Errors exit directly, so arrival here indicates success.
247252
rm -rf "$TEST_ROOT"
248-
rm -rf "$REGION_ROOT"/8810
249-
rm -rf "$REGION_ROOT"/8820
250-
rm -rf "$REGION_ROOT"/8830
251-
# If empty, remove the region directory
252-
rmdir "$REGION_ROOT"
253+
rm -rf "$MY_REGION_ROOT"

tools/test_replace_special.sh

+14-9
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,17 @@ function ctrl_c() {
1717
exit 1
1818
}
1919

20-
REGION_ROOT=${REGION_ROOT:-/var/tmp/test_replace_special}
21-
mkdir -p "$REGION_ROOT"
20+
REGION_ROOT=${REGION_ROOT:-/var/tmp}
21+
MY_REGION_ROOT=${REGION_ROOT/test_replace_special}
22+
if [[ ! -d "$MY_REGION_ROOT" ]]; then
23+
mkdir -p "$MY_REGION_ROOT"
24+
if [[ $? -ne 0 ]]; then
25+
echo "Failed to make region root $MY_REGION_ROOT"
26+
exit 1
27+
fi
28+
else
29+
rm -rf "$MY_REGION_ROOT"
30+
fi
2231

2332
# Location of logs and working files
2433
WORK_ROOT=${WORK_ROOT:-/tmp}
@@ -84,7 +93,7 @@ echo "Tail $test_log for test output"
8493
# to be used for replacement. We can use dsc to determine what the port will
8594
# be for the final region
8695
if ! ${dsc} create --cleanup \
87-
--region-dir "$REGION_ROOT" \
96+
--region-dir "$MY_REGION_ROOT" \
8897
--region-count "$region_count" \
8998
--output-dir "$dsc_ds_log" \
9099
--ds-bin "$downstairs" \
@@ -94,7 +103,7 @@ if ! ${dsc} create --cleanup \
94103
exit 1
95104
fi
96105
${dsc} start --ds-bin "$downstairs" \
97-
--region-dir "$REGION_ROOT" \
106+
--region-dir "$MY_REGION_ROOT" \
98107
--output-dir "$dsc_ds_log" \
99108
--region-count "$region_count" >> "$test_log" 2>&1 &
100109
dsc_pid=$!
@@ -146,11 +155,7 @@ echo "$(date) Test ends with $result" | tee -a "$test_log"
146155
if [[ $result -eq 0 ]]; then
147156
# Cleanup
148157
echo "$(date) Cleanup for $0" | tee -a "$test_log"
149-
rm -rf "$REGION_ROOT"/8810
150-
rm -rf "$REGION_ROOT"/8820
151-
rm -rf "$REGION_ROOT"/8830
152-
rm -rf "$REGION_ROOT"/8840
153-
rmdir "$REGION_ROOT"
158+
rm -rf "$MY_REGION_ROOT"
154159
rm -rf "$TEST_ROOT"
155160
fi
156161
exit $result

tools/test_replay.sh

+15-9
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,18 @@ function ctrl_c() {
1515
exit 1
1616
}
1717

18-
REGION_ROOT=${REGION_ROOT:-/var/tmp/test_replay}
19-
mkdir -p "$REGION_ROOT"
18+
REGION_ROOT=${REGION_ROOT:-/var/tmp}
19+
MY_REGION_ROOT=${REGION_ROOT/test_replay}
20+
if [[ ! -d "$MY_REGION_ROOT" ]]; then
21+
mkdir -p "$MY_REGION_ROOT"
22+
if [[ $? -ne 0 ]]; then
23+
echo "Failed to make region root $MY_REGION_ROOT"
24+
exit 1
25+
fi
26+
else
27+
rm -rf "$MY_REGION_ROOT"
28+
fi
29+
2030
WORK_ROOT=${WORK_ROOT:-/tmp}
2131
TEST_ROOT="$WORK_ROOT/test_replay"
2232
if [[ ! -d "$TEST_ROOT" ]]; then
@@ -77,7 +87,7 @@ echo "Tail $test_log for test output"
7787

7888
echo "Creating $region_count downstairs regions" | tee -a "$test_log"
7989
if ! ${dsc} create --cleanup --ds-bin "$downstairs" \
80-
--region-dir "$REGION_ROOT" \
90+
--region-dir "$MY_REGION_ROOT" \
8191
--output-dir "$dsc_ds_log" \
8292
--extent-count 50 --region-count "$region_count" >> "$test_log"; then
8393
echo "Failed to create downstairs regions"
@@ -86,7 +96,7 @@ fi
8696

8797
echo "Starting $region_count downstairs" | tee -a "$test_log"
8898
${dsc} start --ds-bin "$downstairs" --output-dir "$dsc_ds_log" \
89-
--region-dir "$REGION_ROOT" \
99+
--region-dir "$MY_REGION_ROOT" \
90100
--region-count "$region_count" >> "$test_log" 2>&1 &
91101
dsc_pid=$!
92102
sleep 5
@@ -140,11 +150,7 @@ wait "$dsc_pid"
140150
sleep 4
141151
echo "$(date) Test ends with $result" | tee -a "$test_log" 2>&1
142152
if [[ $result -eq 0 ]]; then
143-
rm -rf "$REGION_ROOT"/8810
144-
rm -rf "$REGION_ROOT"/8820
145-
rm -rf "$REGION_ROOT"/8830
146-
# If empty, remove the region directory
147-
rmdir "$REGION_ROOT"
153+
rm -rf "$MY_REGION_ROOT"
148154
rm -r "$TEST_ROOT"
149155
fi
150156
exit "$result"

0 commit comments

Comments
 (0)