diff --git a/net/scripts/colo-provider.sh b/net/scripts/colo-provider.sh index c1558e594..bfe2b3f9f 100755 --- a/net/scripts/colo-provider.sh +++ b/net/scripts/colo-provider.sh @@ -44,7 +44,6 @@ __cloud_FindInstances() { for AVAIL in "${COLO_RES_AVAILABILITY[@]}"; do IFS=$'\v' read -r HOST_NAME IP PRIV_IP STATUS ZONE LOCK_USER INSTNAME <<<"$AVAIL" if [[ $INSTNAME =~ $filter ]]; then - IP=$PRIV_IP # Colo public IPs are firewalled to only allow UDP(8000-10000). Reuse private IP as public and require VPN printf "%-40s | publicIp=%-16s privateIp=%s zone=%s\n" "$INSTNAME" "$IP" "$PRIV_IP" "$ZONE" 1>&2 echo -e "${INSTNAME}:${IP}:${PRIV_IP}:$ZONE" fi diff --git a/net/scripts/colo-utils.sh b/net/scripts/colo-utils.sh index a0d45fd9b..aedc2db74 100644 --- a/net/scripts/colo-utils.sh +++ b/net/scripts/colo-utils.sh @@ -47,9 +47,9 @@ colo_load_availability() { COLO_RES_AVAILABILITY=() COLO_RES_REQUISITIONED=() while read -r LINE; do - IFS=$'\v' read -r PRIV_IP STATUS LOCK_USER INSTNAME <<< "$LINE" - I=$(colo_res_index_from_ip "$PRIV_IP") - IP="${COLO_RES_IP[$I]}" + IFS=$'\v' read -r IP STATUS LOCK_USER INSTNAME <<< "$LINE" + I=$(colo_res_index_from_ip "$IP") + PRIV_IP="${COLO_RES_IP_PRIV[$I]}" HOST_NAME="${COLO_RES_HOSTNAME[$I]}" ZONE="${COLO_RES_ZONE[$I]}" COLO_RES_AVAILABILITY+=( "$(echo -e "$HOST_NAME\v$IP\v$PRIV_IP\v$STATUS\v$ZONE\v$LOCK_USER\v$INSTNAME")" ) @@ -61,7 +61,7 @@ colo_load_availability() { colo_res_index_from_ip() { declare IP="$1" for i in "${!COLO_RES_IP_PRIV[@]}"; do - if [ "$IP" = "${COLO_RES_IP_PRIV[$i]}" ]; then + if [[ "$IP" = "${COLO_RES_IP[$i]}" || "$IP" = "${COLO_RES_IP_PRIV[$i]}" ]]; then echo "$i" return 0 fi @@ -89,7 +89,7 @@ colo_instance_run_foreach() { CMD="$1" declare IPS=() for I in $(seq 0 $((COLO_RES_N-1))); do - IPS+=( "${COLO_RES_IP_PRIV[$I]}" ) + IPS+=( "${COLO_RES_IP[$I]}" ) done set "${IPS[@]}" "$CMD" fi