]>
git.proxmox.com Git - ceph.git/blob - ceph/qa/tasks/create_verify_lfn_objects.py
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
))