Merge "Added BMH e2e test and enabled kud plugins"
[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_vm:
64         pushd $(BPA_OPERATOR) && make e2etest_vm && popd
65
66 bpa_op_e2e_bmh:
67         pushd $(BPA_OPERATOR) && make e2etest_bmh && popd
68
69 bpa_op_unit:
70         pushd $(BPA_OPERATOR) && make unit_test && popd
71
72 bpa_op_vm_verifier: bpa_op_install bpa_op_e2e_vm
73
74 bpa_op_bmh_verifier: bpa_op_install bpa_op_e2e_bmh
75
76 bpa_op_all: bm_all bpa_op_install
77
78 bpa_rest_api_install:
79         pushd $(BPA_REST_API) && make deploy && popd
80
81 bpa_rest_api_uninstall:
82         pushd $(BPA_REST_API) && make clean && popd
83
84 bpa_rest_api_verifier:
85         pushd $(BPA_REST_API) && make e2e_test && popd
86
87 bpa_rest_api_unit:
88         pushd $(BPA_REST_API) && make unit_test && popd
89
90 bashate:
91         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`
92
93 prerequisite:
94         pushd $(ENV) && ./cd_package_installer.sh && popd
95
96 bm_verifer: install
97
98 verify_all: prerequisite \
99         metal3_prerequisite \
100         kud_bm_deploy_mini \
101         metal3_vm \
102         bpa_op_vm_verifier \
103         bpa_rest_api_verifier
104
105 verifier: verify_all
106
107 verify_nestedk8s: prerequisite \
108         kud_bm_deploy \
109         sdwan_verifier
110
111 .PHONY: all bm_preinstall bm_install bashate
112