blob: 08afc8e8d8c204a0362a7151535fc1ca50dd7290 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
#!/usr/bin/env bash
source $CEPH_ROOT/qa/standalone/ceph-helpers.sh
set -e
function run() {
local dir=$1
shift
export CEPH_MON="127.0.0.1:$(get_unused_port)"
export CEPH_ARGS
CEPH_ARGS+="--fsid=$(uuidgen) --auth-supported=none "
CEPH_ARGS+="--mon-host=$CEPH_MON "
set -e
local funcs=${@:-$(set | sed -n -e 's/^\(TEST_[0-9a-z_]*\) .*/\1/p')}
for func in $funcs ; do
setup $dir || return 1
$func $dir || return 1
teardown $dir || return 1
done
}
function TEST_safe_to_destroy() {
local dir=$1
run_mon $dir a
run_mgr $dir x
run_osd $dir 0
run_osd $dir 1
run_osd $dir 2
run_osd $dir 3
flush_pg_stats
ceph osd safe-to-destroy 0
ceph osd safe-to-destroy 1
ceph osd safe-to-destroy 2
ceph osd safe-to-destroy 3
ceph osd pool create foo 128
sleep 2
flush_pg_stats
wait_for_clean
expect_failure $dir 'pgs currently' ceph osd safe-to-destroy 0
expect_failure $dir 'pgs currently' ceph osd safe-to-destroy 1
expect_failure $dir 'pgs currently' ceph osd safe-to-destroy 2
expect_failure $dir 'pgs currently' ceph osd safe-to-destroy 3
ceph osd out 0
sleep 2
flush_pg_stats
wait_for_clean
ceph osd safe-to-destroy 0
# even osds without osd_stat are ok if all pgs are active+clean
id=`ceph osd create`
ceph osd safe-to-destroy $id
}
function TEST_ok_to_stop() {
local dir=$1
run_mon $dir a
run_mgr $dir x
run_osd $dir 0
run_osd $dir 1
run_osd $dir 2
run_osd $dir 3
ceph osd pool create foo 128
ceph osd pool set foo size 3
ceph osd pool set foo min_size 2
sleep 1
flush_pg_stats
wait_for_clean
ceph osd ok-to-stop 0
ceph osd ok-to-stop 1
ceph osd ok-to-stop 2
ceph osd ok-to-stop 3
expect_failure $dir bad_become_inactive ceph osd ok-to-stop 0 1
ceph osd pool set foo min_size 1
sleep 1
flush_pg_stats
wait_for_clean
ceph osd ok-to-stop 0 1
ceph osd ok-to-stop 1 2
ceph osd ok-to-stop 2 3
ceph osd ok-to-stop 3 4
expect_failure $dir bad_become_inactive ceph osd ok-to-stop 0 1 2
expect_failure $dir bad_become_inactive ceph osd ok-to-stop 0 1 2 3
}
main safe-to-destroy "$@"
|