Fix interfaces.d ignored

This commit is contained in:
Maniack Crudelis 2016-08-09 13:37:17 +02:00
parent a56e02abac
commit 0fb7b565ef
6 changed files with 28 additions and 9 deletions

View file

@ -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. 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. 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` ## Syntaxe du fichier `check_process`
> A l'exception des espaces, la syntaxe du fichier doit être scrupuleusement respectée. > 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. 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. 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 ## Syntax `check_process` file
> Except space, this file syntax must be respected. > Except space, this file syntax must be respected.

View file

@ -41,7 +41,7 @@ iface lxc-pchecker inet static
EOF EOF
echo "> Active le bridge réseau" | tee -a "$LOG_BUILD_LXC" 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" 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 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 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 -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 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" echo "> Création d'un snapshot" | tee -a "$LOG_BUILD_LXC"
sudo lxc-snapshot -n $LXC_NAME >> "$LOG_BUILD_LXC" 2>&1 sudo lxc-snapshot -n $LXC_NAME >> "$LOG_BUILD_LXC" 2>&1

View file

@ -8,7 +8,7 @@ echo -e "Chargement des fonctions de lxc_launcher.sh"
LXC_INIT () { LXC_INIT () {
# Activation du bridge réseau # Activation du bridge réseau
echo "Initialisation du réseau pour le conteneur." 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 # 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 lxc-pchecker -o eth0 -j ACCEPT | tee -a "$RESULT" 2>&1
@ -79,6 +79,6 @@ LXC_TURNOFF () {
# Et arrêt du bridge # Et arrêt du bridge
if sudo ifquery lxc-pchecker --state > /dev/null if sudo ifquery lxc-pchecker --state > /dev/null
then then
sudo ifdown lxc-pchecker | tee -a "$RESULT" 2>&1 sudo ifdown --force lxc-pchecker | tee -a "$RESULT" 2>&1
fi fi
} }

View file

@ -19,7 +19,7 @@ sudo rm /etc/sysctl.d/lxc_pchecker.conf
sudo sysctl -p sudo sysctl -p
echo "> Désactive le bridge réseau" echo "> Désactive le bridge réseau"
sudo ifdown lxc-pchecker sudo ifdown --force lxc-pchecker
echo "> Supprime le brige réseau" echo "> Supprime le brige réseau"
sudo rm /etc/network/interfaces.d/lxc-pchecker sudo rm /etc/network/interfaces.d/lxc-pchecker

View file

@ -9,7 +9,7 @@ LXC_NAME=$(cat "$script_dir/lxc_build.sh" | grep LXC_NAME= | cut -d '=' -f2)
echo "> Active le bridge réseau" echo "> Active le bridge réseau"
if ! sudo ifquery lxc-pchecker --state > /dev/null if ! sudo ifquery lxc-pchecker --state > /dev/null
then then
sudo ifup lxc-pchecker sudo ifup lxc-pchecker --interfaces=/etc/network/interfaces.d/lxc-pchecker
fi fi
echo "> Configure le parefeu" 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 lxc-pchecker -o eth0 -j ACCEPT
sudo iptables -D FORWARD -i eth0 -o lxc-pchecker -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 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 ] if [ "$update_apt" -eq 1 ]

View file

@ -555,20 +555,21 @@ CHECK_MULTI_INSTANCE () {
return; return;
fi fi
# Installation de l'app une première fois # Installation de l'app une première fois
ECHO_FORMAT "1ère installation: path=$PATH_TEST\n"
SETUP_APP SETUP_APP
LOG_EXTRACTOR LOG_EXTRACTOR
APPID_first=$APPID # Stocke le nom de la première instance 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 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 # Installation de l'app une deuxième fois, en ajoutant un suffixe au path
ECHO_FORMAT "2e installation\n"
path2="$PATH_TEST-2" 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\&@") MANIFEST_ARGS_MOD=$(echo $MANIFEST_ARGS_MOD | sed "s@$MANIFEST_PATH=[a-Z/$]*\&@$MANIFEST_PATH=$path2\&@")
SETUP_APP SETUP_APP
LOG_EXTRACTOR LOG_EXTRACTOR
APPID_second=$APPID # Stocke le nom de la deuxième instance 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 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#/}" 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 # 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\&@") MANIFEST_ARGS_MOD=$(echo $MANIFEST_ARGS_MOD | sed "s@$MANIFEST_PATH=$path2\&@$MANIFEST_PATH=$path3\&@")
SETUP_APP SETUP_APP