2 # * Copyright 2020 Intel Corporation, Inc
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
8 # * http://www.apache.org/licenses/LICENSE-2.0
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.
22 source _common_test.sh
26 base_url=${base_url:-"http://localhost:9016/v2"}
28 kubeconfig_path="$HOME/.kube/config"
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"
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"
52 clusterLabel1="clusterLabel1"
53 clusterLabel2="clusterLabel2"
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
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}"
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}"
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
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}"
86 print_msg "Registering cluster_provider_name1"
90 "name": "${cluster_provider_name1}",
91 "description": "${cluster_provider_desc1}",
92 "userData1": "${userData1}",
93 "userData2": "${userData2}"
98 call_api -d "${payload}" "${base_url}/cluster-providers"
100 print_msg "Registering cluster_provider_name2"
104 "name": "${cluster_provider_name2}",
105 "description": "${cluster_provider_desc2}",
106 "userData1": "${userData1}",
107 "userData2": "${userData2}"
112 call_api -d "${payload}" "${base_url}/cluster-providers"
113 # END: Register cluster_provider_name1 and cluster_provider_name2
115 # BEGIN : Register cluster1, cluster2, cluster3 and cluster4
116 print_msg "Registering cluster1"
120 "name": "${clusterName1}",
121 "description": "${cluster_desc1}",
122 "userData1": "${userData1}",
123 "userData2": "${userData2}"
128 call_api -F "metadata=$payload" \
129 -F "file=@$kubeconfig_path" \
130 "${base_url}/cluster-providers/${cluster_provider_name1}/clusters" >/dev/null #massive output
133 print_msg "Registering cluster2"
137 "name": "${clusterName2}",
138 "description": "${cluster_desc2}",
139 "userData1": "${userData1}",
140 "userData2": "${userData2}"
145 call_api -F "metadata=$payload" \
146 -F "file=@$kubeconfig_path" \
147 "${base_url}/cluster-providers/${cluster_provider_name2}/clusters" >/dev/null #massive output
150 print_msg "Registering cluster3"
154 "name": "${clusterName3}",
155 "description": "${cluster_desc3}",
156 "userData1": "${userData1}",
157 "userData2": "${userData2}"
162 call_api -F "metadata=$payload" \
163 -F "file=@$kubeconfig_path" \
164 "${base_url}/cluster-providers/${cluster_provider_name1}/clusters" >/dev/null #massive output
167 print_msg "Registering cluster4"
171 "name": "${clusterName4}",
172 "description": "${cluster_desc4}",
173 "userData1": "${userData1}",
174 "userData2": "${userData2}"
179 call_api -F "metadata=$payload" \
180 -F "file=@$kubeconfig_path" \
181 "${base_url}/cluster-providers/${cluster_provider_name2}/clusters" >/dev/null #massive output
183 print_msg "Registering cluster5"
187 "name": "${clusterName5}",
188 "description": "${cluster_desc5}",
189 "userData1": "${userData1}",
190 "userData2": "${userData2}"
195 call_api -F "metadata=$payload" \
196 -F "file=@$kubeconfig_path" \
197 "${base_url}/cluster-providers/${cluster_provider_name1}/clusters" >/dev/null #massive output
200 print_msg "Registering cluster6"
204 "name": "${clusterName6}",
205 "description": "${cluster_desc6}",
206 "userData1": "${userData1}",
207 "userData2": "${userData2}"
212 call_api -F "metadata=$payload" \
213 -F "file=@$kubeconfig_path" \
214 "${base_url}/cluster-providers/${cluster_provider_name2}/clusters" >/dev/null #massive output
216 # END : Register cluster1, cluster2, cluster3 and cluster4
219 # BEGIN: adding labels to cluster3 and cluster4
220 print_msg "Adding label to cluster3"
223 "label-name" : "${clusterLabel1}"
227 call_api -d "${payload}" "${base_url}/cluster-providers/${cluster_provider_name1}/clusters/${clusterName3}/labels"
229 print_msg "Adding label to cluster4"
232 "label-name" : "${clusterLabel2}"
236 call_api -d "${payload}" "${base_url}/cluster-providers/${cluster_provider_name2}/clusters/${clusterName4}/labels"
238 # BEGIN: adding labels to cluster5 and cluster6. Cluster5 to label1 and cluster6 to label2
239 print_msg "Adding label to cluster5"
242 "label-name" : "${clusterLabel1}"
246 call_api -d "${payload}" "${base_url}/cluster-providers/${cluster_provider_name1}/clusters/${clusterName5}/labels"
248 print_msg "Adding label to cluster6"
251 "label-name" : "${clusterLabel2}"
255 call_api -d "${payload}" "${base_url}/cluster-providers/${cluster_provider_name2}/clusters/${clusterName6}/labels"