Nornir, un framework d'automatisation qui utilise directement Python, offre une alternative aux autres frameworks d'automatisation qui utilisent leur propre langage DSL (Domain-specific language). Le framework peut répartir les tâches entre les périphériques et les noeuds, gérer l'inventaire lorsque l'utilisateur dispose d'informations sur l'hôte et prendre en charge l'écriture de plug-ins. En cas de problème, les utilisateurs peuvent utiliser les outils de débogage existants directement à partir de Python.
Selon Dmitry Figol, ingénieur système chez Cisco et contributeur de Nornir, Nornir est plus flexible que le langage d'automatisation Ansible de Red Hat qui utilise YAML au-dessus de Python. Voici, selon lui, les avantages de Nornir :
- Il fournit une abstraction pour l'inventaire, y compris les hôtes et les groupes, et l'exécution simultanée des tâches. Les développeurs n'ont pas à écrire leur propre threading
- Nornir se présente juste comme une autre bibliothèque Python qui peut être importée
- Il est flexible et extensible
- Tout outil de dépannage, de débogage ou de test peut être utilisé à partir de l'écosystème Python.
- Les bibliothèques existantes, y compris netmiko et napalm, sont utilisées pour les connexions.
- Les connexions ouvertes sont automatiquement fermées.
- Nornir peut être intégré à des frameworks Python comme Flask ou Django. Pour les tests en réseau, il peut s'intégrer avec le framework Pytest.
Nornir peut fonctionner comme un script autonome et imprimer les résultats sur la console. Il peut également s'intégrer à un framework web. « Il est nécessaire de connaître Python », précise aussi Dmitry Figol. Nornir a besoin de Python 3.6 ou supérieur pour fonctionner. Il est possible d'installer Nornir avec pip, le package d'installation Python : pip install nornir.