summaryrefslogtreecommitdiffstats
path: root/replay
blob: 3bc4b5d6610b54eae2e50ac07f3bb2b1188ae7e7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!/usr/bin/bash

###
# User variables, you may edit these variables
###
SOURCES=$HOME/park-admin/playbooks-ansible
WORKDIR=/tmp
COUNTLIMIT=10
# Availables options are: 'clearnet' or 'tornetwork'
NETWORK=clearnet
FORK=8
TIMEOUT=240
FLAGS="--force-handlers -f $FORK -T $TIMEOUT"
###
# Stop editing, it is ready
###


# sortie formatée des logs
OK="\e[0m[  \e[92mOK\e[0m  ]"
ERROR="\e[0m[  \e[91mERROR\e[0m  ]"
INFO="\e[0m[  \e[93mINFO\e[0m  ]"


REPLAY=true
COUNT=1

pushd $WORKDIR >/dev/null

if [[ $NETWORK == "clearnet" ]]
then
    CMDLINE=ansible-playbook
    HOSTFILE=$SOURCES/hosts.net
elif [[ $NETWORK == "tornetwork" ]]
then
    CMDLINE="torsocks ansible-playbook"
    HOSTFILE=$SOURCES/hosts.tor
fi

# need cleanup before starting loop
rm -f $SOURCES/site.retry

while [[ $REPLAY == "true" ]] && [[ $COUNT -lt $COUNTLIMIT ]]
do
    if [[ -f $SOURCES/site.retry ]]
    then
        LIMIT="--limit @${SOURCES}/site.retry"
        echo -e "$OK retry file found"
    else
        LIMIT=""
        echo -e "$INFO retry file not found"
    fi
    if ( $CMDLINE $FLAGS -i $HOSTFILE $LIMIT $SOURCES/site.yml )
    then
        REPLAY=false
    else
        # no infinite loop
        COUNT=$((COUNT + 1))
    fi
done

popd >/dev/null

echo -e "$OK End of Replay"
echo -e "$INFO Replay launched $COUNT times"
echo -e "$OK Have a nice day $USER !"