2 Rados modle-based integration tests
7 log = logging.getLogger(__name__)
9 @contextlib.contextmanager
10 def task(ctx, config):
12 For each combination of namespace and name_length, create
13 <num_objects> objects with name length <name_length>
14 on entry. On exit, verify that the objects still exist, can
15 be deleted, and then don't exist.
19 create_verify_lfn_objects.py:
20 pool: <pool_name> default: 'data'
21 prefix: <prefix> default: ''
22 namespace: [<namespace>] default: ['']
23 num_objects: [<num_objects>] default: 10
24 name_length: [<name_length>] default: [400]
26 pool = config.get('pool', 'data')
27 num_objects = config.get('num_objects', 10)
28 name_length = config.get('name_length', [400])
29 namespace = config.get('namespace', [None])
30 prefix = config.get('prefix', None)
31 manager = ctx.managers['ceph']
38 if namespace is not '':
39 nslength = len(namespace)
41 fillerlen = l - nslength - len(prefix) - len(numstr)
43 return prefix + ('a'*fillerlen) + numstr
44 objects += [(ns, object_name(i)) for i in range(num_objects)]
46 for ns, name in objects:
52 log.info("err is " + str(err))
58 log.info('ceph_verify_lfn_objects verifying...')
59 for ns, name in objects:
64 log.info("err is " + str(err))
67 log.info('ceph_verify_lfn_objects deleting...')
68 for ns, name in objects:
73 log.info("err is " + str(err))
76 log.info('ceph_verify_lfn_objects verifying absent...')
77 for ns, name in objects:
82 log.info("err is " + str(err))