Demande #35396
Choisir de créer le serveur dans Zéphir en fonction de son existence ou non
0%
Description
Dans l’un des tests hapy-automation, il s’est trouvé que le serveur n’était pas présent dans la base du Zéphir (la configuration n’avait pas encore été ajoutée dans le répertoire configuration du projet eole-ci-tests).
La fonction de récupération de l’identifiant zéphir du serveur renvoie 0 dans ce cas. Par ailleurs, la procédure d’enregistrement_zephir utilisé dans ce test ne prévoit pas la possibilité de créér le serveur. enregistrement_zephir tente donc d’associer le serveur hapy au serveur ayant l’identifiant 0 (qui n’existe pas).
On pourrait imaginer que la fonction de récupération de l’ID provoque une erreur plutôt que renvoie 0 (ou alors modifier le test if idServeur < 0 en if idServeur <= 0 mais ça semble moins clair).
Dans tous les cas, 0 ou erreur, la fonction qui utilise la sortie de cette dernière fonction pourrait adapter les arguments utilisés pour lancer enregistrement_zephir de façon à créer le serveur dans la base (et récupérer l’identifiant ?).
Dans monitor_eole_ci4.py
def monitor_zephir_recupere_configuration(self): self.initZephir() idServeur = self.getIdServeur() if idServeur < 0: self.sauvegarde_fichier("enregistrement_zephir") return 1 self.setCommande('enregistrement_zephir') self.setActions([ [ 'zephir_choix', '2' ], [ 'zephir_id', str(idServeur) ] ]) cdu = self.monitor_cmd() if self.zephir_desincription: self.setCommande('enregistrement_zephir') self.setActions([ [ 'zephir_choix', '2' ], [ 'zephir_id', str(idServeur) ] ]) cdu = self.monitor_cmd() if cdu != 0: self.sauvegarde_fichier("enregistrement_zephir") return cdu […] def getIdServeur(self): if self.versionMajeur == '?': self.println_err('version inconnue') return 0 if self.versionMajeur == '2.4.1h': self.versionMajeur = '2.4.1' self.println_err('Version: ' + self.versionMajeur) if self.machine == '?': self.println_err('machine inconnue') return 0 self.println_err('Machine: ' + self.machine) self.println_err('Configuration: ' + self.configuration) serveur_name = self.machine + '-' + self.configuration + '-' + self.versionMajeur return self.getIdServeurName(serveur_name)
Historique
#1 Mis à jour par Gilles Grandgérard il y a 12 mois
ok, mais le pb viens du manque de configuration pour etb1.hapy / autodeploy
donc, le "bug" n'est pas ici.
mais pour le test < 0, je suis d'accord avec toi. il n'est pas juste.