mirror of
https://github.com/ceph/ceph
synced 2025-03-06 08:20:12 +00:00
qa: Add create_pool() which sleeps 1 second like python variant
wait_for_clean() can miss the new pool if it races with pool create. Fixes: http://tracker.ceph.com/issues/20465 Signed-off-by: David Zafman <dzafman@redhat.com>
This commit is contained in:
parent
b20dfc2864
commit
99ad4bbd91
@ -476,10 +476,15 @@ function test_run_mon() {
|
||||
|
||||
function create_rbd_pool() {
|
||||
ceph osd pool delete rbd rbd --yes-i-really-really-mean-it || return 1
|
||||
ceph osd pool create rbd $PG_NUM || return 1
|
||||
create_pool rbd $PG_NUM || return 1
|
||||
rbd pool init rbd
|
||||
}
|
||||
|
||||
function create_pool() {
|
||||
ceph osd pool create "$@"
|
||||
sleep 1
|
||||
}
|
||||
|
||||
#######################################################################
|
||||
|
||||
function run_mgr() {
|
||||
|
@ -57,7 +57,7 @@ function create_erasure_coded_pool() {
|
||||
|
||||
ceph osd erasure-code-profile set myprofile \
|
||||
crush-failure-domain=osd || return 1
|
||||
ceph osd pool create $poolname 12 12 erasure myprofile \
|
||||
create_pool $poolname 12 12 erasure myprofile \
|
||||
|| return 1
|
||||
wait_for_clean || return 1
|
||||
}
|
||||
@ -164,7 +164,7 @@ function TEST_rados_put_get_lrc_advanced() {
|
||||
mapping=DD_ \
|
||||
crush-steps='[ [ "chooseleaf", "osd", 0 ] ]' \
|
||||
layers='[ [ "DDc", "" ] ]' || return 1
|
||||
ceph osd pool create $poolname 12 12 erasure $profile \
|
||||
create_pool $poolname 12 12 erasure $profile \
|
||||
|| return 1
|
||||
|
||||
rados_put_get $dir $poolname || return 1
|
||||
@ -182,7 +182,7 @@ function TEST_rados_put_get_lrc_kml() {
|
||||
plugin=lrc \
|
||||
k=4 m=2 l=3 \
|
||||
crush-failure-domain=osd || return 1
|
||||
ceph osd pool create $poolname 12 12 erasure $profile \
|
||||
create_pool $poolname 12 12 erasure $profile \
|
||||
|| return 1
|
||||
|
||||
rados_put_get $dir $poolname || return 1
|
||||
@ -202,7 +202,7 @@ function TEST_rados_put_get_isa() {
|
||||
ceph osd erasure-code-profile set profile-isa \
|
||||
plugin=isa \
|
||||
crush-failure-domain=osd || return 1
|
||||
ceph osd pool create $poolname 1 1 erasure profile-isa \
|
||||
create_pool $poolname 1 1 erasure profile-isa \
|
||||
|| return 1
|
||||
|
||||
rados_put_get $dir $poolname || return 1
|
||||
@ -222,7 +222,7 @@ function TEST_rados_put_get_jerasure() {
|
||||
plugin=jerasure \
|
||||
k=4 m=2 \
|
||||
crush-failure-domain=osd || return 1
|
||||
ceph osd pool create $poolname 12 12 erasure $profile \
|
||||
create_pool $poolname 12 12 erasure $profile \
|
||||
|| return 1
|
||||
|
||||
rados_put_get $dir $poolname || return 1
|
||||
@ -242,7 +242,7 @@ function TEST_rados_put_get_shec() {
|
||||
plugin=shec \
|
||||
k=2 m=1 c=1 \
|
||||
crush-failure-domain=osd || return 1
|
||||
ceph osd pool create $poolname 12 12 erasure $profile \
|
||||
create_pool $poolname 12 12 erasure $profile \
|
||||
|| return 1
|
||||
|
||||
rados_put_get $dir $poolname || return 1
|
||||
@ -318,7 +318,7 @@ function TEST_chunk_mapping() {
|
||||
mapping='_DD' \
|
||||
crush-steps='[ [ "choose", "osd", 0 ] ]' || return 1
|
||||
ceph osd erasure-code-profile get remap-profile
|
||||
ceph osd pool create remap-pool 12 12 erasure remap-profile \
|
||||
create_pool remap-pool 12 12 erasure remap-profile \
|
||||
|| return 1
|
||||
|
||||
#
|
||||
|
@ -60,7 +60,7 @@ function create_erasure_coded_pool() {
|
||||
plugin=jerasure \
|
||||
k=2 m=1 \
|
||||
crush-failure-domain=osd || return 1
|
||||
ceph osd pool create $poolname 1 1 erasure myprofile \
|
||||
create_pool $poolname 1 1 erasure myprofile \
|
||||
|| return 1
|
||||
wait_for_clean || return 1
|
||||
}
|
||||
|
@ -40,7 +40,7 @@ function TEST_osd_pool_get_set() {
|
||||
setup $dir || return 1
|
||||
run_mon $dir a || return 1
|
||||
create_rbd_pool || return 1
|
||||
ceph osd pool create $TEST_POOL 8
|
||||
create_pool $TEST_POOL 8
|
||||
|
||||
local flag
|
||||
for flag in nodelete nopgchange nosizechange write_fadvise_dontneed noscrub nodeep-scrub; do
|
||||
@ -82,7 +82,7 @@ function TEST_osd_pool_get_set() {
|
||||
! ceph osd pool set $TEST_POOL min_size 0 || return 1
|
||||
|
||||
local ecpool=erasepool
|
||||
ceph osd pool create $ecpool 12 12 erasure default || return 1
|
||||
create_pool $ecpool 12 12 erasure default || return 1
|
||||
#erasue pool size=k+m, min_size=k
|
||||
local size=$(ceph osd pool get $ecpool size|awk '{print $2}')
|
||||
local min_size=$(ceph osd pool get $ecpool min_size|awk '{print $2}')
|
||||
|
@ -136,7 +136,7 @@ function TEST_put_get() {
|
||||
run_osd $dir 1 || return 1
|
||||
run_osd $dir 2 || return 1
|
||||
|
||||
ceph osd pool create hello 8 || return 1
|
||||
create_pool hello 8 || return 1
|
||||
|
||||
echo "hello world" > $dir/hello
|
||||
rados --pool hello put foo $dir/hello || return 1
|
||||
|
@ -98,7 +98,7 @@ function TEST_rm() {
|
||||
grep "WRONG does not exist" || return 1
|
||||
|
||||
ceph osd erasure-code-profile set $profile || return 1
|
||||
ceph osd pool create poolname 12 12 erasure $profile || return 1
|
||||
create_pool poolname 12 12 erasure $profile || return 1
|
||||
! ceph osd erasure-code-profile rm $profile > $dir/out 2>&1 || return 1
|
||||
grep "poolname.*using.*$profile" $dir/out || return 1
|
||||
ceph osd pool delete poolname poolname --yes-i-really-really-mean-it || return 1
|
||||
|
@ -34,7 +34,7 @@ function TEST_pool_quota() {
|
||||
run_osd $dir 2 || return 1
|
||||
|
||||
local poolname=testquoa
|
||||
ceph osd pool create $poolname 20
|
||||
create_pool $poolname 20
|
||||
local objects=`ceph df detail | grep -w $poolname|awk '{print $3}'`
|
||||
local bytes=`ceph df detail | grep -w $poolname|awk '{print $4}'`
|
||||
|
||||
|
@ -38,7 +38,7 @@ function TEST_filestore_to_bluestore() {
|
||||
|
||||
sleep 5
|
||||
|
||||
ceph osd pool create foo 16
|
||||
create_pool foo 16
|
||||
|
||||
# write some objects
|
||||
rados bench -p foo 10 write -b 4096 --no-cleanup || return 1
|
||||
|
@ -183,7 +183,7 @@ function create_ec_pool() {
|
||||
|
||||
ceph osd erasure-code-profile set myprofile crush-failure-domain=osd $3 $4 $5 $6 $7 || return 1
|
||||
|
||||
ceph osd pool create "$poolname" 1 1 erasure myprofile || return 1
|
||||
create_pool "$poolname" 1 1 erasure myprofile || return 1
|
||||
|
||||
if [ "$allow_overwrites" = "true" ]; then
|
||||
ceph osd pool set "$poolname" allow_ec_overwrites true || return 1
|
||||
@ -487,8 +487,8 @@ function TEST_corrupt_scrub_replicated() {
|
||||
create_rbd_pool || return 1
|
||||
wait_for_clean || return 1
|
||||
|
||||
ceph osd pool create foo 1 || return 1
|
||||
ceph osd pool create $poolname 1 1 || return 1
|
||||
create_pool foo 1 || return 1
|
||||
create_pool $poolname 1 1 || return 1
|
||||
wait_for_clean || return 1
|
||||
|
||||
for i in $(seq 1 $total_objs) ; do
|
||||
@ -1615,7 +1615,7 @@ function corrupt_scrub_erasure() {
|
||||
fi
|
||||
done
|
||||
create_rbd_pool || return 1
|
||||
ceph osd pool create foo 1
|
||||
create_pool foo 1
|
||||
|
||||
create_ec_pool $poolname $allow_overwrites k=2 m=1 stripe_unit=2K --force || return 1
|
||||
wait_for_clean || return 1
|
||||
@ -2549,7 +2549,7 @@ function TEST_periodic_scrub_replicated() {
|
||||
create_rbd_pool || return 1
|
||||
wait_for_clean || return 1
|
||||
|
||||
ceph osd pool create $poolname 1 1 || return 1
|
||||
create_pool $poolname 1 1 || return 1
|
||||
wait_for_clean || return 1
|
||||
|
||||
local osd=0
|
||||
|
@ -46,7 +46,8 @@ function TEST_scrub_snaps() {
|
||||
wait_for_clean || return 1
|
||||
|
||||
# Create a pool with a single pg
|
||||
ceph osd pool create $poolname 1 1
|
||||
create_pool $poolname 1 1
|
||||
wait_for_clean || return 1
|
||||
poolid=$(ceph osd dump | grep "^pool.*[']test[']" | awk '{ print $2 }')
|
||||
|
||||
dd if=/dev/urandom of=$TESTDATA bs=1032 count=1
|
||||
|
Loading…
Reference in New Issue
Block a user