caps = ((perm1, fsname1), (perm2, fsname2))
"""
- def _unpack_tuple(c):
- if len(c) == 1:
- perm, fsname = c[0], None
- elif len(c) == 2:
- perm, fsname = c
- elif len(c) < 1:
- raise RuntimeError('received no items caps tuple')
- else: # len(c) > 2
- raise RuntimeError('received too many items in caps tuple')
- return perm, fsname
-
- def _gen_mon_cap_str(c):
- perm, fsname = _unpack_tuple(c)
+ def _gen_mon_cap_str(perm, fsname=None):
mon_cap = f'allow {perm}'
if fsname:
mon_cap += f' fsname={fsname}'
mon_cap = ''
for i, c in enumerate(caps):
- mon_cap += _gen_mon_cap_str(c)
+ mon_cap += _gen_mon_cap_str(*c)
if i != len(caps) - 1:
mon_cap += ', '
caps = ((perm1, fsname1), (perm2, fsname2))
"""
- def _gen_osd_cap_str(c):
- perm, fsname = c
+ def _gen_osd_cap_str(perm, fsname):
osd_cap = f'allow {perm} tag cephfs'
if fsname:
osd_cap += f' data={fsname}'
osd_cap = ''
for i, c in enumerate(caps):
- osd_cap += _gen_osd_cap_str(c)
+ osd_cap += _gen_osd_cap_str(*c)
if i != len(caps) - 1:
osd_cap += ', '
caps = ((perm1, fsname1, cephfs_mntpt1), (perm2, fsname2, cephfs_mntpt2))
"""
- def _unpack_tuple(c):
- if len(c) == 1:
- perm, fsname, cephfs_mntpt = c[0], None, '/'
- elif len(c) == 2:
- perm, fsname, cephfs_mntpt = c[0], c[1], '/'
- elif len(c) == 3:
- perm, fsname, cephfs_mntpt = c
- elif len(c) < 1:
- raise RuntimeError('received no items caps tuple')
- else: # len(c) > 3
- raise RuntimeError('received too many items in caps tuple')
-
- return perm, fsname, cephfs_mntpt
-
- def _gen_mds_cap_str(c):
- perm, fsname, cephfs_mntpt = _unpack_tuple(c)
+ def _gen_mds_cap_str(perm, fsname=None, cephfs_mntpt='/'):
mds_cap = f'allow {perm}'
if fsname:
mds_cap += f' fsname={fsname}'
mds_cap = ''
for i, c in enumerate(caps):
- mds_cap += _gen_mds_cap_str(c)
+ mds_cap += _gen_mds_cap_str(*c)
if i != len(caps) - 1:
mds_cap += ', '