Sync charms.ceph to add new permission request to broker
Change-Id: Id5023785fc748e44978b669db5b79c6c40e88de5 Depends-On: Ifd341bd80833d4a7fd62e89e3c0e2b7fd64fafba
This commit is contained in:
parent
f69c296d2b
commit
b72936d727
|
@ -212,6 +212,18 @@ def handle_add_permissions_to_key(request, service):
|
|||
return resp
|
||||
|
||||
|
||||
def handle_set_key_permissions(request, service):
|
||||
"""Ensure the key has the requested permissions."""
|
||||
permissions = request.get('permissions')
|
||||
client = request.get('client')
|
||||
call = ['ceph', '--id', service, 'auth', 'caps',
|
||||
'client.{}'.format(client)] + permissions
|
||||
try:
|
||||
check_call(call)
|
||||
except CalledProcessError as e:
|
||||
log("Error updating key capabilities: {}".format(e), level=ERROR)
|
||||
|
||||
|
||||
def update_service_permissions(service, service_obj=None, namespace=None):
|
||||
"""Update the key permissions for the named client in Ceph"""
|
||||
if not service_obj:
|
||||
|
@ -866,6 +878,8 @@ def process_requests_v1(reqs):
|
|||
ret = handle_put_osd_in_bucket(request=req, service=svc)
|
||||
elif op == "add-permissions-to-key":
|
||||
ret = handle_add_permissions_to_key(request=req, service=svc)
|
||||
elif op == 'set-key-permissions':
|
||||
ret = handle_set_key_permissions(request=req, service=svc)
|
||||
else:
|
||||
msg = "Unknown operation '{}'".format(op)
|
||||
log(msg, level=ERROR)
|
||||
|
|
Loading…
Reference in New Issue