-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathprovision_dev_box.sh
executable file
·75 lines (56 loc) · 1.36 KB
/
provision_dev_box.sh
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
67
68
69
70
71
72
73
74
#!/usr/bin/env bash
BASENAME="$(basename "${BASH_SOURCES[0]}")"
USAGE="Usage: ${BASENAME} ARGS [OPTIONS]
Execute the development provisioning ansible playbook
ARGS: -u <user> -i <ip>
-u, --user The user name in the machine to provision
-i, --ip The IP of the machine to provision
OPTIONS:
-h, --help This help message
"
get_provision_opts()
{
local short="u:i:h"
local long="user:,ip:,help"
if ! tmp=$(getopt -o "$short" --long "$long" -n "$BASENAME" -- "$@"); then
exit 1
fi
eval set -- "$tmp"
unset tmp
while true; do
case "$1" in
'-u' | '--user' )
HOST_USR="$2"; shift 2
;;
'-i' | '--ip' )
HOST_IP="$2"; shift 2
;;
'-h' | '--help' )
echo -e "${USAGE}"
exit 0
;;
'--' )
shift; break
;;
* )
echo -e "${USAGE}"
exit 1
;;
esac
done
if [[ ! -v HOST_USR ]]; then
echo "You must pass a user name"
echo -e "${USAGE}"
exit 1
fi
if [[ ! -v HOST_IP ]]; then
echo "You must enter a host ip"
echo -e "${USAGE}"
exit 1
fi
}
get_provision_opts "$@"
EXTRA_VARS="\"usr\":${HOST_USR}"
EXTRA_VARS="{${EXTRA_VARS}}"
echo "ansible-playbook -i ${HOST_IP}, -K -u ${HOST_USR} --extra-vars ${EXTRA_VARS} provision_dev_box.yml"
ansible-playbook -i ${HOST_IP}, -K -u ${HOST_USR} --extra-vars ${EXTRA_VARS} provision_dev_box.yml