-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathMakefile
More file actions
60 lines (44 loc) · 1.71 KB
/
Makefile
File metadata and controls
60 lines (44 loc) · 1.71 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
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=${IMAGE_ID} \
--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} > $@
inventories: check-vars inventory.yml
bootstrap: inventories bootstrap.yml
ansible-playbook -i inventory.yml bootstrap.yml
init-swarm: bootstrap 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
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
.PHONY: check-vars clean stack inventories bootstrap inventory.yml init-swarm