mirror of
https://github.com/YunoHost/yunohost_demo.git
synced 2024-09-03 19:56:44 +02:00
commit
f35f3d0c37
2 changed files with 8 additions and 1 deletions
|
@ -14,6 +14,7 @@ DOMAIN=$(cat "$script_dir/domain.ini")
|
|||
|
||||
log_line=$(wc -l "$script_dir/demo_switch.log" | cut -d ' ' -f 1) # Repère la fin du log actuel. Pour récupérer les lignes ajoutées sur cette exécution.
|
||||
log_line=$(( $log_line + 1 )) # Ignore la première ligne, reprise de l'ancien log.
|
||||
date >> "$script_dir/demo_switch.log"
|
||||
|
||||
while test -e /var/lib/lxc/$LXC_NAME1.lock_file* || test -e /var/lib/lxc/$LXC_NAME2.lock_file*; do
|
||||
sleep 5 # Attend que le conteneur soit libéré par les script upgrade ou switch, le cas échéant.
|
||||
|
@ -33,6 +34,7 @@ fi
|
|||
# Supprime les éventuels swap présents.
|
||||
/sbin/swapoff /var/lib/lxc/$LXC_A/rootfs/swap_*
|
||||
|
||||
echo "Starting $LXC_B"
|
||||
# Démarre le conteneur B et arrête le conteneur A.
|
||||
sudo lxc-start -n $LXC_B -o "$script_dir/demo_switch.log" -d > /dev/null # Démarre l'autre machine
|
||||
sleep 10 # Attend 10 seconde pour s'assurer du démarrage de la machine.
|
||||
|
@ -43,6 +45,7 @@ then
|
|||
$script_dir/demo_restore_crash.sh &
|
||||
exit 1
|
||||
else
|
||||
echo "Stopping $LXC_A"
|
||||
# Bascule sur le conteneur B avec le load balancing de nginx...
|
||||
# Automatique par nginx lorsque la machine A sera éteinte.
|
||||
# Arrêt du conteneur A. Il est remplacé par le B
|
||||
|
@ -50,6 +53,7 @@ else
|
|||
sudo lxc-stop -n $LXC_A
|
||||
# Supprime les éventuels swap présents.
|
||||
/sbin/swapoff /var/lib/lxc/$LXC_A/rootfs/swap_*
|
||||
echo "Restauring $LXC_A from snapshot"
|
||||
# Restaure le snapshot de la machine A avant sa prochaine exécution
|
||||
sudo lxc-snapshot -r snap0 -n $LXC_A
|
||||
sudo rm /var/lib/lxc/$LXC_A.lock_fileS # Libère le lock
|
||||
|
|
|
@ -20,10 +20,12 @@ LOOP=0
|
|||
|
||||
log_line=$(wc -l "$script_dir/demo_upgrade.log" | cut -d ' ' -f 1) # Repère la fin du log actuel. Pour récupérer les lignes ajoutées sur cette exécution.
|
||||
log_line=$(( $log_line + 1 )) # Ignore la première ligne, reprise de l'ancien log.
|
||||
date >> "$script_dir/demo_upgrade.log"
|
||||
|
||||
UPGRADE_DEMO_CONTAINER () { # Démarrage, upgrade et snapshot
|
||||
MACHINE=$1
|
||||
IP_MACHINE=$2
|
||||
echo "Upgrading $MACHINE"
|
||||
# Attend que la machine soit éteinte.
|
||||
# Timeout à $TIME_TO_SWITCH +5 minutes, en seconde
|
||||
TIME_OUT=$(($TIME_TO_SWITCH * 60 + 300))
|
||||
|
@ -83,7 +85,7 @@ UPGRADE_DEMO_CONTAINER () { # Démarrage, upgrade et snapshot
|
|||
sudo lxc-attach -n $MACHINE -- apt-get autoclean
|
||||
fi
|
||||
sudo lxc-attach -n $MACHINE -- yunohost tools update
|
||||
sudo lxc-attach -n $MACHINE -- yunohost tools upgrade --system
|
||||
sudo lxc-attach -n $MACHINE -- yunohost tools upgrade system
|
||||
|
||||
# Exécution des scripts de upgrade.d
|
||||
LOOP=$((LOOP + 1))
|
||||
|
@ -157,6 +159,7 @@ UPGRADE_DEMO_CONTAINER () { # Démarrage, upgrade et snapshot
|
|||
fi
|
||||
fi
|
||||
sudo rm /var/lib/lxc/$MACHINE.lock_fileU # Libère le lock, la machine est à nouveau disponible
|
||||
echo "Finished upgrading $MACHINE"
|
||||
}
|
||||
|
||||
echo ""
|
||||
|
|
Loading…
Reference in a new issue