Sommario

Introduzione

Premesse

Vantaggi principali degli strumenti di installazione Lab

Requisiti CML per i casi di utilizzo di SD-WAN

Dettagli sullo strumento di installazione Lab SD-WAN

Risoluzione dei problemi

Versione Python non corrispondente

Introduzione

In questo articolo viene descritto come creare un fabric Catalyst SD-WAN in Cisco Modeling Labs (CML) in modo automatizzato utilizzando Lab Deployment Tool open-source.

Premesse

Lo strumento SD-WAN Lab Deployment automatizza la creazione di fabric SD-WAN in CML e semplifica notevolmente molti passaggi, tra cui l'aggiunta di router di edge SD-WAN al fabric, l'installazione dei certificati e altre attività di caricamento.

Prima che lo strumento SD-WAN Lab gli utenti dovevano installare manualmente i controller SD-WAN e i router periferici in CML - vedere per i dettagli.

L'intero processo è completamente automatizzato e richiede minuti, non ore. In questo video di YouTube potete vedere una breve demo di Lab Tool.

Vantaggi principali degli strumenti di installazione Lab

- Creazione completamente automatizzata di controller SD-WAN

- Aggiunta di più filiali con router di edge SD-WAN in un'unica operazione automatizzata

- Due trasporti SD-WAN: Internet e MPLS

- Possibilità di introdurre la latenza come emulazione del collegamento WAN

- Funzionalità di backup e ripristino

- Open Source Repo su GitHub

- La versione interna Cisco dello strumento SD-WAN Lab è stata utilizzata oltre 900 volte dalla sua creazione in diverse organizzazioni, tra cui vendite, CX (TAC e PS) e BU. Ulteriori informazioni sulla versione interna di Cisco.

Requisiti CML per i casi di utilizzo di SD-WAN

- CML può essere implementato in un server locale (bare-metal o come VM su ESXi) o su AWS.

- Supporta il clustering per aumentare la capacità.

- Per gli utenti interni Cisco: è possibile ottenere la licenza.

- Per clienti esterni: qui sono disponibili diversi livelli di licenza.

- La Guida all'installazione (lo stesso per gli utenti interni ed esterni) è qui.

- L'opzione consigliata per la simulazione SD-WAN: cluster CML locale con pochi server.

Dettagli sullo strumento di installazione Lab SD-WAN

- Lo strumento è attualmente supportato sui sistemi Linux/MacOS in quanto un pacchetto di dipendenze (pyats) è disponibile solo per tali sistemi.

- Per eseguire lo strumento su Windows, è necessario un Linux VM/container o Linux su Windows con WSL. Nelpyproject.tomlfile sono disponibili tutte le dipendenze: https://github.com/cisco-open/sdwan-lab-deployment-tool/blob/main/pyproject.toml

- Vedere tutti i passaggi di installazione, gli esempi di utilizzo e il codice sorgente su GitHub.

- Verificare che la connessione di rete tra l'host che esegue Lab Tool e il server/cluster CML sia sufficientemente veloce. Ciò è utile durante il caricamento dell'immagine SW dei controller SD-WAN.

- Hai domande sullo strumento di installazione Lab SD-WAN? Inviare un'e-mail a cml-sdwan-lab-tool@external.cisco.com

Risoluzione dei problemi

Versione Python non corrispondente

A partire dalla fine di aprile 2024, Lab Tools richiede Python versione 3.9. Se si dispone di una versione Python più recente, l'installazione potrebbe non riuscire. Si noti che il supporto per Python 3.12 sarà presto disponibile.

Esempio di installazione non riuscita a causa della versione Python errata:

(venv) [csdwan] $ pip install --upgrade catalyst-sdwan-lab

Collecting catalyst-sdwan-lab

Downloading catalyst_sdwan_lab-2.0.9-py3-none-any.whl.metadata (20 kB)

...

Downloading catalyst_sdwan_lab-2.0.6-py3-none-any.whl.metadata (20 kB)

ERROR: Cannot install catalyst-sdwan-lab==2.0.6, catalyst-sdwan-lab==2.0.7, catalyst-sdwan-lab==2.0.8 and catalyst-sdwan-lab==2.0.9 because these package versions have conflicting dependencies.

The conflict is caused by:

catalyst-sdwan-lab 2.0.9 depends on pyats<24.0 and >=23.1

catalyst-sdwan-lab 2.0.8 depends on pyats<24.0 and >=23.1

catalyst-sdwan-lab 2.0.7 depends on pyats<24.0 and >=23.1

catalyst-sdwan-lab 2.0.6 depends on pyats<24.0 and >=23.1

To fix this you could try to:

1. loosen the range of package versions you've specified

2. remove package versions to allow pip attempt to solve the dependency conflict

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts

(venv) [csdwan] $

pyenvPer risolvere il problema, è possibile posizionare Python 3.9 davanti alla versione 3.12 nelle variabili di ambiente, utilizzare per passare da una versione all'altra ("pyenv global 3.9") o effettuare il downgrade dalla 3.12 alla 3.9.