mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 05:53:43 +00:00 
			
		
		
		
	Fixes an occasional failure in ‘vagrant up --provision’. Signed-off-by: Anders Kaseorg <anders@zulip.com>
		
			
				
	
	
		
			40 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/env bash
 | 
						|
#
 | 
						|
# Delete the "guest" default user and replace it with a Zulip user
 | 
						|
# with a real password
 | 
						|
set -e
 | 
						|
set -x
 | 
						|
 | 
						|
if [ "$EUID" -eq 0 ]; then
 | 
						|
    rabbitmqctl=(rabbitmqctl)
 | 
						|
else
 | 
						|
    rabbitmqctl=(sudo rabbitmqctl)
 | 
						|
fi
 | 
						|
 | 
						|
if [ -n "$RABBITMQ_NODE" ]; then
 | 
						|
    rabbitmqctl+=(-n "$RABBITMQ_NODE")
 | 
						|
fi
 | 
						|
RABBITMQ_USERNAME=$("$(dirname "$0")/../get-django-setting" RABBITMQ_USERNAME)
 | 
						|
RABBITMQ_PASSWORD=$("$(dirname "$0")/../get-django-setting" RABBITMQ_PASSWORD)
 | 
						|
 | 
						|
# Wait for RabbitMQ to start up
 | 
						|
try_ping() {
 | 
						|
    # `rabbitmqctl ping` requires 3.7.6 or newer
 | 
						|
    out="$("${rabbitmqctl[@]}" eval 'net_adm:ping(node()).')" && [ "$out" = 'pong' ]
 | 
						|
}
 | 
						|
retries=9
 | 
						|
while ! try_ping 2>/dev/null; do
 | 
						|
    sleep 1
 | 
						|
    if ! ((retries -= 1)); then
 | 
						|
        try_ping
 | 
						|
        break
 | 
						|
    fi
 | 
						|
done
 | 
						|
 | 
						|
"${rabbitmqctl[@]}" delete_user "$RABBITMQ_USERNAME" || true
 | 
						|
"${rabbitmqctl[@]}" delete_user zulip || true
 | 
						|
"${rabbitmqctl[@]}" delete_user guest || true
 | 
						|
"${rabbitmqctl[@]}" add_user "$RABBITMQ_USERNAME" "$RABBITMQ_PASSWORD"
 | 
						|
"${rabbitmqctl[@]}" set_user_tags "$RABBITMQ_USERNAME" administrator
 | 
						|
"${rabbitmqctl[@]}" set_permissions -p / "$RABBITMQ_USERNAME" '.*' '.*' '.*'
 |