Ensemble Ouvert Libre Évolutif: Demandeshttps://dev-eole.ac-dijon.fr/https://dev-eole.ac-dijon.fr/favicon.ico2011-10-01T15:09:30ZEnsemble Ouvert Libre Évolutif
Redmine creole - Anomalie #2141 (Fermé): testpatches.py : erreur dans le répertoire des patcheshttps://dev-eole.ac-dijon.fr/issues/21412011-10-01T15:09:30ZEmmanuel GARETTE (2)gnunux@gnunux.info
<pre>
--- /root/testpatches.py 2011-10-01 17:04:49.000000000 +0200
+++ /usr/share/creole/testpatches.py 2011-10-01 17:06:18.000000000 +0200
@@ -12,7 +12,7 @@
from zephir.monitor.agents import patches
from os.path import join
-patchs = glob(join(patch_dir, 'patch', '*.patch'))
+patchs = glob(join(patch_dir, '*.patch'))
patchs.extend(glob(join(patch_dir, 'variante', '*.patch')))
err = []
for patch in patchs:
</pre> python-pyeole - Anomalie #2138 (Fermé): service.py : suppression du fichier temporaire /tmp/eole.tihttps://dev-eole.ac-dijon.fr/issues/21382011-10-01T14:22:00ZEmmanuel GARETTE (2)gnunux@gnunux.info
<pre>
--- service.py 2011-10-01 16:14:15.000000000 +0200
+++ /usr/share/pyshared/pyeole/service.py 2011-10-01 16:17:14.000000000 +0200
@@ -3,6 +3,7 @@
from shutil import move
from glob import glob
+from os import unlink
from os.path import join, isfile
from pyeole.process import run_subprocess, system_out, system_code
from creole.config import init_services_file, VIRTMASTER, containers_file
@@ -91,6 +92,7 @@
system_code(ticcmd)
env = {'TERM': 'eole'}
pty = True
+ unlink(ti_file)
except:
pty = False
env = None
</pre> creole - Anomalie #2137 (Fermé): Query-Auto : non suppression des fichiers temporaires s'il y a d...https://dev-eole.ac-dijon.fr/issues/21372011-10-01T14:01:18ZEmmanuel GARETTE (2)gnunux@gnunux.info
<p>Si on lance Query-Auto et qu'il y a des mises à jour, les fichiers temporaires restent présents (cela ne se produit pas s'il n'y a plus de mise à jour).</p>
<p>Ce patch supprime les fichiers temporaires :</p>
<pre>
--- Maj-Auto 2011-10-01 15:56:23.000000000 +0200
+++ /usr/bin/Maj-Auto 2011-10-01 15:56:29.000000000 +0200
@@ -541,6 +541,7 @@
fi
echo
if [ $TypeProc == "QUERY-MAJ" ];then
+ rm -f $tempfile $tempfilesort $tempaptlog
demonter_cdrom
exit 0
fi
</pre> conf-scribe - Anomalie #2114 (Fermé): Pas de regle de firewall pour le tftphttps://dev-eole.ac-dijon.fr/issues/21142011-09-27T07:30:46ZLaurent Florilaurent.flori@ac-dijon.fr
<p>Le service tftp n'a pas de règles de firewall.</p> creole - Anomalie #2110 (Fermé): Test pour savoir si un paquet est installé durant gen_conteneurs...https://dev-eole.ac-dijon.fr/issues/21102011-09-26T16:48:02ZEmmanuel GARETTE (2)gnunux@gnunux.info
<p>On test la présence d'un paquet dans un conteneur sur le groupe de conteneur et non sur le nom du conteneur lui-même. Mais le groupe de conteneur peut être créé dans /etc/eole/containers.conf APRÈS l'installation du conteneur lui-même. Le test est donc défectueux.</p>
<p>Je déplace aussi la ligne de log, il n'est pas nécessaire de dire qu'on installe un paquet déjà installé.</p>
<pre>
--- cfgparser.py 2011-09-26 18:15:03.367461523 +0200
+++ /usr/share/pyshared/creole/cfgparser.py 2011-09-26 18:39:26.423430682 +0200
@@ -753,8 +753,8 @@
#ne demonte pas proc si pas monte
mount_proc = False
for package in value['packages']:
- self.log.info('Installation de %s' % package)
- if not is_installed(package, container=cname, context=False):
+ if not is_installed(package, container=name, context=False):
+ self.log.info('Installation de %s' % package)
#si non monte, monte les repertoires contenus dans le
#fichier fstab du conteneur
if fstab == []:
</pre> creole - Anomalie #2109 (Fermé): Monter /proc dans le conteneur durant gen_conteneurshttps://dev-eole.ac-dijon.fr/issues/21092011-09-26T16:44:45ZEmmanuel GARETTE (2)gnunux@gnunux.info
<p>Certains paquets ont besoins de /proc pour s'installer.</p>
<pre>
--- cfgparser.py 2011-09-26 16:40:06.375479464 +0200
+++ /usr/share/pyshared/creole/cfgparser.py 2011-09-26 18:14:13.955702749 +0200
@@ -750,6 +750,8 @@
fssh.write(' Hostname=%s\n\n'%ip)
self._write_hosts_d(cname, name, ip, 'host')
fstab = []
+ #ne demonte pas proc si pas monte
+ mount_proc = False
for package in value['packages']:
self.log.info('Installation de %s' % package)
if not is_installed(package, container=cname, context=False):
@@ -780,6 +782,13 @@
if system_code(cmd) != 0:
raise Exception("Erreur d'exécution de %s" % ' '.join(cmd))
fstab.append(mount_point)
+ #monte /proc dans le conteneur si nécessaire
+ if not mount_proc:
+ cmd = ['chroot', chroot, 'mount', '-n', '-t', 'proc',
+ 'proc', '/proc']
+ if system_code(cmd) != 0:
+ raise Exception("Erreur d'exécution de %s" % ' '.join(cmd))
+ mount_proc = True
if not isfile(join(chroot, 'usr/sbin/invoke-rc.d.real')):
cmd = ['chroot', chroot, 'dpkg-divert',
'--rename', '--divert',
@@ -843,6 +852,10 @@
cmd = ['umount', mount_point]
if system_code(cmd) != 0:
raise Exception("Erreur d'exécution de %s" % ' '.join(cmd))
+ #demonte /proc dans le conteneur
+ if mount_proc:
+ system_code(['chroot', chroot, 'umount', '-n', '/proc'])
+
if tcreate_containers_file:
fcontainers = file(config.containers_file, 'a+')
fcontainers.write('container_path_root=""\n')
</pre> eole-common - Anomalie #2102 (Fermé): Répertoire en trop/manquant pour lxchttps://dev-eole.ac-dijon.fr/issues/21022011-09-23T16:12:08ZEmmanuel GARETTE (2)gnunux@gnunux.info
<p>Le paquet eole-conteneur créé le répertoire suivant :</p>
<p>/usr/share/eole/lxc/conteneurs_groupes</p>
<p>Il fut envisagé d'utiliser ce répertoire à un moment, mais je pense que c'est abandonné. Il ne sert donc a rien.</p>
<p>Par contre, le répertoire /usr/share/eole/lxc/hosts n'est pas créé. Ce n'est pas vraiment gênant mais il serait mieux de le créer (déjà pour éviter les erreurs de frappe).</p> eole-common - Anomalie #2096 (Fermé): Supprimer les erreurs au démarrage des conteneurshttps://dev-eole.ac-dijon.fr/issues/20962011-09-23T10:56:05ZEmmanuel GARETTE (2)gnunux@gnunux.info
<p>Au démarrage du conteneur, il y a une série d'erreurs :</p>
<ul>
<li>init: Processus hwclock-save main (132) terminé avec le status 1</li>
<li>init: Processus plymouth-splash main (142) terminé avec le status 1</li>
<li>init: Processus lxc pre-start (2) terminé avec le status 32</li>
</ul>
<p>C'est plutôt gênant pour débugger (savoir si l'erreur est <i>normal</i> ou non).</p>
<p>Voici deux patchs pour corriger :</p>
<pre>
--- /root/lxc_install.sh 2011-09-22 21:53:40.000000000 +0200
+++ lxc_install.sh 2011-09-23 10:11:59.000000000 +0200
@@ -180,9 +180,7 @@
task
pre-start script
-mount -t proc proc /proc
mount -t devpts devpts /dev/pts
-mount -t sysfs sys /sys
mount -t tmpfs varrun /var/run
mount -t tmpfs varlock /var/lock
mkdir -p /var/run/network
</pre>
<pre>
--- /root/lxc_postinstall.sh 2011-09-23 10:10:52.000000000 +0200
+++ lxc_postinstall.sh 2011-09-23 10:28:36.000000000 +0200
@@ -29,4 +29,10 @@
mkdir -p $ROOTFS/etc/eole
cp -f /etc/eole/network_containers.conf $ROOTFS/etc/eole
+#No error in startup (#2096)
+NEVER_STARTUP='description "Never start"\n\nstart on runlevel never'
+echo -e $NEVER_STARTUP > $ROOTFS/etc/init/hwclock-save.conf
+echo -e $NEVER_STARTUP > $ROOTFS/etc/init/plymouth.conf
+echo -e $NEVER_STARTUP > $ROOTFS/etc/init/plymouth-log.conf
+
exit 0
</pre> eole-common - Anomalie #2094 (Fermé): Pas possible d'installer ssmtp dans un conteneur à gen_cont...https://dev-eole.ac-dijon.fr/issues/20942011-09-22T18:40:27ZEmmanuel GARETTE (2)gnunux@gnunux.info
<p>Si on met ssmtp dans une balise <package>, gen_conteneur plante avec l'erreur suivante :</p>
<p>Paramétrage de ssmtp (2.64-4fakesync1) ...<br />hostname: Name or service not known<br />dpkg : erreur de traitement de ssmtp (--configure) :<br />[...]</p>
En effet :
<ol>
<li>chroot /var/lib/lxc/web/rootfs</li>
<li>hostname --fqdn<br />hostname: Name or service not known</li>
</ol>
<p>Je propose de copier le fichier /etc/hosts dans l'archive. Il sera écrasé à l'instance par la bonne version du fichier. Il n'est pas possible de configurer correctement le fichier puisque la configuration du serveur n'est pas faite.</p>
<pre>
--- /root/lxc_install.sh 2011-09-22 19:14:59.000000000 +0200
+++ lxc_install.sh 2011-09-22 19:41:27.000000000 +0200
@@ -201,6 +201,9 @@
initctl emit virtual-filesystems --no-wait
init 2
end script" > $ROOT/etc/init/lxc.conf
+ #Copie un fichier hosts pour certains paquets (#2094)
+ cp -f /etc/hosts $ROOT/etc
+
#On supprime tous les paquets du cache d'apt avant la compression"
execute "chroot $ROOT apt-get clean"
#correction du fichier /etc/rsyslog.conf dans le conteneur pour les messages noyau
@@ -276,11 +279,8 @@
#Copie de la conf de ssh
mkdir -p $ROOTFS/etc/ssh/
cp -f /usr/share/eole/lxc/sshd_config $ROOTFS/etc/ssh/sshd_config
-#echo "Démarrage du conteneur $NAME"
-#lxc-create -f $ROOTLXC/$NAME/config -n $NAME
-#execute "lxc-start -n $NAME -d"
-#mettre le conteneur en demarrage automatique
+#Mettre le conteneur en demarrage automatique
echo 1 > $ROOTLXC/$NAME/on_boot
exit 0
</pre> eole-common - Anomalie #2090 (Fermé): Killer tous les processus avant de forcer l'arrêt du conteneurhttps://dev-eole.ac-dijon.fr/issues/20902011-09-21T21:36:03ZEmmanuel GARETTE (2)gnunux@gnunux.info
<p>Je ne sais pas bien pourquoi mais lxc-stop n'arrete pas toujours tous les processus. Je propose de faire un kill -9 sur tous les processus d'un conteneur avant de faire un lxc-stop.</p>
<pre>
--- lxc-halt 2011-09-21 20:58:48.000000000 +0200
+++ /usr/bin/lxc-halt 2011-09-21 23:34:08.000000000 +0200
@@ -55,6 +55,9 @@
if [ $(( $curtime - $starttime )) -gt $TIMEOUT ]; then
echo "Container has been stopping for longer than $TIMEOUT seconds, forcing shutdown" >&2
+ sort -r /cgroup/$CONTAINER/tasks | while read a; do
+ kill -9 $a 2> /dev/null
+ done
lxc-stop -n $CONTAINER
exit 0
fi
</pre> eole-common - Anomalie #2089 (Fermé): /etc/init.d/lxc ne se termine pas si un conteneur ne démarr...https://dev-eole.ac-dijon.fr/issues/20892011-09-21T21:33:32ZEmmanuel GARETTE (2)gnunux@gnunux.info
<p>Si un conteneur a un problème, le script ne se termine jamais et on ne sait pas pourquoi.</p>
<p>Si on utilise la méthode screen, le screen se ferme si le conteneur ne démarre pas, ce n'est pas utile pour le déboggage.</p>
<p>Dans le patch ci-dessus je fais un boucle de xx seconds (30 par défaut). Si le conteneur n'est pas démarré, un message apparait. A savoir que le conteneur est marqué comme étant "RUNNING" très rapidement normalement. Evidement si le serveur est "RUNNING" le script sort rapidement de la boucle.</p>
<p>De plus si lxc-start s'arrête par une erreur, screen ne se ferme pas (reste bloqué par la commande "read") mais le screen se ferme si le serveur est arrêté normalement.</p>
<p>Il faudrait peut être ajouter un fichier /etc/default/lxc pour modifier les options (durée en seconds ou le support de screen, ...).</p>
<p>Il faudrait voir si on utilise screen par défaut ou non aussi.</p>
<pre>
--- lxc 2011-09-21 20:57:28.000000000 +0200
+++ /etc/init.d/lxc 2011-09-21 23:20:34.000000000 +0200
@@ -17,7 +17,8 @@
DESC="linux containers"
NAME=lxc
SCRIPTNAME=/etc/init.d/$NAME
SCREEN=FALSE
+TIMEOUT=30
# Exit if the package is not installed
[ -x /usr/bin/lxc-start ] || exit 0
@@ -46,17 +47,29 @@
check_read_only
for C in $(ls -1 /var/lib/lxc); do
if [ -r /var/lib/lxc/$C/on_boot ]; then
- if [ "$(cat /var/lib/lxc/$C/on_boot)" = "1" ]; then
- log_progress_msg "$C"
- if lxc-info -n $C | grep STOPPED > /dev/null 2>&1; then
- if [ ! "$SCREEN" = "FALSE" ]; then
- /usr/bin/screen -dmS init-${C} /usr/bin/lxc-start -n $C
- else
- lxc-start -n $C -d
- fi
- lxc-wait -n $C -s RUNNING
- if [ $? -gt 0 ]; then
- return 2
+ if [ ! "$(lxc-info -n $C)" = "'$C' is RUNNING" ]; then
+ if [ "$(cat /var/lib/lxc/$C/on_boot)" = "1" ]; then
+ log_progress_msg "$C"
+ if [ "$(lxc-info -n $C)" = "'$C' is STOPPED" ]; then
+ if [ ! "$SCREEN" = "FALSE" ]; then
+ #stop old screen session
+ /usr/bin/screen -dr ${C} -X quit > /dev/null 2>&1
+ /usr/bin/screen -dmS ${C} /bin/bash -c "{ /usr/bin/lxc-start -n $C; read; }"
+ else
+ lxc-start -n $C -d
+ fi
+ starttime=$(date "+%s")
+ curtime=$(date "+%s")
+ stop="FALSE"
+ while [ ! "$(lxc-info -n $C)" = "'$C' is RUNNING" ] && [ $stop = "FALSE" ]; do
+ sleep .25
+ curtime=$(date "+%s")
+ if [ $(( $curtime - $starttime )) -gt $TIMEOUT ]; then
+ echo "Container $C is starting for longer than $TIMEOUT seconds" >&2
+ [ ! "$SCREEN" = "FALSE" ] && echo "Try to do 'screen -dr $C' for more informations"
+ stop="TRUE"
+ fi
+ done
fi
fi
fi
</pre> conf-scribe - Anomalie #2083 (Fermé): typo dans le dictionnaire phpMyAdminhttps://dev-eole.ac-dijon.fr/issues/20832011-09-20T18:38:28ZEmmanuel GARETTE (2)gnunux@gnunux.info
<p>"Activer phpMyAdmin (administaration des bases MySQL)"</p>
<p>=> "Activer phpMyAdmin (administration des bases MySQL)"</p> creole - Anomalie #2082 (Fermé): Instanciation en mode conteneur échoue sur une machine trop rapidehttps://dev-eole.ac-dijon.fr/issues/20822011-09-20T15:48:51ZEmmanuel GARETTE (2)gnunux@gnunux.info
<p>Sur une machine trop rapide, l'instanciation d'un serveur en mode conteneur échoue.</p>
<p>Visiblement Cheetah n'aime pas qu'on templatise 2 fichiers avec le même nom dans un temps très court. Il utilise alors le contenu du 1er template pour créer le second fichier. C'est particulièrement gênant dans le cadre du mode conteneur, en effet, il y a des boucles utilisant un fichier temporaire '/tmp/container.tmpl'. Si je met un sleep(1) dans la boucle, ca fonctionne. Si je retire le sleep(1) tous les fichiers sont identiques.</p>
<p>Je propose donc d'utilise mktemp plutôt que de nommer directement un fichier.</p>
<pre>
--- cfgparser.py.old 2011-09-20 17:23:54.000000000 +0200
+++ cfgparser.py 2011-09-20 17:28:20.000000000 +0200
@@ -12,6 +12,7 @@
from glob import glob
from commands import getstatusoutput
from shutil import move
+from tempfile import mktemp
try:
import json
except:
@@ -632,7 +633,7 @@
except:
import traceback
traceback.print_exc()
- inputfile='/tmp/container.tmpl'
+ inputfile=mktemp()
files = glob(join(inputdir, '*'))
fd = open(inputfile, 'wa')
for filename in files:
@@ -644,7 +645,7 @@
t.process(self)
for container in containers:
- inputfile='/tmp/container.tmpl'
+ inputfile=mktemp()
files = glob(join(self._make_root_path(container), 'interfaces.d', '*'))
fd = open(inputfile, 'wa')
for filename in files:
@@ -961,7 +962,7 @@
fh.close()
for container in cname:
- inputfile='/tmp/container.tmpl'
+ inputfile=mktemp()
inputdir = join(self._make_root_path(container), 'hosts.d')
outputfile = join(self._make_root_path(container), config.VIRTBASE, 'etc/hosts')
files = glob(join(inputdir, '*'))
</pre> eole-common - Anomalie #2081 (Fermé): ssmtp, aucun mail ne parthttps://dev-eole.ac-dijon.fr/issues/20812011-09-20T14:23:45ZFabrice Barconnièrefabrice.barconniere@region-academique-bourgogne-franche-comte.fr
<p>revaliases mal rempli, du coup aucun mail ne part.</p> zephir-client - Anomalie #2072 (Fermé): patch avec commentaires en erreur sur Amon 2.3https://dev-eole.ac-dijon.fr/issues/20722011-09-19T12:41:19ZAnonyme
<p>Bonjour,</p>
<p>Sur amon 2.3, nos patch, précédemment adaptés à la 2.3, apparaissent bons dans le creole.log mais en erreur avec un diagnose.</p>
<p>2011-09-13 12:07:40,820 INFO lecture du fichier /usr/share/eole/creole/dicos/variante/amon_aix-marseille.xml</p>
<p>patching file squid.conf<br />patching file cron-root<br />patching file resolv.conf<br />patching file sudoers<br />patching file active_tags<br />2011-09-13 12:07:41,737 INFO ===========================================<br />2011-09-13 12:07:41,737 INFO Debut de l'instanciation<br />2011-09-13 12:07:41,738 INFO ===========================================<br />2011-09-13 12:07:42,247 INFO Fichier /etc/oinkmaster.conf non instancie<br />2011-09-13 12:07:42,247 INFO -------------------------------------------</p>
<ul>
<li>Patches<br />. patches => Erreur<br />fichiers : squid.conf.patch_</li>
</ul>
<p>Erreur vu dans /usr/share/zephir/monitor/stats/1300/patches/agent.xml</p>
<p>table_data=[
{<br /> 'dest':'/var/lib/creole/squid.conf',<br /> 'etat':'Off',<br /> 'patch':'/usr/share/eole/creole//patch/variante/squid.conf.patch',<br /> 'pattern':'## AixMars - acl pour plage cio non acce',<br /> },</p>
<p>cela vient surement de la comparaison du patch, où nous avons inséré des commentaires, avec le fichier final sans commentaire dans /var/lib/creole/squid.conf</p>
<p>Il faudrait, dans l’agent de comparaison des patchs, ne pas tenir compte des lignes avec un # .</p> Zéphir - Anomalie #2032 (Fermé): variables calculéeshttps://dev-eole.ac-dijon.fr/issues/20322011-09-06T12:46:59ZThierry Bertrandthierry.bertrand@developpement-durable.gouv.fr
<p>Bonjour,</p>
<p>lorsqu'on saisi un serveur sur un Zephir, on n'obtient pas les mêmes facilités que via gen_config :<br />les variables calculées se font mais :<br />1°/ après un valider (qui donne des "erreurs" quand des variables calculées sont obligatoires)<br />2°/ changement d'onglet de saisie<br />3°/ retour à l'onglet saisi en premier.</p>
<p>Serait-il possible<br /> de lancer le calcul automatique sur les variables calculées lorsqu'on appuie sur valider ?<br /> de mettre une indication visuelle pour qu'on sache que la valeur va être calculée et n'a pas forcément à être saisie<br />svp ?</p>
<p>D'avance merci<br />Cordialement</p> creole - Anomalie #2031 (Fermé): dom_parser : l'ID du conteneur "root" est marqué comme étant 127...https://dev-eole.ac-dijon.fr/issues/20312011-09-06T12:22:25ZEmmanuel GARETTE (2)gnunux@gnunux.info
<p>La balise <files> des dictionnaires est considéré comme le conteneur "root" dans dom_parser. Par contre l'ID du conteneur est à "127.0.0.1". Je doute que cela soit utilisé ailleurs que par moi, mais ca me semble être une anomalie ;)</p>
<p>Le patch :</p>
<pre>
# diff -u dom_parser.py /usr/share/pyshared/creole/dom_parser.py
--- dom_parser.py 2011-09-06 14:18:49.794387664 +0200
+++ /usr/share/pyshared/creole/dom_parser.py 2011-09-06 14:18:56.154333638 +0200
@@ -50,7 +50,7 @@
files = parse_files(file_root_node)
file_packages = parse_packages(file_root_node)
file_services = parse_services(file_root_node)
- softwares[VIRTMASTER] = [files, file_packages, file_services, {}, '127.0.0.1', '', '']
+ softwares[VIRTMASTER] = [files, file_packages, file_services, {}, '1', '', '']
containers_node = root_node.getElementsByTagName('containers')
if containers_node != []:
</pre> creole - Anomalie #2018 (Fermé): Pas d'erreur si un conteneur n'avait pas d'IDhttps://dev-eole.ac-dijon.fr/issues/20182011-09-02T14:42:09ZEmmanuel GARETTE (2)gnunux@gnunux.info
<p>Si le conteneur n'a pas d'ID, la procédure va jusqu'au bout mais le conteneur ne peut pas démarrer (puisque pas d'IP généré correctement).</p>
<p>Il faut tester la présence d'un ID :</p>
<pre>
# diff -u cfgparser.py /usr/lib/pymodules/python2.6/creole/cfgparser.py
--- cfgparser.py 2011-09-02 16:32:37.246288551 +0200
+++ /usr/lib/pymodules/python2.6/creole/cfgparser.py 2011-09-02 16:41:04.255194495 +0200
@@ -733,6 +733,9 @@
if not tcontainer[cname].has_key('id'):
raise Exception("Le conteneur %s n'a pas d'attribut ID"%cname)
containerid = tcontainer[cname]['id']
+ if containerid == '':
+ raise Exception("Le conteneur %s n'a pas d'ID !" % name)
+ assert 0 < int(containerid) < 255, "ID n'est pas un chiffre ou n'est pas compris entre 1 et 254"
ip = '%s.%s' % (network, containerid)
self.log.info('Installation du conteneur %s' % cname)
cmd = ['/usr/share/eole/lxc_install.sh',
</pre> conf-amon - Anomalie #2014 (Fermé): erreur dans le diagnose de nginxhttps://dev-eole.ac-dijon.fr/issues/20142011-09-01T19:52:49ZEmmanuel GARETTE (2)gnunux@gnunux.info
<p>La variable "revprox_domainname" est une variable multiple.</p>
<p>Le script /usr/share/eole/diagnose/module/16-reverseproxy à la ligne :</p>
<p>if [ -z $revprox_domainname ];then</p>
<p>qu'il faudrait remplacé par :</p>
<p>if [ -z "$revprox_domainname" ];then</p> python-pyeole - Anomalie #2010 (Fermé): Vérification des paquets installés peu efficacehttps://dev-eole.ac-dijon.fr/issues/20102011-08-31T09:43:06ZEmmanuel GARETTE (2)gnunux@gnunux.info
<p>J'ai supprimé un paquet dans un conteneur en espérant qu'il se réinstall ... ce n'a pas été le cas.</p>
<p>Les paquets avec le status RC sont considérés comme installés.</p>
<p>Il y a moins de status dans une "selection d'un paquet" que dans l'"état du paquet" d'après le man.</p>
<p>Je propose donc de connaitre l'état de la selection d'un paquet. D'après le man il y a 4 états :</p>
<p>- install<br />- hold<br />- deinstall<br />- purge</p>
<p>On peut considéré les 2 1er états comme installé et les 2 derniers comme désinstallé.</p>
<p>Voici donc la fonction is_installed corrigé :</p>
<pre>
def is_installed(package, container=config.VIRTMASTER, context=True):
""" vérifie si un paquet est installé ou pas"""
cmd = ["/usr/bin/dpkg", "--get-selections", package.strip()]
code, stdout, stderr = system_out(cmd, container=container, context=context)
if code != 0:
# paquet non installé
return False
pkg_status = stdout.strip().split('\n')[-1].split()[1].lower()
#pkg_status is install, desinstall, hold or purge
if pkg_status not in ['install', 'deinstall', 'hold', 'purge']:
raise Exception ('unknown status for package %s : %s'%(package,
pkg_status))
if pkg_status in ['install', 'hold']:
return True
return False
</pre> EoleSSO - Anomalie #1999 (Fermé): Pb accès EADhttps://dev-eole.ac-dijon.fr/issues/19992011-08-26T12:02:23ZNicolas Lesaintnicolas.lesaint@ac-rennes.fr
<p>L'accès à l'EAD n'est plus possible lorsque l'utilisateur fait parti du groupe "minedu" ou d'un groupe lié à un partage.<br />L'accès fonctionne à nouveau si on retire l'utilisateur de ces groupes.</p> eole-common - Anomalie #1992 (Fermé): web_url est par défaut une IP, le fichier hosts est incorrecthttps://dev-eole.ac-dijon.fr/issues/19922011-08-25T07:24:47ZEmmanuel GARETTE (2)gnunux@gnunux.info
<p>Si web_url est une IP, il ne devrait pas être dans le fichier /etc/hosts</p>
<p>J'ajoute donc une fonction is_ip dans eosfunc et je test dans le template hosts :</p>
<pre>
--- /usr/share/pyshared/creole/eosfunc.py.old 2011-08-25 09:13:14.080744671 +0200
+++ /usr/share/pyshared/creole/eosfunc.py 2011-08-25 09:14:04.125341910 +0200
@@ -72,6 +72,12 @@
# on n'a pas rencontré d'erreur
return True
+def is_ip(data):
+ try:
+ return valid_ip(data)
+ except:
+ return False
+
def valid_intervalle(data):
""" fonction de validation d'une plage d'ip """
if data == "":
--- hosts.old 2011-08-25 09:03:12.720712936 +0200
+++ hosts 2011-08-25 09:14:14.233800658 +0200
@@ -62,6 +62,6 @@
%%container_ip_dns %%container_name_dns.%%nom_domaine_local
%end if
-%if %%is_defined('web_url') and %%web_url != ''
+%if %%is_defined('web_url') and %%web_url != '' and not %%is_ip(%%web_url)
%%adresse_ip_eth0 %%web_url
%end if
</pre> conf-scribe - Anomalie #1991 (Fermé): redirection en boucle sur eole-webhttps://dev-eole.ac-dijon.fr/issues/19912011-08-25T07:03:03ZEmmanuel GARETTE (2)gnunux@gnunux.info
<p>La valeur de web_redirection est à "/" par défaut :</p>
<pre>
<variable name='web_redirection' type='string' description='Application web par défaut (redirection)' >
<value>/</value>
</variable>
</pre>
<p>Dans le template nous avons :</p>
<pre>
%if %%is_defined('activer_envole') and %%activer_envole == 'oui'
RewriteRule ^/$ %%alias_envole [R=permanent]
%else
RewriteRule ^/$ %%web_redirection [R=permanent]
%end if
</pre>
<p>Ce qui signifie que la ligne sera :<br />RewriteRule ^/$ / [R=permanent]</p>
<p>(si on demande / on renvoi vers ... /).</p>
<p>Il faudrait faire un test pour éviter la redirection en boucle :</p>
<pre>
-- Vhost.conf.old 2011-08-25 08:49:32.533349685 +0200
+++ Vhost.conf 2011-08-25 08:54:58.433022085 +0200
@@ -7,8 +7,12 @@
ErrorLog /var/log/apache2/error.log
RewriteEngine On
%if %%is_defined('activer_envole') and %%activer_envole == 'oui'
+ %if %%alias_envole != '/'
RewriteRule ^/$ %%alias_envole [R=permanent]
+ %end if
%else
+ %if %%web_redirection != '/'
RewriteRule ^/$ %%web_redirection [R=permanent]
+ %end if
%end if
</VirtualHost>
--- Vhost-ssl.conf.old 2011-08-25 08:50:23.000750923 +0200
+++ Vhost-ssl.conf 2011-08-25 08:53:46.867051833 +0200
@@ -12,9 +12,13 @@
ServerName %%nom_machine
RewriteEngine On
%if %%is_defined('activer_envole') and %%activer_envole == 'oui'
+ %if %%alias_envole != '/'
RewriteRule ^/$ %%alias_envole [R=permanent]
+ %end if
%else
+ %if %%web_redirection != '/'
RewriteRule ^/$ %%web_redirection [R=permanent]
+ %end if
%end if
# <Location />
# Order Allow,Deny
</pre>
<p>De plus, je ne comprends pas bien pourquoi le template est si compliqué. alias_envole et web_redirection sont les mêmes variables. Pourquoi ne pas jouer avec les redefines ?</p> creole - Anomalie #1938 (Fermé): samba est lancé dans le conteneur internet alors qu'aucune authe...https://dev-eole.ac-dijon.fr/issues/19382011-07-20T15:19:42ZJoël Cuissinatjoel.cuissinat@ac-dijon.fr
<pre>
root@amonecole:~# /usr/share/creole/parsedico.py | grep activer_squid_auth
activer_squid_auth="non"
</pre>
<pre>
├─lxc-start───init─┬─cron
│ ├─dansguardian───10*[dansguardian]
│ ├─named───3*[{named}]
│ ├─nmbd
│ ├─rsyslogd───{rsyslogd}
│ ├─smbd───smbd
│ ├─squid───squid───unlinkd
│ ├─sshd
│ ├─udevd
│ └─upstart-udev-br
</pre> eole-bacula - Anomalie #1764 (Fermé): problème : le graphe sauvegarde reste au vert https://dev-eole.ac-dijon.fr/issues/17642011-05-11T13:31:59ZEmmanuel KEITHemmanuel.keith@ac-strasbourg.fr
<p>Bonjour à tous,</p>
<p>Nous venons de remarquer que sur un certain nombre de horus 2.2 les sauvegardes journalières se sont arrêtées, malgré cela le graphe reste au vert !<br />il n'y a rien de particulier dans les logs bacula.<br />Pas de correlation immédiate avec une mise à jour du serveur.<br />Une sauvegarde immédiate restreinte ne finie pas et fait planter l'ead2. Le fait redémarrer le director entraine un reboot immédiat du serveur !<br />après reboot le graphe est blanc.</p>
<p>exemple :<br />sauvegarde du lundi au samedi à 22h</p>
<p>mise à jour précédent le probleme samedi 23 avril 5h<br />sauvegarde samedi 23 avril 22h : OK<br />sauvegarde lundi 25 avril 22h : OK<br />sauvegarde mardi 26 avril 22h : OK<br />puis plus aucune sauvegarde effectuée mais le graphe reste au vert ! donc trompeur</p>
<p>L'agent zephir ne teste que l'état de la dernière sauvegarde et comme la dernière sauvegarde est OK ... :( cela pose un réel problème de supervision des sauvegardes.</p>
<p>cordialement</p>
<p>--</p>
<p>Emmanuel KEITH<br />Responsable RAIP Nord-Alsace<br />DSI - Académie de Strasbourg</p>