ceph orch apply rgw east --realm=myorg --zonegroup=us-east-zg-1 --zone=us-east-1 --placement="2 myhost1 myhost2"
Note that in a multisite situation, cephadm only deploys the daemons. It does not create
-or update the realm or zone configurations. To create a new realm and zone, you can use
-:ref:`mgr-rgw-module` or manually using something like:
+or update the realm or zone configurations. To create a new realms, zones and zonegroups
+you can use :ref:`mgr-rgw-module` or manually using something like:
.. prompt:: bash #
and a new zone. It configures a new system user that can be used for
multisite sync operations. Under the hood this module instructs the
orchestrator to create and deploy the corresponding RGW daemons. The module
-supports both passing the arguments in the cmd line as in the form of a spec
-file:
+supports both passing the arguments through the cmd line or as a spec file:
.. prompt:: bash #
spec:
rgw_frontend_port: 5500
-.. note:: The spec file used by RGW has the same format as the one used by cephadm. Thus,
- the user can provide any cephadm rgw supported parameter as any other advanced
- configuration items such as SSL certificates etc.
+.. note:: The spec file used by RGW has the same format as the one used by the orchestrator. Thus,
+ the user can provide any orchestration supported rgw parameters including advanced
+ configuration features such as SSL certificates etc.
Realm Credentials Token
-----------------------
-User can list the available tokens for the created (or already existing) realms.
+Users can list the available tokens for the created (or already existing) realms.
The token is a base64 string that encapsulates the realm information and its
master zone endpoint authentication data. Following is an example of
the `ceph rgw realm tokens` output:
def realm_rm_zone_creds(self, realm_token_b64):
if not realm_token_b64:
- print('missing realm token')
- return False
+ raise RGWAMException('missing realm token')
realm_token = RealmToken.from_base64_str(realm_token_b64)
try:
def zonegroup_create(self, realm_token_b64, zonegroup_name=None,
endpoints=None, zonegroup_is_master=True):
if not realm_token_b64:
- print('missing realm access config')
+ raise RGWAMException('missing realm access config')
return False
realm_token = RealmToken.from_base64_str(realm_token_b64)
logging.info(f"Pulled realm {realm_info['name']} ({realm_info['id']})")
realm_name = realm_info['name']
realm_id = realm_info['id']
- logging.info(f"Pulled realm {realm_name} ({realm_id})")
realm = EntityID(realm_id)
period_info = self.period_op().get(realm)