aboutsummaryrefslogtreecommitdiffstats
path: root/deploy/deploy_parameter.sh
diff options
context:
space:
mode:
Diffstat (limited to 'deploy/deploy_parameter.sh')
-rwxr-xr-xdeploy/deploy_parameter.sh91
1 files changed, 91 insertions, 0 deletions
diff --git a/deploy/deploy_parameter.sh b/deploy/deploy_parameter.sh
new file mode 100755
index 00000000..4cceb1ad
--- /dev/null
+++ b/deploy/deploy_parameter.sh
@@ -0,0 +1,91 @@
+set -x
+function get_option_name_list()
+{
+ echo $(echo "$1" | xargs -n 1 grep -oP "export .*?=" | \
+ awk '{print $2}' | sort | uniq | sed -e 's/=$//g')
+}
+function get_option_flag_list()
+{
+ echo $(echo "$1" | tr [:upper:] [:lower:] | \
+ xargs | sed -e 's/ /:,/g' -e 's/_/-/g')
+}
+
+function get_conf_name()
+{
+ cfg_file=`ls $COMPASS_DIR/deploy/conf/*.conf`
+ option_name=`get_option_name_list "$cfg_file"`
+ option_flag=`get_option_flag_list "$option_name"`
+
+ TEMP=`getopt -o h -l $option_flag -n 'deploy_parameter.sh' -- "$@"`
+
+ if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi
+ eval set -- "$TEMP"
+ while :; do
+ if [[ "$1" == "--" ]]; then
+ shift
+ break
+ fi
+ shift
+ done
+
+ if [[ $# -eq 0 ]]; then
+ echo "virtual_cluster"
+ elif [[ "$1" == "five" ]];then
+ echo "virtual_five"
+ else
+ echo $1
+ fi
+}
+
+function generate_input_env_file()
+{
+ ofile="$WORK_DIR/script/deploy_input.sh"
+
+ echo '#input deployment parameter' > $ofile
+
+ cfg_file=`ls $COMPASS_DIR/deploy/conf/{base,"$TYPE"_"$FLAVOR",$TYPE,$FLAVOR}.conf 2>/dev/null`
+ option_name=`get_option_name_list "$cfg_file"`
+ option_flag=`get_option_flag_list "$option_name"`
+
+ TEMP=`getopt -o h -l conf-name:,$option_flag -n 'deploy_parameter.sh' -- "$@"`
+
+ if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi
+ eval set -- "$TEMP"
+ while :; do
+ if [[ "$1" == "--" ]]; then
+ shift
+ break
+ fi
+
+ option=`echo ${1##-?} | tr [:lower:] [:upper:] | sed 's/-/_/g'`
+ echo "$option_name" | grep -w $option > /dev/null
+ if [[ $? -eq 0 ]]; then
+ echo "export $option=$2" >> $ofile
+ shift 2
+ continue
+ fi
+
+ echo "Internal error!"
+ exit 1
+ done
+
+ echo $ofile
+}
+
+function process_default_para()
+{
+ python ${COMPASS_DIR}/deploy/config_parse.py \
+ "${COMPASS_DIR}/deploy/conf/`get_conf_name $*`" \
+ "${COMPASS_DIR}/deploy/template" \
+ "${WORK_DIR}/script" \
+ "deploy_config.sh"
+
+ echo ${WORK_DIR}/script/deploy_config.sh
+}
+
+function process_input_para()
+{
+ input_file=`generate_input_env_file $config_file $*`
+
+ echo $input_file
+}