Sommaire

3) Les scripts clients

Les deux principaux scripts de la partie client sont:

Tous les scripts concernant Zephir se situent dans le répertoire /usr/share/eole/zephir/

3.1) La fonction d'enregistrement

Cette procédure permet de configurer un serveur Eole pour fonctionner avec Zephir. Les différentes étapes de cette procédures sont les suivantes:

  • mise en place d'une configuration réseau minimale si besoin

  • saisie de l'adresse de zephir

  • saisie d'un login et mot de passe pour la connexion à zephir

  • selon la méthode de déploiement retenue:

    • choix du n° de serveur existant dans la base zephir
    • création d'un nouveau serveur dans la base
  • mise en place de la conf uucp (et échange de clé rsa avec zephir)

  • proposition des choix suivants pour la mise en place de la configuration:

    • sauvegarde de la configuration existante (si déjà configuré) sur zephir
    • utilisation de la configuration stockée sur zephir
    • ne rien faire (configuration manuelle du serveur)
  • sauvegarde du n° de serveur et de l'adresse de zephir dans le fichier /usr/share/eole/zephir/zephir_conf/zephir_conf.py (si ce fichier est présent, le serveur considère qu'il est en mode zephir).

3.2) Les fonctions accessibles à zephir

Ces procédures sont soit des fonctions python déclarées dans zephir_client.py, soit des scripts exécutables du type /usr/share/eole/zephir/nom_script.zephir.

Dans le cas des scripts, si l'utilisateur uucp n'a pas les droits nécessaires à l'utilisation de ce script, la solution la plus simple consiste à écrire une fonction dans zephir_client.py qui porte le même nom que le script et qui apelle clui-ci avec une commande sudo.

Exemple de la fonction de sauvegarde de la configuration :

Cette fonction lance un script nommé save_files.zephir sur le client

def save_files(zephir):
        """lance la procédure d'envoi de la configuration du serveur sur zephir"""
        res = os.system('sudo /usr/share/eole/zephir/save_files.zephir 2>&1>> /tmp/rapport.zephir')
        if res == 0:
                return "ok"
        else:
                log('SAUVEGARDE',1,'erreur lors de la sauvegarde sur zephir')
                return "erreur save_files.zephir"