summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xfunctions.sh25
1 files changed, 19 insertions, 6 deletions
diff --git a/functions.sh b/functions.sh
index b79dfa4..129a3a6 100755
--- a/functions.sh
+++ b/functions.sh
@@ -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