Merge "Remove creation of httpboot folder"
[kuberef.git] / functions.sh
index b79dfa4..129a3a6 100755 (executable)
@@ -23,7 +23,16 @@ clean_up() {
 # Create jumphost VM
 create_jump() {
     ./create_vm.sh "$VM_NAME"
-    sleep 30
+    jumpbox_ip=$(get_vm_ip)
+    i=0
+    while [ -z $jumpbox_ip ]; do
+        sleep $((++i))
+        jumpbox_ip=$(get_vm_ip)
+    done
+    i=0
+    until nc -w5 -z $jumpbox_ip 22; do
+        sleep $((++i))
+    done
 }
 
 # Get jumphost VM IP
@@ -33,7 +42,8 @@ get_vm_ip() {
 
 # Setup PXE network
 setup_PXE_network() {
-    ssh -o StrictHostKeyChecking=no -tT "$USERNAME"@"$(get_vm_ip)" << "EOF"
+    # shellcheck disable=SC2087
+    ssh -o StrictHostKeyChecking=no -tT "$USERNAME"@"$(get_vm_ip)" << EOF
 sudo ifconfig $PXE_IF up
 sudo ifconfig $PXE_IF $PXE_IF_IP netmask $NETMASK
 sudo ifconfig $PXE_IF hw ether $PXE_IF_MAC
@@ -43,13 +53,14 @@ EOF
 # Copy files needed by Infra engine & BMRA in the jumphost VM
 copy_files_jump() {
     scp -r -o StrictHostKeyChecking=no \
-    "$CURRENTPATH/{hw_config/$VENDOR/,sw_config/$INSTALLER/}" \
+    "$CURRENTPATH"/{hw_config/"$VENDOR"/,sw_config/"$INSTALLER"/} \
     "$USERNAME@$(get_vm_ip):$PROJECT_ROOT"
 }
 
 # Host Provisioning
 provision_hosts() {
-    ssh -tT "$USERNAME"@"$(get_vm_ip)" << "EOF"
+    # shellcheck disable=SC2087
+    ssh -tT "$USERNAME"@"$(get_vm_ip)" << EOF
 # Install and run cloud-infra
 if [ ! -d "${PROJECT_ROOT}/engine" ]; then
     ssh-keygen -t rsa -N "" -f ${PROJECT_ROOT}/.ssh/id_rsa
@@ -66,7 +77,8 @@ EOF
 
 # Setup networking on provisioned hosts (Adapt setup_network.sh according to your network setup)
 setup_network() {
-    ssh -tT  "$USERNAME"@"$(get_vm_ip)" << "EOF"
+    # shellcheck disable=SC2087
+    ssh -tT  "$USERNAME"@"$(get_vm_ip)" << EOF
 ssh -o StrictHostKeyChecking=no root@$MASTER_IP \
     'bash -s' <  ${PROJECT_ROOT}/${VENDOR}/setup_network.sh
 ssh -o StrictHostKeyChecking=no root@$WORKER_IP \
@@ -76,7 +88,8 @@ EOF
 
 # k8s Provisioning (currently BMRA)
 provision_k8s() {
-    ssh -tT  "$USERNAME"@"$(get_vm_ip)" << "EOF"
+    # shellcheck disable=SC2087
+    ssh -tT  "$USERNAME"@"$(get_vm_ip)" << EOF
 # Install BMRA
 if [ ! -d "${PROJECT_ROOT}/container-experience-kits" ]; then
     curl -fsSL https://get.docker.com/ | sh