From 0fb7b565efd01efe5ee9a05809c958bd4cbedbb0 Mon Sep 17 00:00:00 2001 From: Maniack Crudelis Date: Tue, 9 Aug 2016 13:37:17 +0200 Subject: [PATCH] Fix interfaces.d ignored --- README.md | 18 ++++++++++++++++++ sub_scripts/lxc_build.sh | 4 ++-- sub_scripts/lxc_launcher.sh | 4 ++-- sub_scripts/lxc_remove.sh | 2 +- sub_scripts/lxc_upgrade.sh | 4 ++-- sub_scripts/testing_process.sh | 5 +++-- 6 files changed, 28 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 984273f..22b3abe 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,15 @@ Pour une app sur github: `./package_check.sh https://github.com/USER/APP_ynh` Il est nécessaire de fournir, à la racine du package de l'app à tester, un fichier `check_process` pour indiquer au script les arguments attendu et les tests à effectuer. Si ce fichier n'est pas présent, package_check sera utilisé en mode dégradé. Il va tenter de repérer les arguments domain, path et admin dans le manifest pour exécuter un nombre restreint de test, en fonction des arguments trouvés. +--- +## Déploiement du script de test + +``` +git clone https://github.com/YunoHost/package_check +package_check/sub_scripts/lxc_build.sh +package_check/package_check.sh APP_ynh +``` + --- ## Syntaxe du fichier `check_process` > A l'exception des espaces, la syntaxe du fichier doit être scrupuleusement respectée. @@ -162,6 +171,15 @@ For an app on github: `./package_check.sh https://github.com/USER/APP_ynh` It's necessary to provide, at the root of package to be tested, a `check_process` file for inform the script of needed arguments and tests to perform. If this file is not present, package_check will be used in downgraded mode. It try to retrieve domain, path and admin user arguments in the manifest for execute some tests, based on arguments found. +--- +## Deploying test script + +``` +git clone https://github.com/YunoHost/package_check +package_check/sub_scripts/lxc_build.sh +package_check/package_check.sh APP_ynh +``` + --- ## Syntax `check_process` file > Except space, this file syntax must be respected. diff --git a/sub_scripts/lxc_build.sh b/sub_scripts/lxc_build.sh index ec3c858..d29c5ac 100755 --- a/sub_scripts/lxc_build.sh +++ b/sub_scripts/lxc_build.sh @@ -41,7 +41,7 @@ iface lxc-pchecker inet static EOF echo "> Active le bridge réseau" | tee -a "$LOG_BUILD_LXC" -sudo ifup lxc-pchecker >> "$LOG_BUILD_LXC" 2>&1 +sudo ifup lxc-pchecker --interfaces=/etc/network/interfaces.d/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 @@ -128,7 +128,7 @@ 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 +sudo ifdown --force 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 diff --git a/sub_scripts/lxc_launcher.sh b/sub_scripts/lxc_launcher.sh index 1ccd26d..ad4eb40 100755 --- a/sub_scripts/lxc_launcher.sh +++ b/sub_scripts/lxc_launcher.sh @@ -8,7 +8,7 @@ echo -e "Chargement 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 + sudo ifup lxc-pchecker --interfaces=/etc/network/interfaces.d/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 @@ -79,6 +79,6 @@ LXC_TURNOFF () { # Et arrêt du bridge if sudo ifquery lxc-pchecker --state > /dev/null then - sudo ifdown lxc-pchecker | tee -a "$RESULT" 2>&1 + sudo ifdown --force lxc-pchecker | tee -a "$RESULT" 2>&1 fi } diff --git a/sub_scripts/lxc_remove.sh b/sub_scripts/lxc_remove.sh index 3adc0c0..2404dd8 100755 --- a/sub_scripts/lxc_remove.sh +++ b/sub_scripts/lxc_remove.sh @@ -19,7 +19,7 @@ sudo rm /etc/sysctl.d/lxc_pchecker.conf sudo sysctl -p echo "> Désactive le bridge réseau" -sudo ifdown lxc-pchecker +sudo ifdown --force lxc-pchecker echo "> Supprime le brige réseau" sudo rm /etc/network/interfaces.d/lxc-pchecker diff --git a/sub_scripts/lxc_upgrade.sh b/sub_scripts/lxc_upgrade.sh index 1cbfd7c..ed52b15 100755 --- a/sub_scripts/lxc_upgrade.sh +++ b/sub_scripts/lxc_upgrade.sh @@ -9,7 +9,7 @@ LXC_NAME=$(cat "$script_dir/lxc_build.sh" | grep LXC_NAME= | cut -d '=' -f2) echo "> Active le bridge réseau" if ! sudo ifquery lxc-pchecker --state > /dev/null then - sudo ifup lxc-pchecker + sudo ifup lxc-pchecker --interfaces=/etc/network/interfaces.d/lxc-pchecker fi echo "> Configure le parefeu" @@ -58,7 +58,7 @@ 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 lxc-pchecker +sudo ifdown --force lxc-pchecker if [ "$update_apt" -eq 1 ] diff --git a/sub_scripts/testing_process.sh b/sub_scripts/testing_process.sh index d49332c..3778fe5 100644 --- a/sub_scripts/testing_process.sh +++ b/sub_scripts/testing_process.sh @@ -555,20 +555,21 @@ CHECK_MULTI_INSTANCE () { return; fi # Installation de l'app une première fois + ECHO_FORMAT "1ère installation: path=$PATH_TEST\n" SETUP_APP LOG_EXTRACTOR APPID_first=$APPID # Stocke le nom de la première instance YUNOHOST_RESULT_first=$YUNOHOST_RESULT # Stocke le résulat de l'installation de la première instance # Installation de l'app une deuxième fois, en ajoutant un suffixe au path - ECHO_FORMAT "2e installation\n" path2="$PATH_TEST-2" + ECHO_FORMAT "2e installation: path=$path2\n" MANIFEST_ARGS_MOD=$(echo $MANIFEST_ARGS_MOD | sed "s@$MANIFEST_PATH=[a-Z/$]*\&@$MANIFEST_PATH=$path2\&@") SETUP_APP LOG_EXTRACTOR APPID_second=$APPID # Stocke le nom de la deuxième instance YUNOHOST_RESULT_second=$YUNOHOST_RESULT # Stocke le résulat de l'installation de la deuxième instance - ECHO_FORMAT "3e installation\n" path3="/3-${PATH_TEST#/}" + ECHO_FORMAT "3e installation: path=$path3\n" # Installation de l'app une troisième fois, en ajoutant un préfixe au path MANIFEST_ARGS_MOD=$(echo $MANIFEST_ARGS_MOD | sed "s@$MANIFEST_PATH=$path2\&@$MANIFEST_PATH=$path3\&@") SETUP_APP