Add OpenEBS cStor to addons test
[icn.git] / Makefile
1 SHELL:=/bin/bash
2
3 help:
4         @echo "  Targets:"
5         @echo "  jump_server      -- install jump server into this machine"
6         @echo "  unit             -- run the unit tests"
7         @echo "  verifier         -- run verifier tests for CI & CD logs"
8         @echo "  vm_cluster       -- deploy VM compute cluster"
9         @echo "  pod11_cluster    -- deploy pod11 compute cluster"
10         @echo "  help             -- this help output"
11
12 install: jump_server
13
14 # The jump server
15
16 jump_server: management_cluster \
17         tools \
18         ironic_bridge \
19         controllers
20
21 jump_server_clean: controllers_clean \
22         ironic_bridge_clean \
23         management_cluster_clean
24
25 # The jump server requires a K8s cluster to install into
26
27 management_cluster:
28         source user_config.sh && \
29         ./deploy/kud/kud_bm_launch.sh minimal
30
31 management_cluster_clean:
32         ./deploy/kud/kud_bm_launch.sh reset
33
34 # Tools used during the installation of jump server components
35
36 tools: kustomize \
37         clusterctl \
38         flux_cli \
39         sops \
40         emcoctl
41
42 kustomize:
43         ./deploy/kustomize/kustomize.sh deploy
44
45 clusterctl:
46         ./deploy/clusterctl/clusterctl.sh deploy
47
48 flux_cli:
49         ./deploy/flux-cli/flux-cli.sh deploy
50
51 sops:
52         ./deploy/sops/sops.sh deploy
53
54 emcoctl: golang
55         ./deploy/emcoctl/emcoctl.sh deploy
56
57 golang:
58         ./deploy/golang/golang.sh deploy
59
60 kubectl:
61         ./deploy/kubectl/kubectl.sh deploy
62
63 yq:
64         ./deploy/yq/yq.sh deploy
65
66 # Provisioning network configuration in the jump server
67
68 ironic_bridge:
69         source user_config.sh && env && \
70         ./deploy/ironic/ironic.sh deploy-bridge
71
72 ironic_bridge_clean:
73         source user_config.sh && \
74         ./deploy/ironic/ironic.sh clean-bridge
75
76 # Jump server components
77
78 controllers: ironic \
79         cert_manager \
80         baremetal_operator \
81         cluster_api \
82         flux
83
84 controllers_clean: flux_clean \
85         cluster_api_clean \
86         baremetal_operator_clean \
87         cert_manager_clean \
88         ironic_clean
89
90 baremetal_operator:
91         ./deploy/baremetal-operator/baremetal-operator.sh deploy
92
93 baremetal_operator_clean:
94         ./deploy/baremetal-operator/baremetal-operator.sh clean
95
96 ironic:
97         source user_config.sh && \
98         ./deploy/ironic/ironic.sh deploy
99
100 ironic_clean:
101         source user_config.sh && \
102         ./deploy/ironic/ironic.sh clean
103
104 cert_manager:
105         ./deploy/cert-manager/cert-manager.sh deploy
106
107 cert_manager_clean:
108         ./deploy/cert-manager/cert-manager.sh clean
109
110 cluster_api:
111         ./deploy/cluster-api/cluster-api.sh deploy
112
113 cluster_api_clean:
114         ./deploy/cluster-api/cluster-api.sh clean
115
116 flux:
117         ./deploy/flux/flux.sh deploy
118
119 flux_clean:
120         ./deploy/flux/flux.sh clean
121
122 # Example compute clusters
123
124 pod11_cluster:
125         ./deploy/site/pod11/pod11.sh deploy
126         ./deploy/site/pod11/pod11.sh wait
127         ./deploy/kata/kata.sh test
128         ./deploy/addons/addons.sh test
129
130 pod11_cluster_clean:
131         ./deploy/site/pod11/pod11.sh clean
132         ./deploy/site/pod11/pod11.sh wait-clean
133
134 vm_cluster:
135         ./deploy/site/vm/vm.sh deploy
136         ./deploy/site/vm/vm.sh wait
137         ./deploy/kata/kata.sh test
138         ./deploy/addons/addons.sh test
139
140 vm_cluster_clean:
141         ./deploy/site/vm/vm.sh clean
142         ./deploy/site/vm/vm.sh wait-clean
143
144 # Test targets
145
146 unit: bashate
147
148 bashate:
149         bashate -i E006,E003,E002,E010,E011,E042,E043 `find . -type f -not -path './ci/jjb/shell/*' -not -path './build/*' -name "*.sh"`
150
151 verifier: vm_verifier
152
153 vm_verifier: jump_server \
154         vm_cluster \
155         vm_cluster_clean \
156         jump_server_clean
157
158 bm_verifier: jump_server \
159         pod11_cluster \
160         pod11_cluster_clean \
161         jump_server_clean
162
163 SDWAN_VERIFIER_PATH:=$(CURDIR)/sdwan/test
164 sdwan_verifier:
165         pushd $(SDWAN_VERIFIER_PATH) && bash sdwan_verifier.sh && popd
166
167 # Development targets
168 source: flux_cli kubectl kustomize yq
169         ./deploy/baremetal-operator/baremetal-operator.sh build-source
170         ./deploy/cdi-operator/cdi-operator.sh build-source
171         ./deploy/cdi/cdi.sh build-source
172         ./deploy/cert-manager/cert-manager.sh build-source
173         ./deploy/cluster/cluster.sh build-source
174         ./deploy/cpu-manager/cpu-manager.sh build-source
175         ./deploy/ironic/ironic.sh build-source
176         ./deploy/kata/kata.sh build-source
177         ./deploy/kubevirt-operator/kubevirt-operator.sh build-source
178         ./deploy/kubevirt/kubevirt.sh build-source
179         ./deploy/multus-cni/multus-cni.sh build-source
180         ./deploy/nodus/nodus.sh build-source
181         ./deploy/qat-plugin/qat-plugin.sh build-source