Adding cluster meta data and saving in etcd
[multicloud/k8s.git] / kud / tests / plugin_ncm_v2.sh
1 # /*
2 #  * Copyright 2020 Intel Corporation, Inc
3 #  *
4 #  * Licensed under the Apache License, Version 2.0 (the "License");
5 #  * you may not use this file except in compliance with the License.
6 #  * You may obtain a copy of the License at
7 #  *
8 #  *     http://www.apache.org/licenses/LICENSE-2.0
9 #  *
10 #  * Unless required by applicable law or agreed to in writing, software
11 #  * distributed under the License is distributed on an "AS IS" BASIS,
12 #  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 #  * See the License for the specific language governing permissions and
14 #  * limitations under the License.
15 #  */
16
17 set -o errexit
18 set -o nounset
19 set -o pipefail
20 #set -o xtrace
21
22 source _common_test.sh
23 source _functions.sh
24 source _common.sh
25
26 base_url=${base_url:-"http://localhost:9016/v2"}
27
28 kubeconfig_path="$HOME/.kube/config"
29
30 cluster_provider_name1="cluster_provider1"
31 cluster_provider_name2="cluster_provider2"
32 cluster_provider_desc1="cluster_provider1_Desc"
33 cluster_provider_desc2="cluster_provider2_Desc"
34 userData1="user1"
35 userData2="user2"
36
37 clusterName1="clusterName1"
38 cluster_desc1="cluster_desc1"
39 clusterName2="clusterName2"
40 cluster_desc2="cluster_desc2"
41 #clusterName3 and clusterName4 shall be added with clusterLabel1 and clusterLabel2
42 # under cluster_provider1 and cluster_provider2 respectively
43 clusterName3="clusterName3"
44 cluster_desc3="cluster_desc3"
45 clusterName4="clusterName4"
46 cluster_desc4="cluster_desc4"
47 clusterName5="clusterName5"
48 cluster_desc5="cluster_desc5"
49 clusterName6="clusterName6"
50 cluster_desc6="cluster_desc6"
51
52 clusterLabel1="clusterLabel1"
53 clusterLabel2="clusterLabel2"
54
55 # BEGIN :: Delete statements are issued so that we clean up the 'cluster' collection
56 # and freshly populate the documents, also it serves as a direct test
57 # for all our DELETE APIs and an indirect test for all GET APIs
58 print_msg "Deleting the clusterLabel1 and clusterLabel2, if they were existing"
59 delete_resource "${base_url}/cluster-providers/${cluster_provider_name1}/clusters/${clusterName3}/labels/${clusterLabel1}"
60 delete_resource "${base_url}/cluster-providers/${cluster_provider_name2}/clusters/${clusterName4}/labels/${clusterLabel2}"
61 delete_resource "${base_url}/cluster-providers/${cluster_provider_name1}/clusters/${clusterName5}/labels/${clusterLabel1}"
62 delete_resource "${base_url}/cluster-providers/${cluster_provider_name2}/clusters/${clusterName6}/labels/${clusterLabel2}"
63 # Above statements delete the clusterLabel1 and clusterLabel2 which are linked to cluster3 and cluster4
64
65 print_msg "Deleting the cluster1, cluster2, cluster3, cluster4 if they were existing"
66 delete_resource "${base_url}/cluster-providers/${cluster_provider_name1}/clusters/${clusterName1}"
67 delete_resource "${base_url}/cluster-providers/${cluster_provider_name2}/clusters/${clusterName2}"
68 delete_resource "${base_url}/cluster-providers/${cluster_provider_name1}/clusters/${clusterName3}"
69 delete_resource "${base_url}/cluster-providers/${cluster_provider_name2}/clusters/${clusterName4}"
70 delete_resource "${base_url}/cluster-providers/${cluster_provider_name1}/clusters/${clusterName5}"
71 delete_resource "${base_url}/cluster-providers/${cluster_provider_name2}/clusters/${clusterName6}"
72
73 print_msg "Deleting the cluster-providers, if they were existing"
74 delete_resource "${base_url}/cluster-providers/${cluster_provider_name1}"
75 delete_resource "${base_url}/cluster-providers/${cluster_provider_name2}"
76
77 # END :: Delete statements are issued so that we clean up the 'cluster' collection
78 # and freshly populate the documents, also it serves as a direct test
79 # for all our DELETE APIs and an indirect test for all GET APIs
80
81 # BEGIN: Register cluster_provider_name1 and cluster_provider_name2
82 print_msg "Deleting the cluster-providers, if they were existing"
83 delete_resource "${base_url}/cluster-providers/${cluster_provider_name1}"
84 delete_resource "${base_url}/cluster-providers/${cluster_provider_name2}"
85
86 print_msg "Registering cluster_provider_name1"
87 payload="$(cat <<EOF
88 {
89   "metadata": {
90     "name": "${cluster_provider_name1}",
91     "description": "${cluster_provider_desc1}",
92     "userData1": "${userData1}",
93     "userData2": "${userData2}"
94    }
95 }
96 EOF
97 )"
98 call_api -d "${payload}" "${base_url}/cluster-providers"
99
100 print_msg "Registering cluster_provider_name2"
101 payload="$(cat <<EOF
102 {
103   "metadata": {
104     "name": "${cluster_provider_name2}",
105     "description": "${cluster_provider_desc2}",
106     "userData1": "${userData1}",
107     "userData2": "${userData2}"
108    }
109 }
110 EOF
111 )"
112 call_api -d "${payload}" "${base_url}/cluster-providers"
113 # END: Register cluster_provider_name1 and cluster_provider_name2
114
115 # BEGIN : Register cluster1, cluster2, cluster3 and cluster4
116 print_msg "Registering cluster1"
117 payload="$(cat <<EOF
118 {
119   "metadata": {
120     "name": "${clusterName1}",
121     "description": "${cluster_desc1}",
122     "userData1": "${userData1}",
123     "userData2": "${userData2}"
124    }
125 }
126 EOF
127 )"
128 call_api -F "metadata=$payload" \
129          -F "file=@$kubeconfig_path" \
130          "${base_url}/cluster-providers/${cluster_provider_name1}/clusters" >/dev/null #massive output
131
132
133 print_msg "Registering cluster2"
134 payload="$(cat <<EOF
135 {
136   "metadata": {
137     "name": "${clusterName2}",
138     "description": "${cluster_desc2}",
139     "userData1": "${userData1}",
140     "userData2": "${userData2}"
141    }
142 }
143 EOF
144 )"
145 call_api -F "metadata=$payload" \
146          -F "file=@$kubeconfig_path" \
147          "${base_url}/cluster-providers/${cluster_provider_name2}/clusters" >/dev/null #massive output
148
149
150 print_msg "Registering cluster3"
151 payload="$(cat <<EOF
152 {
153   "metadata": {
154     "name": "${clusterName3}",
155     "description": "${cluster_desc3}",
156     "userData1": "${userData1}",
157     "userData2": "${userData2}"
158    }
159 }
160 EOF
161 )"
162 call_api -F "metadata=$payload" \
163          -F "file=@$kubeconfig_path" \
164          "${base_url}/cluster-providers/${cluster_provider_name1}/clusters" >/dev/null #massive output
165
166
167 print_msg "Registering cluster4"
168 payload="$(cat <<EOF
169 {
170   "metadata": {
171     "name": "${clusterName4}",
172     "description": "${cluster_desc4}",
173     "userData1": "${userData1}",
174     "userData2": "${userData2}"
175    }
176 }
177 EOF
178 )"
179 call_api -F "metadata=$payload" \
180          -F "file=@$kubeconfig_path" \
181          "${base_url}/cluster-providers/${cluster_provider_name2}/clusters" >/dev/null #massive output
182
183 print_msg "Registering cluster5"
184 payload="$(cat <<EOF
185 {
186   "metadata": {
187     "name": "${clusterName5}",
188     "description": "${cluster_desc5}",
189     "userData1": "${userData1}",
190     "userData2": "${userData2}"
191    }
192 }
193 EOF
194 )"
195 call_api -F "metadata=$payload" \
196          -F "file=@$kubeconfig_path" \
197          "${base_url}/cluster-providers/${cluster_provider_name1}/clusters" >/dev/null #massive output
198
199
200 print_msg "Registering cluster6"
201 payload="$(cat <<EOF
202 {
203   "metadata": {
204     "name": "${clusterName6}",
205     "description": "${cluster_desc6}",
206     "userData1": "${userData1}",
207     "userData2": "${userData2}"
208    }
209 }
210 EOF
211 )"
212 call_api -F "metadata=$payload" \
213          -F "file=@$kubeconfig_path" \
214          "${base_url}/cluster-providers/${cluster_provider_name2}/clusters" >/dev/null #massive output
215
216 # END : Register cluster1, cluster2, cluster3 and cluster4
217
218
219 # BEGIN: adding labels to cluster3 and cluster4
220 print_msg "Adding label to cluster3"
221 payload="$(cat <<EOF
222 {
223   "label-name" : "${clusterLabel1}"
224 }
225 EOF
226 )"
227 call_api -d "${payload}" "${base_url}/cluster-providers/${cluster_provider_name1}/clusters/${clusterName3}/labels"
228
229 print_msg "Adding label to cluster4"
230 payload="$(cat <<EOF
231 {
232   "label-name" : "${clusterLabel2}"
233 }
234 EOF
235 )"
236 call_api -d "${payload}" "${base_url}/cluster-providers/${cluster_provider_name2}/clusters/${clusterName4}/labels"
237
238 # BEGIN: adding labels to cluster5 and cluster6. Cluster5 to label1 and cluster6 to label2
239 print_msg "Adding label to cluster5"
240 payload="$(cat <<EOF
241 {
242   "label-name" : "${clusterLabel1}"
243 }
244 EOF
245 )"
246 call_api -d "${payload}" "${base_url}/cluster-providers/${cluster_provider_name1}/clusters/${clusterName5}/labels"
247
248 print_msg "Adding label to cluster6"
249 payload="$(cat <<EOF
250 {
251   "label-name" : "${clusterLabel2}"
252 }
253 EOF
254 )"
255 call_api -d "${payload}" "${base_url}/cluster-providers/${cluster_provider_name2}/clusters/${clusterName6}/labels"