Chapitre 43. Introduction à Nmstate
Nmstate est une API déclarative de gestion de réseau. Le paquetage nmstate
fournit la bibliothèque Python libnmstate
et un utilitaire en ligne de commande, nmstatectl
, pour gérer NetworkManager sur RHEL. Lorsque vous utilisez Nmstate, vous décrivez l'état attendu du réseau à l'aide d'instructions formatées YAML ou JSON.
Le Nmstate présente de nombreux avantages. Par exemple, il :
- Fournit une interface stable et extensible pour gérer les capacités du réseau RHEL
- Prise en charge des opérations atomiques et transactionnelles au niveau de l'hôte et du cluster
- Permet la modification partielle de la plupart des propriétés et préserve les paramètres existants qui ne sont pas spécifiés dans les instructions
- La prise en charge des plug-ins permet aux administrateurs d'utiliser leurs propres plug-ins
43.1. Utilisation de la bibliothèque libnmstate dans une application Python
La bibliothèque Python libnmstate
permet aux développeurs d'utiliser le Nmstate dans leurs propres applications
Pour utiliser la bibliothèque, importez-la dans votre code source :
import libnmstate
Notez que vous devez installer le paquetage nmstate
pour utiliser cette bibliothèque.
Exemple 43.1. Interroger l'état du réseau à l'aide de la bibliothèque libnmstate
Le code Python suivant importe la bibliothèque libnmstate
et affiche les interfaces réseau disponibles et leur état :
import json import libnmstate from libnmstate.schema import Interface net_state = libnmstate.show() for iface_state in net_state[Interface.KEY]: print(iface_state[Interface.NAME] + ": " + iface_state[Interface.STATE])