| 79 | |
| 80 | |
| 81 | def 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', |