]> git.proxmox.com Git - ceph.git/blame - ceph/qa/workunits/rados/test_pool_quota.sh
update sources to v12.1.2
[ceph.git] / ceph / qa / workunits / rados / test_pool_quota.sh
CommitLineData
7c673cae
FG
1#!/bin/sh -ex
2
3p=`uuidgen`
4
5# objects
6ceph osd pool create $p 12
7ceph osd pool set-quota $p max_objects 10
c07f9fc5 8ceph osd pool application enable $p rados
7c673cae
FG
9
10for f in `seq 1 10` ; do
11 rados -p $p put obj$f /etc/passwd
12done
13
14sleep 30
15
16rados -p $p put onemore /etc/passwd &
17pid=$!
18
19ceph osd pool set-quota $p max_objects 100
20wait $pid
21[ $? -ne 0 ] && exit 1 || true
22
23rados -p $p put twomore /etc/passwd
24
25# bytes
26ceph osd pool set-quota $p max_bytes 100
27sleep 30
28
29rados -p $p put two /etc/passwd &
30pid=$!
31
32ceph osd pool set-quota $p max_bytes 0
33ceph osd pool set-quota $p max_objects 0
34wait $pid
35[ $? -ne 0 ] && exit 1 || true
36
37rados -p $p put three /etc/passwd
38
39
40#one pool being full does not block a different pool
41
42pp=`uuidgen`
43
44ceph osd pool create $pp 12
c07f9fc5 45ceph osd pool application enable $pp rados
7c673cae
FG
46
47# set objects quota
48ceph osd pool set-quota $pp max_objects 10
49sleep 30
50
51for f in `seq 1 10` ; do
52 rados -p $pp put obj$f /etc/passwd
53done
54
55sleep 30
56
57rados -p $p put threemore /etc/passwd
58
59ceph osd pool set-quota $p max_bytes 0
60ceph osd pool set-quota $p max_objects 0
61
62sleep 30
63# done
64ceph osd pool delete $p $p --yes-i-really-really-mean-it
65ceph osd pool delete $pp $pp --yes-i-really-really-mean-it
66
67echo OK
68