Extract BareMetalHost creation from metal3 scripts
[icn.git] / Makefile
1 SHELL:=/bin/bash
2 ENV:=$(CURDIR)/env
3 BMDIR:=$(CURDIR)/env/metal3
4 METAL3DIR:=$(CURDIR)/deploy/metal3/scripts
5 BPA_OPERATOR:=$(CURDIR)/cmd/bpa-operator/
6 KUD_PATH:=$(CURDIR)/deploy/kud
7 SDWAN_VERIFIER_PATH:=$(CURDIR)/sdwan/test
8 BPA_REST_API:=$(CURDIR)/cmd/bpa-restapi-agent
9 BOOTLOADER_ENV:=$(CURDIR)/env/ubuntu/bootloader-env
10
11 help:
12         @echo "  Targets:"
13         @echo "  test             -- run unit tests"
14         @echo "  jump_server      -- install jump server into this machine"
15         @echo "  cluster          -- provision cluster(s)"
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: jump_server \
21         bmh_provision
22
23 jump_server: package_prerequisite \
24         kud_bm_deploy_mini \
25         bmh_install \
26         bpa_op_install \
27         bpa_rest_api_install
28
29 package_prerequisite:
30          pushd $(BMDIR) && ./01_install_package.sh && popd
31
32 bmh_clean:
33         pushd $(METAL3DIR) && ./01_metal3.sh deprovision && \
34         ./03_verify_deprovisioning.sh && ./01_metal3.sh clean && \
35         ./01_metal3.sh remove && popd
36
37 bmh_clean_host:
38         pushd $(BMDIR) && ./06_host_cleanup.sh && popd
39
40 clean_packages:
41         pushd $(BOOTLOADER_ENV) && \
42         ./02_clean_bootloader_package_req.sh --only-packages && popd
43
44 clean_bm_packages:
45         pushd $(BOOTLOADER_ENV) && \
46         ./02_clean_bootloader_package_req.sh --bm-cleanall && popd
47
48 bmh_preinstall:
49         source user_config.sh && env && \
50         pushd $(BMDIR) && ./02_configure.sh && \
51         ./03_launch_prereq.sh && popd
52
53 bmh_install: bmh_preinstall
54         source user_config.sh && env && \
55         pushd $(METAL3DIR) && ./01_metal3.sh launch && popd
56
57 bmh_provision:
58         source user_config.sh && env && \
59         pushd $(METAL3DIR) && ./01_metal3.sh provision && \
60         ./02_verify.sh && popd
61
62 bmh_all: bmh_install bmh_provision
63
64 clean_all: bmh_clean \
65         bmh_clean_host \
66         kud_bm_reset \
67         clean_packages
68
69 cluster_provision:
70         pushd $(BPA_OPERATOR) && make provision && popd
71
72 cluster: bmh_provision \
73         cluster_provision
74
75 kud_bm_deploy_mini:
76         pushd $(KUD_PATH) && ./kud_bm_launch.sh minimal v1 && popd
77
78 kud_bm_deploy:
79         pushd $(KUD_PATH) && ./kud_bm_launch.sh all v2 && popd
80
81 kud_bm_deploy_e2e:
82         pushd $(KUD_PATH) && ./kud_bm_launch.sh bm v2 && popd
83
84 kud_vm_deploy:
85         pushd $(KUD_PATH) && ./kud_bm_launch.sh vm v1 && popd
86
87 kud_bm_reset:
88         pushd $(KUD_PATH) && ./kud_bm_launch.sh reset v1 && popd
89
90 sdwan_verifier:
91         pushd $(SDWAN_VERIFIER_PATH) && bash sdwan_verifier.sh && popd
92
93 bpa_op_install:
94         pushd $(BPA_OPERATOR) && make docker && make deploy && popd
95
96 bpa_op_install_e2e:
97         pushd $(BPA_OPERATOR) && make docker_e2e && make deploy && popd
98
99 bpa_op_delete:
100         pushd $(BPA_OPERATOR) && make delete && popd
101
102 bpa_op_e2e_bmh:
103         pushd $(BPA_OPERATOR) && make e2etest_bmh && popd
104
105 bpa_op_e2e_virtletvm:
106         pushd $(BPA_OPERATOR) && make e2etest_virtletvm && popd
107
108 bpa_op_unit:
109         pushd $(BPA_OPERATOR) && make unit_test && popd
110
111 bpa_op_bmh_verifier: bpa_op_install_e2e bpa_op_e2e_bmh
112
113 bpa_op_virtletvm_verifier: bpa_op_install bpa_op_e2e_virtletvm
114
115 bpa_op_all: bm_all bpa_op_install
116
117 bpa_rest_api_install:
118         pushd $(BPA_REST_API) && make deploy && popd
119
120 bpa_rest_api_uninstall:
121         pushd $(BPA_REST_API) && make clean && popd
122
123 bpa_rest_api_verifier:
124         pushd $(BPA_REST_API) && make e2e_test && popd
125
126 bpa_rest_api_unit:
127         pushd $(BPA_REST_API) && make unit_test && popd
128
129 unit: prerequisite \
130         bashate \
131         bpa_op_unit \
132         bpa_rest_api_unit
133
134 bashate:
135         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"`
136
137 prerequisite:
138         pushd $(ENV) && ./cd_package_installer.sh && popd
139
140 bm_verifer: package_prerequisite \
141         kud_bm_deploy_mini \
142         bmh_all \
143         bpa_op_bmh_verifier \
144         bpa_rest_api_verifier \
145         clean_all
146
147 verifier: bm_verifer
148
149 verify_nestedk8s: prerequisite \
150         kud_vm_deploy \
151         bpa_op_virtletvm_verifier \
152         kud_bm_reset \
153         clean_bm_packages
154
155 bm_verify_nestedk8s: prerequisite \
156         kud_bm_deploy_e2e \
157         kud_bm_reset \
158         clean_bm_packages
159
160 kud_bm_verifier: prerequisite \
161         kud_bm_deploy_e2e \
162         kud_bm_reset \
163         clean_bm_packages
164
165 .PHONY: all bm_preinstall bm_install bashate