@@ -134,13 +134,27 @@ function is_scaleup() {
134134 grep -v ' .*-node' ) && return 1 || return 0
135135}
136136
137+ function backup_ansdir() {
138+ [ -e ${ANSDIR} .deployed ] && rm -rf ${ANSDIR} .deployed
139+ mv ${ANSDIR} .started ${ANSDIR} .deployed
140+ }
141+
137142[ " $prepare_ansible " == " False" ] && exit 0
138143
139144mkdir -p /var/lib/ansible/group_vars
140145mkdir -p /var/lib/ansible/host_vars
141146
142147touch $NODESFILE
143148
149+ existing=$( wc -l < $NODESFILE )
150+ if [ -e /var/lib/ansible/node_count ]; then
151+ node_count=$( cat /var/lib/ansible/node_count)
152+ if [ $existing -lt $node_count -a " $autoscaling " != " True" ]; then
153+ echo " skipping ansible run - only $existing of $node_count is registered"
154+ exit 0
155+ fi
156+ fi
157+
144158create_metadata_json /var/lib/ansible/metadata.json
145159
146160# generate ansible files from templates (located
@@ -184,6 +198,11 @@ export ANSIBLE_HOST_KEY_CHECKING=False
184198
185199logfile=/var/log/ansible.$$
186200if is_scaleup; then
201+ if [ -z $( get_new_nodes) ]; then
202+ echo " There are no new nodes, not running scalup playbook"
203+ backup_ansdir
204+ exit 0
205+ fi
187206 cmd=" ansible-playbook -vvvv --inventory /var/lib/ansible/inventory \
188207 /var/lib/ansible/playbooks/scaleup.yml"
189208else
@@ -197,8 +216,7 @@ if [ "$execute_ansible" == True ] ; then
197216 echo " Failed to run '$cmd ', full log is in $( hostname) :$logfile " >&2
198217 exit 1
199218 else
200- [ -e ${ANSDIR} .deployed ] && rm -rf ${ANSDIR} .deployed
201- mv ${ANSDIR} .started ${ANSDIR} .deployed
219+ backup_ansdir
202220 fi
203221else
204222 echo " INFO: ansible execution disabled"
0 commit comments