.. prompt:: bash #
- radosgw-admin realm create --rgw-realm=<realm-name> --default
+ radosgw-admin realm create --rgw-realm=<realm-name>
.. prompt:: bash #
- radosgw-admin zonegroup create --rgw-zonegroup=<zonegroup-name> --master --default
+ radosgw-admin zonegroup create --rgw-zonegroup=<zonegroup-name> --master
.. prompt:: bash #
- radosgw-admin zone create --rgw-zonegroup=<zonegroup-name> --rgw-zone=<zone-name> --master --default
+ radosgw-admin zone create --rgw-zonegroup=<zonegroup-name> --rgw-zone=<zone-name> --master
.. prompt:: bash #
.. code-block:: yaml
- rgw_realm: myrealm
- rgw_zonegroup: myzonegroup
rgw_zone: my-secondary-zone
rgw_realm_token: <token>
placement:
ceph rgw zone create -i spec.yaml
-Create a new zone and join existing realm (using the realm token)
+Join an existing realm by creating a new secondary zone (using the realm token)
::
placement: Optional[str] = None,
start_radosgw: Optional[bool] = True,
inbuf: Optional[str] = None):
- """Bootstrap new rgw zone that syncs with existing zone"""
+ """Bootstrap new rgw zone that syncs with zone on another cluster in the same realm"""
if inbuf:
rgw_specs = self._parse_rgw_specs(inbuf)
if self.rgw_zone and not self.rgw_realm:
raise SpecValidationError(
'Cannot add RGW: Zone specified but no realm specified')
+ if not (self.rgw_realm and not self.rgw_zonegroup):
+ if self.rgw_realm_token and not self.rgw_zone:
+ raise SpecValidationError('Cannot add RGW: Token specified but no zone specified')
+ elif self.rgw_zone and not self.rgw_realm_token:
+ raise SpecValidationError('Cannot add RGW: Zone specified but no token specified')
yaml.add_representer(RGWSpec, ServiceSpec.yaml_representer)
params = ['realm', 'create']
return RGWAdminJSONCmd(ze).run(params)
- def pull(self, realm, url, access_key, secret, set_default=False):
+ def pull(self, realm, url, access_key, secret):
params = ['realm',
'pull',
'--url', url,
try:
user_info = self.user_op().info(master_zone, master_zg, access_key=access_key)
except RGWAMException as e:
- raise RGWAMException('failed to create system user', e)
+ raise RGWAMException('failed to get the system user information', e)
user = RGWUser(user_info)
secret = realm_token.secret
try:
realm_info = self.realm_op().pull(EntityName(realm_token.realm_name),
- realm_token.endpoint, access_key,
- secret, set_default=True)
+ realm_token.endpoint, access_key, secret)
except RGWAMException as e:
raise RGWAMException('failed to pull realm', e)