Deduplicate upgrade code paths with or without --yes option

This commit is contained in:
Alexander Groß
2021-12-23 17:39:05 +01:00
parent 6ccf196ae2
commit 296ff3c612

View File

@@ -130,43 +130,25 @@ switch_off() {
# upgrade js-controller # upgrade js-controller
upgrade() { upgrade() {
if [ "$autoconfirm" == "no" ]
then
echo 'You are now going to upgrade your js-controller.' echo 'You are now going to upgrade your js-controller.'
echo 'As this will change data in /opt/iobroker, make sure you have a backup!' echo 'As this will change data in /opt/iobroker, make sure you have a backup!'
echo 'During the upgrade process the container will automatically switch into maintenance mode and stop ioBroker.' echo 'During the upgrade process the container will automatically switch into maintenance mode and stop ioBroker.'
echo 'Depending of the restart policy, your container will be stopped or restarted automatically after the upgrade.' echo 'Depending of the restart policy, your container will be stopped or restarted automatically after the upgrade.'
if [ "$autoconfirm" == "no" ]
then
read -p 'Do you want to continue [yes/no]? ' A read -p 'Do you want to continue [yes/no]? ' A
if [ "$A" == "y" ] || [ "$A" == "Y" ] || [ "$A" == "yes" ] if [ "$A" == "y" ] || [ "$A" == "Y" ] || [ "$A" == "yes" ]
then then
echo 'Activating maintenance mode...' : # Continue.
echo "maintenance" > /opt/scripts/.docker_config/.healthcheck
sleep 1
echo 'Done.'
echo 'Stopping ioBroker...'
pkill -u iobroker
sleep 1
echo 'Done.'
echo 'Upgrading js-controller...'
iobroker update
iobroker upgrade self
sleep 1
echo 'Done.'
echo 'Container will be stopped or restarted in 5 seconds...'
sleep 5
echo "stopping" > /opt/scripts/.docker_config/.healthcheck
pkill -u root
exit 0
else else
exit 0 exit 0
fi fi
elif [ "$autoconfirm" == "yes" ] elif [ "$autoconfirm" == "yes" ]
then then
echo 'You are now going to upgrade your js-controller.'
echo 'As this will change data in /opt/iobroker, make sure you have a backup!'
echo 'During the upgrade process the container will automatically switch into maintenance mode and stop ioBroker.'
echo 'Depending of the restart policy, your container will be stopped or restarted automatically after the upgrade.'
echo 'This command was already confirmed by -y or --yes option.' echo 'This command was already confirmed by -y or --yes option.'
fi
echo 'Activating maintenance mode...' echo 'Activating maintenance mode...'
echo "maintenance" > /opt/scripts/.docker_config/.healthcheck echo "maintenance" > /opt/scripts/.docker_config/.healthcheck
sleep 1 sleep 1
@@ -185,7 +167,6 @@ upgrade() {
echo "stopping" > /opt/scripts/.docker_config/.healthcheck echo "stopping" > /opt/scripts/.docker_config/.healthcheck
pkill -u root pkill -u root
exit 0 exit 0
fi
} }
######################################## ########################################