blob: 8d51f5be75ad7a3bb646a62d1c1ffc12bc59e9b8 [file] [log] [blame]
#!/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.
set -e
BLUEPRINTS_DIR=${BLUEPRINTS_DIR:-blueprints}
DEPLOYMENT_ID_PREFIX=${DEPLOYMENT_ID_PREFIX:-"samsung"}
declare -a rapp_blueprint_files=(
${BLUEPRINTS_DIR}/k8s-datacollector.yaml
${BLUEPRINTS_DIR}/k8s-sleepingcelldetector.yaml
)
# Define deployment id names for rapps
declare -a rapp_deployment_ids=(
rapp-datacollector
rapp-sleepingcelldetector
)
exec_over_rapps() {
local action_func=$1
local rapp_filter=$2
for i in "${!rapp_blueprint_files[@]}"
do
if [[ "${DEPLOYMENT_ID_PREFIX}_${rapp_deployment_ids[$i]}" == *"$rapp_filter"* ]]; then
$action_func ${rapp_blueprint_files[$i]} ${rapp_deployment_ids[$i]}
fi
done
}
operation=$1
case "$operation" in
-h|--help|help|?|"")
echo "Script usage:"
echo "$0 deploy - Deploy rapp(s)"
echo "$0 undeploy - Undeploy rapp(s)"
echo "$0 redeploy - Redeploy rapp(s)"
echo "$0 list - List rapps properties"
echo
echo "BLUEPRINTS_DIR and DEPLOYMENT_ID_PREFIX variables can be exported to override default value."
echo "BLUEPRINTS_DIR default value is 'blueprints'."
echo "DEPLOYMENT_ID_PREFIX is a string prefixed to given deployment_id in the deploy operation."
echo "In other operations prefixed form is used. DEPLOYMENT_ID_PREFIX default value is 'samsung'."
;;
deploy)
rapp_filter=$2
# Create inputs. Currently the only input to be provided is database password and that is only
# applicable for datacollector r-app at the moment;
if [[ -z ${DATABASE_PASSWORD:-} ]]; then
echo "DATABASE_PASSWORD value is missing!"
echo "Run: "
echo "\"kubectl get secret \`kubectl get secrets | grep mariadb-galera-db-root-password | awk '{print \$1}'\` -o jsonpath="{.data.password}" | base64 --decode\" in the ONAP k8s"
echo "and after that export DATABASE_PASSWORD=\${command_out}"
exit 1
fi
deployment_inputs="database_password=${DATABASE_PASSWORD}"
do_deploy() {
local blueprint_file=$1
local deployment_id=$2
if [[ "${deployment_id}" != "rapp-datacollector" ]]; then
deployment_inputs=""
fi
./dcae.sh deploy "${blueprint_file}" "${deployment_id}" "${DEPLOYMENT_ID_PREFIX}" "${deployment_inputs}"
}
exec_over_rapps do_deploy ${rapp_filter}
./dcae.sh list
;;
undeploy)
rapp_filter=$2
do_undeploy() {
local blueprint_file=$1
local deployment_id=$2
./dcae.sh undeploy ${DEPLOYMENT_ID_PREFIX}_${deployment_id}
./dcae.sh delete $(basename ${blueprint_file} | cut -d'.' -f1)
}
exec_over_rapps do_undeploy ${rapp_filter}
./dcae.sh list
;;
redeploy)
rapp_filter=$2
deployment_inputs_key_value=$3
do_redeploy() {
local blueprint_file=$1
local deployment_id=$2
./dcae.sh redeploy "${blueprint_file}" "${DEPLOYMENT_ID_PREFIX}_${deployment_id}" "${deployment_inputs_key_value}"
}
exec_over_rapps do_redeploy ${rapp_filter}
./dcae.sh list
;;
get_deployment_input)
property=$2
rapp_filter=$3
do_input() {
local blueprint_file=$1
local deployment_id=$2
local full_id=${DEPLOYMENT_ID_PREFIX}_${deployment_id}
echo "${full_id}" "$(./dcae.sh get_deployment_input ${full_id} ${property})"
}
exec_over_rapps do_input ${rapp_filter}
;;
*)
echo "Wrong usage, check '$0 -h'" >&2
exit 1
;;
esac