Add function to create mds key

This commit is contained in:
Chris Holcombe
2016-09-19 15:29:22 -07:00
parent bc36d208d9
commit d79596ad5f

View File

@@ -928,6 +928,12 @@ def get_radosgw_key(pool_list):
pool_list=pool_list)
def get_mds_key(name):
return create_named_keyring(entity='mds',
name=name,
caps=mds_caps)
_default_caps = {
'mon': ['allow rw'],
'osd': ['allow rwx']
@@ -939,6 +945,12 @@ admin_caps = {
'osd': ['allow *']
}
mds_caps = {
'osd': ['allow *'],
'mds': ['allow'],
'mon': ['allow rwx'],
}
osd_upgrade_caps = {
'mon': ['allow command "config-key"',
'allow command "osd tree"',
@@ -954,6 +966,27 @@ osd_upgrade_caps = {
}
def create_named_keyring(entity, name, caps=None):
caps = caps or _default_caps
cmd = [
"sudo",
"-u",
ceph_user(),
'ceph',
'--name', 'mon.',
'--keyring',
'/var/lib/ceph/mon/ceph-{}/keyring'.format(
socket.gethostname()
),
'auth', 'get-or-create', '{entity}.{name}'.format(entity=entity,
name=name),
]
for subsystem, subcaps in caps.iteritems():
cmd.extend([subsystem, '; '.join(subcaps)])
log("Calling subprocess.check_output: {}".format(cmd), level=DEBUG)
return parse_key(subprocess.check_output(cmd).strip()) # IGNORE:E1103
def get_upgrade_key():
return get_named_key('upgrade-osd', _upgrade_caps)