Project

General

Profile

Anomalie #6593

Revoir la gestion des erreurs des services

Added by Emmanuel GARETTE over 7 years ago. Updated over 7 years ago.

Status:
Fermé
Priority:
Normal
Assigned To:
Category:
-
Start date:
Due date:
12/06/2013
% Done:

100%

Spent time:
Distribution:
EOLE 2.4

Description

Liste des actions possibles

  • action d'activation/désactivation : enable/disable/configure (configure reprenant la configuration Creole)
  • action de stop/(re)démarrage : start/stop/restart/reload/apply (apply démarrant/stoppant suivant la configuration Creole)
  • action de status : status

Fonctionnement interne

Aujourd'hui, après le refactoring en s'inspirant de ce qu'il y avait nous avons :

  • check avant l'action (quelque soit l'action) qui vérifie :
    • si l'action est activé (au sens ubuntu et non Creole) ;
    • si l'action n'est pas configuré correctement (toujours au sens ubuntu).

Sauf cas particulier il n'est pas possible de lancer une action si le check ne passe pas.
Par contre, il y a un "raise" que si l'action est 'start' ou 'restart' (sauf si on redémarre tous les services).

  • si le check passe (sauf cas particulier) lancement de l'action.

Problèmes :

Voici une liste non exhaustive des problèmes actuels :

  • peu de distinction des actions globales (application d'une configuration) et action sur un service particulier
  • c'est ubuntu qui a raison (et non Creole) :
    • il est possible de (dés)activer une action alors qu'elle est active dans Creole
    • si on désactive une action il n'est plus possible de faire un status/stop/... sur ce service
    • si un service est activer dans Creole, il n'est pas possible de le démarrer si pas configuration dans ubuntu
    • ....
  • gestion des erreurs a définir :
    • pourquoi fait un raise si un service ne doit pas être démarré, mais juste un log.debug pour status ?

Problèmes connexes

  • l'ordre de démarrage des services au démarrage de la machine n'est pas contrôlable ;
  • on ne peut pas démarrer les conteneurs sans démarrer les services (donc il n'est pas possible d'avoir accès au conteneur en posttemplate ou les services sont démarrés avant posttemplate et non postservice).

Related issues

Related to creole - Evolution #6673: Ajouter et gérer un attribut de service "unmanaged" Classée sans suite

Associated revisions

Revision 18525ccc (diff)
Added by Emmanuel GARETTE over 7 years ago

pyeole/service/ validation sur creole (ref #6593)

Revision af6f5159 (diff)
Added by Emmanuel GARETTE over 7 years ago

bin/Maj-Auto validation sur creole + creole/reconfigure.py : start les services au lieu d'apply (ref #6593)

Revision 89134673 (diff)
Added by Joël Cuissinat over 7 years ago

Correction : même les scripts disabled démarrent !

Ref #6593 @10m

Revision 5966473b (diff)
Added by Emmanuel GARETTE over 7 years ago

pouvoir ajouter l'option 'force' à manage_services (ref #6593)

Revision fabc6a68 (diff)
Added by Emmanuel GARETTE over 7 years ago

ajouter l'option --force à CreoleService (fixes #6593)

History

#1 Updated by Emmanuel GARETTE over 7 years ago

Solution proposé par Philippe :

Ne pas se soucier de la configuration Ubuntu/Creole. Avoir un système permissif.

Cela permet d'avoir un code plus clair, mais surtout permettre de test/débugger sans passer par les outils ubuntu standard. Les contrôles post-actions ne sont pas vraiment justifier. Cela n'impactera pas le fonctionnement de la machine si on arrive à démarrer un service qui ne devrait pas l'être.

#2 Updated by Emmanuel GARETTE over 7 years ago

Je serais pour une vérification de la configuration Creole et uniquement la configuration Creole.

Pour le démarrage des services, je pense qu'on devrait évalué la possibilité que ca soit un service spécial EOLE qui démarre les services une fois que tous les conteneurs sont démarrés et ne plus utiliser le système de démarrage de Ubuntu.

#3 Updated by Joël Cuissinat over 7 years ago

  • Target version changed from Eole 2.4-beta2 to Eole 2.4-beta3

#4 Updated by Emmanuel GARETTE over 7 years ago

Manage_services doit utiliser les informations de Creoled et non ubuntu.

Il faudra pouvoir ne pas faire de vérification avec les commandes CreoleService (option --force).

#5 Updated by Emmanuel GARETTE over 7 years ago

  • Assigned To set to Emmanuel GARETTE

#6 Updated by Emmanuel GARETTE over 7 years ago

Reste a voir le "--force" dans CreoleService.

#7 Updated by Joël Cuissinat over 7 years ago

  • % Done changed from 0 to 50

#8 Updated by Emmanuel GARETTE over 7 years ago

  • Status changed from Nouveau to Résolu
  • % Done changed from 50 to 100

#9 Updated by Joël Cuissinat over 7 years ago

  • Status changed from Résolu to Réouvert
  • % Done changed from 100 to 90

Il reste un soucis quelque part !

root@scribe:~# CreoleService -c mysql mysql stop 
root - manage_services() got an unexpected keyword argument 'force'

#10 Updated by Joël Cuissinat over 7 years ago

  • Status changed from Réouvert to Résolu
  • % Done changed from 90 to 100

Suite à des problèmes de compilation, la dernière modification n'était pas disponible sur les serveurs.
C'est mieux avec le paquet : python-pyeole_2.4.0-93

#11 Updated by Joël Cuissinat over 7 years ago

  • Due date set to 12/06/2013
  • Status changed from Résolu to Fermé
root@scribe:~# CreoleService nut start
root - cannot start disabled service
root@scribe:~# CreoleService -f nut start
Start System V service nut in root                          [  OK  ]

Also available in: Atom PDF