Script for prometheus as composite app using orchestrator
[multicloud/k8s.git] / kud / tests / prometheus-test.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
18 set -o errexit
19 set -o nounset
20 set -o pipefail
21
22
23 source _common_test.sh
24 source _functions.sh
25 source _common.sh
26
27
28 base_url_clm=${base_url_clm:-"http://192.168.121.29:32551/v2"}
29 base_url_ncm=${base_url_ncm:-"http://192.168.121.29:31406/v2"}
30 base_url_orchestrator=${base_url_orchestrator:-"http://192.168.121.29:30356/v2"}
31 base_url_rysnc=${base_url_orchestrator:-"http://192.168.121.29:31751/v2"}
32 CSAR_DIR="/opt/csar"
33 csar_id="cb009bfe-bbee-11e8-9766-525400435678"
34
35
36 app1_helm_path="$CSAR_DIR/$csar_id/prometheus-operator.tar.gz"
37 app1_profile_path="$CSAR_DIR/$csar_id/prometheus-operator_profile.tar.gz"
38 app2_helm_path="$CSAR_DIR/$csar_id/collectd.tar.gz"
39 app2_profile_path="$CSAR_DIR/$csar_id/collectd_profile.tar.gz"
40 app3_helm_path="$CSAR_DIR/$csar_id/m3db.tar.gz"
41 app3_profile_path="$CSAR_DIR/$csar_id/m3db_profile.tar.gz"
42
43
44 # ---------BEGIN: SET CLM DATA---------------
45
46 clusterprovidername="collection-cluster-provider"
47 clusterproviderdata="$(cat<<EOF
48 {
49   "metadata": {
50     "name": "$clusterprovidername",
51     "description": "description of $clusterprovidername",
52     "userData1": "$clusterprovidername user data 1",
53     "userData2": "$clusterprovidername user data 2"
54   }
55 }
56 EOF
57 )"
58
59 clustername="edge1"
60 clusterdata="$(cat<<EOF
61 {
62   "metadata": {
63     "name": "$clustername",
64     "description": "description of $clustername",
65     "userData1": "$clustername user data 1",
66     "userData2": "$clustername user data 2"
67   }
68 }
69 EOF
70 )"
71
72 kubeconfigedge1="/opt/kud/multi-cluster/edge1/artifacts/admin.conf"
73
74 labelname="LabelA"
75 labeldata="$(cat<<EOF
76 {"label-name": "$labelname"}
77 EOF
78 )"
79
80 clustername2="edge2"
81 clusterdata2="$(cat<<EOF
82 {
83   "metadata": {
84     "name": "$clustername2",
85     "description": "description of $clustername2",
86     "userData1": "$clustername2 user data 1",
87     "userData2": "$clustername2 user data 2"
88   }
89 }
90 EOF
91 )"
92
93 kubeconfigedge2="/opt/kud/multi-cluster/edge2/artifacts/admin.conf"
94
95 labelname2="LabelA"
96 labeldata2="$(cat<<EOF
97 {"label-name": "$labelname2"}
98 EOF
99 )"
100
101 clustername3="cluster1"
102 clusterdata3="$(cat<<EOF
103 {
104   "metadata": {
105     "name": "$clustername3",
106     "description": "description of $clustername3",
107     "userData1": "$clustername3 user data 1",
108     "userData2": "$clustername3 user data 2"
109   }
110 }
111 EOF
112 )"
113
114 kubeconfigcluster1="/opt/kud/multi-cluster/cluster1/artifacts/admin.conf"
115
116 labelname3="LabelForCluster1"
117 labeldata3="$(cat<<EOF
118 {"label-name": "$labelname3"}
119 EOF
120 )"
121
122 #--TODO--Creating provider network and network intents----
123
124 # add the rsync controller entry
125 rsynccontrollername="rsync"
126 rsynccontrollerdata="$(cat<<EOF
127 {
128   "metadata": {
129     "name": "rsync",
130     "description": "description of $rsynccontrollername controller",
131     "userData1": "user data 1 for $rsynccontrollername",
132     "userData2": "user data 2 for $rsynccontrollername"
133   },
134   "spec": {
135     "host": "${rsynccontrollername}",
136     "port": 9041 
137   }
138 }
139 EOF
140 )"
141
142 # ------------END: SET CLM DATA--------------
143
144
145 #-------------BEGIN:SET ORCH DATA------------------
146
147 # define a project
148 projectname="TestProject"
149 projectdata="$(cat<<EOF
150 {
151   "metadata": {
152     "name": "$projectname",
153     "description": "description of $projectname controller",
154     "userData1": "$projectname user data 1",
155     "userData2": "$projectname user data 2"
156   }
157 }
158 EOF
159 )"
160
161 # define a composite application
162 collection_compositeapp_name="CollectionCompositeApp"
163 compositeapp_version="v1"
164 compositeapp_data="$(cat <<EOF
165 {
166   "metadata": {
167     "name": "${collection_compositeapp_name}",
168     "description": "description of ${collection_compositeapp_name}",
169     "userData1": "user data 1 for ${collection_compositeapp_name}",
170     "userData2": "user data 2 for ${collection_compositeapp_name}"
171    },
172    "spec":{
173       "version":"${compositeapp_version}"
174    }
175 }
176 EOF
177 )"
178
179 # add app entries for the prometheus app into
180 # compositeApp
181
182 prometheus_app_name="prometheus-operator"
183 prometheus_helm_chart=${app1_helm_path}
184
185 prometheus_app_data="$(cat <<EOF
186 {
187   "metadata": {
188     "name": "${prometheus_app_name}",
189     "description": "description for app ${prometheus_app_name}",
190     "userData1": "user data 2 for ${prometheus_app_name}",
191     "userData2": "user data 2 for ${prometheus_app_name}"
192    }
193 }
194 EOF
195 )"
196
197 # add app entries for the collectd app into
198 # compositeApp
199
200 collectd_app_name="collectd"
201 collectd_helm_chart=${app2_helm_path}
202
203 collectd_app_data="$(cat <<EOF
204 {
205   "metadata": {
206     "name": "${collectd_app_name}",
207     "description": "description for app ${collectd_app_name}",
208     "userData1": "user data 2 for ${collectd_app_name}",
209     "userData2": "user data 2 for ${collectd_app_name}"
210    }
211 }
212 EOF
213 )"
214
215 # add app entries for the m3db app into
216 # compositeApp
217
218 m3db_app_name="m3db"
219 m3db_helm_chart=${app3_helm_path}
220
221 m3db_app_data="$(cat <<EOF
222 {
223   "metadata": {
224     "name": "${m3db_app_name}",
225     "description": "description for app ${m3db_app_name}",
226     "userData1": "user data 2 for ${m3db_app_name}",
227     "userData2": "user data 2 for ${m3db_app_name}"
228    }
229 }
230 EOF
231 )"
232
233 # Add the composite profile
234 collection_composite_profile_name="collection_composite-profile"
235 collection_composite_profile_data="$(cat <<EOF
236 {
237    "metadata":{
238       "name":"${collection_composite_profile_name}",
239       "description":"description of ${collection_composite_profile_name}",
240       "userData1":"user data 1 for ${collection_composite_profile_name}",
241       "userData2":"user data 2 for ${collection_composite_profile_name}"
242    }
243 }
244 EOF
245 )"
246
247 # Add the prometheus profile data into collection profile data
248 prometheus_profile_name="prometheus-profile"
249 prometheus_profile_file=$app1_profile_path
250 prometheus_profile_data="$(cat <<EOF
251 {
252    "metadata":{
253       "name":"${prometheus_profile_name}",
254       "description":"description of ${prometheus_profile_name}",
255       "userData1":"user data 1 for ${prometheus_profile_name}",
256       "userData2":"user data 2 for ${prometheus_profile_name}"
257    },
258    "spec":{
259       "app-name":  "${prometheus_app_name}"
260    }
261 }
262 EOF
263 )"
264
265 # Add the collectd profile data into collection profile data
266 collectd_profile_name="collectd-profile"
267 collectd_profile_file=$app2_profile_path
268 collectd_profile_data="$(cat <<EOF
269 {
270    "metadata":{
271       "name":"${collectd_profile_name}",
272       "description":"description of ${collectd_profile_name}",
273       "userData1":"user data 1 for ${collectd_profile_name}",
274       "userData2":"user data 2 for ${collectd_profile_name}"
275    },
276    "spec":{
277       "app-name":  "${collectd_app_name}"
278    }
279 }
280 EOF
281 )"
282
283 # Add the m3db profile data into collection profile data
284 m3db_profile_name="m3db-profile"
285 m3db_profile_file=$app3_profile_path
286 m3db_profile_data="$(cat <<EOF
287 {
288    "metadata":{
289       "name":"${m3db_profile_name}",
290       "description":"description of ${m3db_profile_name}",
291       "userData1":"user data 1 for ${m3db_profile_name}",
292       "userData2":"user data 2 for ${m3db_profile_name}"
293    },
294    "spec":{
295       "app-name":  "${m3db_app_name}"
296    }
297 }
298 EOF
299 )"
300
301 # define the generic placement intent
302 generic_placement_intent_name="generic-placement-intent"
303 generic_placement_intent_data="$(cat <<EOF
304 {
305    "metadata":{
306       "name":"${generic_placement_intent_name}",
307       "description":"${generic_placement_intent_name}",
308       "userData1":"${generic_placement_intent_name}",
309       "userData2":"${generic_placement_intent_name}"
310    },
311    "spec":{
312       "logical-cloud":"unused_logical_cloud"
313    }
314 }
315 EOF
316 )"
317
318 # define app placement intent for prometheus
319 prometheus_placement_intent_name="prometheus-placement-intent"
320 prometheus_placement_intent_data="$(cat <<EOF
321 {
322    "metadata":{
323       "name":"${prometheus_placement_intent_name}",
324       "description":"description of ${prometheus_placement_intent_name}",
325       "userData1":"user data 1 for ${prometheus_placement_intent_name}",
326       "userData2":"user data 2 for ${prometheus_placement_intent_name}"
327    },
328    "spec":{
329       "app-name":"${prometheus_app_name}",
330       "intent":{
331          "allOf":[
332             {  "provider-name":"${clusterprovidername}",
333                "cluster-label-name":"${labelname}"
334             }
335          ]
336       }
337    }
338 }
339 EOF
340 )"
341
342 # define app placement intent for collectd
343 collectd_placement_intent_name="collectd-placement-intent"
344 collectd_placement_intent_data="$(cat <<EOF
345 {
346    "metadata":{
347       "name":"${collectd_placement_intent_name}",
348       "description":"description of ${collectd_placement_intent_name}",
349       "userData1":"user data 1 for ${collectd_placement_intent_name}",
350       "userData2":"user data 2 for ${collectd_placement_intent_name}"
351    },
352    "spec":{
353       "app-name":"${collectd_app_name}",
354       "intent":{
355          "allOf":[
356             {  "provider-name":"${clusterprovidername}",
357                "cluster-label-name":"${labelname}"
358             }
359          ]
360       }
361    }
362 }
363 EOF
364 )"
365
366 # define app placement intent for m3db
367 m3db_placement_intent_name="m3db-placement-intent"
368 m3db_placement_intent_data="$(cat <<EOF
369 {
370    "metadata":{
371       "name":"${m3db_placement_intent_name}",
372       "description":"description of ${m3db_placement_intent_name}",
373       "userData1":"user data 1 for ${m3db_placement_intent_name}",
374       "userData2":"user data 2 for ${m3db_placement_intent_name}"
375    },
376    "spec":{
377       "app-name":"${m3db_app_name}",
378       "intent":{
379          "allOf":[
380             {  "provider-name":"${clusterprovidername}",
381                "cluster-label-name":"${labelname3}"
382             }
383          ]
384       }
385    }
386 }
387 EOF
388 )"
389
390 # define a deployment intent group
391 release="collection"
392 deployment_intent_group_name="collection_deployment_intent_group"
393 deployment_intent_group_data="$(cat <<EOF
394 {
395    "metadata":{
396       "name":"${deployment_intent_group_name}",
397       "description":"descriptiont of ${deployment_intent_group_name}",
398       "userData1":"user data 1 for ${deployment_intent_group_name}",
399       "userData2":"user data 2 for ${deployment_intent_group_name}"
400    },
401    "spec":{
402       "profile":"${collection_composite_profile_name}",
403       "version":"${release}",
404       "override-values":[]
405    }
406 }
407 EOF
408 )"
409
410 # define the intents to be used by the group
411 deployment_intents_in_group_name="collection_deploy_intents"
412 deployment_intents_in_group_data="$(cat <<EOF
413 {
414    "metadata":{
415       "name":"${deployment_intents_in_group_name}",
416       "description":"descriptionf of ${deployment_intents_in_group_name}",
417       "userData1":"user data 1 for ${deployment_intents_in_group_name}",
418       "userData2":"user data 2 for ${deployment_intents_in_group_name}"
419    },
420    "spec":{
421       "intent":{
422          "genericPlacementIntent":"${generic_placement_intent_name}"
423       }
424    }
425 }
426 EOF
427 )"
428
429
430 #---------END: SET ORCH DATA--------------------
431
432
433 function createOrchestratorData {
434
435     print_msg "creating controller entries"
436     call_api -d "${rsynccontrollerdata}" "${base_url_orchestrator}/controllers"
437     print_msg "creating project entry"
438     call_api -d "${projectdata}" "${base_url_orchestrator}/projects"
439
440     print_msg "creating collection composite app entry"
441     call_api -d "${compositeapp_data}" "${base_url_orchestrator}/projects/${projectname}/composite-apps"
442
443     print_msg "adding prometheus app to the composite app"
444     call_api -F "metadata=${prometheus_app_data}" \
445              -F "file=@${prometheus_helm_chart}" \
446              "${base_url_orchestrator}/projects/${projectname}/composite-apps/${collection_compositeapp_name}/${compositeapp_version}/apps"
447
448     print_msg "adding collectd app to the composite app"
449     call_api -F "metadata=${collectd_app_data}" \
450              -F "file=@${collectd_helm_chart}" \
451              "${base_url_orchestrator}/projects/${projectname}/composite-apps/${collection_compositeapp_name}/${compositeapp_version}/apps"
452
453
454     print_msg "adding m3db app to the composite app"
455     call_api -F "metadata=${m3db_app_data}" \
456              -F "file=@${m3db_helm_chart}" \
457              "${base_url_orchestrator}/projects/${projectname}/composite-apps/${collection_compositeapp_name}/${compositeapp_version}/apps"
458
459     print_msg "creating collection composite profile entry"
460     call_api -d "${collection_composite_profile_data}" "${base_url_orchestrator}/projects/${projectname}/composite-apps/${collection_compositeapp_name}/${compositeapp_version}/composite-profiles"
461
462     print_msg "adding prometheus app profiles to the composite profile"
463     call_api -F "metadata=${prometheus_profile_data}" \
464              -F "file=@${prometheus_profile_file}" \
465              "${base_url_orchestrator}/projects/${projectname}/composite-apps/${collection_compositeapp_name}/${compositeapp_version}/composite-profiles/${collection_composite_profile_name}/profiles"
466
467     print_msg "adding collectd app profiles to the composite profile"
468     call_api -F "metadata=${collectd_profile_data}" \
469              -F "file=@${collectd_profile_file}" \
470              "${base_url_orchestrator}/projects/${projectname}/composite-apps/${collection_compositeapp_name}/${compositeapp_version}/composite-profiles/${collection_composite_profile_name}/profiles"
471
472     print_msg "adding m3db app profiles to the composite profile"
473     call_api -F "metadata=${m3db_profile_data}" \
474              -F "file=@${m3db_profile_file}" \
475              "${base_url_orchestrator}/projects/${projectname}/composite-apps/${collection_compositeapp_name}/${compositeapp_version}/composite-profiles/${collection_composite_profile_name}/profiles"
476
477     print_msg "create the generic placement intent"
478     call_api -d "${generic_placement_intent_data}" \
479              "${base_url_orchestrator}/projects/${projectname}/composite-apps/${collection_compositeapp_name}/${compositeapp_version}/generic-placement-intents"
480
481     print_msg "add the prometheus app placement intent to the generic placement intent"
482     call_api -d "${prometheus_placement_intent_data}" \
483              "${base_url_orchestrator}/projects/${projectname}/composite-apps/${collection_compositeapp_name}/${compositeapp_version}/generic-placement-intents/${generic_placement_intent_name}/app-intents"
484
485     print_msg "add the collectd app placement intent to the generic placement intent"
486     call_api -d "${collectd_placement_intent_data}" \
487              "${base_url_orchestrator}/projects/${projectname}/composite-apps/${collection_compositeapp_name}/${compositeapp_version}/generic-placement-intents/${generic_placement_intent_name}/app-intents"
488
489     print_msg "add the collectd app placement intent to the generic placement intent"
490     call_api -d "${m3db_placement_intent_data}" \
491              "${base_url_orchestrator}/projects/${projectname}/composite-apps/${collection_compositeapp_name}/${compositeapp_version}/generic-placement-intents/${generic_placement_intent_name}/app-intents"
492
493
494     print_msg "create the deployment intent group"
495     call_api -d "${deployment_intent_group_data}" \
496              "${base_url_orchestrator}/projects/${projectname}/composite-apps/${collection_compositeapp_name}/${compositeapp_version}/deployment-intent-groups"
497     call_api -d "${deployment_intents_in_group_data}" \
498              "${base_url_orchestrator}/projects/${projectname}/composite-apps/${collection_compositeapp_name}/${compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/intents"
499
500 }
501
502 function deleteOrchestratorData {
503    # TODO- delete rsync controller and any other controller
504     delete_resource "${base_url_orchestrator}/controllers/${rsynccontrollername}"
505
506     delete_resource "${base_url_orchestrator}/projects/${projectname}/composite-apps/${collection_compositeapp_name}/${compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/intents/${deployment_intents_in_group_name}"
507     delete_resource "${base_url_orchestrator}/projects/${projectname}/composite-apps/${collection_compositeapp_name}/${compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}"
508     delete_resource "${base_url_orchestrator}/projects/${projectname}/composite-apps/${collection_compositeapp_name}/${compositeapp_version}/generic-placement-intents/${generic_placement_intent_name}/app-intents/${prometheus_placement_intent_name}"
509     delete_resource "${base_url_orchestrator}/projects/${projectname}/composite-apps/${collection_compositeapp_name}/${compositeapp_version}/generic-placement-intents/${generic_placement_intent_name}/app-intents/${collectd_placement_intent_name}"
510
511     delete_resource "${base_url_orchestrator}/projects/${projectname}/composite-apps/${collection_compositeapp_name}/${compositeapp_version}/generic-placement-intents/${generic_placement_intent_name}/app-intents/${m3db_placement_intent_name}"
512
513     delete_resource "${base_url_orchestrator}/projects/${projectname}/composite-apps/${collection_compositeapp_name}/${compositeapp_version}/generic-placement-intents/${generic_placement_intent_name}"
514
515     delete_resource "${base_url_orchestrator}/projects/${projectname}/composite-apps/${collection_compositeapp_name}/${compositeapp_version}/composite-profiles/${collection_composite_profile_name}/profiles/${prometheus_profile_name}"
516     delete_resource "${base_url_orchestrator}/projects/${projectname}/composite-apps/${collection_compositeapp_name}/${compositeapp_version}/composite-profiles/${collection_composite_profile_name}/profiles/${collectd_profile_name}"
517
518     delete_resource "${base_url_orchestrator}/projects/${projectname}/composite-apps/${collection_compositeapp_name}/${compositeapp_version}/composite-profiles/${collection_composite_profile_name}/profiles/${m3db_profile_name}"
519
520     delete_resource "${base_url_orchestrator}/projects/${projectname}/composite-apps/${collection_compositeapp_name}/${compositeapp_version}/composite-profiles/${collection_composite_profile_name}"
521
522     delete_resource "${base_url_orchestrator}/projects/${projectname}/composite-apps/${collection_compositeapp_name}/${compositeapp_version}/apps/${prometheus_app_name}"
523
524     delete_resource "${base_url_orchestrator}/projects/${projectname}/composite-apps/${collection_compositeapp_name}/${compositeapp_version}/apps/${collectd_app_name}"
525
526     delete_resource "${base_url_orchestrator}/projects/${projectname}/composite-apps/${collection_compositeapp_name}/${compositeapp_version}/apps/${m3db_app_name}"
527
528     delete_resource "${base_url_orchestrator}/projects/${projectname}/composite-apps/${collection_compositeapp_name}/${compositeapp_version}"
529     delete_resource "${base_url_orchestrator}/projects/${projectname}"
530 }
531
532
533 function createClmData {
534     print_msg "Creating cluster provider and cluster"
535     call_api -d "${clusterproviderdata}" "${base_url_clm}/cluster-providers"
536
537     call_api -H "Content-Type: multipart/form-data" -F "metadata=$clusterdata" -F "file=@$kubeconfigedge1" "${base_url_clm}/cluster-providers/${clusterprovidername}/clusters"
538
539     call_api -H "Content-Type: multipart/form-data" -F "metadata=$clusterdata2" -F "file=@$kubeconfigedge2" "${base_url_clm}/cluster-providers/${clusterprovidername}/clusters"
540
541     call_api -H "Content-Type: multipart/form-data" -F "metadata=$clusterdata3" -F "file=@$kubeconfigcluster1" "${base_url_clm}/cluster-providers/${clusterprovidername}/clusters"
542
543     call_api -d "${labeldata}" "${base_url_clm}/cluster-providers/${clusterprovidername}/clusters/${clustername}/labels"
544
545     call_api -d "${labeldata2}" "${base_url_clm}/cluster-providers/${clusterprovidername}/clusters/${clustername2}/labels"
546
547     call_api -d "${labeldata3}" "${base_url_clm}/cluster-providers/${clusterprovidername}/clusters/${clustername3}/labels"
548 }
549
550 function deleteClmData {
551
552     delete_resource "${base_url_clm}/cluster-providers/${clusterprovidername}/clusters/${clustername}/labels/${labelname}"
553     delete_resource "${base_url_clm}/cluster-providers/${clusterprovidername}/clusters/${clustername2}/labels/${labelname2}"
554     delete_resource "${base_url_clm}/cluster-providers/${clusterprovidername}/clusters/${clustername3}/labels/${labelname3}"
555
556     delete_resource "${base_url_clm}/cluster-providers/${clusterprovidername}/clusters/${clustername}"
557     delete_resource "${base_url_clm}/cluster-providers/${clusterprovidername}/clusters/${clustername2}"
558     delete_resource "${base_url_clm}/cluster-providers/${clusterprovidername}/clusters/${clustername3}"
559
560     delete_resource "${base_url_clm}/cluster-providers/${clusterprovidername}"
561 }
562
563 function createData {
564     createClmData
565     createOrchestratorData
566 }
567 function deleteData {
568     deleteClmData
569     deleteOrchestratorData
570 }
571 # function ApplyNcmData {
572 #    call_api -d "{ }" "${base_url_ncm}/cluster-providers/${clusterprovidername}/clusters/${clustername}/apply"
573 #     call_api -d "{ }" "${base_url_ncm}/cluster-providers/${clusterprovidername}/clusters/${clustername2}/apply"
574 # }
575
576 # function terminateNcmData {
577 #     call_api -d "{ }" "${base_url_ncm}/cluster-providers/${clusterprovidername}/clusters/${clustername}/terminate"
578 #     call_api -d "{ }" "${base_url_ncm}/cluster-providers/${clusterprovidername}/clusters/${clustername2}/terminate"
579 # }
580
581 function instantiate {
582     # call_api -d "{ }" "${base_url_orchestrator}/projects/${projectname}/composite-apps/${vfw_compositeapp_name}/${vfw_compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/approve"
583     call_api -d "{ }" "${base_url_orchestrator}/projects/${projectname}/composite-apps/${collection_compositeapp_name}/${compositeapp_version}/deployment-intent-groups/${deployment_intent_group_name}/instantiate"
584 }
585
586 # Setup
587 install_deps
588 populate_CSAR_composite_app_helm "$csar_id"
589
590 deleteData
591 createData
592 instantiate
593