MCPcopy Create free account
hub / github.com/ceph/ceph / cod_setup

Function cod_setup

qa/tasks/ceph_objectstore_tool.py:81–145  ·  view source on GitHub ↗
(log, ctx, remote, NUM_OBJECTS, DATADIR,
              BASE_NAME, DATALINECOUNT, POOL, db, ec)

Source from the content-addressed store, hash-verified

79
80
81def cod_setup(log, ctx, remote, NUM_OBJECTS, DATADIR,
82 BASE_NAME, DATALINECOUNT, POOL, db, ec):
83 ERRORS = 0
84 log.info("Creating {objs} objects in pool".format(objs=NUM_OBJECTS))
85
86 objects = range(1, NUM_OBJECTS + 1)
87 for i in objects:
88 NAME = BASE_NAME + "{num}".format(num=i)
89 DDNAME = os.path.join(DATADIR, NAME)
90
91 proc = rados(ctx, remote, ['-p', POOL, 'put', NAME, DDNAME],
92 wait=False)
93 # proc = remote.run(args=['rados', '-p', POOL, 'put', NAME, DDNAME])
94 ret = proc.wait()
95 if ret != 0:
96 log.critical("Rados put failed with status {ret}".
97 format(ret=proc.exitstatus))
98 sys.exit(1)
99
100 db[NAME] = {}
101
102 keys = range(i)
103 db[NAME]["xattr"] = {}
104 for k in keys:
105 if k == 0:
106 continue
107 mykey = "key{i}-{k}".format(i=i, k=k)
108 myval = "val{i}-{k}".format(i=i, k=k)
109 proc = remote.run(args=['rados', '-p', POOL, 'setxattr',
110 NAME, mykey, myval])
111 ret = proc.wait()
112 if ret != 0:
113 log.error("setxattr failed with {ret}".format(ret=ret))
114 ERRORS += 1
115 db[NAME]["xattr"][mykey] = myval
116
117 # Erasure coded pools don't support omap
118 if ec:
119 continue
120
121 # Create omap header in all objects but REPobject1
122 if i != 1:
123 myhdr = "hdr{i}".format(i=i)
124 proc = remote.run(args=['rados', '-p', POOL, 'setomapheader',
125 NAME, myhdr])
126 ret = proc.wait()
127 if ret != 0:
128 log.critical("setomapheader failed with {ret}".format(ret=ret))
129 ERRORS += 1
130 db[NAME]["omapheader"] = myhdr
131
132 db[NAME]["omap"] = {}
133 for k in keys:
134 if k == 0:
135 continue
136 mykey = "okey{i}-{k}".format(i=i, k=k)
137 myval = "oval{i}-{k}".format(i=i, k=k)
138 proc = remote.run(args=['rados', '-p', POOL, 'setomapval',

Callers 1

test_objectstoreFunction · 0.85

Calls 8

radosFunction · 0.90
infoMethod · 0.45
formatMethod · 0.45
joinMethod · 0.45
waitMethod · 0.45
exitMethod · 0.45
runMethod · 0.45
errorMethod · 0.45

Tested by 1

test_objectstoreFunction · 0.68