diff --git a/distro/contents/scripts/clean-container-state b/distro/contents/scripts/clean-container-state index b4f140e..c075a9d 100644 --- a/distro/contents/scripts/clean-container-state +++ b/distro/contents/scripts/clean-container-state @@ -1,48 +1,56 @@ function showhelp { - echo -e "\nusage: clean-container-state [-g ] [-h] \n" - echo " ghn_home = the gHN directory." - echo -e " h = shows this help.\n" + echo -e "\nusage: clean-container-state [-g ] [-s ] [-h] \n" + echo " ghn_home = the gHN directory.\n" + echo " fileName = the filename for volatile state.\n" + echo -e " h = shows this help.\n" } -while getopts "g:h" opt; do +while getopts "h:g:s:" opt; do case $opt in - g) ghnhome=$OPTARG;; + g) ghnhome=$OPTARG;; h) showhelp -exit 0 ;; - :) echo -e "\nERROR:option -$OPTARG requires an argument." >&2 ; - showhelp; - echo -e "\naborting.\n" - exit 1;; - \?) echo -e "\nERROR:invalid option: -$OPTARG"; - showhelp; - echo -e "\naborting.\n" - exit 1 >&2 ;; + exit 0 ;; + s) filename=$OPTARG;; + + :) echo -e "\nERROR:option -$OPTARG requires an argument." >&2 ; + showhelp; + echo -e "\naborting.\n" + exit 1;; + \?) echo -e "\nERROR:invalid option: -$OPTARG"; + showhelp; + echo -e "\naborting.\n" + exit 1 >&2 ;; esac done -if [ -z "$ghnhome" ]; then - if [ -z "$GHN_HOME" ]; then - echo -e "\nERROR:please specify the gHN directory (-g) or define the GHN_HOME env var." >&2 - showhelp - echo -e "\naborting.\n" - exit 1 - else - ghnhome=$GHN_HOME - fi +if [ -z "$ghnhome" ]; then + if [ -z "$GHN_HOME" ]; then + echo -e "\nERROR:please specify the gHN directory (-g) or define the GHN_HOME env var." >&2 + showhelp + echo -e "\naborting.\n" + exit 1 + else + ghnhome=$GHN_HOME + fi fi echo -e "\nRemoving resource profiles from the Information System\n" -source ./load-env +source "$ghnhome"/scripts/load-env -#java org.gcube.smartgears.utils.sweeper.ContainerSweeperClient 1>/dev/null +if [ -z "$filename" ]; then + java org.gcube.smartgears.utils.sweeper.ContainerSweeperClient 1>/dev/null +else + java org.gcube.smartgears.utils.sweeper.ContainerSweeperClient $filename 1>/dev/null + echo -e "\nvolatile state saved in $ghnhome/$filename" +fi -#if [ "$?" != "0" ]; then -# echo -e "\nCould no correctly sweep the profiles from the Information System" -# echo -e "\nIn case of production deployment please contact the production admin" -# echo -e "\nIn case of dev deployment you can remove the state by hand by removing the $GHN_HOME/state folder" -# exit 1 -#fi +if [ "$?" != "0" ]; then + echo -e "\nCould no correctly sweep the profiles from the Information System" + echo -e "\nIn case of production deployment please contact the production admin" + echo -e "\nIn case of dev deployment you can remove the state by hand by removing the $GHN_HOME/state folder" + exit 1 +fi echo "Removing container state $ghnhome" #removing folder