Netops avec Emacs et Org mode

Vincent Bernat

Org mode est un paquet pour Emacs permettant de « prendre des notes, maintenir une liste des tâches, planifier des projets et écrire des documents ». Il peut exécuter des extraits de code et en capturer la sortie (via Babel). C’est un outil inestimable pour documenter son infrastructure et ses opérations.

Voici trois (relativement) courtes vidéos démontrant l’utilisation de Org mode dans le cadre des opérations réseau sur du matériel Juniper. J’y utilise junos-mode qui propose les fonctionnalités suivantes :

  • coloration syntaxique pour les fichiers de configuration ;
  • application de fragments de configuration sur des équipements distants ;
  • exécution de commandes arbitraires.

Certains équipements Junos peuvent être particulièrement lents. Aussi, l’application de configuration et l’éxecution de commandes se fait de manière asynchrone1 à l’aide d’un programme compagnon en Python.

Dans la première vidéo, je prends des notes sur la configuration de BGP add-path (RFC 7911). La plupart des fonctionnalités de junos-mode y sont présentées.

Dans la seconde vidéo, j’exécute une opération planifiée pour activer cette fonctionnalité en production. Le document est un mode opératoire et contient la configuration à appliquer ainsi que les commandes à utiliser pour vérifier le bon fonctionnement. À la fin, on obtient un compte-rendu détaillé de l’opération.

Dans la troisième vidéo, une recette a été utilisée pour exécuter un changement. Je fournis quelques variables en entrée, j’exécute la recette puis je vérifie le résultat.


  1. Il s’agit principalement d’une bidouille car Babel ne propose rien en natif à cet effet. Le paquet ob-async propose une généralisation de ce concept à n’importe quel langage supporté. ↩︎