adding clean up script for nested k8s
[icn.git] / Makefile
1 SHELL:=/bin/bash
2 ENV:=$(CURDIR)/env
3 BMDIR:=$(CURDIR)/env/metal3
4 METAL3DIR:=$(CURDIR)/deploy/metal3/scripts
5 METAL3VMDIR:=$(CURDIR)/deploy/metal3-vm
6 BPA_OPERATOR:=$(CURDIR)/cmd/bpa-operator/
7 KUD_PATH:=$(CURDIR)/deploy/kud
8 SDWAN_VERIFIER_PATH:=$(CURDIR)/sdwan/test
9 BPA_REST_API:=$(CURDIR)/cmd/bpa-restapi-agent
10 BOOTLOADER_ENV:=$(CURDIR)/env/ubuntu/bootloader-env
11
12 help:
13         @echo "  Targets:"
14         @echo "  test             -- run unit tests"
15         @echo "  installer        -- run icn installer"
16         @echo "  verifier         -- run verifier tests for CI & CD logs"
17         @echo "  unit             -- run the unit tests"
18         @echo "  help             -- this help output"
19
20 install: package_prerequisite \
21         kud_bm_deploy_mini \
22         bmh_all \
23         bpa_op_install \
24         bpa_rest_api_install
25
26 package_prerequisite:
27          pushd $(BMDIR) && ./01_install_package.sh && popd
28
29 bmh_preinstall:
30         source user_config.sh && env && \
31         pushd $(BMDIR) && ./02_configure.sh && \
32         ./03_launch_prereq.sh && popd
33
34 bmh_clean:
35         pushd $(METAL3DIR) && ./01_metal3.sh deprovision && \
36         ./03_verify_deprovisioning.sh && ./01_metal3.sh clean && \
37         ./01_metal3.sh remove && popd
38
39 bmh_clean_host:
40         pushd $(BMDIR) && ./06_host_cleanup.sh && popd
41
42 clean_packages:
43         pushd $(BOOTLOADER_ENV) && \
44         ./02_clean_bootloader_package_req.sh --only-packages && popd
45
46 clean_bm_packages:
47         pushd $(BOOTLOADER_ENV) && \
48         ./02_clean_bootloader_package_req.sh --bm-cleanall && popd
49
50 bmh_install:
51         source user_config.sh && env && \
52         pushd $(METAL3DIR) && ./01_metal3.sh launch && \
53          ./01_metal3.sh provision && ./02_verify.sh && popd
54
55 bmh_all: bmh_preinstall bmh_install
56
57 clean_all: bmh_clean \
58         bmh_clean_host \
59         kud_bm_reset \
60         clean_packages
61
62 kud_bm_deploy_mini:
63         pushd $(KUD_PATH) && ./kud_bm_launch.sh minimal && popd
64
65 kud_bm_deploy:
66         pushd $(KUD_PATH) && ./kud_bm_launch.sh all && popd
67
68 kud_bm_deploy_e2e:
69         pushd $(KUD_PATH) && ./kud_bm_launch.sh bm && popd
70
71 kud_vm_deploy:
72         pushd $(KUD_PATH) && ./kud_bm_launch.sh vm && popd
73
74 kud_bm_reset:
75         pushd $(KUD_PATH) && ./kud_bm_launch.sh reset && popd
76
77 metal3_prerequisite:
78         pushd $(METAL3VMDIR) && make bmh_install && popd
79
80 metal3_vm:
81         pushd $(METAL3VMDIR) && make bmh && popd
82
83 sdwan_verifier:
84         pushd $(SDWAN_VERIFIER_PATH) && bash sdwan_verifier.sh && popd
85
86 bpa_op_install:
87         pushd $(BPA_OPERATOR) && make docker && make deploy && popd
88
89 bpa_op_install_bmh_e2e:
90         pushd $(BPA_OPERATOR) && make docker_bmh_e2e && make deploy && popd
91
92 bpa_op_delete:
93         pushd $(BPA_OPERATOR) && make delete && popd
94
95 bpa_op_e2e_vm:
96         pushd $(BPA_OPERATOR) && make e2etest_vm && popd
97
98 bpa_op_e2e_bmh:
99         pushd $(BPA_OPERATOR) && make e2etest_bmh && popd
100
101 bpa_op_e2e_virtletvm:
102         pushd $(BPA_OPERATOR) && make e2etest_virtletvm && popd
103
104 bpa_op_unit:
105         pushd $(BPA_OPERATOR) && make unit_test && popd
106
107 bpa_op_vm_verifier: bpa_op_install bpa_op_e2e_vm
108
109 bpa_op_bmh_verifier: bpa_op_install_bmh_e2e bpa_op_e2e_bmh
110
111 bpa_op_virtletvm_verifier: bpa_op_install bpa_op_e2e_virtletvm
112
113 bpa_op_all: bm_all bpa_op_install
114
115 bpa_rest_api_install:
116         pushd $(BPA_REST_API) && make deploy && popd
117
118 bpa_rest_api_uninstall:
119         pushd $(BPA_REST_API) && make clean && popd
120
121 bpa_rest_api_verifier:
122         pushd $(BPA_REST_API) && make e2e_test && popd
123
124 bpa_rest_api_unit:
125         pushd $(BPA_REST_API) && make unit_test && popd
126
127 unit: prerequisite \
128         bashate \
129         bpa_op_unit \
130         bpa_rest_api_unit
131
132 bashate:
133         bashate -i E006,E003,E002,E010,E011,E042,E043 `find . -type f -not -path './cmd/bpa-operator/vendor/*' -not -path './ci/jjb/shell/*' -name "*.sh"`
134
135 prerequisite:
136         pushd $(ENV) && ./cd_package_installer.sh && popd
137
138 bm_verifer: package_prerequisite \
139         kud_bm_deploy_mini \
140         bmh_all \
141         bpa_op_bmh_verifier \
142         bpa_rest_api_verifier \
143         clean_all
144
145 verify_all: prerequisite \
146         metal3_prerequisite \
147         kud_bm_deploy_mini \
148         metal3_vm \
149         bpa_op_vm_verifier \
150         bpa_rest_api_verifier
151
152 verifier: verify_all
153
154 verify_nestedk8s: prerequisite \
155         kud_vm_deploy \
156         sdwan_verifier \
157         bpa_op_virtletvm_verifier \
158         kud_bm_reset \
159         clean_bm_packages
160
161 bm_verify_nestedk8s: prerequisite \
162         kud_bm_deploy_e2e \
163         sdwan_verifier \
164         kud_bm_reset \
165         clean_bm_packages
166
167 .PHONY: all bm_preinstall bm_install bashate
168