summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLusheng Ji <lji@research.att.com>2017-11-20 14:06:52 -0500
committerLusheng Ji <lji@research.att.com>2017-11-21 20:03:06 +0000
commit3e6e3ad4a36ff979e72e6dfef4af1f32e404c0ec (patch)
tree8278c099ff8d7eea53501325229442a74526b00e
parentaa8ed202ba4a89f5a0332001964292bb8b0a9cde (diff)
Fix for sshd taking too long problem
Under certain conditions, it takes longer than 10 seconds on the cloudify manager VM from the time its IP stack becoming ready (echoing to ICMP) to the time its sshd becoming ready. This causes the ssh-into-cloudify-manager-VM command to fail. The implemented solution is to replace the ping test-wait loop with a TCP port 22 open test-wait loop. Issue-Id: DCAEGEN2-201 Change-Id: I9b734a9ff58ec9e97dc0102dc2ba86756e50f135 Signed-off-by: Lusheng Ji <lji@research.att.com>
-rwxr-xr-xbootstrap/installer-docker.sh-template19
1 files changed, 4 insertions, 15 deletions
diff --git a/bootstrap/installer-docker.sh-template b/bootstrap/installer-docker.sh-template
index 2a26763..b056ca1 100755
--- a/bootstrap/installer-docker.sh-template
+++ b/bootstrap/installer-docker.sh-template
@@ -132,27 +132,16 @@ cfy local init --install-plugins -p ./blueprints/centos_vm.yaml -i /tmp/local_in
cfy local execute -w install --task-retries=10
PUBIP=$(cfy local outputs | grep -Po '"public_ip": "\K.*?(?=")')
-
-## It's probably not completely ready when the installation finish, so wait
-#sleep 180
-while [ $( ping -c 1 $PUBIP 2> /dev/null | grep icmp* | wc -l ) -eq 0 ];
-do
- sleep 5
- echo "."
-done
+# wait till the cloudify manager's sshd ready
+while ! nc -z -v -w5 ${PUBIP} 22; do echo "."; done
sleep 10
echo "Installing Cloudify Manager on ${PUBIP}."
-
PVTIP=$(ssh $SSHOPTS -i "$PVTKEY" "$SSHUSER"@"$PUBIP" 'echo PVTIP=`curl --silent http://169.254.169.254/2009-04-04/meta-data/local-ipv4`' | grep PVTIP | sed 's/PVTIP=//')
if [ "$PVTIP" = "" ]
then
- echo Cannot access specified machine at $PUBIP using supplied credentials
- # Don't exit--keep the container up so we can uninstall the VM and supporting entities
- while true
- do
- sleep 300
- done
+ echo Cannot access specified machine at $PUBIP using supplied credentials
+ exit
fi