aboutsummaryrefslogtreecommitdiffstats
path: root/operations/dcae/dcae.sh
diff options
context:
space:
mode:
Diffstat (limited to 'operations/dcae/dcae.sh')
-rw-r--r--operations/dcae/dcae.sh127
1 files changed, 127 insertions, 0 deletions
diff --git a/operations/dcae/dcae.sh b/operations/dcae/dcae.sh
new file mode 100644
index 0000000..31bb334
--- /dev/null
+++ b/operations/dcae/dcae.sh
@@ -0,0 +1,127 @@
+#!/bin/bash
+# Copyright (C) 2019 by Samsung Electronics Co., Ltd.
+#
+# This software is the confidential and proprietary information of Samsung Electronics co., Ltd.
+# ("Confidential Information"). You shall not disclose such Confidential Information and shall use
+# it only in accordance with the terms of the license agreement you entered into with Samsung.
+
+#
+# Onboard R-APP blueprint and deploy R-APP as DCAE Microservice.
+#
+set -e
+
+NODE_IP=${NODE_IP:-$(../scripts/k8s_get_node_ip.sh)}
+DCAE_DASHBOARD_NODEPORT=${DCAE_DASHBOARD_NODEPORT:-30418}
+BASE_URL=https://${NODE_IP}:${DCAE_DASHBOARD_NODEPORT}
+
+dcae_cli(){
+ local parameters=("$@")
+ python -u dcae-cli.py --base_url ${BASE_URL} --operation "${parameters[@]}"
+}
+
+create_blueprint() {
+ local blueprint_file_path=$1
+ dcae_cli create_blueprint --blueprint_file ${blueprint_file_path}
+}
+
+delete_blueprint() {
+ local blueprint_name=$1
+ local blueprint_id=$(dcae_cli get_blueprint --blueprint_name ${blueprint_name} | grep typeId | cut -d '"' -f 4)
+ if [[ "$blueprint_id" != "" ]]; then
+ dcae_cli delete_blueprint --blueprint_id ${blueprint_id}
+ else
+ echo "Given blueprint '$blueprint_name' does not exist!"
+ fi
+}
+
+create_deployment() {
+ local blueprint_id=$1
+ local deployment_id=$2
+ local deployment_id_prefix=$3
+ local deployment_inputs_key_value=$4
+ local deployment_inputs=""
+ if [[ "$deployment_inputs_key_value" != "" ]]; then
+ deployment_inputs="--deployment_inputs_key_value ${deployment_inputs_key_value}"
+ fi
+ dcae_cli create_deployment --blueprint_id ${blueprint_id} --deployment_id ${deployment_id} --deployment_id_prefix ${deployment_id_prefix} ${deployment_inputs}
+}
+
+deploy() {
+ local blueprint_file_path=$1
+ local deployment_id=$2
+ local deployment_id_prefix=$3
+ local deployment_inputs_key_value=$4
+ out=$(create_blueprint ${blueprint_file_path})
+ echo "$out"
+ blueprint_id=$(echo "$out" | grep typeId | cut -d ' ' -f 2)
+ create_deployment ${blueprint_id} ${deployment_id} ${deployment_id_prefix} ${deployment_inputs_key_value}
+}
+
+undeploy() {
+ local deployment_id=$1
+ dcae_cli delete_deployment --deployment_id ${deployment_id}
+}
+
+operation=$1
+case "$operation" in
+ -h|--help|help|?|"")
+ echo "Script usage:"
+ echo "$0 deploy - Deploy Blueprint"
+ echo "$0 undeploy - Undeploy deployment instantiated from blueprint"
+ echo "$0 redeploy - Redeploy deployment"
+ echo "$0 delete - Delete blueprint"
+ echo "$0 list - List blueprints and deployments"
+ echo "$0 list_blueprints - List blueprints"
+ echo "$0 list_deployments - List deployments"
+ echo "$0 get_deployment_inputs - List all deployment input parameters given to a deployment"
+ echo "$0 get_deployment_input - List only single deployment input value with given key."
+ ;;
+ deploy)
+ blueprint_file_path=$2
+ deployment_id=$3
+ deployment_id_prefix=$4
+ deployment_inputs_key_value=$5
+ deploy ${blueprint_file_path} ${deployment_id} ${deployment_id_prefix} ${deployment_inputs_key_value}
+ ;;
+ undeploy)
+ undeploy $2
+ ;;
+ redeploy)
+ blueprint_file_path=$2
+ deployment_id=$3
+ deployment_inputs_key_value=$4
+ undeploy ${deployment_id}
+ # Note that deployment_id in creation does not have yet the prefix
+ # Split full deployment id in format "myprefix_mydeploymentid" to prefix and id part
+ deployment_id_prefix="${deployment_id%%_*}"
+ deployment_id_for_create="${deployment_id#*_}"
+ deploy ${blueprint_file_path} ${deployment_id_for_create} ${deployment_id_prefix} ${deployment_inputs_key_value}
+ ;;
+ delete)
+ blueprint_name=$2
+ delete_blueprint ${blueprint_name}
+ ;;
+ list)
+ dcae_cli list_blueprints
+ dcae_cli list_deployments
+ ;;
+ list_blueprints)
+ dcae_cli list_blueprints
+ ;;
+ list_deployments)
+ dcae_cli list_deployments
+ ;;
+ get_deployment_inputs)
+ deployment_id=$2
+ dcae_cli get_deployment_inputs --deployment_id ${deployment_id}
+ ;;
+ get_deployment_input)
+ deployment_id=$2
+ input_key=$3
+ dcae_cli get_deployment_input --deployment_id ${deployment_id} --deployment_input_key ${input_key} | tail -1
+ ;;
+ *)
+ echo "Wrong usage, check '$0 -h'" >&2
+ exit 1
+ ;;
+esac