
Les équipements Cisco Nexus sont au cœur des architectures datacenter modernes. Pour répondre aux besoins de rapidité, d’évolutivité et de conformité, il est indispensable d’automatiser leur gestion. Ce guide avancé couvre les techniques les plus puissantes d’automatisation sur Cisco Nexus, combinant POAP, EEM, NX-API REST et Ansible dans des scénarios concrets de production.
1. Provisioning automatisé via POAP (Power-On Auto Provisioning)
interface mgmt0
ip address dhcp
boot nxos bootflash:nxos.9.3.10.bin
poap enable
Permet de provisionner automatiquement un switch Nexus dès son démarrage avec un script Python ou bash hébergé sur un serveur TFTP/HTTP. Idéal pour déploiement en masse.
2. Générer un script POAP
#!/bin/bash
curl -O http://poap-server/configs/nxos.conf
configure terminal
copy nxos.conf running-config
write memory
Le script POAP doit être idempotent et journalisé. Il peut aussi déclencher un appel à une API Ansible ou un webhook.
3. Automatiser des réactions système avec EEM
event manager applet high_cpu
event syslog pattern "CPU utilization crossed"
action 1.0 cli command "enable"
action 1.1 cli command "show processes cpu sort | redirect bootflash:cpu.log"
action 1.2 cli command "exit"
EEM (Embedded Event Manager) permet d’agir automatiquement sur des événements système, sans supervision externe.
4. Utiliser NX-API REST pour piloter les configurations
curl -k -u admin:admin -X POST \
https://10.10.10.10/ins \
-H "Content-Type: application/json" \
-d '{"ins_api": {
"version": "1.2",
"type": "cli_conf",
"chunk": "0",
"sid": "1",
"input": "hostname nexus-core",
"output_format": "json"
}}'
Permet d’automatiser des pushs de configuration avec retour JSON interprétable par Ansible, Python ou d’autres orchestrateurs.
5. Intégration Ansible avec modules Nexus NX-API
- name: Configurer un VLAN
cisco.nxos.nxos_vlan:
vlan_id: 300
name: prod_vlan
state: present
provider:
host: 10.10.10.10
username: admin
password: admin
transport: nxapi
Intégration directe avec les collections Ansible officielles Cisco via NX-API (HTTPS). Compatible CI/CD et GitOps.
6. Surveillance proactive des changements de configuration
show archive log config all
Permet de tracer toute modification en CLI, même manuelle, et de détecter des déviations de conformité.
7. Contrôle d’intégrité via Python + NX-API
import requests
payload = {
"ins_api": {
"version": "1.0",
"type": "cli_show",
"chunk": "0",
"sid": "1",
"input": "show interface status",
"output_format": "json"
}
}
r = requests.post("https://10.10.10.10/ins", json=payload, verify=False, auth=("admin", "admin"))
print(r.json())
Script Python pour analyser automatiquement la santé du réseau et identifier des ports down ou congestionnés.
Conclusion
L’automatisation sur Cisco Nexus n’est plus réservée aux experts. Grâce à POAP, NX-API, EEM et Ansible, il est possible de bâtir des pipelines DevNetOps robustes et conformes. Cela réduit les erreurs humaines, accélère les mises en production et augmente la fiabilité de l’infrastructure cœur réseau.