2014-04-22 22:16:18 +00:00
|
|
|
#!/bin/bash -xe
|
|
|
|
|
|
|
|
# wait_for_pupet.sh LOGFILE HOSTNAME [HOSTNAME...]
|
|
|
|
# Search LOGFILE for puppet completion on each host
|
|
|
|
|
|
|
|
FINISH_RE="puppet-agent\[.*\]: Finished catalog run in .* seconds"
|
|
|
|
LOGFILE=$1
|
|
|
|
shift
|
|
|
|
HOSTS=$@
|
|
|
|
|
|
|
|
echo "Jenkins: Waiting for puppet to complete on all nodes"
|
|
|
|
DONE=0
|
|
|
|
while [ $DONE != 1 ]; do
|
|
|
|
DONE=1
|
2014-09-29 20:28:19 +00:00
|
|
|
for hostname in $HOSTS; do
|
|
|
|
if !(grep "$hostname $FINISH_RE" $LOGFILE >/dev/null); then
|
|
|
|
DONE=0
|
|
|
|
fi
|
2014-04-22 22:16:18 +00:00
|
|
|
done
|
|
|
|
sleep 5
|
|
|
|
done
|
|
|
|
echo "Jenkins: Puppet is complete."
|