From acef44ba938024de0928bceed122cd03c01f1967 Mon Sep 17 00:00:00 2001 From: armab Date: Fri, 12 Jun 2015 17:54:07 +0300 Subject: [PATCH 1/3] Allow passing many "st2ctl reload" arguments #1619 st2ctl reload --register-sensors st2ctl reload --register-sensors --register-rules st2ctl reload st2ctl reload --verbose --- tools/st2ctl | 41 ++++++++++++++++++++++++----------------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/tools/st2ctl b/tools/st2ctl index 727072d769..7cf63d2232 100755 --- a/tools/st2ctl +++ b/tools/st2ctl @@ -47,12 +47,12 @@ function print_usage() { echo echo "usage: st2ctl {reload, clean}" echo "optional arguments:" - echo " --register-all Register all sensors, rules, and actions." - echo " --register-sensors Register all sensors only." - echo " --register-rules Register all rules only." - echo " --register-actions Register all actions only." - echo " --register-aliases Register all aliases only." - echo " --register-policies Register all policies only." + echo " --register-all Register all." + echo " --register-sensors Register all sensors." + echo " --register-rules Register all rules." + echo " --register-actions Register all actions." + echo " --register-aliases Register all aliases." + echo " --register-policies Register all policies." echo " --verbose Output additional debug and informational messages." } @@ -93,19 +93,26 @@ then fi # Note: Scripts already call reload with "--register-" -# TODO: Update packs. actions to only pass in a resource name excluding # --register prefix if [ ${1} == "reload" -o ${1} == "clean" ]; then + ALLOWED_REGISTER_FLAGS=(--register-all --register-actions --register-aliases --register-policies --register-rules --register-sensors --verbose) + DEFAULT_REGISTER_FLAGS='--register-actions --register-aliases --register-sensors' + + if [ ! -z ${2} ]; then + for arg in ${@:2}; do + if [[ " ${ALLOWED_REGISTER_FLAGS[*]} " != *" $arg "* ]]; then # argument not allowed + echo -e "\e[31mError: Invalid argument provided: ${arg} \e[0m\n" + print_usage + exit 1 + fi + done + fi + if [ -z ${2} ]; then - REGISTER_FLAGS="--register-sensors --register-actions --register-aliases" - elif [ ! -z ${2} ] && [ ${2} == "--register-all" -o ${2} == "--register-sensors" -o ${2} == "--register-rules" -o ${2} == "--register-actions" -o ${2} == "--register-aliases" -o ${2} == "--register-policies" ]; then - REGISTER_FLAGS=${2} - if [ ! -z ${3} ] && [ ${3} == "--verbose" ]; then - REGISTER_FLAGS="${REGISTER_FLAGS} ${3}" - fi - elif [ ${2} == "--verbose" ] && [ -z ${3} ]; then - REGISTER_FLAGS="--register-sensors --register-actions --register-aliases ${2}" - elif [ ${2} == "--verbose" ] && [ ${3} == "--register-all" -o ${3} == "--register-sensors" -o ${3} == "--register-rules" -o ${3} == "--register-actions" -o ${3} == "--register-aliases" -o ${3} == "--register-policies" ]; then - REGISTER_FLAGS="${3} ${2}" + REGISTER_FLAGS=${DEFAULT_REGISTER_FLAGS} + elif [ ${2} == '--verbose' ] && [ -z ${3} ]; then + REGISTER_FLAGS="$DEFAULT_REGISTER_FLAGS ${2}" + elif [ ! -z ${2} ]; then + REGISTER_FLAGS=${@:2} else print_usage exit 1 From ed5c0726fa4eab1668e9ad8ec81e10e0c1f55079 Mon Sep 17 00:00:00 2001 From: armab Date: Fri, 12 Jun 2015 18:08:30 +0300 Subject: [PATCH 2/3] Allows to reload many components for packs.install and packs.reload #1619 # st2 run packs.load register=rules,sensors st2 run packs.install packs=hubot register=aliases,rules # by default registers 'actions,aliases,sensors' st2 run packs.load st2 run packs.install packs=hubot --- contrib/packs/actions/install.meta.yaml | 2 +- contrib/packs/actions/load.yaml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/contrib/packs/actions/install.meta.yaml b/contrib/packs/actions/install.meta.yaml index 1e8029eab0..13ccb06e47 100644 --- a/contrib/packs/actions/install.meta.yaml +++ b/contrib/packs/actions/install.meta.yaml @@ -21,5 +21,5 @@ default: "master" register: type: "string" - default: "actions" + default: "actions,aliases,sensors" description: "Possible options are all, sensors, actions, rules, aliases." diff --git a/contrib/packs/actions/load.yaml b/contrib/packs/actions/load.yaml index 62fd9a6c65..c738437eff 100644 --- a/contrib/packs/actions/load.yaml +++ b/contrib/packs/actions/load.yaml @@ -9,10 +9,10 @@ immutable: true cmd: immutable: true - default: "st2ctl reload --register-{{register}}" + default: "st2ctl reload{% for item in register.split(',') %} --register-{{item}}{% endfor %}" register: type: "string" - default: "actions" + default: "actions,aliases,sensors" description: "Possible options are all, sensors, actions, rules, aliases." kwarg_op: immutable: true From a50a5848c39bf3dccc9b282516920794482857e0 Mon Sep 17 00:00:00 2001 From: armab Date: Fri, 12 Jun 2015 20:24:18 +0300 Subject: [PATCH 3/3] Trim spaces for 'register' argument data #1619 --- contrib/packs/actions/load.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/packs/actions/load.yaml b/contrib/packs/actions/load.yaml index c738437eff..43e3c9b71c 100644 --- a/contrib/packs/actions/load.yaml +++ b/contrib/packs/actions/load.yaml @@ -9,7 +9,7 @@ immutable: true cmd: immutable: true - default: "st2ctl reload{% for item in register.split(',') %} --register-{{item}}{% endfor %}" + default: "st2ctl reload{% for item in register.split(',') %} --register-{{ item|trim }}{% endfor %}" register: type: "string" default: "actions,aliases,sensors"