28 lines
		
	
	
		
			632 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
		
		
			
		
	
	
			28 lines
		
	
	
		
			632 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
| 
								 | 
							
								#!/usr/bin/env bash
							 | 
						||
| 
								 | 
							
								set -e
							 | 
						||
| 
								 | 
							
								set -x
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								initCompleteFile=init-complete-node.log
							 | 
						||
| 
								 | 
							
								waitTime=${1:=600}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								waitForNodeToInit() {
							 | 
						||
| 
								 | 
							
								  declare hostname
							 | 
						||
| 
								 | 
							
								  hostname=$(hostname)
							 | 
						||
| 
								 | 
							
								  echo "--- waiting for $hostname to boot up"
							 | 
						||
| 
								 | 
							
								  declare startTime=$SECONDS
							 | 
						||
| 
								 | 
							
								  while [[ ! -r $initCompleteFile ]]; do
							 | 
						||
| 
								 | 
							
								    declare timeWaited=$((SECONDS - startTime))
							 | 
						||
| 
								 | 
							
								    if [[ $timeWaited -ge $waitTime ]]; then
							 | 
						||
| 
								 | 
							
								      echo "^^^ +++"
							 | 
						||
| 
								 | 
							
								      echo "Error: $initCompleteFile not found in $timeWaited seconds"
							 | 
						||
| 
								 | 
							
								      exit 1
							 | 
						||
| 
								 | 
							
								    fi
							 | 
						||
| 
								 | 
							
								    echo "Waiting for $initCompleteFile ($timeWaited) on $hostname..."
							 | 
						||
| 
								 | 
							
								    sleep 5
							 | 
						||
| 
								 | 
							
								  done
							 | 
						||
| 
								 | 
							
								  echo "$hostname booted up"
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								cd ~/solana
							 | 
						||
| 
								 | 
							
								waitForNodeToInit
							 |