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"
48 clusterLabel1="clusterLabel1"
49 clusterLabel2="clusterLabel2"
51 # BEGIN :: Delete statements are issued so that we clean up the 'cluster' collection
52 # and freshly populate the documents, also it serves as a direct test
53 # for all our DELETE APIs and an indirect test for all GET APIs
54 print_msg "Deleting the clusterLabel1 and clusterLabel2, if they were existing"
55 delete_resource "${base_url}/cluster-providers/${cluster_provider_name1}/clusters/${clusterName3}/labels/${clusterLabel1}"
56 delete_resource "${base_url}/cluster-providers/${cluster_provider_name2}/clusters/${clusterName4}/labels/${clusterLabel2}"
57 # Above statements delete the clusterLabel1 and clusterLabel2 which are linked to cluster3 and cluster4
59 print_msg "Deleting the cluster1, cluster2, cluster3, cluster4 if they were existing"
60 delete_resource "${base_url}/cluster-providers/${cluster_provider_name1}/clusters/${clusterName1}"
61 delete_resource "${base_url}/cluster-providers/${cluster_provider_name2}/clusters/${clusterName2}"
62 delete_resource "${base_url}/cluster-providers/${cluster_provider_name1}/clusters/${clusterName3}"
63 delete_resource "${base_url}/cluster-providers/${cluster_provider_name2}/clusters/${clusterName4}"
65 print_msg "Deleting the cluster-providers, if they were existing"
66 delete_resource "${base_url}/cluster-providers/${cluster_provider_name1}"
67 delete_resource "${base_url}/cluster-providers/${cluster_provider_name2}"
69 # END :: Delete statements are issued so that we clean up the 'cluster' collection
70 # and freshly populate the documents, also it serves as a direct test
71 # for all our DELETE APIs and an indirect test for all GET APIs
73 # BEGIN: Register cluster_provider_name1 and cluster_provider_name2
74 print_msg "Deleting the cluster-providers, if they were existing"
75 delete_resource "${base_url}/cluster-providers/${cluster_provider_name1}"
76 delete_resource "${base_url}/cluster-providers/${cluster_provider_name2}"
78 print_msg "Registering cluster_provider_name1"
82 "name": "${cluster_provider_name1}",
83 "description": "${cluster_provider_desc1}",
84 "userData1": "${userData1}",
85 "userData2": "${userData2}"
90 call_api -d "${payload}" "${base_url}/cluster-providers"
92 print_msg "Registering cluster_provider_name2"
96 "name": "${cluster_provider_name2}",
97 "description": "${cluster_provider_desc2}",
98 "userData1": "${userData1}",
99 "userData2": "${userData2}"
104 call_api -d "${payload}" "${base_url}/cluster-providers"
105 # END: Register cluster_provider_name1 and cluster_provider_name2
107 # BEGIN : Register cluster1, cluster2, cluster3 and cluster4
108 print_msg "Registering cluster1"
112 "name": "${clusterName1}",
113 "description": "${cluster_desc1}",
114 "userData1": "${userData1}",
115 "userData2": "${userData2}"
120 call_api -F "metadata=$payload" \
121 -F "file=@$kubeconfig_path" \
122 "${base_url}/cluster-providers/${cluster_provider_name1}/clusters" >/dev/null #massive output
125 print_msg "Registering cluster2"
129 "name": "${clusterName2}",
130 "description": "${cluster_desc2}",
131 "userData1": "${userData1}",
132 "userData2": "${userData2}"
137 call_api -F "metadata=$payload" \
138 -F "file=@$kubeconfig_path" \
139 "${base_url}/cluster-providers/${cluster_provider_name2}/clusters" >/dev/null #massive output
142 print_msg "Registering cluster3"
146 "name": "${clusterName3}",
147 "description": "${cluster_desc3}",
148 "userData1": "${userData1}",
149 "userData2": "${userData2}"
154 call_api -F "metadata=$payload" \
155 -F "file=@$kubeconfig_path" \
156 "${base_url}/cluster-providers/${cluster_provider_name1}/clusters" >/dev/null #massive output
159 print_msg "Registering cluster4"
163 "name": "${clusterName4}",
164 "description": "${cluster_desc4}",
165 "userData1": "${userData1}",
166 "userData2": "${userData2}"
171 call_api -F "metadata=$payload" \
172 -F "file=@$kubeconfig_path" \
173 "${base_url}/cluster-providers/${cluster_provider_name2}/clusters" >/dev/null #massive output
175 # END : Register cluster1, cluster2, cluster3 and cluster4
178 # BEGIN: adding labels to cluster3 and cluster4
179 print_msg "Adding label to cluster3"
182 "label-name" : "${clusterLabel1}"
186 call_api -d "${payload}" "${base_url}/cluster-providers/${cluster_provider_name1}/clusters/${clusterName3}/labels"
188 print_msg "Adding label to cluster2"
191 "label-name" : "${clusterLabel2}"
195 call_api -d "${payload}" "${base_url}/cluster-providers/${cluster_provider_name2}/clusters/${clusterName4}/labels"