-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathMakefile
83 lines (69 loc) · 3.26 KB
/
Makefile
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
SHELL := /bin/bash
RUNTIME ?= docker
SUBM_CONTAINER_NAME ?= subm-qe
SUBM_CONTAINER_IMAGE ?= quay.io/maxbab/subm-test:latest
export RUNTIME
export SUBM_CONTAINER_NAME
export SUBM_CONTAINER_IMAGE
export ENV_CONF
SUBM_PLATFORM ?= aws,gcp
SUBM_GLOBALNET ?= true
SUBM_DOWNSTREAM ?= true
SUBM_GW_RANDOM ?= false
SUBM_TEST_TYPE ?= e2e,ui
export SUBM_PLATFORM
export SUBM_GLOBALNET
export SUBM_DOWNSTREAM
export SUBM_TEST_TYPE
export OC_CLUSTER_API
export OC_CLUSTER_USER
export OC_CLUSTER_PASS
.DEFAULT: help
.PHONY: env-deploy env-destroy submariner-deploy submariner-test deploy-local-env destroy-local-env
help:
@echo "ACM environment with Submariner deployment/test from local container"
@echo ""
@echo "Options:"
@grep -F -h "##" $(MAKEFILE_LIST) | sed -e 's/\(\:.*\#\#\)/\:\ /' | grep -F -v grep -F | sed -e 's/\\$$//' | sed -e 's/##//'
check-config:
ifeq ($(CONF),)
$(error The CONF need to be defined for environment creation - "make <target> CONF=value")
else
@echo "Config file has been provided - $(CONF)"
endif
check-subm-env:
ifeq ($(OC_CLUSTER_API),)
$(error Missing required environment vars - OC_CLUSTER_API, OC_CLUSTER_USER, OC_CLUSTER_PASS - "make submariner-.. OC_CLUSTER_API=value...")
endif
ifeq ($(OC_CLUSTER_USER),)
$(error Missing required environment vars - OC_CLUSTER_API, OC_CLUSTER_USER, OC_CLUSTER_PASS - "make submariner-.. OC_CLUSTER_API=value...")
endif
ifeq ($(OC_CLUSTER_PASS),)
$(error Missing required environment vars - OC_CLUSTER_API, OC_CLUSTER_USER, OC_CLUSTER_PASS - "make submariner-.. OC_CLUSTER_API=value...")
endif
env-deploy: check-config deploy-local-env ##Deploy ACM based environment with managed clusters
$(RUNTIME) exec \
-e OC_CLUSTER_API=$(OC_CLUSTER_API) -e OC_CLUSTER_USER=$(OC_CLUSTER_USER) -e OC_CLUSTER_PASS=$(OC_CLUSTER_PASS) \
-it $(SUBM_CONTAINER_NAME) \
ansible-playbook -v playbooks/env_deploy.yml -e @"$(CONF)" -e state=present
env-destroy: check-config deploy-local-env ##Destroy ACM based environment with managed clusters
$(RUNTIME) exec \
-e OC_CLUSTER_API=$(OC_CLUSTER_API) -e OC_CLUSTER_USER=$(OC_CLUSTER_USER) -e OC_CLUSTER_PASS=$(OC_CLUSTER_PASS) \
-it $(SUBM_CONTAINER_NAME) \
ansible-playbook -v playbooks/env_destroy.yml -e @"$(CONF)" -e state=absent
$(MAKE) destroy-local-env
submariner-deploy: check-subm-env deploy-local-env ##Deploy Submariner on ACM based environment
$(RUNTIME) exec \
-e OC_CLUSTER_API=$(OC_CLUSTER_API) -e OC_CLUSTER_USER=$(OC_CLUSTER_USER) -e OC_CLUSTER_PASS=$(OC_CLUSTER_PASS) \
-it $(SUBM_CONTAINER_NAME) \
./run.sh --deploy --platform "$(SUBM_PLATFORM)" \
--globalnet "$(SUBM_GLOBALNET)" --downstream "$(SUBM_DOWNSTREAM)" --subm-gateway-random "$(SUBM_GW_RANDOM)"
submariner-test: check-subm-env deploy-local-env ##Test Submariner on ACM based environment
$(RUNTIME) exec \
-e OC_CLUSTER_API=$(OC_CLUSTER_API) -e OC_CLUSTER_USER=$(OC_CLUSTER_USER) -e OC_CLUSTER_PASS=$(OC_CLUSTER_PASS) \
-it $(SUBM_CONTAINER_NAME) \
./run.sh --test --test-type "$(SUBM_TEST_TYPE)" --platform "$(SUBM_PLATFORM)" --downstream "$(SUBM_DOWNSTREAM)"
deploy-local-env: ##Deploy container for environment deployment
scripts/local_environment.sh --deploy --runtime "$(RUNTIME)"
destroy-local-env: ##Destroy container for environment deployment
scripts/local_environment.sh --destroy --runtime "$(RUNTIME)"