X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=deploy%2Fsite%2Fvm%2Fvm.sh;h=8d65df7f4e938af9cdfe241626bd1884b11206f7;hb=f056a7ebac7dae36cee4f9bfd4869e9de76ad6f7;hp=bfe591b868203321299759559fe4300a06fdf65a;hpb=26912e83628371b38c2ca7117d2523af29f033f0;p=icn.git diff --git a/deploy/site/vm/vm.sh b/deploy/site/vm/vm.sh old mode 100644 new mode 100755 index bfe591b..8d65df7 --- a/deploy/site/vm/vm.sh +++ b/deploy/site/vm/vm.sh @@ -70,6 +70,10 @@ function insert_control_plane_network_identity_into_ssh_config { # This enables logging into the control plane machines from this # machine without specifying the identify file on the command line + if [[ ! $(which ipcalc) ]]; then + apt-get install -y ipcalc + fi + # Create ssh config if it doesn't exist mkdir -p ${HOME}/.ssh && chmod 700 ${HOME}/.ssh touch ${HOME}/.ssh/config @@ -80,7 +84,7 @@ function insert_control_plane_network_identity_into_ssh_config { prefix=$(helm -n ${SITE_NAMESPACE} get values -a cluster-icn | awk '/controlPlanePrefix:/ {print $2}') host=$(ipcalc ${endpoint}/${prefix} | awk '/Network:/ {sub(/\.0.*/,".*"); print $2}') if [[ $(grep -c "Host ${host}" ${HOME}/.ssh/config) != 0 ]]; then - sed -i -e '/Host '"${host}"'/,+1 d' ${HOME}/.ssh/config + sed -i -e '/Host '"${host}"'/,+3 d' ${HOME}/.ssh/config fi cat <>${HOME}/.ssh/config Host ${host} @@ -90,6 +94,8 @@ Host ${host} EOF # Add the identity to authorized keys on this host to enable ssh # logins via its control plane address + authorized_key=$(cat ${SCRIPTDIR}/id_rsa.pub) + sed -i -e '\!'"${authorized_key}"'!d' ${HOME}/.ssh/authorized_keys cat ${SCRIPTDIR}/id_rsa.pub >> ~/.ssh/authorized_keys } @@ -103,11 +109,22 @@ function wait_for_all_ready { insert_control_plane_network_identity_into_ssh_config } +function is_cluster_deleted { + ! kubectl -n ${SITE_NAMESPACE} get cluster icn +} + +function wait_for_all_deleted { + WAIT_FOR_INTERVAL=60s + WAIT_FOR_TRIES=30 + wait_for is_cluster_deleted +} + case $1 in "build-source") build_source ;; "clean") clean ;; "deploy") deploy ;; "wait") wait_for_all_ready ;; + "wait-clean") wait_for_all_deleted ;; *) cat <