mirror of https://github.com/ceph/ceph
69 lines
1.2 KiB
Bash
Executable File
69 lines
1.2 KiB
Bash
Executable File
#!/bin/sh -ex
|
|
|
|
p=`uuidgen`
|
|
|
|
# objects
|
|
ceph osd pool create $p 12
|
|
ceph osd pool set-quota $p max_objects 10
|
|
ceph osd pool application enable $p rados
|
|
|
|
for f in `seq 1 10` ; do
|
|
rados -p $p put obj$f /etc/passwd
|
|
done
|
|
|
|
sleep 30
|
|
|
|
rados -p $p put onemore /etc/passwd &
|
|
pid=$!
|
|
|
|
ceph osd pool set-quota $p max_objects 100
|
|
wait $pid
|
|
[ $? -ne 0 ] && exit 1 || true
|
|
|
|
rados -p $p put twomore /etc/passwd
|
|
|
|
# bytes
|
|
ceph osd pool set-quota $p max_bytes 100
|
|
sleep 30
|
|
|
|
rados -p $p put two /etc/passwd &
|
|
pid=$!
|
|
|
|
ceph osd pool set-quota $p max_bytes 0
|
|
ceph osd pool set-quota $p max_objects 0
|
|
wait $pid
|
|
[ $? -ne 0 ] && exit 1 || true
|
|
|
|
rados -p $p put three /etc/passwd
|
|
|
|
|
|
#one pool being full does not block a different pool
|
|
|
|
pp=`uuidgen`
|
|
|
|
ceph osd pool create $pp 12
|
|
ceph osd pool application enable $pp rados
|
|
|
|
# set objects quota
|
|
ceph osd pool set-quota $pp max_objects 10
|
|
sleep 30
|
|
|
|
for f in `seq 1 10` ; do
|
|
rados -p $pp put obj$f /etc/passwd
|
|
done
|
|
|
|
sleep 30
|
|
|
|
rados -p $p put threemore /etc/passwd
|
|
|
|
ceph osd pool set-quota $p max_bytes 0
|
|
ceph osd pool set-quota $p max_objects 0
|
|
|
|
sleep 30
|
|
# done
|
|
ceph osd pool delete $p $p --yes-i-really-really-mean-it
|
|
ceph osd pool delete $pp $pp --yes-i-really-really-mean-it
|
|
|
|
echo OK
|
|
|