Anomalie #5641
Un service déclaré dans 2 conteneurs différents démarre 2 fois en mode non conteneur
Description
Exemple apache2 déclaré dans web par 20_web.xml et dans mail par 25_sympa.xml :
root@scribe:~# reconfigure [ ... ] * Stopping web server apache2 ... waiting [ OK ] * Stopping web server apache2 [ OK ] [ ... ] * Starting web server apache2 [ OK ] * Starting web server apache2 (98)Address already in use: make_sock: could not bind to address 192.168.230.153:80 no listening sockets available, shutting down Unable to open logs Action 'start' failed.
Demandes liées
Révisions associées
N’utiliser qu’un groupe de conteneur « root » en mode non conteneur
- creole/client.py (CreoleClient.get_containers): Renvoi tous les
conteneurs pour le groupe « root » en mode non conteneur.
(CreoleClient.get_groups): Renvoi un unique groupe « root » en mode non
conteneur.
Ref: #5641 @15m
Passage à la nouvelle API « pyeole.service »
- bin/CreoleService: Utilisation de « pyeole.service.manage_services ».
Prise en compte du pseudo conteneur « all ».
- creole/reconfigure.py: Utilisation de
« pyeole.service.manage_services ».
Configuration du logger « pyeole.service » pour avoir les messages.
- creole/service.py: Les wrappers sont notés « deprecated ».
- data/creole.dtd: Ajout de la méthode de service « network ».
Fixes: #5641 @4h
Mise à jour des dépendances pour la nouvelle API « pyeole.service »
- debian/control (Depends): Il faut à minima la version 2.4.0-59 de
« pyeole ».
Ref: #5641 @5m
Historique
#1 Mis à jour par Joël Cuissinat il y a presque 11 ans
NB : il y avait un bug assez proche sur 2.3 : #4493
#2 Mis à jour par Joël Cuissinat il y a plus de 10 ans
- Version cible changé de Eole 2.4-dev-3 à Eole 2.4-alpha
#3 Mis à jour par Daniel Dehennin il y a plus de 10 ans
- Echéance mis à 30/08/2013
- Assigné à mis à Daniel Dehennin
- Début mis à 28/08/2013
#4 Mis à jour par Daniel Dehennin il y a plus de 10 ans
- % réalisé changé de 0 à 20
Le problème vient :
- D’une gestion des services en dehors de la logique des groupes de conteneurs ;
- En mode non conteneur, tous les conteneurs ne sont pas dans le groupe
root
.
J’ai simulé le point 2
, dans une branche personnelle locale :
CreoleClient.get_containers()
: en mode non conteneur, si on demande les conteneurs du grouperoot
, retourne tous les conteneursCreoleClient.get_groups()
: en mode non conteneur, ne retourne que le grouperoot
Il faut maintenant modifier python-pyeole afin que la gestion des services utilise cette API CreoleClient
mais cela prendra du temps, le temps de comprendre le code actuel.
#5 Mis à jour par Joël Cuissinat il y a plus de 10 ans
- Version cible changé de Eole 2.4-alpha à Eole 2.4-alpha2
#6 Mis à jour par Daniel Dehennin il y a plus de 10 ans
Rebaser des commit avec des ref c’est le mauvais plan :-/
#7 Mis à jour par Fabrice Barconnière il y a plus de 10 ans
- Echéance changé de 30/08/2013 à 27/09/2013
- Statut changé de Nouveau à Accepté
#8 Mis à jour par Daniel Dehennin il y a plus de 10 ans
- Statut changé de Accepté à Résolu
- % réalisé changé de 20 à 100
Appliqué par commit 11f88e49242e1098c4c216496a0782556d5f6de6.
#9 Mis à jour par Joël Cuissinat il y a plus de 10 ans
- Statut changé de Résolu à Fermé
apache2 n'est plus redémarré qu'une seule fois sur mon Scribe-2.4 avec : activer_apache = activer_sympa = oui