#!/bin/bash
#
# clean/convert volume
#  
# usage:
#        sm_alien CLEAN   va-N.N.N uuid
#        sm_alien CONVERT va-N.N.N uuid
# env:   APL_USR & APL_HTTPD_GRP are used
#
# Note: called from bin/sm_alien

cmd=$1
ver=$2
uuid=$3
own=$APL_USR:$APL_HTTPD_GRP
mnt=/vasm/$uuid
#---------------------------- check arguments
case "$cmd" in
 CLEAN|CONVERT) ;;
      *) echo 'FAIL: Wrong usage'; exit 1
esac
[ -z "$ver"  ] && echo 'FAIL: version is expected' && exit 1
[ -z "$uuid" ] && echo 'FAIL: UUID  is expected' && exit 1
df $mnt 2>/dev/null | egrep -sq "$mnt$"
[ $? != 0 ] && echo 'FAIL: volume $uuid is not mounted'  && exit 1
df /vasm/store 2>/dev/null | egrep -sq "/vasm/store"
[ $? != 0 ] && echo 'FAIL: /vasm/store is not mounted'  && exit 1
#---------------------------- STORE ACTION if not done yet
# 
mkdir -p /vasm/store/$ver/TO-BE-REMOVED
[ ! -d "/vasm/store/$ver" ] && echo "FAIL: cannot create dir /vasm/store/$ver" && exit 1
chown $own /vasm/store/$ver /vasm/store/$ver/TO-BE-REMOVED
for d in `cd /vasm/store/ && ls -d va-*`
do
  [ $d != "$ver" ] && mv /vasm/store/$d  /vasm/store/$ver/TO-BE-REMOVED
done
rm -f /vasm/store/$ver/TO-BE-REMOVED
#---------------------------- ACTION CLEAN
if [ $cmd = 'CLEAN' ]; then  # remove all va-XXX directories and create a new  
 rm -rf $mnt/va-*
 mkdir  $mnt/$ver
 [ ! -d "$mnt/$ver" ] && echo "FAIL: cannot create dir $mnt/$ver" && exit 1
 chown $own $mnt/$ver
else #----------------------- ACTION CONVERT
 #
 #     TBD: special cases to be defined
 #          - conversion is fails in the middle and restarted
 #          - conversion started when the first instance still working
 #          - chown -R is used since apl id can be changed during OS reinstall
 mkdir $mnt/tmp-$ver
 [ ! -d "$mnt/tmp-$ver" ] && echo "FAIL: cannot create dir $mnt/tmp-$ver" && exit 1
 mkdir $mnt/tmp-$ver/TO-BE-CONVERTED
 mkdir $mnt/tmp-$ver/TO-BE-REMOVED
 mv    $mnt/va-* $mnt/tmp-$ver/TO-BE-CONVERTED
 mv    $mnt/tmp-$ver $mnt/$ver
 chown -R $own $mnt/$ver # $mnt/$ver/TO-BE-CONVERTED  $mnt/$ver/TO-BE-REMOVED
fi
echo 'SUCCESS'
exit 0
