YANG Suite

On attendait le remplaçant de YANG Explorer et il vient de sortir. YANG Suite remplace l’interface flash par du HTML5 et permet d’aborder l’automatisation réseau à l’aide de modèles YANG en navigant dans les modules depuis une interface graphique, en créant des requêtes RPC pour interagir avec les équipements et en testant la télémétrie à l’aide de gRPC.

L’usage de conteneurs Docker facilite grandement la mise en place de YANG Suite. Sur la base d’une machine virtuelle Ubuntu 20.04 à jour, Docker est installé :

sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
sudo apt update
sudo apt install docker-ce
sudo apt install docker-compose
sudo usermod -aG docker ${USER}
sudo reboot

L’installation la plus simple de YANG Suite, consiste à cloner le dépôt de GitHub.

git clone https://github.com/CiscoDevNet/yangsuite
cd yangsuite/docker/
./gen_test_certs.sh

Par défaut, YANG Suite, ou plus exactement Django, est configuré pour répondre aux requêtes sur l’adresse locale 127.0.0.1. Afin de permettre un accès depuis le réseau sur l’adresse IP de la machine virtuelle, il conviendra de modifier le fichier docker-compose.yml avant le premier lancement pour changer la valeur d’une des lignes environment de la manière suivante : DJANGO_ALLOWED_HOSTS=*.

Il y a deux façons d’exécuter le fichier docker-compose.yml, soit dans un mode qui permet de visualiser d’éventuels problèmes en ne mettant pas l’option -d, soit dans un mode « détaché » en mettant l’option sur la ligne de commande : docker-compose up -d.

Une fois les trois conteneurs créés et lancés, il est possible de se connecter en HTTPS sur l’interface YANG Suite à l’aide des codes par défaut : admin / superuser.

Bien que l’outil YANG Suite soit fait pour accéder à des équipements, il permet également de naviguer dans des modules YANG qui seraient téléchargés manuellement. C’est le cas de mon exemple pour lequel j’ai mis des modules OpenConfig.

Cisco YANG Suite upload
YANG module files and repositories

Pour utiliser les modules YANG téléchargés, il est nécessaire de créer un « module set ».

Cisco YANG Suite module set
YANG module sets

Il est maintenant possible de naviguer dans l’arborescence d’un des modules, par exemple openconfig-interfaces.yang.

Cisco YANG Suite explore module
Explore YANG Models

En utilisant la fonction « Device Profiles », il est possible de vérifier les capacités YANG des équipements configurés et de naviguer dans les modules YANG disponibles. Il faut noter que l’outil YANG Suite n’a pas pour vocation de se limiter aux équipements Cisco. Voici un exemple en image face à un switch virtuel vEOS-lab Arista sur lequel le protocole NETCONF a été activé.

Cisco YANG Suite Arista vEOS-lab modules
vEOS-lab YANG modules
Cisco YANG Suite Arista vEOS-lab tree
vEOS-lab openconfig-interfaces