-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
138 lines (100 loc) · 4.16 KB
/
Makefile
File metadata and controls
138 lines (100 loc) · 4.16 KB
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
HEAT_TEMPLATE=swarm.yaml
check-vars:
test -n "$(SSH_KEY_NAME)" # $$SSH_KEY_NAME
test -n "$(STACK_NAME)" # $$STACK_NAME
test -n "$(OS_PROJECT_NAME)" # $$OS_PROJECT_NAME
stack: check-vars validate
openstack stack create \
-t ${HEAT_TEMPLATE} ${STACK_NAME}
update: check-vars validate
openstack stack update -t ${HEAT_TEMPLATE} ${STACK_NAME}
${HEAT_TEMPLATE}: ${HEAT_TEMPLATE}.j2 gen-swarm-template.py
./gen-swarm-template.py \
--node-image-id=356ff1ed-5960-4ac2-96a1-0c0198e6a999 \
--node-initial-user=ubuntu \
--node-flavour-master=m3.small \
--node-flavour-slave=m3.medium \
--node-count-master=3 \
--node-count-slave=3 \
--ansible-user=ubuntu \
--ssh-key-name=${SSH_KEY_NAME} \
--avail-zone=QRIScloud \
--project-name=${STACK_NAME}
destroy-stack:
openstack stack delete -y ${STACK_NAME}
validate: ${HEAT_TEMPLATE}
openstack orchestration template validate -t ${HEAT_TEMPLATE} # > /dev/null
clean:
rm -f inventory.yml swarm.yaml
inventory.yml: ${HEAT_TEMPLATE} make_inventory_openstack.py
./make_inventory_openstack.py ${STACK_NAME} > $@
setenv-prod: setenv.sh
./setenv.sh
setenv-dev: setenv.sh
./setenv.sh dev
inventories: check-vars inventory.yml
# bootstrap: inventories bootstrap.yml
bootstrap: bootstrap.yml
ansible-playbook -i inventory.yml bootstrap.yml
reloadautofs: autofs-reload.yml
ansible-playbook -i inventory.yml autofs-reload.yml
prune-docker: prune-docker.yml
ansible-playbook -i inventory.yml prune-docker.yml
init-swarm: init-swarm-cluster.yml
ansible-playbook -i inventory.yml init-swarm-cluster.yml
inspect-swarm: inspect-swarm-cluster.yml
ansible-playbook -i inventory.yml inspect-swarm-cluster.yml
inspect-network: inspect-network.yml
ansible-playbook -i inventory.yml inspect-network.yml
destroy-swarm: destroy-swarm-cluster.yml
ansible-playbook -i inventory.yml destroy-swarm-cluster.yml
deploy-clowder: clowder.yml
ansible-playbook -i inventory.yml clowder.yml --tags=setup
destroy-clowder: clowder.yml
ansible-playbook -i inventory.yml clowder.yml --tags=destroy
redeploy-clowder: clowder.yml destroy-swarm-cluster.yml prune-docker.yml autofs-reload.yml init-swarm-cluster.yml
ansible-playbook -i inventory.yml clowder.yml --tags=destroy
sleep 2
ansible-playbook -i inventory.yml destroy-swarm-cluster.yml
sleep 2
ansible-playbook -i inventory.yml prune-docker.yml
sleep 2
ansible-playbook -i inventory.yml autofs-reload.yml
sleep 2
ansible-playbook -i inventory.yml init-swarm-cluster.yml
sleep 2
ansible-playbook -i inventory.yml clowder.yml --tags=setup
backup-clowder: clowder.yml
ansible-playbook -i inventory.yml clowder.yml --tags=backup
monitor: clowder.yml
ansible-playbook -i inventory.yml clowder.yml --tags=monitor
upgrade: upgrade.yml
ansible-playbook -i inventory.yml upgrade.yml
apt-update:
ansible all -i inventory.yml -m apt -a "upgrade=yes update_cache=yes autoremove=yes" --become
reboot:
ansible all -i inventory.yml -m reboot --become
uptime:
ansible all -i inventory.yml -m command -a "uptime"
gfs-status:
ansible "~(.*-slave0)" -i inventory.yml -m command -a "gluster volume status gfs" --become
gfs-stop: check-cmd
ansible "~(.*-slave0)" -i inventory.yml -m command -a "gluster --mode=script volume stop gfs" --become
gfs-start:
ansible "~(.*-slave0)" -i inventory.yml -m command -a "gluster volume start gfs" --become
mount:
ansible "~(.*-slave[0-2])" -i inventory.yml -m command -a "./mnt_data.sh" --become
xxapi-destroy:
ansible all -i ../pitschi-secrets/xxapi_inventory.yml -m community.docker.docker_stack -a "name=xapi state=absent"
xxapi-deploy:
ansible-playbook -i ../pitschi-secrets/xxapi_inventory.yml xxapi.yml
xxapi-apt-update:
ansible all -i ../pitschi-secrets/xxapi_inventory.yml -m apt -a "upgrade=yes update_cache=yes autoremove=yes" --become
xxapi-reboot:
ansible all -i ../pitschi-secrets/xxapi_inventory.yml -m reboot --become
xxapi-uptime:
ansible all -i ../pitschi-secrets/xxapi_inventory.yml -m command -a "uptime"
check-cmd:
@echo $(MAKECMDGOALS) for $(shell readlink inventory.yml |sed -n "s/^.*inventory-\(.*\)\.yml$$/\1/p")
@echo -n "are you sure? [y/N] " && read ans && [ $${ans:-N} = y ]
.PHONY: check-vars clean stack inventories bootstrap inventory.yml init-swarm check-cmd