Tâche #22349
Scénario #22221: Les services Zéphir doivent avoir un niveau technique homogène
Finaliser la mise à niveau du code du service `saltmaster`
Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
Restant à faire (heures):
0.0
Demandes liées
Révisions associées
SaltStack: crossbar management must be restricted to the controller
We split the code between the crossbar frontend and the SaltStack
management code.
The controller is only responsible of publishing on crossbar the API
to manage SaltStack.
- use a common SaltStack prefix for messages
- services/saltmaster/src/salt_ctrl/salt-controller: simple executable
script to start the controller.
Define methods to wrap each exposed API and manage their return
values and errors.
- services/saltmaster/src/salt_ctrl/salt_exec.py: define exception
classes and use them instead of autobahn specific exceptions.
Remove the handler_map presentation trick for autobahn since it's
managed by the controller.
Publish an event for each sheduled command.
- services/saltmaster/src/salt_ctrl/salt_jobs.py: ditoo.
- services/saltmaster/src/salt_ctrl/salt-events-listener: simple
executable script to start a SaltSatack events listener which print
messages on standard output.
- services/saltmaster/Dockerfile: install new event listener and adapt
for controller and its configuration file renames.
- services/common/messages/v1/salt.exec.yml: link to error message manifests.
- services/common/messages/v1/salt.exec.error.execute.yml: add
manifest for error message.
- services/common/messages/v1/salt.exec.error.login.yml: ditoo.
- services/common/messages/v1/salt.exec.error.missing-command.yml: ditoo.
- services/common/messages/v1/salt.exec.error.missing-servername.yml: ditoo.
- services/common/messages/v1/salt.jobs.list.yml: ditoo.
- services/common/messages/v1/salt.jobs.describe.yml: ditoo.
- services/common/messages/v1/salt.jobs.error.db-connection.yml: ditoo.
- services/common/messages/v1/salt.jobs.error.jobid-type.yml: ditoo.
- services/common/messages/v1/salt.jobs.error.list.yml: ditoo.
- services/common/messages/v1/salt.jobs.error.missing-jobid.yml: ditoo.
- services/common/messages/v1/salt.jobs.error.unknown-jobid.yml: ditoo.
Ref: #22349
Historique
#1 Mis à jour par William Petit il y a plus de 8 ans
- Statut changé de Nouveau à En cours
#2 Mis à jour par William Petit il y a plus de 8 ans
- Sujet changé de Finaliser la mise à niveau du code du service @saltmaster@ à Finaliser la mise à niveau du code du service `saltmaster`
#3 Mis à jour par William Petit il y a plus de 8 ans
- Lié à Tâche #22352: Mutualiser le contrôleur WAMP ajouté
#4 Mis à jour par Daniel Dehennin il y a plus de 8 ans
- % réalisé changé de 0 à 100
- Le controlleur est centré sur la gestion crossbar
- Les erreurs crossbar sont définies dans des messages à part
- Le point d’entrée est un script et non un module python => utilisation d’un nom qui traduit cette différence
- Un écouteur d’exemple a exécuter en ligne de commande est fourni
root@zephir2:~# docker exec -it zephir_saltmaster_1 /srv/salt_ctrl/salt-events-listener Salt events listener: crossbar joined. Salt events listener: topic “v1.salt.exec.command-executed” subscribed by handler “SaltEventsListener.ExecutedCommand” with subscription ID “8487881006278455” Got “v1.salt.exec.command-executed” event with arguments “{'return': [{'minions': ['eolebase.ac-test.fr', 'horus.ac-test.fr'], 'jid': '20171207143731313335'}], 'salt_args': 'salt_args', 'salt_command': 'salt_command', 'servername': 'servername', 'client_mode': 'client_mode'}” - La documentation des messages est regénérée et prend bien en compte les messages d’erreur.
#5 Mis à jour par Daniel Dehennin il y a plus de 8 ans
- Temps estimé mis à 0.00 h
- Restant à faire (heures) mis à 0.0
#6 Mis à jour par Scrum Master il y a plus de 8 ans
- Statut changé de En cours à Résolu
#7 Mis à jour par Daniel Dehennin il y a plus de 8 ans
- Statut changé de Résolu à Fermé