Scénario #35033
Erreur incompréhensible si un paquet est dans le module et dans la variante
100%
Description
constat¶
Dans ma variante seth j'avais ajouté les paquets eole-fichier-quota et eole-ad-dc-pso (ils étaient marqué comme installé mais non déclaré).
Suite à l'inclusion de ces paquets dans le module (#34762), j'ai une série d'erreurs qu'il est difficile a interprété.
L'erreur primaire est la présence dans les logs :
nov. 19 19:48:36 zephir zephir_backend[461261]: [-] Erreur de lecture de la configuration du serveur 23 ('int' object has no attribute '__cmp__')
- il est impossible de lancer gen_config sur le serveur en s'identifiant sur Zéphir
Les problèmes :
1/ dans gen_config lancé sur le serveur distant on a une erreur incompéhensible :
dans /usr/lib/python3/dist-packages/eolegenconfig/lib.py
il y a : code, res = proxy.serveurs.get_dico(zephir['server_id'], 'modif_config')
Il n'y a pas de vérification du code. S'il y a une erreur "res" est alors une string.
L'eval sur la string renvoi une erreur.
2/ problème de comparaison dans /usr/lib/python3/dist-packages/zephir/utils/creolewrap.py
cmp n'existe plus en python3 :
def sort_dicts(dict1, dict2): name1 = os.path.basename(dict1[0]) name2 = os.path.basename(dict2[0]) if name1 == name2: # noms identiques: ordre des répertoires conservé return dict1[1].__cmp__(dict2[1]) elif name1 > name2: return 1 else: return -1
3/ problème identique dans /usr/lib/python3/dist-packages/creole/xmlreflector.py
def sort_group(file1, file2): if file1[0] == file2[0]: # sort by initial xmlfolder order if same name return file1[1].__cmp__(file2[1]) # sort by filename elif file1[0] > file2[0]: return 1 else: return -1
4/ une fois tout cela corrigé, l'erreur n'est toujours pas compréhensible :
zephir_backend[467913]: #011creole.error.CreoleDictConsistencyError: b'D\xc3\xa9j\xc3\xa0 d\xc3\xa9fini dans un autre fichier XML, /etc/warnquota.conf ne peut \xc3\xaatre cr\xc3\xa9\xc3\xa9 de nouveau'
Proposition¶
- gen_config devrait interpréter correctement le code retour Zéphir
- logiquement il ne devrait pas y avoir 2 fois le même nom de fichier en dehors du cadre de Zéphir. En effet, sur un serveur tous les fichiers sont chargés depuis un répertoire unique. Il ne peut pas y avoir 2 fois un même fichier avec le même nom.
Sur Zéphir on pourrait détecter que les liens symboliques pointes vers le même fichier et faire une erreur explicite.
À faire sur EOLE ≥ 2.8.0
Subtasks
History
#1 Updated by Joël Cuissinat 10 months ago
- File eole-dns-ad-dc.png View added
C'est également valable si le paquet est dans le module et dans le serveur, suite à l'inclusion du paquet eole-dns-ad-dc
sur AmonEcole (#34724), Éric s'est bien retrouvé dans un cas similaire à celui décrit dans la demande :
En supprimant le paquet de la liste des dictionnaires additionnels, la situation est redevenue normal mais ce cas de figure doit être mieux géré ;)
#2 Updated by Joël Cuissinat 10 months ago
- Description updated (diff)
#3 Updated by Joël Cuissinat 10 months ago
- Tracker changed from Demande to Scénario
- Start date deleted (
11/21/2022) - Release set to EOLE 2.8.0.1
- Story points set to 2.0
#4 Updated by Joël Cuissinat 7 months ago
- Release changed from EOLE 2.8.0.1 to Carnet de produit (Cadoles)
#5 Updated by Joël Cuissinat 7 months ago
- Release changed from Carnet de produit (Cadoles) to EOLE 2.8.0.1
#6 Updated by Joël Cuissinat 7 months ago
- Release changed from EOLE 2.8.0.1 to Carnet de produit (Cadoles)
#7 Updated by Joël Cuissinat 5 months ago
- Description updated (diff)
#8 Updated by Laurent Gourvenec 5 months ago
- Assigned To set to Laurent Gourvenec
#9 Updated by Laurent Gourvenec 5 months ago
- Due date set to 01/01/2024
- Target version set to Carnet Cadoles
- Start date set to 10/01/2022
#10 Updated by Laurent Gourvenec 5 months ago
Message d'erreur proposé :
Erreur de lecture de la configuration : Un dictionnaire est présent en double sur Zéphir ! Vérifiez sur le serveur Zéphir que les paquets installés par la variante et sur ce serveur ne font pas doublons avec les paquets installés de base.
#11 Updated by Joël Cuissinat 4 months ago
- Status changed from Nouveau to Terminé (Sprint)
- Target version changed from Carnet Cadoles to Livraison Cadoles 31/05/2023
- Release changed from Carnet de produit (Cadoles) to EOLE 2.8.0