result = multisite_instance.get_all_zonegroups_info()
return result
- def delete(self, zonegroup_name, delete_pools, pools: Optional[List[str]] = None):
+ def delete(self, zonegroup_name, delete_pools, pools: Optional[List[str]] = None,
+ realm_name: Optional[str] = None):
if pools is None:
pools = []
try:
multisite_instance = RgwMultisite()
- result = multisite_instance.delete_zonegroup(zonegroup_name, delete_pools, pools)
+ result = multisite_instance.delete_zonegroup(zonegroup_name, delete_pools,
+ pools, realm_name)
return result
except NoRgwDaemonsException as e:
raise DashboardException(e, http_status_code=404, component='rgw')
return result
def delete(self, zone_name, delete_pools, pools: Optional[List[str]] = None,
- zonegroup_name=None):
+ zonegroup_name=None, realm_name: Optional[str] = None):
if pools is None:
pools = []
if zonegroup_name is None:
zonegroup_name = ''
try:
multisite_instance = RgwMultisite()
- result = multisite_instance.delete_zone(zone_name, delete_pools, pools, zonegroup_name)
+ result = multisite_instance.delete_zone(zone_name, delete_pools,
+ pools, zonegroup_name,
+ realm_name)
return result
except NoRgwDaemonsException as e:
raise DashboardException(e, http_status_code=404, component='rgw')
all_zonegroups_info['default_zonegroup'] = '' # type: ignore
return all_zonegroups_info
- def delete_zonegroup(self, zonegroup_name: str, delete_pools: str, pools: List[str]):
+ def delete_zonegroup(self, zonegroup_name: str,
+ delete_pools: str, pools: List[str],
+ realm_name: Optional[str] = None):
if delete_pools == 'true':
zonegroup_info = self.get_zonegroup(zonegroup_name)
rgw_delete_zonegroup_cmd = ['zonegroup', 'delete', '--rgw-zonegroup', zonegroup_name]
http_status_code=500, component='rgw')
except SubprocessError as error:
raise DashboardException(error, http_status_code=500, component='rgw')
- self.update_period()
+ self.update_period(realm_name=realm_name)
if delete_pools == 'true':
for zone in zonegroup_info['zones']:
self.delete_zone(zone['name'], 'true', pools)
else:
self.add_placement_targets(new_zonegroup_name, placement_targets)
- def update_period(self):
+ def update_period(self, realm_name=None, realm_id=None):
rgw_update_period_cmd = ['period', 'update', '--commit']
+ if realm_name:
+ rgw_update_period_cmd.append('--rgw-realm')
+ rgw_update_period_cmd.append(realm_name)
+ if realm_id:
+ rgw_update_period_cmd.append('--realm-id')
+ rgw_update_period_cmd.append(realm_id)
try:
exit_code, _, err = mgr.send_rgwadmin_command(rgw_update_period_cmd)
if exit_code > 0:
return all_zones_info
def delete_zone(self, zone_name: str, delete_pools: str, pools: List[str],
- zonegroup_name: str = '',):
+ zonegroup_name: str = '', realm_name: Optional[str] = None):
rgw_remove_zone_from_zonegroup_cmd = ['zonegroup', 'remove', '--rgw-zonegroup',
zonegroup_name, '--rgw-zone', zone_name]
rgw_delete_zone_cmd = ['zone', 'delete', '--rgw-zone', zone_name]
http_status_code=500, component='rgw')
except SubprocessError as error:
raise DashboardException(error, http_status_code=500, component='rgw')
- self.update_period()
+ self.update_period(realm_name=realm_name)
try:
exit_code, _, _ = mgr.send_rgwadmin_command(rgw_delete_zone_cmd)
if exit_code > 0:
http_status_code=500, component='rgw')
except SubprocessError as error:
raise DashboardException(error, http_status_code=500, component='rgw')
- self.update_period()
+ self.update_period(realm_name=realm_name)
if delete_pools == 'true':
self.delete_pools(pools)