misc readability improvements
This commit is contained in:
		
							parent
							
								
									9732ec6988
								
							
						
					
					
						commit
						258f4a848f
					
				| 
						 | 
					@ -24,8 +24,8 @@ function retry(){
 | 
				
			||||||
    # errexit may break "eval $cmd", so we disable it temporarily
 | 
					    # errexit may break "eval $cmd", so we disable it temporarily
 | 
				
			||||||
    set +o errexit
 | 
					    set +o errexit
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    local cmd="$1"
 | 
					    local -r cmd="$1"
 | 
				
			||||||
    local retry_msg="$2"
 | 
					    local -r retry_msg="$2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # times out after 1 minute
 | 
					    # times out after 1 minute
 | 
				
			||||||
    for i in {1..20}; do
 | 
					    for i in {1..20}; do
 | 
				
			||||||
| 
						 | 
					@ -42,47 +42,11 @@ function retry(){
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function build_operator_binary(){
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    # redirecting stderr greatly reduces non-informative output during normal builds
 | 
					 | 
				
			||||||
    echo "Build operator binary (stderr redirected to /dev/null)..."
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    make tools > /dev/null 2>&1 
 | 
					 | 
				
			||||||
    make deps  > /dev/null 2>&1
 | 
					 | 
				
			||||||
    make local > /dev/null 2>&1
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function deploy_self_built_image() {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    echo "==== DEPLOY CUSTOM OPERATOR IMAGE ==== "
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    build_operator_binary
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # the fastest way to run your docker image locally is to reuse the docker from minikube.     
 | 
					 | 
				
			||||||
    # set docker env vars so that docker can talk to the Docker daemon inside the minikube
 | 
					 | 
				
			||||||
    eval $(minikube docker-env)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    # image tag consists of a git tag or a unique commit prefix
 | 
					 | 
				
			||||||
    # and the "-dev" suffix if there are uncommited changes in the working dir
 | 
					 | 
				
			||||||
    TAG=$(git describe --tags --always --dirty="-dev")
 | 
					 | 
				
			||||||
    export TAG
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # build the image
 | 
					 | 
				
			||||||
    make docker > /dev/null 2>&1
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    # update the tag in the postgres operator conf
 | 
					 | 
				
			||||||
    # since the image with this tag already exists on the machine,
 | 
					 | 
				
			||||||
    # docker should not attempt to fetch it from the registry due to imagePullPolicy
 | 
					 | 
				
			||||||
    sed --expression "s/\(image\:.*\:\).*$/\1$TAG/" manifests/postgres-operator.yaml > "$PATH_TO_LOCAL_OPERATOR_MANIFEST"
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    retry "kubectl create -f \"$PATH_TO_LOCAL_OPERATOR_MANIFEST\"" "attempt to create $PATH_TO_LOCAL_OPERATOR_MANIFEST resource"
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function display_help(){
 | 
					function display_help(){
 | 
				
			||||||
    echo "Usage: ./run_locally.sh [ -r | --rebuild-operator ] [ -h | --help ]"    
 | 
					    echo "Usage: ./run_locally.sh [ -r | --rebuild-operator ] [ -h | --help ]"    
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function clean_up(){
 | 
					function clean_up(){
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    echo "==== CLEAN UP PREVIOUS RUN ==== "
 | 
					    echo "==== CLEAN UP PREVIOUS RUN ==== "
 | 
				
			||||||
| 
						 | 
					@ -116,6 +80,7 @@ function clean_up(){
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function start_minikube(){
 | 
					function start_minikube(){
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    echo "==== START MINIKUBE ==== "
 | 
					    echo "==== START MINIKUBE ==== "
 | 
				
			||||||
| 
						 | 
					@ -129,6 +94,46 @@ function start_minikube(){
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function build_operator_binary(){
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # redirecting stderr greatly reduces non-informative output during normal builds
 | 
				
			||||||
 | 
					    echo "Build operator binary (stderr redirected to /dev/null)..."
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    make tools > /dev/null 2>&1 
 | 
				
			||||||
 | 
					    make deps  > /dev/null 2>&1
 | 
				
			||||||
 | 
					    make local > /dev/null 2>&1
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function deploy_self_built_image() {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    echo "==== DEPLOY CUSTOM OPERATOR IMAGE ==== "
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    build_operator_binary
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    # the fastest way to run a docker image locally is to reuse the docker from minikube     
 | 
				
			||||||
 | 
					    # set docker env vars so that docker can talk to the Docker daemon inside the minikube
 | 
				
			||||||
 | 
					    eval $(minikube docker-env)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # image tag consists of a git tag or a unique commit prefix
 | 
				
			||||||
 | 
					    # and the "-dev" suffix if there are uncommited changes in the working dir
 | 
				
			||||||
 | 
					    local -x TAG
 | 
				
			||||||
 | 
					    TAG=$(git describe --tags --always --dirty="-dev")
 | 
				
			||||||
 | 
					    readonly TAG
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    # build the image
 | 
				
			||||||
 | 
					    make docker > /dev/null 2>&1
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    # update the tag in the postgres operator conf
 | 
				
			||||||
 | 
					    # since the image with this tag already exists on the machine,
 | 
				
			||||||
 | 
					    # docker should not attempt to fetch it from the registry due to imagePullPolicy
 | 
				
			||||||
 | 
					    sed --expression "s/\(image\:.*\:\).*$/\1$TAG/" manifests/postgres-operator.yaml > "$PATH_TO_LOCAL_OPERATOR_MANIFEST"
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    retry "kubectl create -f \"$PATH_TO_LOCAL_OPERATOR_MANIFEST\"" "attempt to create $PATH_TO_LOCAL_OPERATOR_MANIFEST resource"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function start_operator(){
 | 
					function start_operator(){
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    echo "==== START OPERATOR ==== "
 | 
					    echo "==== START OPERATOR ==== "
 | 
				
			||||||
| 
						 | 
					@ -147,13 +152,14 @@ function start_operator(){
 | 
				
			||||||
	retry "kubectl  create -f manifests/postgres-operator.yaml" "attempt to create /postgres-operator.yaml resource" 
 | 
						retry "kubectl  create -f manifests/postgres-operator.yaml" "attempt to create /postgres-operator.yaml resource" 
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    local msg="Wait for the postgresql custom resource definition to register..."
 | 
					    local -r msg="Wait for the postgresql custom resource definition to register..."
 | 
				
			||||||
    local cmd="kubectl get crd | grep --quiet 'postgresqls.acid.zalan.do'"
 | 
					    local -r cmd="kubectl get crd | grep --quiet 'postgresqls.acid.zalan.do'"
 | 
				
			||||||
    retry "$cmd" "$msg "
 | 
					    retry "$cmd" "$msg "
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    kubectl create -f manifests/complete-postgres-manifest.yaml
 | 
					    kubectl create -f manifests/complete-postgres-manifest.yaml
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function forward_ports(){
 | 
					function forward_ports(){
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    echo "==== FORWARD OPERATOR PORT $OPERATOR_PORT TO LOCAL PORT $LOCAL_PORT  ===="
 | 
					    echo "==== FORWARD OPERATOR PORT $OPERATOR_PORT TO LOCAL PORT $LOCAL_PORT  ===="
 | 
				
			||||||
| 
						 | 
					@ -172,9 +178,9 @@ function check_health(){
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    echo "==== RUN HEALTH CHECK ==== "
 | 
					    echo "==== RUN HEALTH CHECK ==== "
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    local check_cmd="curl --location --silent http://127.0.0.1:$LOCAL_PORT/clusters &> /dev/null"
 | 
					    local -r check_cmd="curl --location --silent http://127.0.0.1:$LOCAL_PORT/clusters &> /dev/null"
 | 
				
			||||||
 | 
					    local -r check_msg="Wait for port forwarding to take effect"
 | 
				
			||||||
    echo "Command for checking: $check_cmd"
 | 
					    echo "Command for checking: $check_cmd"
 | 
				
			||||||
    local check_msg="Wait for port forwarding to take effect"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if  retry "$check_cmd" "$check_msg"; then
 | 
					    if  retry "$check_cmd" "$check_msg"; then
 | 
				
			||||||
	echo "==== SUCCESS: OPERATOR IS RUNNING ==== "
 | 
						echo "==== SUCCESS: OPERATOR IS RUNNING ==== "
 | 
				
			||||||
| 
						 | 
					@ -196,7 +202,6 @@ function main(){
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    trap "echo 'If you observe issues with minikube VM not starting/not proceeding, consider deleting the .minikube dir and/or rebooting before re-running the script'" EXIT
 | 
					    trap "echo 'If you observe issues with minikube VM not starting/not proceeding, consider deleting the .minikube dir and/or rebooting before re-running the script'" EXIT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    local should_build_operator=false
 | 
					    local should_build_operator=false
 | 
				
			||||||
    while true
 | 
					    while true
 | 
				
			||||||
    do
 | 
					    do
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue