refactoring metal3 code
[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
11 help:
12         @echo "  Targets:"
13         @echo "  test             -- run unit tests"
14         @echo "  installer        -- run icn installer"
15         @echo "  verifier         -- run verifier tests for CI & CD logs"
16         @echo "  unit             -- run the unit tests"
17         @echo "  help             -- this help output"
18
19 install: bmh_all
20
21 bmh_preinstall:
22         source user_config.sh && env && \
23         pushd $(BMDIR) && ./01_install_package.sh && ./02_configure.sh && \
24         ./03_launch_prereq.sh && popd
25
26 bmh_clean:
27         pushd $(METAL3DIR) && ./01_metal3.sh deprovision && \
28         ./03_verify_deprovisioning.sh && ./01_metal3.sh clean popd
29
30 bmh_clean_host:
31         pushd $(BMDIR) && ./06_host_cleanup.sh && popd
32
33 bmh_install:
34         source user_config.sh && env && \
35         pushd $(METAL3DIR) && ./01_metal3.sh launch && \
36          ./01_metal3.sh provision && ./02_verify.sh && popd
37
38 bmh_all: bmh_preinstall bmh_install
39
40 bmh_clean_all: bmh_clean bmh_clean_host
41
42 kud_bm_deploy_mini:
43         pushd $(KUD_PATH) && ./kud_bm_launch.sh minimal && popd
44
45 kud_bm_deploy:
46         pushd $(KUD_PATH) && ./kud_bm_launch.sh all && popd
47
48 metal3_prerequisite:
49         pushd $(METAL3VMDIR) && make bmh_install && popd
50
51 metal3_vm:
52         pushd $(METAL3VMDIR) && make bmh && popd
53
54 sdwan_verifier:
55         pushd $(SDWAN_VERIFIER_PATH) && bash sdwan_verifier.sh && popd
56
57 bpa_op_install:
58         pushd $(BPA_OPERATOR) && make docker && make deploy && popd
59
60 bpa_op_delete:
61         pushd $(BPA_OPERATOR) && make delete && popd
62
63 bpa_op_e2e:
64         pushd $(BPA_OPERATOR) && make e2etest && popd
65
66 bpa_op_unit:
67         pushd $(BPA_OPERATOR) && make unit_test && popd
68
69 bpa_op_verifier: bpa_op_install bpa_op_e2e
70
71 bpa_op_all: bm_all bpa_op_install
72
73 bpa_rest_api_install:
74         pushd $(BPA_REST_API) && make deploy && popd
75
76 bpa_rest_api_uninstall:
77         pushd $(BPA_REST_API) && make clean && popd
78
79 bpa_rest_api_verifier:
80         pushd $(BPA_REST_API) && make e2e_test && popd
81
82 bpa_rest_api_unit:
83         pushd $(BPA_REST_API) && make unit_test && popd
84
85 bashate:
86         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`
87
88 prerequisite:
89         pushd $(ENV) && ./cd_package_installer.sh && popd
90
91 bm_verifer: install
92
93 verify_all: prerequisite \
94         metal3_prerequisite \
95         kud_bm_deploy_mini \
96         metal3_vm \
97         bpa_op_verifier \
98         bpa_rest_api_verifier
99
100 verifier: verify_all
101
102 verify_nestedk8s: prerequisite \
103         kud_bm_deploy \
104         sdwan_verifier
105
106 .PHONY: all bm_preinstall bm_install bashate