in files/default/rgw_webservice.py [0:0]
def user_create(self, user, display_name=None, remote_addr=None, region=None, zone=None, access_key=None, secret_key=None, email=None, zone_region_prefix="client.radosgw"):
# Set the display_name equal to the user id if display_name not passed in!
if display_name is None:
display_name = user
if region is not None and zone is not None:
cmd = ["sudo", "/bin/radosgw-admin", "user", "create", "--conf", "/etc/ceph/ceph.conf", "--uid", "%s" % user, "--display-name", "%s" % display_name]
else:
cmd = ["/usr/bin/radosgw-admin", "user", "create", "--conf", "/etc/ceph/ceph.conf", "--uid", "%s" % user, "--display-name", "%s" % display_name]
if region is not None and zone is not None:
cmd.append("-n")
# NB: This should match '[client.radosgw...]' or something similar found in ceph.conf for the RGW section
cmd.append("%s.%s-%s" % (zone_region_prefix, region, zone))
if email is not None:
cmd.append("--email")
cmd.append("%s" % email)
if access_key is not None:
cmd.append("--access-key")
cmd.append("%s" % access_key)
if secret_key is not None:
# Newer versions of radosgw-admin support --secret-key too
cmd.append("--secret")
cmd.append("%s" % secret_key)
return call(cmd, remote_addr)