mirror of https://github.com/minio/minio.git
				
				
				
			fix: site-replication will reset group status when add user (#19594)
This commit is contained in:
		
							parent
							
								
									77d5331e85
								
							
						
					
					
						commit
						df93ff92ba
					
				|  | @ -106,6 +106,43 @@ if [ $failed_count_site2 -ne 0 ]; then | |||
| 	exit 1 | ||||
| fi | ||||
| 
 | ||||
| # Add user group test | ||||
| ./mc admin user add site1 site-replication-issue-user site-replication-issue-password | ||||
| ./mc admin group add site1 site-replication-issue-group site-replication-issue-user | ||||
| 
 | ||||
| max_wait_attempts=30 | ||||
| wait_interval=5 | ||||
| 
 | ||||
| attempt=1 | ||||
| while true; do | ||||
| 	diff <(./mc admin group info site1 site-replication-issue-group) <(./mc admin group info site2 site-replication-issue-group) | ||||
| 
 | ||||
| 	if [[ $? -eq 0 ]]; then | ||||
| 		echo "Outputs are consistent." | ||||
| 		break | ||||
| 	fi | ||||
| 
 | ||||
| 	remaining_attempts=$((max_wait_attempts - attempt)) | ||||
| 	if ((attempt >= max_wait_attempts)); then | ||||
| 		echo "Outputs remain inconsistent after $max_wait_attempts attempts. Exiting with error." | ||||
| 		exit 1 | ||||
| 	else | ||||
| 		echo "Outputs are inconsistent. Waiting for $wait_interval seconds (attempt $attempt/$max_wait_attempts)." | ||||
| 		sleep $wait_interval | ||||
| 	fi | ||||
| 
 | ||||
| 	((attempt++)) | ||||
| done | ||||
| 
 | ||||
| status=$(./mc admin group info site1 site-replication-issue-group --json | jq .groupStatus | tr -d '"') | ||||
| 
 | ||||
| if [[ $status == "enabled" ]]; then | ||||
| 	echo "Success" | ||||
| else | ||||
| 	echo "Expected status: enabled, actual status: $status" | ||||
| 	exit 1 | ||||
| fi | ||||
| 
 | ||||
| cleanup | ||||
| 
 | ||||
| ## change working directory | ||||
|  |  | |||
|  | @ -1325,7 +1325,7 @@ func (c *SiteReplicationSys) PeerGroupInfoChangeHandler(ctx context.Context, cha | |||
| 			} else { | ||||
| 				_, err = globalIAMSys.AddUsersToGroup(ctx, updReq.Group, updReq.Members) | ||||
| 			} | ||||
| 			if err == nil && updReq.Status != madmin.GroupEnabled { | ||||
| 			if err == nil && updReq.Status != "" { | ||||
| 				_, err = globalIAMSys.SetGroupStatus(ctx, updReq.Group, updReq.Status == madmin.GroupEnabled) | ||||
| 			} | ||||
| 		} | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue