added update.sh
This commit is contained in:
parent
7f695f9f63
commit
4020121517
113
update.sh
Executable file
113
update.sh
Executable file
@ -0,0 +1,113 @@
|
||||
#!/bin/bash
|
||||
|
||||
|
||||
set -aeou pipefail
|
||||
|
||||
function printHelp(){
|
||||
cat << EOF
|
||||
Usage ${0##*/} [options..]
|
||||
-h,-?, --help Show help and exit
|
||||
-s, --salt run a masterless salt-call
|
||||
-y, --yes answer 'yes' on all questions
|
||||
EOF
|
||||
}
|
||||
|
||||
|
||||
function asktobreak(){
|
||||
if [[ "$ANSWER_YES" == true ]];then
|
||||
printf "\n"
|
||||
return 1
|
||||
fi
|
||||
printf "Do you want to run this step (y/n)"
|
||||
while read -r -n 1 -s answer; do
|
||||
if [[ $answer == [YyNn] ]];then
|
||||
[[ $answer == [Yy] ]] && return_value=1
|
||||
[[ $answer == [Nn] ]] && return_value=0
|
||||
printf "\n"
|
||||
break;
|
||||
fi
|
||||
done
|
||||
return $return_value
|
||||
}
|
||||
|
||||
function new_log(){
|
||||
# script output
|
||||
printf "\n**** [%s] ***\n" "$*"
|
||||
}
|
||||
|
||||
function log(){
|
||||
printf "%s\n" "$*"
|
||||
}
|
||||
|
||||
function check_prerequisites(){
|
||||
set +e
|
||||
local answer
|
||||
type "$1" > /dev/null 2>&1
|
||||
RESULT=$?
|
||||
if [[ $RESULT != 0 ]];then
|
||||
printf "$1 is not installed, do your want to install it [y/N]?"
|
||||
read -r -n 1 -s answer;
|
||||
printf "\n"
|
||||
if [[ $answer == [yY] ]];then
|
||||
sudo zypper --non-interactive install "$1"
|
||||
fi
|
||||
fi
|
||||
set -e
|
||||
}
|
||||
|
||||
function do_salt_call(){
|
||||
local salt="sudo salt-call --local --file-root $HOME/tle/salt/states --pillar-root $HOME/tle/salt/pillars"
|
||||
new_log "Running salt high state"
|
||||
if asktobreak;then
|
||||
return
|
||||
fi
|
||||
$salt state.apply pillar="{username: $USER}"
|
||||
}
|
||||
|
||||
|
||||
#########################
|
||||
#
|
||||
# Main Script
|
||||
#
|
||||
########################
|
||||
|
||||
#initialize all options
|
||||
ALL=true
|
||||
SALT=false
|
||||
ANSWER_YES=false
|
||||
|
||||
while :; do
|
||||
case ${1-noop} in
|
||||
-h|-\?|--help)
|
||||
printHelp
|
||||
exit
|
||||
;;
|
||||
-s|--salt)
|
||||
SALT=true
|
||||
ALL=false
|
||||
;;
|
||||
-y|--yes)
|
||||
ANSWER_YES=true
|
||||
;;
|
||||
--) #End of all options
|
||||
shift
|
||||
break
|
||||
;;
|
||||
-?*)
|
||||
printf "'%s' is not a valid option\n" "$1" >&2
|
||||
exit 1
|
||||
;;
|
||||
*) #Break out of case, no more options
|
||||
break
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
for cmd in git salt-minion curl;do
|
||||
check_prerequisites "$cmd"
|
||||
done
|
||||
|
||||
[[ $ALL == true ]] || [[ $SALT == true ]] && do_salt_call
|
||||
|
||||
printf "\n DONE!!!!!!!\n"
|
||||
|
Loading…
Reference in New Issue
Block a user