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=$(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.
|
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
|
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.
|
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.
|
# Supprime les éventuels swap présents.
|
||||||
/sbin/swapoff /var/lib/lxc/$LXC_A/rootfs/swap_*
|
/sbin/swapoff /var/lib/lxc/$LXC_A/rootfs/swap_*
|
||||||
|
|
||||||
|
echo "Starting $LXC_B"
|
||||||
# Démarre le conteneur B et arrête le conteneur A.
|
# 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
|
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.
|
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 &
|
$script_dir/demo_restore_crash.sh &
|
||||||
exit 1
|
exit 1
|
||||||
else
|
else
|
||||||
|
echo "Stopping $LXC_A"
|
||||||
# Bascule sur le conteneur B avec le load balancing de nginx...
|
# Bascule sur le conteneur B avec le load balancing de nginx...
|
||||||
# Automatique par nginx lorsque la machine A sera éteinte.
|
# Automatique par nginx lorsque la machine A sera éteinte.
|
||||||
# Arrêt du conteneur A. Il est remplacé par le B
|
# Arrêt du conteneur A. Il est remplacé par le B
|
||||||
|
@ -50,6 +53,7 @@ else
|
||||||
sudo lxc-stop -n $LXC_A
|
sudo lxc-stop -n $LXC_A
|
||||||
# Supprime les éventuels swap présents.
|
# Supprime les éventuels swap présents.
|
||||||
/sbin/swapoff /var/lib/lxc/$LXC_A/rootfs/swap_*
|
/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
|
# Restaure le snapshot de la machine A avant sa prochaine exécution
|
||||||
sudo lxc-snapshot -r snap0 -n $LXC_A
|
sudo lxc-snapshot -r snap0 -n $LXC_A
|
||||||
sudo rm /var/lib/lxc/$LXC_A.lock_fileS # Libère le lock
|
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=$(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.
|
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
|
UPGRADE_DEMO_CONTAINER () { # Démarrage, upgrade et snapshot
|
||||||
MACHINE=$1
|
MACHINE=$1
|
||||||
IP_MACHINE=$2
|
IP_MACHINE=$2
|
||||||
|
echo "Upgrading $MACHINE"
|
||||||
# Attend que la machine soit éteinte.
|
# Attend que la machine soit éteinte.
|
||||||
# Timeout à $TIME_TO_SWITCH +5 minutes, en seconde
|
# Timeout à $TIME_TO_SWITCH +5 minutes, en seconde
|
||||||
TIME_OUT=$(($TIME_TO_SWITCH * 60 + 300))
|
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
|
sudo lxc-attach -n $MACHINE -- apt-get autoclean
|
||||||
fi
|
fi
|
||||||
sudo lxc-attach -n $MACHINE -- yunohost tools update
|
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
|
# Exécution des scripts de upgrade.d
|
||||||
LOOP=$((LOOP + 1))
|
LOOP=$((LOOP + 1))
|
||||||
|
@ -157,6 +159,7 @@ UPGRADE_DEMO_CONTAINER () { # Démarrage, upgrade et snapshot
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
sudo rm /var/lib/lxc/$MACHINE.lock_fileU # Libère le lock, la machine est à nouveau disponible
|
sudo rm /var/lib/lxc/$MACHINE.lock_fileU # Libère le lock, la machine est à nouveau disponible
|
||||||
|
echo "Finished upgrading $MACHINE"
|
||||||
}
|
}
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
|
|
Loading…
Reference in a new issue