@@ -1290,9 +1290,19 @@ def import_realm_token_to_cluster(self, cluster_fsid, realm_name, zonegroup_name
12901290 path = f'ui-api/rgw/multisite/check-daemons-status?service_name={ service_name } ' , # noqa E501 # pylint: disable=line-too-long
12911291 token = cluster_token )
12921292 logger .info ("Daemons status: %s" , daemons_status )
1293+ realms_list = multi_cluster_instance ._proxy (
1294+ method = 'GET' ,
1295+ base_url = cluster_url ,
1296+ path = 'api/rgw/realm' ,
1297+ token = cluster_token
1298+ )
1299+ logger .debug ("Realms info in the selected cluster: %s" , realms_list )
1300+ system_user_param = "realmName" if realms_list .get ('default_info' ) \
1301+ else "zoneName"
12931302 if daemons_status is True :
12941303 self .check_user_in_second_cluster (cluster_url , cluster_token ,
1295- username , replication_zone_name )
1304+ username , replication_zone_name ,
1305+ system_user_param , realm_name )
12961306 else :
12971307 self .update_progress ("Failed to set credentials in selected cluster" , 'fail' , "RGW daemons failed to start" ) # noqa E501 # pylint: disable=line-too-long
12981308 return token_import_response
@@ -1310,9 +1320,17 @@ def import_realm_token_to_cluster(self, cluster_fsid, realm_name, zonegroup_name
13101320 raise
13111321
13121322 def check_user_in_second_cluster (self , cluster_url , cluster_token , username ,
1313- replication_zone_name ):
1323+ replication_zone_name , system_user_param ,
1324+ realm_name ):
13141325 logger .info ("Checking for user %s in the second cluster" , username )
1315- path = f'api/rgw/zone/get_user_list?zoneName={ replication_zone_name } '
1326+ params = {
1327+ "zoneName" : f"zoneName={ replication_zone_name } " ,
1328+ "realmName" : f"realmName={ realm_name } " ,
1329+ }
1330+ if system_user_param in params :
1331+ path = f"api/rgw/zone/get_user_list?{ params [system_user_param ]} "
1332+ else :
1333+ raise ValueError (f"Invalid system_user_param: { system_user_param } " )
13161334 user_found = False
13171335 start_time = time .time ()
13181336 while not user_found :
@@ -1327,6 +1345,7 @@ def check_user_in_second_cluster(self, cluster_url, cluster_token, username,
13271345 # pylint: disable=protected-access
13281346 user_content = multi_cluster_instance ._proxy (method = 'GET' , base_url = cluster_url ,
13291347 path = path , token = cluster_token )
1348+ logger .debug ("user_content in selected cluster: %s" , user_content )
13301349 if isinstance (user_content , list ) and username in user_content :
13311350 user_found = True
13321351 logger .info ("User %s found in the second cluster" , username )
@@ -1991,9 +2010,12 @@ def create_system_user(self, userName: str, zoneName: str):
19912010 except SubprocessError as error :
19922011 raise DashboardException (error , http_status_code = 500 , component = 'rgw' )
19932012
1994- def get_user_list (self , zoneName : str ):
2013+ def get_user_list (self , zoneName = None , realmName = None ):
19952014 user_list = []
1996- rgw_user_list_cmd = ['user' , 'list' , '--rgw-zone' , zoneName ]
2015+ if zoneName :
2016+ rgw_user_list_cmd = ['user' , 'list' , '--rgw-zone' , zoneName ]
2017+ if realmName :
2018+ rgw_user_list_cmd = ['user' , 'list' , '--rgw-realm' , realmName ]
19972019 try :
19982020 exit_code , out , _ = mgr .send_rgwadmin_command (rgw_user_list_cmd )
19992021 if exit_code > 0 :
0 commit comments