L’automazione di rete nasce come esigenza allo scopo di ridurre e migliorare l’operatività, standardizzare il modo di lavorare, operare su più dispositivi in tempi molto ridotti. Il numero di persone interessate a questo approccio si sta via via espandendo: se si è partiti dai team di network engineer, l’automazione sta ora interessando i team di GRC (Governance Risk and Compliance).
Lo sviluppo di automazioni che agiscono su dispositivi di rete richiede di avere un ambiente di sviluppo dove provare, imparare e sperimentare framework, integrazioni, automazioni. La virtualizzazione negli anni ha permesso di avere a disposizione di chiunque copie realistiche di dispositivi di rete.
Questo articolo serve di esempio per vedere le diverse strategie per configurare una feature su dispositivi di rete utilizzando Ansible. In particolare ci occuperemo di configurare NTP su dispositivi Cisco IOS, tuttavia i ragionamenti che faremo qui possono essere generalizzati.
In questo articolo vediamo come ottimizzare il provisioning di un centinaio di apparati Cisco XR in modo che siano configurati con il minor intervento umano possibile. A seconda del contesto i dispositivi potrebbero essere spediti direttamente dalla fabbrica e configurati automaticamente in loco, o più probabilmente potrebbero essere configurati automaticamente in laboratorio, verificati e spediti per la loro installazione.
Ansible Navigator è una interfaccia testuale, basata su container, che permette di gestire una serie di componenti di Ansible. In un certo senso è una sorta di wrapper, di interfaccia unificata verso l’ecosistema Ansible.
Quando lavoro su Ansible, una delle “ricette” che tengo sempre a portata, è quella relativa al debugging delle variabili. In particolar modo trovo molto utile avere una vista completa delle variabili associate ad un host, definite a livello di “facts”, ambiente, gruppo, host.
In questo articolo vediamo le due modalità per definire un inventario usabile da Ansible. L’inventario è la source of truth contenente le informazioni che Ansible userà per collegarsi ai dispositivi. L’inventario permette anche di definire variabili a livello di host o gruppo.
In ambito automazione, ciascun laboratorio che andremo a creare ha bisogno di una caratteristica tanto banale quanto essenziale: gli indirizzi IP dei dispositivi devono essere accessibili dal sistema di automazione. Se la versione di EVE-NG PRO ha una feature nativa (NAT Cloud) che ci semplifica la vita, su EVE-NG CE dobbiamo trovare una strategia che ci permetta di ottenere lo stesso risultato.
A mio parere uno dei costrutti meno comprensibili di Ansible riguarda la gestione dei loop. Se poi parliamo di loop annidati, la situazione è ancora più complessa. In questo breve post vediamo le ricette per:
Mi occupo di automazione dal 2004 circa, quando gestivo quasi 200 nodi AlphaServer. In particolare mi occupavo della parte hardware: sembra banale, ma occorre considerare che esisteva un mini sistema operativo in esecuzione sotto lo Unix che verificava i componenti connessi, rilevando errori critici e non.