Projet

Général

Profil

Demande #35396

Choisir de créer le serveur dans Zéphir en fonction de son existence ou non

Ajouté par Benjamin Bohard il y a 12 mois. Mis à jour il y a 12 mois.

Statut:
Nouveau
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
16/05/2023
Echéance:
% réalisé:

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.

Formats disponibles : Atom PDF