]>
git.proxmox.com Git - ceph.git/blob - ceph/qa/tasks/populate_rbd_pool.py
7 log
= logging
.getLogger(__name__
)
9 @contextlib.contextmanager
10 def task(ctx
, config
):
12 Populate <num_pools> pools with prefix <pool_prefix> with <num_images>
13 rbd images at <num_snaps> snaps
15 The config could be as follows::
23 image_size: 10737418240
27 client
= config
.get("client", "client.0")
28 pool_prefix
= config
.get("pool_prefix", "foo")
29 num_pools
= config
.get("num_pools", 2)
30 num_images
= config
.get("num_images", 20)
31 num_snaps
= config
.get("num_snaps", 4)
32 image_size
= config
.get("image_size", 100)
33 write_size
= config
.get("write_size", 1024*1024)
34 write_threads
= config
.get("write_threads", 10)
35 write_total_per_snap
= config
.get("write_total_per_snap", 1024*1024*30)
37 (remote
,) = ctx
.cluster
.only(client
).remotes
.keys()
39 for poolid
in range(num_pools
):
40 poolname
= "%s-%s" % (pool_prefix
, str(poolid
))
41 log
.info("Creating pool %s" % (poolname
,))
42 ctx
.managers
['ceph'].create_pool(poolname
)
43 for imageid
in range(num_images
):
44 imagename
= "rbd-%s" % (str(imageid
),)
45 log
.info("Creating imagename %s" % (imagename
,))
51 "--image-format", "1",
52 "--size", str(image_size
),
53 "--pool", str(poolname
)])
61 "--io-size", str(write_size
),
62 "--io-threads", str(write_threads
),
63 "--io-total", str(write_total_per_snap
),
64 "--io-pattern", "rand"])
65 log
.info("imagename %s first bench" % (imagename
,))
67 for snapid
in range(num_snaps
):
68 snapname
= "snap-%s" % (str(snapid
),)
69 log
.info("imagename %s creating snap %s" % (imagename
, snapname
))
72 "rbd", "snap", "create",