From 094baea9f3ad365aab6e4532b19daec9d281eb75 Mon Sep 17 00:00:00 2001 From: Prasanna Kumar Kalever Date: Mon, 19 Feb 2018 17:24:46 +0530 Subject: script: remote code decide b/w run|skip the cmd Change-Id: Ia20b69a9ec5c18ee2165f4c3e0e4ee244c68a3e9 Signed-off-by: Prasanna Kumar Kalever --- extras/replace-node.sh | 146 +++++++++++++++++++++++++++++-------------------- 1 file changed, 86 insertions(+), 60 deletions(-) (limited to 'extras/replace-node.sh') diff --git a/extras/replace-node.sh b/extras/replace-node.sh index d9f3a74..945893d 100755 --- a/extras/replace-node.sh +++ b/extras/replace-node.sh @@ -32,32 +32,32 @@ function schedule_terminate () { function getAvailableFd() { - for i in {1..65536}; do - if [ ! -e /proc/$$/fd/${i} ]; then - echo ${i}; - return 0; - fi - done - - return 1; + for i in {1..65536}; do + if [ ! -e /proc/$$/fd/${i} ]; then + echo ${i}; + return 0; + fi + done + + return 1; } function fdOpen() { - local fd=${1} - local path=${2} + local fd=${1} + local path=${2} - # open in read mode - eval "exec ${fd}<${path}" + # open in read mode + eval "exec ${fd}<${path}" } function fdClose() { - local fd=${1} + local fd=${1} - eval "exec ${fd}>&-" + eval "exec ${fd}>&-" } @@ -142,12 +142,13 @@ function runCreate() { local gbid=${metadata["GBID"]} local hosts=( $(getValidHosts "$(declare -p metadata)") ) + local subcmd1="\$(targetcli /backstores/user:glfs ls | grep ' ${block_name} ' -c)" + + local subcmd2="targetcli set global auto_add_default_portal=false auto_enable_tpgt=false loglevel_file=info logfile=${LOGFILE}\n + targetcli /backstores/user:glfs create ${block_name} ${metadata["SIZE"]} ${metadata["VOLUME"]}@${new_node}/block-store/${gbid} ${gbid}\n + targetcli /backstores/user:glfs/${block_name} set attribute cmd_time_out=0\n + targetcli /iscsi create ${iqn_prefix}:${gbid}\n" - local cmd="targetcli < /tmp/gb_create - parseCreateOutput "$(declare -p METADATA)" ${BLOCKNAME} ${NEWNODE} && - echo "${OLDNODE}: CLEANUPSUCCESS" >> "${DIR}/${BLOCKNAME}" && - echo "${NEWNODE}: CONFIGSUCCESS" >> "${DIR}/${BLOCKNAME}" + parseCreateOutput "$(declare -p METADATA)" ${BLOCKNAME} ${NEWNODE} ret=$? + echo "" > /tmp/gb_create # clear if [[ ${ret} -eq 0 ]]; then + echo "${OLDNODE}: CLEANUPSUCCESS" >> "${DIR}/${BLOCKNAME}" + echo "${NEWNODE}: CONFIGSUCCESS" >> "${DIR}/${BLOCKNAME}" + echo "create on '${NEWNODE}' success" printLog "INFO: create of ${BLOCKNAME} on ${NEWNODE} success" + elif [[ ${ret} -eq 1 ]]; then + echo "create on '${NEWNODE}' skipped" + printLog "WARNING: create of ${BLOCKNAME} on ${NEWNODE} skipped" else echo "create on '${NEWNODE}' failed" printLog "ERROR: create of ${BLOCKNAME} on ${NEWNODE} failed" @@ -508,14 +529,16 @@ for BLOCKNAME in $(ls ${DIR}); do fi for NODE in ${HOSTS[@]}; do - if [[ "${NODE}" != "${OLDNODE}" ]]; then + if [[ "${NODE}" != "${OLDNODE}" && "${NODE}" != "${NEWNODE}" ]]; then REPLACEOUT=$(ssh root@${NODE} "$(declare -f runReplace); runReplace '$(declare -p METADATA)' ${OLDNODE} ${NEWNODE}") parseReplaceOutput "${REPLACEOUT}" ${BLOCKNAME} ${OLDNODE} ${NEWNODE} ret=$? if [[ ${ret} -eq 0 ]]; then echo "replace on '${NODE}' success" printLog "INFO: replace of ${BLOCKNAME} on ${NODE} success" - # TODO: update metadata once we have a relevant meta status flag + elif [[ ${ret} -eq 1 ]]; then + echo "replace on '${NODE}' skipped" + printLog "WARNING: replace of ${BLOCKNAME} on ${NODE} skipped" else echo "replace on '${NODE}' failed" printLog "ERROR: replace of ${BLOCKNAME} on ${NODE} failed" @@ -530,6 +553,9 @@ for BLOCKNAME in $(ls ${DIR}); do if [[ ${ret} -eq 0 ]]; then echo "delete on '${OLDNODE}' success" printLog "INFO: delete of ${BLOCKNAME} on ${OLDNODE} success" + elif [[ ${ret} -eq 1 ]]; then + echo "delete on '${OLDNODE}' skipped" + printLog "WARNING: delete of ${BLOCKNAME} on ${OLDNODE} skipped" else echo "delete on '${OLDNODE}' failed" printLog "ERROR: delete of ${BLOCKNAME} on ${OLDNODE} failed" -- cgit