testing
This commit is contained in:
		@@ -9,7 +9,7 @@ SSH_AVAILABLE=0
 | 
			
		||||
DEBUG_ID="[homelab-ci]"
 | 
			
		||||
 | 
			
		||||
# Run Vagrant Up in the background
 | 
			
		||||
PLAYBOOK=dockerbox vagrant up --debug &
 | 
			
		||||
PLAYBOOK=dockerbox vagrant up &
 | 
			
		||||
VAGRANT_UP_PID=$!
 | 
			
		||||
 | 
			
		||||
# Initial delay
 | 
			
		||||
@@ -18,33 +18,18 @@ sleep $INITIAL_SLEEP
 | 
			
		||||
 | 
			
		||||
# Loop until timeout or breaks
 | 
			
		||||
while [[ $ELAPSED -lt $TIMEOUT ]]; do
 | 
			
		||||
	VAGRANT_SSH_CONFIG=$(mktemp)
 | 
			
		||||
	vagrant ssh-config > "$VAGRANT_SSH_CONFIG"
 | 
			
		||||
	echo "$DEBUG_ID SSH config at $VAGRANT_SSH_CONFIG"
 | 
			
		||||
	cat "$VAGRANT_SSH_CONFIG"
 | 
			
		||||
	echo "$DEBUG_ID Vagrant status"
 | 
			
		||||
	vagrant status
 | 
			
		||||
	PRIVATE_KEY="$(vagrant ssh-config | grep -vE 'IdentityFile.*\.rsa$' | awk '{print $2}')"
 | 
			
		||||
	HOST_IP="$(vagrant ssh-config | grep HostName | awk '{print $2}')"
 | 
			
		||||
 | 
			
		||||
	echo "$DEBUG_ID Checking SSH connection availability..."
 | 
			
		||||
	echo "$DEBUG_ID Private Key: $PRIVATE_KEY"
 | 
			
		||||
	echo "$DEBUG_ID Host IP: $HOST_IP"
 | 
			
		||||
	echo "$DEBUG_ID Running nmap to check open ports..."
 | 
			
		||||
 | 
			
		||||
	# Check if SSH is open
 | 
			
		||||
	nmap -p 22 "$HOST_IP" | grep "22/tcp open" && SSH_AVAILABLE=1 || SSH_AVAILABLE=0
 | 
			
		||||
	if [[ $SSH_AVAILABLE -eq 1 ]]; then
 | 
			
		||||
		echo "$DEBUG_ID SSH port is open, attempting connection..."
 | 
			
		||||
		set -x
 | 
			
		||||
		ssh -vvv -i "$PRIVATE_KEY" \
 | 
			
		||||
			-o UserKnownHostsFile=/dev/null \
 | 
			
		||||
			-o StrictHostKeyChecking=no \
 | 
			
		||||
			-o IdentitiesOnly=yes \
 | 
			
		||||
			-o PreferredAuthentications=publickey \
 | 
			
		||||
			-o PubkeyAuthentication=yes \
 | 
			
		||||
			-o PasswordAuthentication=no \
 | 
			
		||||
			-o KbdInteractiveAuthentication=no \
 | 
			
		||||
			vagrant@"$HOST_IP" cat /etc/os-release && break || echo "$DEBUG_ID SSH connection failed, retrying..."
 | 
			
		||||
		set +x
 | 
			
		||||
	else
 | 
			
		||||
		echo "$DEBUG_ID SSH port not open, retrying in $SLEEP_DURATION seconds..."
 | 
			
		||||
	fi
 | 
			
		||||
	# SSH attempt
 | 
			
		||||
	set -x
 | 
			
		||||
	ssh -F "$VAGRANT_SSH_CONFIG" default 'cat /etc/os-release' && set +x; break \
 | 
			
		||||
	|| echo "$DEBUG_ID SSH connection failed, retrying in $SLEEP_DURATION seconds..."
 | 
			
		||||
	set +x
 | 
			
		||||
 | 
			
		||||
	# Sleep and start again
 | 
			
		||||
	sleep $SLEEP_DURATION
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user