mirror of
https://github.com/YunoHost/package_check.git
synced 2024-09-03 20:06:20 +02:00
AméliorationS et support LXC
This commit is contained in:
parent
35eb49b847
commit
de03c27e7c
8 changed files with 635 additions and 76 deletions
|
@ -22,5 +22,5 @@
|
|||
incorrect_path=1
|
||||
corrupt_source=0
|
||||
fail_download_source=0
|
||||
port_already_use=1
|
||||
port_already_use=1 (66)
|
||||
final_path_already_use=0
|
||||
|
|
208
package_check.sh
208
package_check.sh
|
@ -1,55 +1,129 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Arguments du script
|
||||
# -b Mode bash, le script est autonome. Il ignore la valeur de $auto_remove
|
||||
# --no-lxc N'utilise pas la virtualisation en conteneur lxc. La virtualisation est utilisée par défaut si disponible.
|
||||
# --build-lxc Installe lxc et créer la machine si nécessaire. Incompatible avec -b en raison de la connexion ssh à valider lors du build.
|
||||
|
||||
if [ "$#" -eq 0 ]
|
||||
then
|
||||
echo "Le script prend en argument le package à tester."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
## Récupère les arguments
|
||||
# --bash-mode
|
||||
bash_mode=$(echo "$*" | grep -c -e "--bash-mode") # bash_mode vaut 1 si l'argument est présent.
|
||||
# --no-lxc
|
||||
no_lxc=$(echo "$*" | grep -c -e "--no-lxc") # no_lxc vaut 1 si l'argument est présent.
|
||||
# --build-lxc
|
||||
build_lxc=$(echo "$*" | grep -c -e "--build-lxc") # build_lxc vaut 1 si l'argument est présent.
|
||||
arg_app=$(echo "$*" | sed 's/--bash-mode\|--no-lxc\|--build-lxc//g' | sed 's/^ *\| *$//g') # Supprime les arguments déjà lu pour ne garder que l'app. Et supprime les espaces au début et à la fin
|
||||
# echo "arg_app=$arg_app."
|
||||
|
||||
USER_TEST=package_checker
|
||||
PASSWORD_TEST=checker_pwd
|
||||
PATH_TEST=/check
|
||||
DOMAIN=$(sudo yunohost domain list -l 1 | cut -d" " -f 2)
|
||||
LXC_NAME=$(cat sub_scripts/lxc_build.sh | grep LXC_NAME= | cut -d '=' -f2)
|
||||
|
||||
if [ "$no_lxc" -eq 0 ]
|
||||
then
|
||||
DOMAIN=$(sudo cat /var/lib/lxc/$LXC_NAME/rootfs/etc/yunohost/current_host)
|
||||
else
|
||||
DOMAIN=$(sudo yunohost domain list -l 1 | cut -d" " -f 2)
|
||||
fi
|
||||
SOUS_DOMAIN="sous.$DOMAIN"
|
||||
|
||||
abs_path=$(cd $(dirname $0); pwd) # Récupère le chemin absolu du script.
|
||||
|
||||
source $abs_path/sub_scripts/lxc_launcher.sh
|
||||
source $abs_path/sub_scripts/testing_process.sh
|
||||
source /usr/share/yunohost/helpers
|
||||
|
||||
# Vérifie l'existence de l'utilisateur de test
|
||||
echo -e "\nVérification de l'existence de l'utilisateur de test..."
|
||||
if ! ynh_user_exists "$USER_TEST" ; then # Si il n'existe pas, il faut le créer.
|
||||
USER_TEST_CLEAN=${USER_TEST//"_"/""}
|
||||
sudo yunohost user create --firstname "$USER_TEST_CLEAN" --mail "$USER_TEST_CLEAN@$DOMAIN" --lastname "$USER_TEST_CLEAN" --password "$PASSWORD_TEST" "$USER_TEST"
|
||||
if [ "$?" -ne 0 ]; then
|
||||
echo "La création de l'utilisateur de test a échoué. Impossible de continuer."
|
||||
# Vérifie la connexion internet.
|
||||
ping -q -c 2 yunohost.org > /dev/null 2>&1
|
||||
if [ "$?" -ne 0 ]; then # En cas d'échec de connexion, tente de pinger un autre domaine pour être sûr
|
||||
ping -q -c 2 framasoft.org > /dev/null 2>&1
|
||||
if [ "$?" -ne 0 ]; then # En cas de nouvel échec de connexion. On considère que la connexion est down...
|
||||
ECHO_FORMAT "Impossible d'établir une connexion à internet.\n" "red"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Vérifie l'existence du sous-domaine de test
|
||||
echo "Vérification de l'existence de domaine de test..."
|
||||
SOUS_DOMAIN="sous.$DOMAIN"
|
||||
if [ "$(sudo yunohost domain list | grep -c "$SOUS_DOMAIN")" -eq 0 ] ; then # Si il n'existe pas, il faut le créer.
|
||||
sudo yunohost domain add "$SOUS_DOMAIN"
|
||||
if [ "$?" -ne 0 ]; then
|
||||
echo "La création du sous-domain de test a échoué. Impossible de continuer."
|
||||
exit 1
|
||||
if [ "$no_lxc" -eq 0 ]
|
||||
then # Si le conteneur lxc est utilisé
|
||||
lxc_ok=0
|
||||
# Vérifie la présence du virtualisateur en conteneur LXC
|
||||
if dpkg-query -W -f '${Status}' "lxc" 2>/dev/null | grep -q "ok installed"; then
|
||||
if sudo lxc-ls | grep -q "$LXC_NAME"; then # Si lxc est installé, vérifie la présence de la machine $LXC_NAME
|
||||
lxc_ok=1
|
||||
fi
|
||||
fi
|
||||
if [ "$lxc_ok" -eq 0 ]
|
||||
then
|
||||
if [ "$build_lxc" -eq 1 ]
|
||||
then
|
||||
./sub_scripts/lxc_build.sh # Lance la construction de la machine virtualisée.
|
||||
else
|
||||
ECHO_FORMAT "Lxc n'est pas installé, ou la machine $LXC_NAME n'est pas créée.\n" "red"
|
||||
ECHO_FORMAT "Utilisez le script 'lxc_build.sh' pour installer lxc et créer la machine.\n" "red"
|
||||
ECHO_FORMAT "Ou utilisez l'argument --no-lxc\n" "red"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
# Stoppe toute activité éventuelle du conteneur, en cas d'arrêt incorrect précédemment
|
||||
LXC_STOP
|
||||
LXC_TURNOFF
|
||||
else # Vérifie l'utilisateur et le domain si lxc n'est pas utilisé.
|
||||
# Vérifie l'existence de l'utilisateur de test
|
||||
echo -e "\nVérification de l'existence de l'utilisateur de test..."
|
||||
if ! ynh_user_exists "$USER_TEST"
|
||||
then # Si il n'existe pas, il faut le créer.
|
||||
USER_TEST_CLEAN=${USER_TEST//"_"/""}
|
||||
sudo yunohost user create --firstname "$USER_TEST_CLEAN" --mail "$USER_TEST_CLEAN@$DOMAIN" --lastname "$USER_TEST_CLEAN" --password "$PASSWORD_TEST" "$USER_TEST"
|
||||
if [ "$?" -ne 0 ]; then
|
||||
ECHO_FORMAT "La création de l'utilisateur de test a échoué. Impossible de continuer.\n" "red"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Vérifie l'existence du sous-domaine de test
|
||||
echo "Vérification de l'existence du domaine de test..."
|
||||
if [ "$(sudo yunohost domain list | grep -c "$SOUS_DOMAIN")" -eq 0 ]; then # Si il n'existe pas, il faut le créer.
|
||||
sudo yunohost domain add "$SOUS_DOMAIN"
|
||||
if [ "$?" -ne 0 ]; then
|
||||
ECHO_FORMAT "La création du sous-domain de test a échoué. Impossible de continuer.\n" "red"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Vérifie le type d'emplacement du package à tester
|
||||
GIT_PACKAGE=0
|
||||
if echo "$1" | grep -Eq "https?:\/\/"
|
||||
if echo "$arg_app" | grep -Eq "https?:\/\/"
|
||||
then
|
||||
GIT_PACKAGE=1
|
||||
git clone $1 "../$(basename $1)"
|
||||
APP_CHECK="../$(basename $1)"
|
||||
git clone $arg_app "$(basename $arg_app)_check"
|
||||
else
|
||||
APP_CHECK="$1"
|
||||
# Si c'est un dossier local, il est copié dans le dossier du script.
|
||||
sudo cp -a "$arg_app" "$(basename $arg_app)_check"
|
||||
fi
|
||||
APP_CHECK="$(basename $arg_app)_check"
|
||||
if [ ! -d "$APP_CHECK" ]; then
|
||||
ECHO_FORMAT "Le dossier de l'application a tester est introuvable...\n" "red"
|
||||
exit 1
|
||||
fi
|
||||
sudo rm -rf $APP_CHECK/.git # Purge des fichiers de git
|
||||
|
||||
# Vérifie l'existence du fichier check_process
|
||||
if [ ! -e $APP_CHECK/check_process ]; then
|
||||
echo -e "\nImpossible de trouver le fichier check_process pour procéder aux tests."
|
||||
echo "Merci d'ajouter un fichier check_process à la racine de l'app à tester."
|
||||
ECHO_FORMAT "\nImpossible de trouver le fichier check_process pour procéder aux tests.\n" "red"
|
||||
ECHO_FORMAT "Merci d'ajouter un fichier check_process à la racine de l'app à tester.\n" "red"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
|
||||
TEST_RESULTS () {
|
||||
ECHO_FORMAT "\n\nInstallation: "
|
||||
if [ "$GLOBAL_CHECK_SETUP" -eq 1 ]; then
|
||||
|
@ -219,8 +293,28 @@ TEST_RESULTS () {
|
|||
elif [ "$GLOBAL_CHECK_RESTORE" -eq -1 ]; then
|
||||
ECHO_FORMAT "\t\t\t\tFAIL\n" "lred"
|
||||
else
|
||||
ECHO_FORMAT "\t\t\t\tNot evaluated.\n\n" "white"
|
||||
ECHO_FORMAT "\t\t\t\tNot evaluated.\n" "white"
|
||||
fi
|
||||
ECHO_FORMAT "\t\t Notes de résultats: $note/$tnote - " "white" "bold"
|
||||
note=$(( note * 20 / tnote ))
|
||||
if [ $note -le 5 ]; then
|
||||
color_note="red"
|
||||
typo_note="bold"
|
||||
elif [ $note -le 10 ]; then
|
||||
color_note="red"
|
||||
typo_note=""
|
||||
elif [ $note -le 15 ]; then
|
||||
color_note="lyellow"
|
||||
typo_note=""
|
||||
elif [ $note -gt 15 ]; then
|
||||
color_note="lgreen"
|
||||
typo_note=""
|
||||
elif [ $note -eq 20 ]; then
|
||||
color_note="lgreen"
|
||||
typo_note="bold"
|
||||
fi
|
||||
ECHO_FORMAT "$note/20\n" "$color_note" "$typo_note"
|
||||
ECHO_FORMAT "\t Ensemble de tests effectués: $tnote/19\n\n" "white" "bold"
|
||||
}
|
||||
|
||||
INIT_VAR() {
|
||||
|
@ -276,6 +370,13 @@ INIT_VAR() {
|
|||
|
||||
INIT_VAR
|
||||
echo -n "" > $COMPLETE_LOG # Initialise le fichier de log
|
||||
echo -n "" > $RESULT # Initialise le fichier des résulats d'analyse
|
||||
note=0
|
||||
tnote=0
|
||||
all_test=0
|
||||
if [ "$no_lxc" -eq 0 ]; then
|
||||
LXC_INIT
|
||||
fi
|
||||
|
||||
## Parsing du fichier check_process de manière séquentielle.
|
||||
while read LIGNE
|
||||
|
@ -288,7 +389,9 @@ do
|
|||
TESTING_PROCESS
|
||||
TEST_RESULTS
|
||||
INIT_VAR
|
||||
read -p "Appuyer sur une touche pour démarrer le scénario de test suivant..." < /dev/tty
|
||||
if [ "$bash_mode" -ne 1 ]; then
|
||||
read -p "Appuyer sur une touche pour démarrer le scénario de test suivant..." < /dev/tty
|
||||
fi
|
||||
fi
|
||||
PROCESS_NAME=${LIGNE#\#\# }
|
||||
IN_PROCESS=1
|
||||
|
@ -342,48 +445,98 @@ do
|
|||
then # Analyse des tests à effectuer sur ce scenario.
|
||||
if echo "$LIGNE" | grep -q "setup_sub_dir="; then # Test d'installation en sous-dossier
|
||||
setup_sub_dir=$(echo "$LIGNE" | cut -d '=' -f2)
|
||||
if [ "$setup_sub_dir" -eq 1 ]; then
|
||||
all_test=$((all_test+1))
|
||||
fi
|
||||
fi
|
||||
if echo "$LIGNE" | grep -q "setup_root="; then # Test d'installation à la racine
|
||||
setup_root=$(echo "$LIGNE" | cut -d '=' -f2)
|
||||
if [ "$setup_root" -eq 1 ]; then
|
||||
all_test=$((all_test+1))
|
||||
fi
|
||||
fi
|
||||
if echo "$LIGNE" | grep -q "setup_nourl="; then # Test d'installation sans accès par url
|
||||
setup_nourl=$(echo "$LIGNE" | cut -d '=' -f2)
|
||||
if [ "$setup_nourl" -eq 1 ]; then
|
||||
all_test=$((all_test+1))
|
||||
fi
|
||||
fi
|
||||
if echo "$LIGNE" | grep -q "setup_private="; then # Test d'installation en privé
|
||||
setup_private=$(echo "$LIGNE" | cut -d '=' -f2)
|
||||
if [ "$setup_private" -eq 1 ]; then
|
||||
all_test=$((all_test+1))
|
||||
fi
|
||||
fi
|
||||
if echo "$LIGNE" | grep -q "setup_public="; then # Test d'installation en public
|
||||
setup_public=$(echo "$LIGNE" | cut -d '=' -f2)
|
||||
if [ "$setup_public" -eq 1 ]; then
|
||||
all_test=$((all_test+1))
|
||||
fi
|
||||
fi
|
||||
if echo "$LIGNE" | grep -q "upgrade="; then # Test d'upgrade
|
||||
upgrade=$(echo "$LIGNE" | cut -d '=' -f2)
|
||||
if [ "$upgrade" -eq 1 ]; then
|
||||
all_test=$((all_test+1))
|
||||
fi
|
||||
fi
|
||||
if echo "$LIGNE" | grep -q "backup_restore="; then # Test de backup et restore
|
||||
backup_restore=$(echo "$LIGNE" | cut -d '=' -f2)
|
||||
if [ "$backup_restore" -eq 1 ]; then
|
||||
all_test=$((all_test+1))
|
||||
fi
|
||||
fi
|
||||
if echo "$LIGNE" | grep -q "multi_instance="; then # Test d'installation multiple
|
||||
multi_instance=$(echo "$LIGNE" | cut -d '=' -f2)
|
||||
if [ "$multi_instance" -eq 1 ]; then
|
||||
all_test=$((all_test+1))
|
||||
fi
|
||||
fi
|
||||
if echo "$LIGNE" | grep -q "wrong_user="; then # Test d'erreur d'utilisateur
|
||||
wrong_user=$(echo "$LIGNE" | cut -d '=' -f2)
|
||||
if [ "$wrong_user" -eq 1 ]; then
|
||||
all_test=$((all_test+1))
|
||||
fi
|
||||
fi
|
||||
if echo "$LIGNE" | grep -q "wrong_path="; then # Test d'erreur de path ou de domaine
|
||||
wrong_path=$(echo "$LIGNE" | cut -d '=' -f2)
|
||||
if [ "$wrong_path" -eq 1 ]; then
|
||||
all_test=$((all_test+1))
|
||||
fi
|
||||
fi
|
||||
if echo "$LIGNE" | grep -q "incorrect_path="; then # Test d'erreur de forme de path
|
||||
incorrect_path=$(echo "$LIGNE" | cut -d '=' -f2)
|
||||
if [ "$incorrect_path" -eq 1 ]; then
|
||||
all_test=$((all_test+1))
|
||||
fi
|
||||
fi
|
||||
if echo "$LIGNE" | grep -q "corrupt_source="; then # Test d'erreur sur source corrompue
|
||||
corrupt_source=$(echo "$LIGNE" | cut -d '=' -f2)
|
||||
if [ "$corrupt_source" -eq 1 ]; then
|
||||
all_test=$((all_test+1))
|
||||
fi
|
||||
fi
|
||||
if echo "$LIGNE" | grep -q "fail_download_source="; then # Test d'erreur de téléchargement de la source
|
||||
fail_download_source=$(echo "$LIGNE" | cut -d '=' -f2)
|
||||
if [ "$fail_download_source" -eq 1 ]; then
|
||||
all_test=$((all_test+1))
|
||||
fi
|
||||
fi
|
||||
if echo "$LIGNE" | grep -q "port_already_use="; then # Test d'erreur de port
|
||||
port_already_use=$(echo "$LIGNE" | cut -d '=' -f2)
|
||||
if echo "$LIGNE" | grep -q "([0-9]*)"
|
||||
then # Le port est mentionné ici.
|
||||
MANIFEST_PORT="$(echo "$LIGNE" | cut -d '(' -f2 | cut -d ')' -f1)" # Récupère le numéro du port; Le numéro de port est précédé de # pour indiquer son absence du manifest.
|
||||
port_already_use=${port_already_use:0:1} # Garde uniquement la valeur de port_already_use
|
||||
fi
|
||||
if [ "$port_already_use" -eq 1 ]; then
|
||||
all_test=$((all_test+1))
|
||||
fi
|
||||
fi
|
||||
if echo "$LIGNE" | grep -q "final_path_already_use="; then # Test sur final path déjà utilisé.
|
||||
final_path_already_use=$(echo "$LIGNE" | cut -d '=' -f2)
|
||||
if [ "$final_path_already_use" -eq 1 ]; then
|
||||
all_test=$((all_test+1))
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
|
@ -391,12 +544,13 @@ do
|
|||
done < "$APP_CHECK/check_process"
|
||||
|
||||
TESTING_PROCESS
|
||||
if [ "$no_lxc" -eq 0 ]; then
|
||||
LXC_TURNOFF
|
||||
fi
|
||||
TEST_RESULTS
|
||||
|
||||
echo "Le log complet des installations et suppressions est disponible dans le fichier $COMPLETE_LOG"
|
||||
# Clean
|
||||
rm -f debug_output temp_Test_results.log url_output
|
||||
|
||||
if [ "$GIT_PACKAGE" -eq 1 ]; then
|
||||
sudo rm -r "$APP_CHECK"
|
||||
fi
|
||||
sudo rm -rf "$APP_CHECK"
|
||||
|
|
|
@ -36,9 +36,10 @@ COPY_LOG () {
|
|||
if [ "$1" -eq 1 ]; then
|
||||
log_line=$(sudo wc -l "$YUNOHOST_LOG" | cut -d ' ' -f 1) # Compte le nombre de ligne du fichier de log Yunohost
|
||||
log_line=$(( $log_line + 1 )) # Ignore la première ligne, reprise de l'ancien log.
|
||||
echo -n "" > "$OUTPUTD" # Efface le fichier de log temporaire
|
||||
fi
|
||||
if [ "$1" -eq 2 ]; then
|
||||
sudo tail -n +$log_line "$YUNOHOST_LOG" > "$OUTPUTD" # Copie le fichier de log à partir de la dernière ligne du log préexistant
|
||||
sudo tail -n +$log_line "$YUNOHOST_LOG" >> "$OUTPUTD" # Copie le fichier de log à partir de la dernière ligne du log préexistant
|
||||
fi
|
||||
}
|
||||
|
||||
|
@ -78,6 +79,11 @@ LOG_EXTRACTOR () {
|
|||
echo -n ">ERROR: " >> "temp_$RESULT"
|
||||
echo "$LOG_LIGNE" | sed 's/^.* ERROR *//' >> "temp_$RESULT"
|
||||
fi
|
||||
if echo "$LOG_LIGNE" | grep -q "yunohost.*: error:"; then # Récupère aussi les erreurs de la moulinette
|
||||
echo -n ">ERROR: " >> "temp_$RESULT"
|
||||
echo "$LOG_LIGNE" >> "temp_$RESULT"
|
||||
fi
|
||||
|
||||
if echo "$LOG_LIGNE" | grep -q " WARNING "; then
|
||||
echo -n ">WARNING: " >> "temp_$RESULT"
|
||||
echo "$LOG_LIGNE" | sed 's/^.* WARNING *//' >> "temp_$RESULT"
|
||||
|
|
125
sub_scripts/lxc_build.sh
Executable file
125
sub_scripts/lxc_build.sh
Executable file
|
@ -0,0 +1,125 @@
|
|||
#!/bin/bash
|
||||
|
||||
LOG_BUILD_LXC="Build_lxc.log"
|
||||
PLAGE_IP="10.1.4"
|
||||
ARG_SSH="-t"
|
||||
DOMAIN=domain.tld
|
||||
YUNO_PWD=admin
|
||||
LXC_NAME=pchecker_lxc
|
||||
|
||||
# Check root
|
||||
CHECK_ROOT=$EUID
|
||||
if [ -z "$CHECK_ROOT" ];then CHECK_ROOT=0;fi
|
||||
if [ $CHECK_ROOT -eq 0 ]
|
||||
then # $EUID est vide sur une exécution avec sudo. Et vaut 0 pour root
|
||||
echo "Le script ne doit pas être exécuté avec les droits root"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
echo "Update et install lxc lxctl" | tee "$LOG_BUILD_LXC"
|
||||
sudo apt-get update >> "$LOG_BUILD_LXC" 2>&1
|
||||
sudo apt-get install -y lxc lxctl >> "$LOG_BUILD_LXC" 2>&1
|
||||
|
||||
echo "Création d'une machine debian jessie minimaliste" | tee -a "$LOG_BUILD_LXC"
|
||||
sudo lxc-create -n $LXC_NAME -t debian -- -r jessie >> "$LOG_BUILD_LXC" 2>&1
|
||||
|
||||
echo "Autoriser l'ip forwarding, pour router vers la machine virtuelle." | tee -a "$LOG_BUILD_LXC"
|
||||
echo "net.ipv4.ip_forward=1" | sudo tee /etc/sysctl.d/lxc_pchecker.conf >> "$LOG_BUILD_LXC" 2>&1
|
||||
sudo sysctl -p /etc/sysctl.d/lxc_pchecker.conf >> "$LOG_BUILD_LXC" 2>&1
|
||||
|
||||
echo "Ajoute un brige réseau pour la machine virtualisée" | tee -a "$LOG_BUILD_LXC"
|
||||
echo | sudo tee /etc/network/interfaces.d/lxc-pchecker <<EOF >> "$LOG_BUILD_LXC" 2>&1
|
||||
auto lxc-pchecker
|
||||
iface lxc-pchecker inet static
|
||||
address $PLAGE_IP.1/24
|
||||
bridge_ports none
|
||||
bridge_fd 0
|
||||
bridge_maxwait 0
|
||||
EOF
|
||||
|
||||
echo "Active le bridge réseau" | tee -a "$LOG_BUILD_LXC"
|
||||
sudo ifup lxc-pchecker >> "$LOG_BUILD_LXC" 2>&1
|
||||
|
||||
echo "Configuration réseau du conteneur" | tee -a "$LOG_BUILD_LXC"
|
||||
sudo sed -i 's/^lxc.network.type = empty$/lxc.network.type = veth\nlxc.network.flags = up\nlxc.network.link = lxc-pchecker\nlxc.network.name = eth0\nlxc.network.veth.pair = $LXC_NAME\nlxc.network.hwaddr = 00:FF:AA:00:00:01/' /var/lib/lxc/$LXC_NAME/config >> "$LOG_BUILD_LXC" 2>&1
|
||||
|
||||
echo "Configuration réseau de la machine virtualisée" | tee -a "$LOG_BUILD_LXC"
|
||||
sudo sed -i "s@iface eth0 inet dhcp@iface eth0 inet static\n\taddress $PLAGE_IP.2/24\n\tgateway $PLAGE_IP.1@" /var/lib/lxc/$LXC_NAME/rootfs/etc/network/interfaces >> "$LOG_BUILD_LXC" 2>&1
|
||||
|
||||
echo "Configure le parefeu" | tee -a "$LOG_BUILD_LXC"
|
||||
sudo iptables -A FORWARD -i lxc-pchecker -o eth0 -j ACCEPT >> "$LOG_BUILD_LXC" 2>&1
|
||||
sudo iptables -A FORWARD -i eth0 -o lxc-pchecker -j ACCEPT >> "$LOG_BUILD_LXC" 2>&1
|
||||
sudo iptables -t nat -A POSTROUTING -s $PLAGE_IP.0/24 -j MASQUERADE >> "$LOG_BUILD_LXC" 2>&1
|
||||
|
||||
echo "Démarrage de la machine" | tee -a "$LOG_BUILD_LXC"
|
||||
sudo lxc-start -n $LXC_NAME -d >> "$LOG_BUILD_LXC" 2>&1
|
||||
sleep 3
|
||||
sudo lxc-ls -f >> "$LOG_BUILD_LXC" 2>&1
|
||||
|
||||
echo "Update et install tasksel sudo git" | tee -a "$LOG_BUILD_LXC"
|
||||
sudo lxc-attach -n $LXC_NAME -- apt-get update
|
||||
sudo lxc-attach -n $LXC_NAME -- apt-get install -y tasksel sudo git
|
||||
echo "Installation des paquets standard et ssh-server" | tee -a "$LOG_BUILD_LXC"
|
||||
sudo lxc-attach -n $LXC_NAME -- tasksel install standard ssh-server
|
||||
|
||||
echo "Renseigne /etc/hosts sur l'invité" | tee -a "$LOG_BUILD_LXC"
|
||||
sudo lxc-attach -n $LXC_NAME -- echo "127.0.0.1 $LXC_NAME" | sudo tee -a /var/lib/lxc/$LXC_NAME/rootfs/etc/hosts >> "$LOG_BUILD_LXC" 2>&1
|
||||
|
||||
echo "Ajoute l'user pchecker" | tee -a "$LOG_BUILD_LXC"
|
||||
sudo lxc-attach -n $LXC_NAME -- useradd -m -p pchecker pchecker >> "$LOG_BUILD_LXC" 2>&1
|
||||
|
||||
echo "Autorise pchecker à utiliser sudo sans mot de passe" | tee -a "$LOG_BUILD_LXC"
|
||||
echo "pchecker ALL=(ALL:ALL) NOPASSWD: ALL" | sudo tee -a /var/lib/lxc/$LXC_NAME/rootfs/etc/sudoers >> "$LOG_BUILD_LXC" 2>&1
|
||||
|
||||
echo "Mise en place de la connexion ssh vers l'invité." | tee -a "$LOG_BUILD_LXC"
|
||||
ssh-keygen -t dsa -f $HOME/.ssh/$LXC_NAME -P '' >> "$LOG_BUILD_LXC" 2>&1
|
||||
sudo mkdir /var/lib/lxc/$LXC_NAME/rootfs/home/pchecker/.ssh >> "$LOG_BUILD_LXC" 2>&1
|
||||
sudo cp $HOME/.ssh/$LXC_NAME.pub /var/lib/lxc/$LXC_NAME/rootfs/home/pchecker/.ssh/authorized_keys >> "$LOG_BUILD_LXC" 2>&1
|
||||
sudo lxc-attach -n $LXC_NAME -- chown pchecker: -R /home/pchecker/.ssh >> "$LOG_BUILD_LXC" 2>&1
|
||||
|
||||
echo | tee -a $HOME/.ssh/config <<EOF >> "$LOG_BUILD_LXC" 2>&1
|
||||
# ssh $LXC_NAME
|
||||
Host $LXC_NAME
|
||||
Hostname $PLAGE_IP.2
|
||||
User pchecker
|
||||
IdentityFile $HOME/.ssh/$LXC_NAME
|
||||
EOF
|
||||
|
||||
ssh $ARG_SSH $LXC_NAME "exit 0" # Initie une premier connexion SSH pour valider la clé.
|
||||
if [ "$?" -ne 0 ]; then # Si l'utilisateur tarde trop, la connexion sera refusée... ???
|
||||
ssh $ARG_SSH $LXC_NAME "exit 0" # Initie une premier connexion SSH pour valider la clé.
|
||||
fi
|
||||
|
||||
ssh $ARG_SSH $LXC_NAME "git clone https://github.com/YunoHost/install_script /tmp/install_script" >> "$LOG_BUILD_LXC" 2>&1
|
||||
echo "Installation de Yunohost..." | tee -a "$LOG_BUILD_LXC"
|
||||
ssh $ARG_SSH $LXC_NAME "cd /tmp/install_script; sudo ./install_yunohost -a" | tee -a "$LOG_BUILD_LXC" 2>&1
|
||||
echo "Post install Yunohost" | tee -a "$LOG_BUILD_LXC"
|
||||
ssh $ARG_SSH $LXC_NAME "sudo yunohost tools postinstall --domain $DOMAIN --password $YUNO_PWD" | tee -a "$LOG_BUILD_LXC" 2>&1
|
||||
|
||||
USER_TEST=$(cat ../package_check.sh | grep USER_TEST= | cut -d '=' -f2)
|
||||
PASSWORD_TEST=$(cat ../package_check.sh | grep PASSWORD_TEST= | cut -d '=' -f2)
|
||||
SOUS_DOMAIN="sous.$DOMAIN"
|
||||
echo "Le mot de passe Yunohost est \'$YUNO_PWD\'"
|
||||
echo "Ajout du sous domaine de test" | tee -a "$LOG_BUILD_LXC"
|
||||
ssh $ARG_SSH $LXC_NAME "sudo yunohost domain add \"$SOUS_DOMAIN\""
|
||||
USER_TEST_CLEAN=${USER_TEST//"_"/""}
|
||||
echo "Ajout de l'utilisateur de test" | tee -a "$LOG_BUILD_LXC"
|
||||
ssh $ARG_SSH $LXC_NAME "sudo yunohost user create --firstname \"$USER_TEST_CLEAN\" --mail \"$USER_TEST_CLEAN@$DOMAIN\" --lastname \"$USER_TEST_CLEAN\" --password \"$PASSWORD_TEST\" \"$USER_TEST\""
|
||||
|
||||
echo -e "\nVérification de l'état de Yunohost" | tee -a "$LOG_BUILD_LXC"
|
||||
ssh $ARG_SSH $LXC_NAME "sudo yunohost -v" | tee -a "$LOG_BUILD_LXC" 2>&1
|
||||
|
||||
|
||||
echo "Arrêt de la machine virtualisée" | tee -a "$LOG_BUILD_LXC"
|
||||
sudo lxc-stop -n $LXC_NAME >> "$LOG_BUILD_LXC" 2>&1
|
||||
|
||||
echo "Suppression des règles de parefeu" | tee -a "$LOG_BUILD_LXC"
|
||||
sudo iptables -D FORWARD -i lxc-pchecker -o eth0 -j ACCEPT >> "$LOG_BUILD_LXC" 2>&1
|
||||
sudo iptables -D FORWARD -i eth0 -o lxc-pchecker -j ACCEPT >> "$LOG_BUILD_LXC" 2>&1
|
||||
sudo iptables -t nat -D POSTROUTING -s $PLAGE_IP.0/24 -j MASQUERADE >> "$LOG_BUILD_LXC" 2>&1
|
||||
sudo ifdown lxc-pchecker >> "$LOG_BUILD_LXC" 2>&1
|
||||
|
||||
echo "Création d'un snapshot" | tee -a "$LOG_BUILD_LXC"
|
||||
sudo lxc-snapshot -n $LXC_NAME >> "$LOG_BUILD_LXC" 2>&1
|
||||
# Il sera nommé snap0 et stocké dans /var/lib/lxcsnaps/$LXC_NAME/snap0/
|
85
sub_scripts/lxc_launcher.sh
Executable file
85
sub_scripts/lxc_launcher.sh
Executable file
|
@ -0,0 +1,85 @@
|
|||
#!/bin/bash
|
||||
|
||||
ARG_SSH="-t"
|
||||
PLAGE_IP=$(cat sub_scripts/lxc_build.sh | grep PLAGE_IP= | cut -d '"' -f2)
|
||||
|
||||
echo -e "\nChargement des fonctions de lxc_launcher.sh"
|
||||
|
||||
LXC_INIT () {
|
||||
# Activation du bridge réseau
|
||||
echo "Initialisation du réseau pour le conteneur."
|
||||
sudo ifup lxc-pchecker | tee -a $RESULT 2>&1
|
||||
|
||||
# Activation des règles iptables
|
||||
sudo iptables -A FORWARD -i lxc-pchecker -o eth0 -j ACCEPT | tee -a $RESULT 2>&1
|
||||
sudo iptables -A FORWARD -i eth0 -o lxc-pchecker -j ACCEPT | tee -a $RESULT 2>&1
|
||||
sudo iptables -t nat -A POSTROUTING -s $PLAGE_IP.0/24 -j MASQUERADE | tee -a $RESULT 2>&1
|
||||
|
||||
if [ "$no_lxc" -eq 0 ]; then
|
||||
YUNOHOST_LOG=/var/lib/lxc/$LXC_NAME/rootfs$YUNOHOST_LOG #Prend le log de la machine lxc plutôt que celui de l'hôte
|
||||
fi
|
||||
}
|
||||
|
||||
LXC_START () {
|
||||
if [ "$no_lxc" -eq 0 ]
|
||||
then
|
||||
# Démarrage de la machine
|
||||
sudo lxc-start -n $LXC_NAME -d | tee -a $RESULT 2>&1
|
||||
for i in `seq 1 10`
|
||||
do # Vérifie que la machine est accessible en ssh avant de commencer. Il lui faut le temps de démarrer.
|
||||
echo -n .
|
||||
if ssh $ARG_SSH $LXC_NAME "exit 0" > /dev/null 2>&1; then
|
||||
break
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
sudo lxc-ls -f | grep $LXC_NAME | sed 's/- NO//'
|
||||
if [ $(sudo lxc-info --name $LXC_NAME | grep -c "STOPPED") -ne 0 ]; then
|
||||
ECHO_FORMAT "Le conteneur n'a pas démarré correctement...\n" "lred" "bold"
|
||||
return 1
|
||||
fi
|
||||
scp -rq "$APP_CHECK" "$LXC_NAME": >> $RESULT 2>&1
|
||||
ssh $ARG_SSH $LXC_NAME "$1 > /dev/null 2>> \"$OUTPUTD\"; exit \$?" >> $RESULT 2>&1 # Exécute la commande dans la machine LXC
|
||||
sudo cat "/var/lib/lxc/$LXC_NAME/rootfs/home/pchecker/$OUTPUTD" >> "$OUTPUTD" # Récupère le contenu du OUTPUTD distant pour le réinjecter dans le local
|
||||
return "$?"
|
||||
else # Sinon exécute la commande directement.
|
||||
command=$(echo "$1" | sed "s@\"@@g") # Remplace les guillemets doubles par des simples
|
||||
$command > /dev/null 2>> "$OUTPUTD"
|
||||
fi
|
||||
}
|
||||
|
||||
LXC_STOP () {
|
||||
if [ "$no_lxc" -eq 0 ]
|
||||
then
|
||||
# Arrêt de la machine virtualisée
|
||||
if [ $(sudo lxc-info --name $LXC_NAME | grep -c "STOPPED") -eq 0 ]; then
|
||||
echo "Arrêt du conteneur LXC" | tee -a $RESULT
|
||||
sudo lxc-stop -n $LXC_NAME | tee -a $RESULT 2>&1
|
||||
fi
|
||||
# Restaure le snapshot.
|
||||
echo "Restauration du snapshot de la machine lxc" | tee -a $RESULT
|
||||
sudo rsync -aEAX --delete -i /var/lib/lxcsnaps/$LXC_NAME/snap0/rootfs/ /var/lib/lxc/$LXC_NAME/rootfs/ >> $RESULT 2>&1
|
||||
fi
|
||||
}
|
||||
|
||||
LXC_TURNOFF () {
|
||||
echo "Arrêt du réseau pour le conteneur."
|
||||
# Suppression des règles de parefeu
|
||||
if sudo iptables -D FORWARD -i lxc-pchecker -o eth0 -j ACCEPT 2> /dev/null
|
||||
then
|
||||
sudo iptables -D FORWARD -i lxc-pchecker -o eth0 -j ACCEPT >> $RESULT 2>&1
|
||||
fi
|
||||
if sudo iptables -C FORWARD -i eth0 -o lxc-pchecker -j ACCEPT 2> /dev/null
|
||||
then
|
||||
sudo iptables -D FORWARD -i eth0 -o lxc-pchecker -j ACCEPT | tee -a $RESULT 2>&1
|
||||
fi
|
||||
if sudo iptables -t nat -C POSTROUTING -s $PLAGE_IP.0/24 -j MASQUERADE 2> /dev/null
|
||||
then
|
||||
sudo iptables -t nat -D POSTROUTING -s $PLAGE_IP.0/24 -j MASQUERADE | tee -a $RESULT 2>&1
|
||||
fi
|
||||
# Et arrêt du bridge
|
||||
if sudo ifquery lxc-pchecker --state > /dev/null
|
||||
then
|
||||
sudo ifdown lxc-pchecker | tee -a $RESULT 2>&1
|
||||
fi
|
||||
}
|
34
sub_scripts/lxc_remove.sh
Executable file
34
sub_scripts/lxc_remove.sh
Executable file
|
@ -0,0 +1,34 @@
|
|||
#!/bin/bash
|
||||
|
||||
LXC_NAME=$(cat sub_scripts/lxc_build.sh | grep LXC_NAME= | cut -d '=' -f2)
|
||||
|
||||
# Check root
|
||||
CHECK_ROOT=$EUID
|
||||
if [ -z "$CHECK_ROOT" ];then CHECK_ROOT=0;fi
|
||||
if [ $CHECK_ROOT -eq 0 ]
|
||||
then # $EUID est vide sur une exécution avec sudo. Et vaut 0 pour root
|
||||
echo "Le script ne doit pas être exécuté avec les droits root"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Retire l'ip forwarding."
|
||||
sudo rm /etc/sysctl.d/lxc_pchecker.conf
|
||||
sudo sysctl -p
|
||||
|
||||
echo "Désactive le bridge réseau"
|
||||
sudo ifdown lxc-pchecker
|
||||
|
||||
echo "Supprime le brige réseau"
|
||||
sudo rm /etc/network/interfaces.d/lxc-pchecker
|
||||
|
||||
echo "Suppression de la machine et de son snapshots"
|
||||
sudo lxc-snapshot -n $LXC_NAME -d snap0
|
||||
sudo rm -f /var/lib/lxcsnaps/$LXC_NAME/snap0.tar.gz
|
||||
sudo lxc-destroy -n $LXC_NAME -f
|
||||
|
||||
echo "Remove lxc lxctl"
|
||||
sudo apt-get remove lxc lxctl
|
||||
|
||||
echo "Suppression des lignes de pchecker_lxc dans .ssh/config"
|
||||
BEGIN_LINE=$(cat $HOME/.ssh/config | grep -n "^# ssh pchecker_lxc$" | cut -d':' -f 1)
|
||||
sed -i "$BEGIN_LINE,/^IdentityFile/d" $HOME/.ssh/config
|
49
sub_scripts/lxc_upgrade.sh
Normal file
49
sub_scripts/lxc_upgrade.sh
Normal file
|
@ -0,0 +1,49 @@
|
|||
#!/bin/bash
|
||||
|
||||
PLAGE_IP=$(cat sub_scripts/lxc_build.sh | grep PLAGE_IP= | cut -d '"' -f2)
|
||||
LXC_NAME=$(cat sub_scripts/lxc_build.sh | grep LXC_NAME= | cut -d '=' -f2)
|
||||
|
||||
echo "Active le bridge réseau"
|
||||
sudo ifup lxc-pchecker
|
||||
|
||||
echo "Configure le parefeu"
|
||||
sudo iptables -A FORWARD -i lxc-pchecker -o eth0 -j ACCEPT
|
||||
sudo iptables -A FORWARD -i eth0 -o lxc-pchecker -j ACCEPT
|
||||
sudo iptables -t nat -A POSTROUTING -s $PLAGE_IP.0/24 -j MASQUERADE
|
||||
|
||||
echo "Démarrage de la machine"
|
||||
sudo lxc-start -n $LXC_NAME -d
|
||||
sleep 3
|
||||
sudo lxc-ls -f
|
||||
|
||||
echo "Update"
|
||||
sudo lxc-attach -n $LXC_NAME -- apt-get update
|
||||
sudo lxc-attach -n $LXC_NAME -- apt-get dist-upgrade --dry-run | grep -q "^Inst " # Vérifie si il y aura des mises à jour.
|
||||
if [ "$?" -eq 0 ]; then
|
||||
update_apt=1
|
||||
fi
|
||||
echo "update_apt=$update_apt"
|
||||
echo "Upgrade"
|
||||
sudo lxc-attach -n $LXC_NAME -- apt-get dist-upgrade
|
||||
echo "Clean"
|
||||
sudo lxc-attach -n $LXC_NAME -- apt-get autoremove
|
||||
sudo lxc-attach -n $LXC_NAME -- apt-get autoclean
|
||||
|
||||
echo "Arrêt de la machine virtualisée"
|
||||
sudo lxc-stop -n $LXC_NAME
|
||||
|
||||
echo "Suppression des règles de parefeu"
|
||||
sudo iptables -D FORWARD -i lxc-pchecker -o eth0 -j ACCEPT
|
||||
sudo iptables -D FORWARD -i eth0 -o lxc-pchecker -j ACCEPT
|
||||
sudo iptables -t nat -D POSTROUTING -s $PLAGE_IP.0/24 -j MASQUERADE
|
||||
sudo ifdown lzc-pchecker
|
||||
|
||||
|
||||
if [ "$update_apt" -eq 1 ]
|
||||
then
|
||||
echo "Archivage du snapshot"
|
||||
sudo tar -czf --acls --xattrs /var/lib/lxcsnaps/$LXC_NAME/snap0.tar.gz /var/lib/lxcsnaps/$LXC_NAME/snap0
|
||||
echo "Remplacement du snapshot"
|
||||
sudo lxc-snapshot -n $LXC_NAME -d snap0
|
||||
sudo lxc-snapshot -n $LXC_NAME
|
||||
fi
|
|
@ -7,31 +7,37 @@ echo -e "\nChargement des fonctions de testing_process.sh"
|
|||
|
||||
source $abs_path/sub_scripts/log_extractor.sh
|
||||
|
||||
echo -n "" > $RESULT # Initialise le fichier des résulats d'analyse
|
||||
|
||||
SETUP_APP () {
|
||||
# echo -e "MANIFEST_ARGS=$MANIFEST_ARGS_MOD"
|
||||
COPY_LOG 1
|
||||
sudo yunohost --debug app install $APP_CHECK -a "$MANIFEST_ARGS_MOD" > /dev/null 2>&1
|
||||
LXC_START "sudo yunohost --debug app install $APP_CHECK -a \"$MANIFEST_ARGS_MOD\""
|
||||
YUNOHOST_RESULT=$?
|
||||
COPY_LOG 2
|
||||
APPID=$(grep -o "YNH_APP_INSTANCE_NAME=[^ ]*" "$OUTPUTD" | cut -d '=' -f2) # Récupère le nom de l'app au moment de l'install. Pour pouvoir le réutiliser dans les commandes yunohost. La regex matche tout ce qui suit le =, jusqu'à l'espace.
|
||||
APPID=$(grep -o -m1 "YNH_APP_INSTANCE_NAME=[^ ]*" "$OUTPUTD" | cut -d '=' -f2) # Récupère le nom de l'app au moment de l'install. Pour pouvoir le réutiliser dans les commandes yunohost. La regex matche tout ce qui suit le =, jusqu'à l'espace.
|
||||
}
|
||||
|
||||
REMOVE_APP () {
|
||||
if [ "$auto_remove" -eq 0 ]; then # Si l'auto_remove est désactivée. Marque une pause avant de continuer.
|
||||
if [ "$auto_remove" -eq 0 ] && [ "$bash_mode" -ne 1 ]; then # Si l'auto_remove est désactivée. Marque une pause avant de continuer.
|
||||
if [ "$no_lxc" -eq 0 ]; then
|
||||
echo "Utilisez ssh pour vous connecter au conteneur LXC. 'ssh $ARG_SSH $LXC_NAME'"
|
||||
fi
|
||||
read -p "Appuyer sur une touche pour supprimer l'application et continuer les tests..." < /dev/tty
|
||||
fi
|
||||
ECHO_FORMAT "\nSuppression...\n" "white" "bold"
|
||||
COPY_LOG 1
|
||||
sudo yunohost --debug app remove $APPID > /dev/null 2>&1
|
||||
LXC_START "sudo yunohost --debug app remove \"$APPID\""
|
||||
YUNOHOST_REMOVE=$?
|
||||
COPY_LOG 2
|
||||
}
|
||||
|
||||
CHECK_URL () {
|
||||
ECHO_FORMAT "\nAccès par l'url...\n" "white" "bold"
|
||||
echo "127.0.0.1 $SOUS_DOMAIN #package_check" | sudo tee -a /etc/hosts > /dev/null # Renseigne le hosts pour le domain à tester, pour passer directement sur localhost
|
||||
if [ "$no_lxc" -eq 0 ]; then
|
||||
IP_CURL="$(cat sub_scripts/lxc_build.sh | grep PLAGE_IP= | cut -d '"' -f2).2"
|
||||
else
|
||||
IP_CURL="127.0.0.1"
|
||||
fi
|
||||
echo "$IP_CURL $SOUS_DOMAIN #package_check" | sudo tee -a /etc/hosts > /dev/null # Renseigne le hosts pour le domain à tester, pour passer directement sur localhost
|
||||
curl -LksS $SOUS_DOMAIN/$CHECK_PATH -o url_output
|
||||
URL_TITLE=$(grep "<title>" url_output | cut -d '>' -f 2 | cut -d '<' -f1)
|
||||
ECHO_FORMAT "Titre de la page: $URL_TITLE\n" "white"
|
||||
|
@ -45,12 +51,15 @@ CHECK_URL () {
|
|||
grep "<body" -A 20 url_output | sed 1d | tee -a $RESULT
|
||||
echo -e "\e[0m"
|
||||
fi
|
||||
sudo sed -i '/#package_check/d' /etc/hosts # Supprime la ligne dans le hosts
|
||||
if [ "$no_lxc" -eq 0 ]; then
|
||||
sudo sed -i '/#package_check/d' /etc/hosts # Supprime la ligne dans le hosts
|
||||
fi
|
||||
}
|
||||
|
||||
CHECK_SETUP_SUBDIR () {
|
||||
# Test d'installation en sous-dossier
|
||||
ECHO_FORMAT "\n\n>> Installation en sous-dossier...\n" "white" "bold"
|
||||
ECHO_FORMAT "\n\n>> Installation en sous-dossier... [Test $cur_test/$all_test]\n" "white" "bold"
|
||||
cur_test=$((cur_test+1))
|
||||
if [ -z "$MANIFEST_DOMAIN" ]; then
|
||||
echo "Clé de manifest pour 'domain' introuvable dans le fichier check_process. Impossible de procéder à ce test"
|
||||
return
|
||||
|
@ -74,8 +83,11 @@ CHECK_SETUP_SUBDIR () {
|
|||
# Installation de l'app
|
||||
SETUP_APP
|
||||
LOG_EXTRACTOR
|
||||
tnote=$((tnote+2))
|
||||
install_pass=1
|
||||
if [ "$YUNOHOST_RESULT" -eq 0 ]; then
|
||||
ECHO_FORMAT "--- SUCCESS ---\n" "lgreen" "bold"
|
||||
note=$((note+2))
|
||||
GLOBAL_CHECK_SETUP=1 # Installation réussie
|
||||
GLOBAL_CHECK_SUB_DIR=1 # Installation en sous-dossier réussie
|
||||
else
|
||||
|
@ -93,8 +105,11 @@ CHECK_SETUP_SUBDIR () {
|
|||
if [ "$YUNOHOST_RESULT" -eq 0 ] # Si l'installation a été un succès. On teste la suppression
|
||||
then
|
||||
LOG_EXTRACTOR
|
||||
tnote=$((tnote+2))
|
||||
install_pass=2
|
||||
if [ "$YUNOHOST_REMOVE" -eq 0 ]; then
|
||||
ECHO_FORMAT "--- SUCCESS ---\n" "lgreen" "bold"
|
||||
note=$((note+2))
|
||||
GLOBAL_CHECK_REMOVE_SUBDIR=1 # Suppression en sous-dossier réussie
|
||||
GLOBAL_CHECK_REMOVE=1 # Suppression réussie
|
||||
else
|
||||
|
@ -109,7 +124,8 @@ CHECK_SETUP_SUBDIR () {
|
|||
|
||||
CHECK_SETUP_ROOT () {
|
||||
# Test d'installation à la racine
|
||||
ECHO_FORMAT "\n\n>> Installation à la racine...\n" "white" "bold"
|
||||
ECHO_FORMAT "\n\n>> Installation à la racine... [Test $cur_test/$all_test]\n" "white" "bold"
|
||||
cur_test=$((cur_test+1))
|
||||
if [ -z "$MANIFEST_DOMAIN" ]; then
|
||||
echo "Clé de manifest pour 'domain' introuvable dans le fichier check_process. Impossible de procéder à ce test"
|
||||
return
|
||||
|
@ -133,8 +149,18 @@ CHECK_SETUP_ROOT () {
|
|||
# Installation de l'app
|
||||
SETUP_APP
|
||||
LOG_EXTRACTOR
|
||||
if [ "$install_pass" -gt 0 ]; then
|
||||
tnote=$((tnote+1))
|
||||
else
|
||||
tnote=$((tnote+2))
|
||||
fi
|
||||
if [ "$YUNOHOST_RESULT" -eq 0 ]; then
|
||||
ECHO_FORMAT "--- SUCCESS ---\n" "lgreen" "bold"
|
||||
if [ "$GLOBAL_CHECK_SETUP" -eq 1 ]; then
|
||||
note=$((note+1))
|
||||
else
|
||||
note=$((note+2))
|
||||
fi
|
||||
GLOBAL_CHECK_SETUP=1 # Installation réussie
|
||||
GLOBAL_CHECK_ROOT=1 # Installation à la racine réussie
|
||||
else
|
||||
|
@ -152,8 +178,19 @@ CHECK_SETUP_ROOT () {
|
|||
if [ "$YUNOHOST_RESULT" -eq 0 ] # Si l'installation a été un succès. On teste la suppression
|
||||
then
|
||||
LOG_EXTRACTOR
|
||||
if [ "$install_pass" -eq 2 ]; then
|
||||
tnote=$((tnote+1))
|
||||
else
|
||||
tnote=$((tnote+2))
|
||||
fi
|
||||
install_pass=3
|
||||
if [ "$YUNOHOST_REMOVE" -eq 0 ]; then
|
||||
ECHO_FORMAT "--- SUCCESS ---\n" "lgreen" "bold"
|
||||
if [ "$GLOBAL_CHECK_REMOVE" -eq 0 ]; then
|
||||
note=$((note+2))
|
||||
else
|
||||
note=$((note+1))
|
||||
fi
|
||||
GLOBAL_CHECK_REMOVE_ROOT=1 # Suppression à la racine réussie
|
||||
GLOBAL_CHECK_REMOVE=1 # Suppression réussie
|
||||
else
|
||||
|
@ -164,17 +201,25 @@ CHECK_SETUP_ROOT () {
|
|||
GLOBAL_CHECK_REMOVE_ROOT=-1 # Suppression à la racine échouée
|
||||
fi
|
||||
fi
|
||||
install_pass=$((install_pass+1))
|
||||
}
|
||||
|
||||
CHECK_SETUP_NO_URL () {
|
||||
# Test d'installation sans accès par url
|
||||
ECHO_FORMAT "\n\n>> Installation sans accès par url...\n" "white" "bold"
|
||||
ECHO_FORMAT "\n\n>> Installation sans accès par url... [Test $cur_test/$all_test]\n" "white" "bold"
|
||||
cur_test=$((cur_test+1))
|
||||
MANIFEST_ARGS_MOD=$MANIFEST_ARGS # Copie des arguments
|
||||
# Installation de l'app
|
||||
SETUP_APP
|
||||
LOG_EXTRACTOR
|
||||
if [ "$install_pass" -eq 0 ]; then
|
||||
tnote=$((tnote+1))
|
||||
fi
|
||||
if [ "$YUNOHOST_RESULT" -eq 0 ]; then
|
||||
ECHO_FORMAT "--- SUCCESS ---\n" "lgreen" "bold"
|
||||
if [ "$GLOBAL_CHECK_SETUP" -eq 0 ]; then
|
||||
note=$((note+1))
|
||||
fi
|
||||
GLOBAL_CHECK_SETUP=1 # Installation réussie
|
||||
else
|
||||
ECHO_FORMAT "--- FAIL ---\n" "lred" "bold"
|
||||
|
@ -187,8 +232,14 @@ CHECK_SETUP_NO_URL () {
|
|||
if [ "$YUNOHOST_RESULT" -eq 0 ] # Si l'installation a été un succès. On teste la suppression
|
||||
then
|
||||
LOG_EXTRACTOR
|
||||
if [ "$install_pass" -eq 1 ] || [ "$install_pass" -eq 3 ]; then
|
||||
tnote=$((tnote+1))
|
||||
fi
|
||||
if [ "$YUNOHOST_REMOVE" -eq 0 ]; then
|
||||
ECHO_FORMAT "--- SUCCESS ---\n" "lgreen" "bold"
|
||||
if [ "$GLOBAL_CHECK_REMOVE_ROOT" -eq 0 ]; then
|
||||
note=$((note+1))
|
||||
fi
|
||||
GLOBAL_CHECK_REMOVE_ROOT=1 # Suppression réussie
|
||||
else
|
||||
ECHO_FORMAT "--- FAIL ---\n" "lred" "bold"
|
||||
|
@ -202,7 +253,8 @@ CHECK_SETUP_NO_URL () {
|
|||
|
||||
CHECK_UPGRADE () {
|
||||
# Test d'upgrade
|
||||
ECHO_FORMAT "\n\n>> Upgrade...\n" "white" "bold"
|
||||
ECHO_FORMAT "\n\n>> Upgrade... [Test $cur_test/$all_test]\n" "white" "bold"
|
||||
cur_test=$((cur_test+1))
|
||||
if [ "$GLOBAL_CHECK_SETUP" -ne 1 ]; then
|
||||
echo "L'installation a échouée, impossible d'effectuer ce test..."
|
||||
return;
|
||||
|
@ -231,12 +283,14 @@ CHECK_UPGRADE () {
|
|||
ECHO_FORMAT "\nUpgrade sur la même version du package...\n" "white" "bold"
|
||||
# Upgrade de l'app
|
||||
COPY_LOG 1
|
||||
sudo yunohost --debug app upgrade $APPID -f $APP_CHECK > /dev/null 2>&1
|
||||
LXC_START "sudo yunohost --debug app upgrade $APPID -f $APP_CHECK"
|
||||
YUNOHOST_RESULT=$?
|
||||
COPY_LOG 2
|
||||
LOG_EXTRACTOR
|
||||
tnote=$((tnote+1))
|
||||
if [ "$YUNOHOST_RESULT" -eq 0 ]; then
|
||||
ECHO_FORMAT "--- SUCCESS ---\n" "lgreen" "bold"
|
||||
note=$((note+1))
|
||||
GLOBAL_CHECK_UPGRADE=1 # Upgrade réussie
|
||||
else
|
||||
ECHO_FORMAT "--- FAIL ---\n" "lred" "bold"
|
||||
|
@ -244,13 +298,16 @@ CHECK_UPGRADE () {
|
|||
fi
|
||||
# Test l'accès à l'app
|
||||
CHECK_URL
|
||||
# Suppression de l'app
|
||||
REMOVE_APP
|
||||
if [ "$no_lxc" -ne 0 ]; then
|
||||
# Suppression de l'app si lxc n'est pas utilisé.
|
||||
REMOVE_APP
|
||||
fi
|
||||
}
|
||||
|
||||
CHECK_BACKUP_RESTORE () {
|
||||
# Test de backup
|
||||
ECHO_FORMAT "\n\n>> Backup...\n" "white" "bold"
|
||||
ECHO_FORMAT "\n\n>> Backup... [Test $cur_test/$all_test]\n" "white" "bold"
|
||||
cur_test=$((cur_test+1))
|
||||
if [ "$GLOBAL_CHECK_SETUP" -ne 1 ]; then
|
||||
echo "L'installation a échouée, impossible d'effectuer ce test..."
|
||||
fi
|
||||
|
@ -278,12 +335,14 @@ CHECK_BACKUP_RESTORE () {
|
|||
ECHO_FORMAT "\nBackup de l'application...\n" "white" "bold"
|
||||
# Backup de l'app
|
||||
COPY_LOG 1
|
||||
sudo yunohost --debug backup create -n Backup_test --apps $APPID --hooks $BACKUP_HOOKS > /dev/null 2>&1
|
||||
LXC_START "sudo yunohost --debug backup create -n Backup_test --apps $APPID --hooks $BACKUP_HOOKS"
|
||||
YUNOHOST_RESULT=$?
|
||||
COPY_LOG 2
|
||||
LOG_EXTRACTOR
|
||||
tnote=$((tnote+1))
|
||||
if [ "$YUNOHOST_RESULT" -eq 0 ]; then
|
||||
ECHO_FORMAT "--- SUCCESS ---\n" "lgreen" "bold"
|
||||
note=$((note+1))
|
||||
GLOBAL_CHECK_BACKUP=1 # Backup réussi
|
||||
else
|
||||
ECHO_FORMAT "--- FAIL ---\n" "lred" "bold"
|
||||
|
@ -294,12 +353,14 @@ CHECK_BACKUP_RESTORE () {
|
|||
ECHO_FORMAT "\nRestauration de l'application...\n" "white" "bold"
|
||||
# Restore de l'app
|
||||
COPY_LOG 1
|
||||
sudo yunohost --debug backup restore Backup_test --force --apps $APPID > /dev/null 2>&1
|
||||
LXC_START "sudo yunohost --debug backup restore Backup_test --force --apps $APPID"
|
||||
YUNOHOST_RESULT=$?
|
||||
COPY_LOG 2
|
||||
LOG_EXTRACTOR
|
||||
tnote=$((tnote+1))
|
||||
if [ "$YUNOHOST_RESULT" -eq 0 ]; then
|
||||
ECHO_FORMAT "--- SUCCESS ---\n" "lgreen" "bold"
|
||||
note=$((note+1))
|
||||
GLOBAL_CHECK_RESTORE=1 # Restore réussi
|
||||
else
|
||||
ECHO_FORMAT "--- FAIL ---\n" "lred" "bold"
|
||||
|
@ -307,20 +368,23 @@ CHECK_BACKUP_RESTORE () {
|
|||
fi
|
||||
# Test l'accès à l'app
|
||||
CHECK_URL
|
||||
# Suppression de l'app
|
||||
REMOVE_APP
|
||||
# Suppression de l'archive
|
||||
sudo yunohost backup delete Backup_test > /dev/null 2>&1
|
||||
if [ "$no_lxc" -ne 0 ]; then
|
||||
# Suppression de l'app si lxc n'est pas utilisé.
|
||||
REMOVE_APP
|
||||
# Suppression de l'archive
|
||||
sudo yunohost backup delete Backup_test > /dev/null
|
||||
fi
|
||||
}
|
||||
|
||||
CHECK_PUBLIC_PRIVATE () {
|
||||
# Test d'installation en public/privé
|
||||
if [ "$1" == "private" ]; then
|
||||
ECHO_FORMAT "\n\n>> Installation privée...\n" "white" "bold"
|
||||
ECHO_FORMAT "\n\n>> Installation privée... [Test $cur_test/$all_test]\n" "white" "bold"
|
||||
fi
|
||||
if [ "$1" == "public" ]; then
|
||||
ECHO_FORMAT "\n\n>> Installation publique...\n" "white" "bold"
|
||||
ECHO_FORMAT "\n\n>> Installation publique... [Test $cur_test/$all_test]\n" "white" "bold"
|
||||
fi
|
||||
cur_test=$((cur_test+1))
|
||||
if [ "$GLOBAL_CHECK_SETUP" -ne 1 ]; then
|
||||
echo "L'installation a échouée, impossible d'effectuer ce test..."
|
||||
return
|
||||
|
@ -373,8 +437,10 @@ CHECK_PUBLIC_PRIVATE () {
|
|||
fi
|
||||
fi
|
||||
LOG_EXTRACTOR
|
||||
tnote=$((tnote+1))
|
||||
if [ "$YUNOHOST_RESULT" -eq 0 ]; then
|
||||
ECHO_FORMAT "--- SUCCESS ---\n" "lgreen" "bold"
|
||||
note=$((note+1))
|
||||
if [ "$1" == "private" ]; then
|
||||
GLOBAL_CHECK_PRIVATE=1 # Installation privée réussie
|
||||
fi
|
||||
|
@ -390,13 +456,16 @@ CHECK_PUBLIC_PRIVATE () {
|
|||
GLOBAL_CHECK_PUBLIC=-1 # Installation publique échouée
|
||||
fi
|
||||
fi
|
||||
# Suppression de l'app
|
||||
REMOVE_APP
|
||||
if [ "$no_lxc" -ne 0 ]; then
|
||||
# Suppression de l'app si lxc n'est pas utilisé.
|
||||
REMOVE_APP
|
||||
fi
|
||||
}
|
||||
|
||||
CHECK_MULTI_INSTANCE () {
|
||||
# Test d'installation en multi-instance
|
||||
ECHO_FORMAT "\n\n>> Installation multi-instance...\n" "white" "bold"
|
||||
ECHO_FORMAT "\n\n>> Installation multi-instance... [Test $cur_test/$all_test]\n" "white" "bold"
|
||||
cur_test=$((cur_test+1))
|
||||
if [ "$GLOBAL_CHECK_SETUP" -ne 1 ]; then
|
||||
echo "L'installation a échouée, impossible d'effectuer ce test..."
|
||||
return
|
||||
|
@ -426,8 +495,10 @@ CHECK_MULTI_INSTANCE () {
|
|||
CHECK_PATH="$PATH_TEST-2"
|
||||
SETUP_APP
|
||||
LOG_EXTRACTOR
|
||||
tnote=$((tnote+1))
|
||||
if [ "$YUNOHOST_RESULT" -eq 0 ] && [ "$YUNOHOST_RESULT_first" -eq 0 ]; then
|
||||
ECHO_FORMAT "--- SUCCESS ---\n" "lgreen" "bold"
|
||||
note=$((note+1))
|
||||
GLOBAL_CHECK_MULTI_INSTANCE=1 # Installation multi-instance réussie
|
||||
else
|
||||
ECHO_FORMAT "--- FAIL ---\n" "lred" "bold"
|
||||
|
@ -439,38 +510,41 @@ CHECK_MULTI_INSTANCE () {
|
|||
# Test l'accès à la 2e instance de l'app
|
||||
CHECK_PATH="$PATH_TEST-2"
|
||||
CHECK_URL
|
||||
# Suppression de la 2e app
|
||||
REMOVE_APP
|
||||
# Suppression de la 1ère app
|
||||
APPID=$APPID_first
|
||||
REMOVE_APP
|
||||
if [ "$no_lxc" -ne 0 ]; then
|
||||
# Suppression de la 2e app si lxc n'est pas utilisé.
|
||||
REMOVE_APP
|
||||
# Suppression de la 1ère app
|
||||
APPID=$APPID_first
|
||||
REMOVE_APP
|
||||
fi
|
||||
}
|
||||
|
||||
CHECK_COMMON_ERROR () {
|
||||
# Test d'erreur depuis le manifest
|
||||
if [ "$1" == "wrong_user" ]; then
|
||||
ECHO_FORMAT "\n\n>> Erreur d'utilisateur...\n" "white" "bold"
|
||||
ECHO_FORMAT "\n\n>> Erreur d'utilisateur... [Test $cur_test/$all_test]\n" "white" "bold"
|
||||
fi
|
||||
if [ "$1" == "wrong_path" ]; then
|
||||
ECHO_FORMAT "\n\n>> Erreur de domaine...\n" "white" "bold"
|
||||
ECHO_FORMAT "\n\n>> Erreur de domaine... [Test $cur_test/$all_test]\n" "white" "bold"
|
||||
fi
|
||||
if [ "$1" == "incorrect_path" ]; then
|
||||
ECHO_FORMAT "\n\n>> Path mal formé...\n" "white" "bold"
|
||||
ECHO_FORMAT "\n\n>> Path mal formé... [Test $cur_test/$all_test]\n" "white" "bold"
|
||||
fi
|
||||
if [ "$1" == "port_already_use" ]; then
|
||||
ECHO_FORMAT "\n\n>> Port déjà utilisé...\n" "white" "bold"
|
||||
ECHO_FORMAT "\n\n>> Port déjà utilisé... [Test $cur_test/$all_test]\n" "white" "bold"
|
||||
if [ -z "$MANIFEST_PORT" ]; then
|
||||
echo "Clé de manifest pour 'port' introuvable dans le fichier check_process. Impossible de procéder à ce test"
|
||||
echo "Clé de manifest pour 'port' introuvable ou port non renseigné dans le fichier check_process. Impossible de procéder à ce test"
|
||||
return
|
||||
fi
|
||||
fi
|
||||
cur_test=$((cur_test+1))
|
||||
if [ "$GLOBAL_CHECK_SETUP" -ne 1 ]; then
|
||||
echo "L'installation a échouée, impossible d'effectuer ce test..."
|
||||
return
|
||||
fi
|
||||
MANIFEST_ARGS_MOD=$MANIFEST_ARGS # Copie des arguments
|
||||
if [ "$1" == "wrong_path" ]; then # Force un domaine incorrect
|
||||
MANIFEST_ARGS_MOD=$(echo $MANIFEST_ARGS_MOD | sed "s/$MANIFEST_DOMAIN=[a-Z./-$]*\&/$MANIFEST_DOMAIN=domain.tld\&/")
|
||||
MANIFEST_ARGS_MOD=$(echo $MANIFEST_ARGS_MOD | sed "s/$MANIFEST_DOMAIN=[a-Z./-$]*\&/$MANIFEST_DOMAIN=domainenerreur.rien\&/")
|
||||
else
|
||||
MANIFEST_ARGS_MOD=$(echo $MANIFEST_ARGS_MOD | sed "s/$MANIFEST_DOMAIN=[a-Z./-$]*\&/$MANIFEST_DOMAIN=$SOUS_DOMAIN\&/")
|
||||
fi
|
||||
|
@ -498,12 +572,19 @@ CHECK_COMMON_ERROR () {
|
|||
MANIFEST_ARGS_MOD=$(echo $MANIFEST_ARGS_MOD | sed "s/$MANIFEST_PUBLIC=[a-Z]*\&/$MANIFEST_PUBLIC=$MANIFEST_PUBLIC_public\&/")
|
||||
fi
|
||||
if [ "$1" == "port_already_use" ]; then # Force un port déjà utilisé
|
||||
MANIFEST_ARGS_MOD=$(echo $MANIFEST_ARGS_MOD | sed "s@$MANIFEST_PORT=[0-9$]*\&@$MANIFEST_PORT=6660\&@")
|
||||
sudo yunohost firewall allow Both 6660 > /dev/null 2>&1
|
||||
if [ "${MANIFEST_PORT:0:1}" == "#" ] # Si le premier caractère de $MANIFEST_PORT est un #, c'est un numéro de port. Absent du manifest
|
||||
then
|
||||
check_port="${MANIFEST_PORT:1}" # Récupère le numéro de port
|
||||
else
|
||||
MANIFEST_ARGS_MOD=$(echo $MANIFEST_ARGS_MOD | sed "s@$MANIFEST_PORT=[0-9$]*\&@$MANIFEST_PORT=6660\&@")
|
||||
check_port=6660 # Sinon fixe le port à 6660 dans le manifest
|
||||
fi
|
||||
LXC_START "sudo yunohost firewall allow Both $check_port"
|
||||
fi
|
||||
# Installation de l'app
|
||||
SETUP_APP
|
||||
LOG_EXTRACTOR
|
||||
tnote=$((tnote+1))
|
||||
if [ "$YUNOHOST_RESULT" -eq 0 ]; then # wrong_user et wrong_path doivent aboutir à échec de l'installation. C'est l'inverse pour incorrect_path et port_already_use.
|
||||
if [ "$1" == "wrong_user" ]; then
|
||||
ECHO_FORMAT "--- FAIL ---\n" "lred" "bold"
|
||||
|
@ -515,19 +596,23 @@ CHECK_COMMON_ERROR () {
|
|||
fi
|
||||
if [ "$1" == "incorrect_path" ]; then
|
||||
ECHO_FORMAT "--- SUCCESS ---\n" "lgreen" "bold"
|
||||
note=$((note+1))
|
||||
GLOBAL_CHECK_PATH=1 # Installation privée réussie
|
||||
fi
|
||||
if [ "$1" == "port_already_use" ]; then
|
||||
ECHO_FORMAT "--- SUCCESS ---\n" "lgreen" "bold"
|
||||
note=$((note+1))
|
||||
GLOBAL_CHECK_PORT=1 # Installation privée réussie
|
||||
fi
|
||||
else
|
||||
if [ "$1" == "wrong_user" ]; then
|
||||
ECHO_FORMAT "--- SUCCESS ---\n" "lgreen" "bold"
|
||||
note=$((note+1))
|
||||
GLOBAL_CHECK_ADMIN=1 # Installation privée échouée
|
||||
fi
|
||||
if [ "$1" == "wrong_path" ]; then
|
||||
ECHO_FORMAT "--- SUCCESS ---\n" "lgreen" "bold"
|
||||
note=$((note+1))
|
||||
GLOBAL_CHECK_DOMAIN=1 # Installation privée échouée
|
||||
fi
|
||||
if [ "$1" == "incorrect_path" ]; then
|
||||
|
@ -543,16 +628,19 @@ CHECK_COMMON_ERROR () {
|
|||
# Test l'accès à l'app
|
||||
CHECK_URL
|
||||
fi
|
||||
# Suppression de l'app
|
||||
REMOVE_APP
|
||||
if [ "$1" == "port_already_use" ]; then # Libère le port ouvert pour le test
|
||||
sudo yunohost firewall disallow Both 6660 > /dev/null
|
||||
if [ "$no_lxc" -ne 0 ]; then
|
||||
# Suppression de l'app si lxc n'est pas utilisé.
|
||||
REMOVE_APP
|
||||
if [ "$1" == "port_already_use" ]; then # Libère le port ouvert pour le test
|
||||
sudo yunohost firewall disallow Both $check_port > /dev/null
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
CHECK_CORRUPT () {
|
||||
# Test d'erreur sur source corrompue
|
||||
ECHO_FORMAT "\n\n>> Source corrompue après téléchargement...\n" "white" "bold"
|
||||
ECHO_FORMAT "\n\n>> Source corrompue après téléchargement... [Test $cur_test/$all_test]\n" "white" "bold"
|
||||
cur_test=$((cur_test+1))
|
||||
if [ "$GLOBAL_CHECK_SETUP" -ne 1 ]; then
|
||||
echo "L'installation a échouée, impossible d'effectuer ce test..."
|
||||
fi
|
||||
|
@ -561,7 +649,8 @@ echo -n "Non implémenté"
|
|||
}
|
||||
CHECK_DL () {
|
||||
# Test d'erreur de téléchargement de la source
|
||||
ECHO_FORMAT "\n\n>> Erreur de téléchargement de la source...\n" "white" "bold"
|
||||
ECHO_FORMAT "\n\n>> Erreur de téléchargement de la source... [Test $cur_test/$all_test]\n" "white" "bold"
|
||||
cur_test=$((cur_test+1))
|
||||
if [ "$GLOBAL_CHECK_SETUP" -ne 1 ]; then
|
||||
echo "L'installation a échouée, impossible d'effectuer ce test..."
|
||||
fi
|
||||
|
@ -570,7 +659,8 @@ echo -n "Non implémenté"
|
|||
}
|
||||
CHECK_FINALPATH () {
|
||||
# Test sur final path déjà utilisé.
|
||||
ECHO_FORMAT "\n\n>> Final path déjà utilisé...\n" "white" "bold"
|
||||
ECHO_FORMAT "\n\n>> Final path déjà utilisé... [Test $cur_test/$all_test]\n" "white" "bold"
|
||||
cur_test=$((cur_test+1))
|
||||
if [ "$GLOBAL_CHECK_SETUP" -ne 1 ]; then
|
||||
echo "L'installation a échouée, impossible d'effectuer ce test..."
|
||||
fi
|
||||
|
@ -580,50 +670,66 @@ echo -n "Non implémenté"
|
|||
|
||||
TESTING_PROCESS () {
|
||||
# Lancement des tests
|
||||
cur_test=1
|
||||
ECHO_FORMAT "\nScénario de test: $PROCESS_NAME\n" "white" "underlined"
|
||||
if [ "$setup_sub_dir" -eq 1 ]; then
|
||||
CHECK_SETUP_SUBDIR # Test d'installation en sous-dossier
|
||||
LXC_STOP
|
||||
fi
|
||||
if [ "$setup_root" -eq 1 ]; then
|
||||
CHECK_SETUP_ROOT # Test d'installation à la racine du domaine
|
||||
LXC_STOP
|
||||
fi
|
||||
if [ "$setup_nourl" -eq 1 ]; then
|
||||
CHECK_SETUP_NO_URL # Test d'installation sans accès par url
|
||||
LXC_STOP
|
||||
fi
|
||||
if [ "$upgrade" -eq 1 ]; then
|
||||
CHECK_UPGRADE # Test d'upgrade
|
||||
LXC_STOP
|
||||
fi
|
||||
if [ "$setup_private" -eq 1 ]; then
|
||||
CHECK_PUBLIC_PRIVATE private # Test d'installation en privé
|
||||
LXC_STOP
|
||||
fi
|
||||
if [ "$setup_public" -eq 1 ]; then
|
||||
CHECK_PUBLIC_PRIVATE public # Test d'installation en public
|
||||
LXC_STOP
|
||||
fi
|
||||
if [ "$multi_instance" -eq 1 ]; then
|
||||
CHECK_MULTI_INSTANCE # Test d'installation multiple
|
||||
LXC_STOP
|
||||
fi
|
||||
if [ "$wrong_user" -eq 1 ]; then
|
||||
CHECK_COMMON_ERROR wrong_user # Test d'erreur d'utilisateur
|
||||
LXC_STOP
|
||||
fi
|
||||
if [ "$wrong_path" -eq 1 ]; then
|
||||
CHECK_COMMON_ERROR wrong_path # Test d'erreur de path ou de domaine
|
||||
LXC_STOP
|
||||
fi
|
||||
if [ "$incorrect_path" -eq 1 ]; then
|
||||
CHECK_COMMON_ERROR incorrect_path # Test d'erreur de forme de path
|
||||
LXC_STOP
|
||||
fi
|
||||
if [ "$port_already_use" -eq 1 ]; then
|
||||
CHECK_COMMON_ERROR port_already_use # Test d'erreur de port
|
||||
LXC_STOP
|
||||
fi
|
||||
if [ "$corrupt_source" -eq 1 ]; then
|
||||
CHECK_CORRUPT # Test d'erreur sur source corrompue -> Comment je vais provoquer ça!?
|
||||
LXC_STOP
|
||||
fi
|
||||
if [ "$fail_download_source" -eq 1 ]; then
|
||||
CHECK_DL # Test d'erreur de téléchargement de la source -> Comment!?
|
||||
LXC_STOP
|
||||
fi
|
||||
if [ "$final_path_already_use" -eq 1 ]; then
|
||||
CHECK_FINALPATH # Test sur final path déjà utilisé.
|
||||
LXC_STOP
|
||||
fi
|
||||
if [ "$backup_restore" -eq 1 ]; then
|
||||
CHECK_BACKUP_RESTORE # Test de backup puis de Restauration
|
||||
LXC_STOP
|
||||
fi
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue