From 2da4435439beaceec349661c2ab316ea3bae86b2 Mon Sep 17 00:00:00 2001 From: Alexander Tivelkov Date: Sat, 12 Sep 2015 05:22:21 +0300 Subject: [PATCH] Fixed an issue occasionally causing an empty config for etcd slave nodes The script which adds new nodes to etcd cluster now does up to 30 attempts and fails (returns a non-zero exit code) if none are successful. A minor performance optimization has been done as well, so no unneeded waits happen when the command is successful and no temporary files are used. Closes-Bug: #1494997 Change-Id: Ic0552f388518c119925da902b64797bbf96f979f --- .../Resources/scripts/master-add-member.sh | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/Kubernetes/KubernetesCluster/package/Resources/scripts/master-add-member.sh b/Kubernetes/KubernetesCluster/package/Resources/scripts/master-add-member.sh index 06e1de5..6b4fde4 100644 --- a/Kubernetes/KubernetesCluster/package/Resources/scripts/master-add-member.sh +++ b/Kubernetes/KubernetesCluster/package/Resources/scripts/master-add-member.sh @@ -2,13 +2,15 @@ # $1 - NAME # $2 - IP -count=5 -done=false +count=30 -while [ $count -gt 0 ] && [ "$done" != "true" ] -do - /opt/bin/etcdctl member add $1 http://$2:7001 > /tmp/out && done="true" - ((count-- )) - sleep 2 +while [ $count -gt 0 ]; do + out=$(/opt/bin/etcdctl member add "$1" "http://$2:7001") + if [ $? -eq 0 ]; then + echo "$out" | grep ETCD_INITIAL_CLUSTER= | cut -f 2 -d '"' + exit 0 + fi + ((count-- )) + sleep 2 done -cat /tmp/out | grep ETCD_INITIAL_CLUSTER | grep -n 1 | cut -f 2 -d'"' \ No newline at end of file +exit 1