]> git.proxmox.com Git - ceph.git/blame - ceph/qa/standalone/osd/osd-force-create-pg.sh
import ceph 16.2.6
[ceph.git] / ceph / qa / standalone / osd / osd-force-create-pg.sh
CommitLineData
11fdf7f2
TL
1#!/usr/bin/env bash
2source $CEPH_ROOT/qa/standalone/ceph-helpers.sh
3
4function run() {
5 local dir=$1
6 shift
7
8 export CEPH_MON="127.0.0.1:7145" # git grep '\<7145\>' : there must be only one
9 export CEPH_ARGS
10 CEPH_ARGS+="--fsid=$(uuidgen) --auth-supported=none "
11 CEPH_ARGS+="--mon-host=$CEPH_MON "
12
13 local funcs=${@:-$(set | sed -n -e 's/^\(TEST_[0-9a-z_]*\) .*/\1/p')}
14 for func in $funcs ; do
522d829b 15 setup $dir || return 1
11fdf7f2 16 $func $dir || return 1
522d829b 17 teardown $dir || return 1
11fdf7f2
TL
18 done
19}
20
21function TEST_reuse_id() {
22 local dir=$1
23
f67539c2 24 run_mon $dir a --osd_pool_default_size=1 --mon_allow_pool_size_one=true || return 1
11fdf7f2
TL
25 run_mgr $dir x || return 1
26 run_osd $dir 0 || return 1
27 run_osd $dir 1 || return 1
28 run_osd $dir 2 || return 1
29
30 ceph osd pool create foo 50 || return 1
31 wait_for_clean || return 1
32
33 kill_daemons $dir TERM osd.0
34 kill_daemons $dir TERM osd.1
35 kill_daemons $dir TERM osd.2
36 ceph-objectstore-tool --data-path $dir/0 --op remove --pgid 1.0 --force
37 ceph-objectstore-tool --data-path $dir/1 --op remove --pgid 1.0 --force
38 ceph-objectstore-tool --data-path $dir/2 --op remove --pgid 1.0 --force
39 activate_osd $dir 0 || return 1
40 activate_osd $dir 1 || return 1
41 activate_osd $dir 2 || return 1
42 sleep 10
43 ceph pg ls | grep 1.0 | grep stale || return 1
44
45 ceph osd force-create-pg 1.0 --yes-i-really-mean-it || return 1
46 wait_for_clean || return 1
47}
48
49main osd-force-create-pg "$@"
50
51# Local Variables:
52# compile-command: "cd ../.. ; make -j4 && test/osd/osd-force-create-pg.sh"
53# End: