b7d791f311a50e77f2c17b33252863deacb35c7e
[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
48 clusterLabel1="clusterLabel1"
49 clusterLabel2="clusterLabel2"
50
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
58
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}"
64
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}"
68
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
72
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}"
77
78 print_msg "Registering cluster_provider_name1"
79 payload="$(cat <<EOF
80 {
81   "metadata": {
82     "name": "${cluster_provider_name1}",
83     "description": "${cluster_provider_desc1}",
84     "userData1": "${userData1}",
85     "userData2": "${userData2}"
86    }
87 }
88 EOF
89 )"
90 call_api -d "${payload}" "${base_url}/cluster-providers"
91
92 print_msg "Registering cluster_provider_name2"
93 payload="$(cat <<EOF
94 {
95   "metadata": {
96     "name": "${cluster_provider_name2}",
97     "description": "${cluster_provider_desc2}",
98     "userData1": "${userData1}",
99     "userData2": "${userData2}"
100    }
101 }
102 EOF
103 )"
104 call_api -d "${payload}" "${base_url}/cluster-providers"
105 # END: Register cluster_provider_name1 and cluster_provider_name2
106
107 # BEGIN : Register cluster1, cluster2, cluster3 and cluster4
108 print_msg "Registering cluster1"
109 payload="$(cat <<EOF
110 {
111   "metadata": {
112     "name": "${clusterName1}",
113     "description": "${cluster_desc1}",
114     "userData1": "${userData1}",
115     "userData2": "${userData2}"
116    }
117 }
118 EOF
119 )"
120 call_api -F "metadata=$payload" \
121          -F "file=@$kubeconfig_path" \
122          "${base_url}/cluster-providers/${cluster_provider_name1}/clusters" >/dev/null #massive output
123
124
125 print_msg "Registering cluster2"
126 payload="$(cat <<EOF
127 {
128   "metadata": {
129     "name": "${clusterName2}",
130     "description": "${cluster_desc2}",
131     "userData1": "${userData1}",
132     "userData2": "${userData2}"
133    }
134 }
135 EOF
136 )"
137 call_api -F "metadata=$payload" \
138          -F "file=@$kubeconfig_path" \
139          "${base_url}/cluster-providers/${cluster_provider_name2}/clusters" >/dev/null #massive output
140
141
142 print_msg "Registering cluster3"
143 payload="$(cat <<EOF
144 {
145   "metadata": {
146     "name": "${clusterName3}",
147     "description": "${cluster_desc3}",
148     "userData1": "${userData1}",
149     "userData2": "${userData2}"
150    }
151 }
152 EOF
153 )"
154 call_api -F "metadata=$payload" \
155          -F "file=@$kubeconfig_path" \
156          "${base_url}/cluster-providers/${cluster_provider_name1}/clusters" >/dev/null #massive output
157
158
159 print_msg "Registering cluster4"
160 payload="$(cat <<EOF
161 {
162   "metadata": {
163     "name": "${clusterName4}",
164     "description": "${cluster_desc4}",
165     "userData1": "${userData1}",
166     "userData2": "${userData2}"
167    }
168 }
169 EOF
170 )"
171 call_api -F "metadata=$payload" \
172          -F "file=@$kubeconfig_path" \
173          "${base_url}/cluster-providers/${cluster_provider_name2}/clusters" >/dev/null #massive output
174
175 # END : Register cluster1, cluster2, cluster3 and cluster4
176
177
178 # BEGIN: adding labels to cluster3 and cluster4
179 print_msg "Adding label to cluster3"
180 payload="$(cat <<EOF
181 {
182   "label-name" : "${clusterLabel1}"
183 }
184 EOF
185 )"
186 call_api -d "${payload}" "${base_url}/cluster-providers/${cluster_provider_name1}/clusters/${clusterName3}/labels"
187
188 print_msg "Adding label to cluster2"
189 payload="$(cat <<EOF
190 {
191   "label-name" : "${clusterLabel2}"
192 }
193 EOF
194 )"
195 call_api -d "${payload}" "${base_url}/cluster-providers/${cluster_provider_name2}/clusters/${clusterName4}/labels"
196