Diagnostic des erreurs de déploiement ABORT et ERROR
Lorsqu'un déploiement Medulla se termine avec un statut de type ABORT ou ERROR, le libellé du statut permet généralement d'identifier la famille du problème rencontré.
Cette page présente les principales erreurs de déploiement Medulla, leur signification ainsi que les premiers contrôles à effectuer.
Information :
Avant toute intervention, consultez le détail de l'audit du déploiement. Le message affiché dans l'audit apporte souvent une information plus précise que le statut seul.
1. Méthode de diagnostic
Lorsqu'un déploiement échoue, nous recommandons de procéder dans l'ordre suivant :
- identifier le statut exact du déploiement ;
- consulter le message associé dans l'audit ;
- déterminer si le problème concerne la machine, le relais, le package ou son exécution ;
- effectuer les contrôles correspondant au statut ;
- corriger la cause avant de relancer le déploiement.
| Famille | Exemples |
|---|---|
| Machine indisponible | ABORT ON TIMEOUT, ABORT MACHINE DISAPPEARED |
| Agent Medulla | ABORT MISSING AGENT |
| Serveur relais | ABORT RELAY DOWN, ABORT ALTERNATIVE RELAYS DOWN, ABORT INFO RELAY MISSING |
| Package | ABORT PACKAGE IDENTIFIER MISSING, ABORT PACKAGE NAME MISSING, ABORT PACKAGE VERSION MISSING, ABORT DESCRIPTOR MISSING |
| Workflow / exécution | ABORT PACKAGE WORKFLOW ERROR, ABORT PACKAGE EXECUTION ERROR |
| Transfert | ABORT TRANSFER FAILED, ERROR TRANSFER FAILED |
| Dépendance | ABORT MISSING DEPENDENCY |
| Machine en doublon | ABORT DUPLICATE MACHINE |
| Annulation | ABORT DEPLOYMENT CANCELLED BY USER, ABORT PACKAGE EXECUTION CANCELLED |
2. ABORT ON TIMEOUT
Le statut :
ABORT ON TIMEOUT
indique que le déploiement n'a pas pu être poursuivi dans le temps imparti.
Ce comportement peut notamment apparaître lorsque :
- la machine ne revient pas en ligne malgré les tentatives de Wake On LAN ;
- la machine reste indisponible jusqu'à la fin de la plage de déploiement ;
- les relais sont occupés et la plage de déploiement est trop courte.
Vérifier que la machine est disponible
Commencez par vérifier que la machine est effectivement accessible sur le réseau.
ping IP_DE_LA_MACHINE
Vérifier le dernier état connu par Medulla
Dans la base xmppmaster, le dernier état connu de la machine peut être consulté dans la table uptime_machine.
SELECT *
FROM uptime_machine
WHERE hostname = "NOM_DE_LA_MACHINE"
ORDER BY id DESC
LIMIT 1\G;
Le champ status indique l'état connu :
1: machine considérée comme en ligne ;0: machine considérée comme éteinte.
Le champ updowntime permet d'obtenir une indication sur la durée pendant laquelle la machine est restée dans cet état.
Un message associé peut être :
Deployment error in fifo: timed out
3. ABORT MISSING AGENT
Le statut :
ABORT MISSING AGENT
indique que Medulla tente de déployer sur une machine connue dans l'inventaire, mais dont l'agent Medulla n'a jamais été correctement enregistré.
La machine peut par exemple être présente dans GLPI sans avoir correctement remonté dans Medulla.
Actions recommandées
- vérifier que l'agent Medulla est installé sur la machine ;
- vérifier que le service Medulla est démarré ;
- consulter les logs de l'agent ;
- réinstaller l'agent si nécessaire.
Information :
Si la machine apparaît dans l'inventaire mais n'est jamais remontée via l'agent Medulla, le problème doit être traité au niveau de l'installation ou de l'enregistrement de l'agent avant de relancer le déploiement.
4. ABORT RELAY DOWN
Le statut :
ABORT RELAY DOWN
indique que le serveur relais attribué à la machine n'est pas disponible.
Vérifier le relais
ping IP_DU_RELAIS
Si l'accès SSH est autorisé :
ssh root@IP_DU_RELAIS
Vérifier son état dans Medulla
Le dernier état connu peut être consulté dans la table uptime_machine.
SELECT *
FROM uptime_machine
WHERE hostname = "NOM_DU_RELAIS"
ORDER BY id DESC
LIMIT 1\G;
Vérifiez également si le relais est activé :
SELECT id, nameserver, enabled
FROM relayserver;
Le champ enabled permet de savoir si le relais peut encore être proposé aux machines.
Attention :
Toute modification directe de la base de données Medulla doit être effectuée avec précaution et uniquement après sauvegarde. Une erreur de modification peut rendre incohérente l'affectation des machines aux relais.
5. ABORT ALTERNATIVE RELAYS DOWN
Le statut :
ABORT ALTERNATIVE RELAYS DOWN
indique qu'aucun des serveurs relais alternatifs disponibles pour la machine n'est actuellement accessible.
Il est recommandé de contrôler :
- la disponibilité des relais alternatifs ;
- leur connectivité réseau ;
- leurs services Medulla ;
- leur présence et leur état dans Medulla.
6. ABORT INFO RELAY MISSING
Le statut :
ABORT INFO RELAY MISSING
indique que le relais associé à la machine n'est plus correctement renseigné ou n'existe plus.
Ce cas peut notamment apparaître si un relais a été supprimé ou modifié alors que des machines y sont encore associées.
Vérifier l'affectation de la machine
Le champ groupdeploy de la machine doit contenir le relais utilisé pour son déploiement.
Si ce champ est vide ou pointe vers un relais qui n'existe plus, l'affectation doit être corrigée.
Attention :
La correction directe du champ groupdeploy en base de données doit être réservée aux administrateurs connaissant l'architecture Medulla et la configuration de leurs relais.
7. ERROR UNKNOWN ERROR
Le statut :
ERROR UNKNOWN ERROR
correspond à une erreur pour laquelle Medulla ne dispose pas d'une cause plus précise dans le statut.
Dans ce cas, consultez en priorité :
- l'audit complet du déploiement ;
- les journaux du déploiement ;
- les logs de l'agent sur la machine cible ;
- les logs du serveur relais concerné.
Important :
Le document d'exploitation utilisé comme référence ne fournit pas de procédure corrective spécifique pour ERROR UNKNOWN ERROR. Le diagnostic doit donc s'appuyer sur l'audit et les logs correspondant au déploiement concerné.
8. ABORT PACKAGE IDENTIFIER MISSING
Le statut :
ABORT PACKAGE IDENTIFIER MISSING
indique que l'identifiant UUID du package est absent.
Le fichier à contrôler est :
xmppdeploy.json
Vous pouvez retrouver l'UUID du package dans les informations disponibles dans l'audit du déploiement, puis vérifier sa présence dans le fichier :
grep -i "uuid" /var/lib/pulse2/packages/sharing/global/UUID_DU_PACKAGE/xmppdeploy.json
Si la clé UUID est absente, il est recommandé de recréer le package.
9. ABORT PACKAGE NAME MISSING
Le statut :
ABORT PACKAGE NAME MISSING
indique que le nom du package est manquant.
Ce comportement peut notamment indiquer que le package a été mal créé.
Les informations du package sont notamment stockées dans :
xmppdeploy.json
Si ce fichier est absent ou incomplet, il est recommandé de recréer le package.
10. ABORT PACKAGE VERSION MISSING
Le statut :
ABORT PACKAGE VERSION MISSING
indique que la version du package est absente.
Comme pour ABORT PACKAGE NAME MISSING, contrôlez le contenu de :
xmppdeploy.json
Si les informations du package sont incomplètes, il est recommandé de recréer le package.
11. ABORT PACKAGE WORKFLOW ERROR
Le statut :
ABORT PACKAGE WORKFLOW ERROR
indique une incohérence ou une erreur dans le workflow du package.
Ce problème peut notamment apparaître :
- lorsqu'une étape du workflow n'existe pas ;
- si le fichier
xmppdeploy.jsonest incorrect ; - si le descriptor attendu pour le système d'exploitation est absent ;
- si le graphe d'exécution ne peut pas être initialisé.
Les messages associés documentés comprennent notamment :
Package error: descriptor for OS %s missing
Descriptor inconsistency error
Error initializing grafcet
Dans ce cas, vérifiez le package et son workflow.
Si le package a été mal créé ou modifié, il est recommandé de le recréer.
12. ABORT DESCRIPTOR MISSING
Le statut :
ABORT DESCRIPTOR MISSING
indique que le descripteur du package est manquant.
Vérifiez le contenu du package et notamment les informations présentes dans :
xmppdeploy.json
Information :
Le document d'exploitation Medulla fourni identifie ce statut mais ne documente pas de procédure corrective plus détaillée. Si le descripteur n'est pas présent ou si le package est incohérent, la recréation du package constitue l'action recommandée dans les cas similaires documentés.
13. ABORT MACHINE DISAPPEARED
Le statut :
ABORT MACHINE DISAPPEARED
indique que la machine était initialement en ligne mais qu'elle est devenue indisponible pendant le déploiement.
Consulter les logs de l'agent
Sur une machine Windows, consultez :
C:\Program Files\Medulla\var\log\xmpp-agent-machine.log
Un message tel que :
INFO -(LAUNCHER)We start a reconfiguration of the medulla agent
indique que l'agent Medulla vient de démarrer ou de lancer une reconfiguration.
Vérifiez notamment :
- si la machine a redémarré ;
- si le service MedullaAgent a redémarré ;
- si l'agent se reconfigure de manière répétée ;
- si la connectivité réseau a été interrompue.
14. ABORT DEPLOYMENT CANCELLED BY USER
Le statut :
ABORT DEPLOYMENT CANCELLED BY USER
indique que le déploiement a été volontairement annulé par un utilisateur.
Il ne s'agit donc pas nécessairement d'une erreur technique.
Information :
Avant d'effectuer un diagnostic technique, vérifiez si l'annulation était volontaire.
15. ABORT PACKAGE EXECUTION ERROR
Le statut :
ABORT PACKAGE EXECUTION ERROR
indique que l'une des commandes exécutées par le package a échoué.
Le problème concerne donc principalement l'exécution du contenu du package sur la machine cible.
Une commande peut par exemple fonctionner sur une machine mais échouer sur une autre en fonction de :
- la version du système ;
- la configuration locale ;
- les droits ;
- la présence ou non d'un fichier ou logiciel ;
- l'environnement d'exécution.
Consulter le retour de la commande
Il est recommandé d'afficher le retour complet de la commande dans l'audit du déploiement afin d'identifier l'erreur retournée par la machine.
Les messages documentés comprennent notamment :
Package execution error
Package delayed execution error
Deployment aborted: inventory error
Recommandation :
Lors de la création ou de l'édition d'un package, activez l'affichage du résultat complet lorsque vous avez besoin de diagnostiquer une commande. Le retour apparaîtra alors dans l'audit du déploiement.
16. ABORT DUPLICATE MACHINE
Le statut :
ABORT DUPLICATE MACHINE
indique que plusieurs machines se présentent avec le même identifiant.
Ce comportement peut notamment apparaître après le remastering ou la duplication d'une machine lorsque l'ancienne entrée existe toujours dans Medulla.
Rechercher les doublons dans Medulla
SELECT uuid_inventorymachine, hostname, COUNT(*) AS machine_count
FROM machines
GROUP BY uuid_inventorymachine
HAVING COUNT(*) > 1;
Pour rechercher uniquement un hostname :
SELECT uuid_inventorymachine, hostname, COUNT(*) AS machine_count
FROM machines
WHERE hostname = 'NOM_DE_LA_MACHINE'
GROUP BY uuid_inventorymachine
HAVING COUNT(*) > 1;
Rechercher les doublons dans GLPI
SELECT id, name AS hostname, COUNT(*) AS machine_count
FROM glpi_computers
GROUP BY name
HAVING machine_count > 1;
Dans le fonctionnement décrit dans le document d'exploitation, l'identifiant GLPI correspond au champ uuid_inventorymachine de la base xmppmaster.
Attention :
Ne supprimez pas une machine directement en base sans avoir préalablement identifié avec certitude l'entrée en doublon et vérifié sa correspondance avec GLPI.
17. ABORT TRANSFER FAILED
Le statut :
ABORT TRANSFER FAILED
indique que les fichiers du package n'ont pas pu être transférés vers la machine cible.
Le document d'exploitation mentionne notamment des problèmes possibles avec :
- le transfert
rsync; - un téléchargement
curl; - la disponibilité du package ;
- le serveur relais.
Un message associé peut être :
Transfer error: curl download
Consultez le message détaillé disponible dans l'audit pour identifier la cause précise.
Information :
Un échec de transfert intervient avant l'exécution des commandes du package. Il faut donc diagnostiquer en priorité le chemin de transfert du package et non son contenu.
18. ERROR TRANSFER FAILED
Le statut ou message :
ERROR TRANSFER FAILED
peut notamment être associé au message :
Transfer error: Package Server does not have this package
Ce message indique que le serveur de packages utilisé pour le déploiement ne dispose pas du package demandé.
Vérifiez :
- que le package existe toujours ;
- qu'il est disponible sur le serveur de packages attendu ;
- que sa synchronisation vers le relais concerné s'est correctement effectuée.
19. ABORT PACKAGE EXECUTION CANCELLED
Le statut :
ABORT PACKAGE EXECUTION CANCELLED
indique que l'exécution du package a été annulée.
Le document d'exploitation indique que ce cas peut notamment apparaître lors d'un déploiement différé lorsque les conditions attendues ne sont pas remplies.
Un message associé peut être :
Package delayed execution cancelled
20. ABORT MISSING DEPENDENCY
Le statut :
ABORT MISSING DEPENDENCY
indique qu'une dépendance nécessaire au package est absente.
Le package peut notamment référencer un autre package qui a depuis été supprimé.
Le message associé peut être :
Deployment error: missing dependency
Action recommandée
Vérifiez les dépendances configurées dans le package et assurez-vous que tous les packages nécessaires existent toujours.
21. Tableau de diagnostic rapide
| Erreur | Cause principale | Premier contrôle |
|---|---|---|
ABORT ON TIMEOUT |
Machine indisponible ou plage expirée | Vérifier que la machine est en ligne |
ABORT MISSING AGENT |
Agent absent ou non enregistré | Vérifier l'agent Medulla |
ABORT RELAY DOWN |
Relais indisponible | Tester le relais |
ABORT ALTERNATIVE RELAYS DOWN |
Aucun relais alternatif disponible | Contrôler les relais alternatifs |
ABORT INFO RELAY MISSING |
Affectation relais absente ou invalide | Vérifier l'affectation du relais |
ERROR UNKNOWN ERROR |
Erreur non identifiée | Consulter audit et logs |
ABORT PACKAGE IDENTIFIER MISSING |
UUID absent | Contrôler xmppdeploy.json |
ABORT PACKAGE NAME MISSING |
Nom du package absent | Contrôler le package |
ABORT PACKAGE VERSION MISSING |
Version absente | Contrôler le package |
ABORT PACKAGE WORKFLOW ERROR |
Workflow incorrect | Contrôler xmppdeploy.json et les étapes |
ABORT DESCRIPTOR MISSING |
Descriptor absent | Contrôler le package |
ABORT MACHINE DISAPPEARED |
Machine devenue indisponible | Consulter les logs de l'agent |
ABORT DEPLOYMENT CANCELLED BY USER |
Annulation volontaire | Vérifier l'historique du déploiement |
ABORT PACKAGE EXECUTION ERROR |
Commande du package en erreur | Lire le retour de commande dans l'audit |
ABORT DUPLICATE MACHINE |
Machine dupliquée | Contrôler Medulla et GLPI |
ABORT TRANSFER FAILED |
Échec du transfert | Lire le message détaillé dans l'audit |
ERROR TRANSFER FAILED |
Package absent du serveur de packages | Vérifier la disponibilité du package |
ABORT PACKAGE EXECUTION CANCELLED |
Exécution annulée | Contrôler les conditions du déploiement |
ABORT MISSING DEPENDENCY |
Dépendance absente | Vérifier les dépendances du package |
22. Informations à collecter avant d'ouvrir un ticket support
Si le problème persiste, relevez au minimum :
- le nom de la machine concernée ;
- le statut exact du déploiement ;
- le message complet disponible dans l'audit ;
- le nom du package ;
- le serveur relais utilisé ;
- la date et l'heure du déploiement ;
- les logs de l'agent lorsque le problème concerne la machine ;
- les logs serveur correspondant au composant concerné.
Recommandation :
Le diagnostic d'un déploiement Medulla doit toujours commencer par le statut exact et le message disponible dans l'audit. La plupart des erreurs peuvent ensuite être classées dans quatre grandes familles : machine, relais, transfert ou package. Cette classification permet d'orienter rapidement les contrôles vers le bon composant.