Inleiding
In dit artikel wordt beschreven hoe u een Catalyst SD-WAN Fabric in Cisco Modeling Labs (CML) op een geautomatiseerde manier kunt maken met behulp van de open-source Lab Deployment Tool.
Achtergrondinformatie
De SD-WAN Lab Deployment Tool automatiseert het maken van SD-WAN-verbindingen in CML en vereenvoudigt een groot aantal stappen, waaronder het toevoegen van SD-WAN Edge Routers aan de Fabric, certificaatinstallatie en andere onboarding-taken.
Vóór de SD-WAN Lab Tool moesten gebruikers handmatig SD-WAN-controllers en edge-routers implementeren in CML - zie voor details.
Nu is het hele proces volledig geautomatiseerd en duurt het minuten, geen uren. Bekijk een korte demo van de Lab Tool in deze YouTube-video.
Belangrijkste voordelen van de implementatietools voor laboratoria
- Volledig geautomatiseerde creatie van SD-WAN-controllers
- Meerdere filialen toevoegen met SD-WAN Edge-routers in één geautomatiseerde taak
- Twee SD-WAN-transporten: internet en MPLS
- Mogelijkheid om latentie te introduceren als WAN Link Emulation
- Back-up- en herstelmogelijkheden
- Open Source Repo op GitHub
- De Cisco-interne versie van de SD-WAN Lab-tool is meer dan 900 keer gebruikt sinds de oprichting in verschillende organisaties, waaronder verkoop, CX (TAC en PS) en BU. Bekijk meer details over de Cisco-interne versie.

CML-vereisten voor SD-WAN-gebruiksscenario's
- CML kan worden geïmplementeerd in een on-prem server (bare-metal of als VM op ESXi) of op AWS.
- Ondersteunt clustering voor het vergroten van de capaciteit.
- Voor interne gebruikers van Cisco: licentie kan worden verkregen.
- Voor externe klanten: verschillende licentieniveaus beschikbaar hier.
- Installatiehandleiding (voor interne en externe gebruikers) is hier.
- De aanbevolen optie voor SD-WAN-simulatie: on-prem CML-cluster met weinig servers.
Gegevens over SD-WAN Lab Deployment Tool
- De tool wordt momenteel ondersteund op Linux / MacOS-systemen omdat een afhankelijkheidspakket (pyats) alleen beschikbaar is voor die systemen.
- Om de tool op Windows uit te voeren, hebt u een Linux VM / container of Linux op Windows met WSL nodig. Alle afhankelijkheden vindt u in het
pyproject.toml
bestand: https://github.com/cisco-open/sdwan-lab-deployment-tool/blob/main/pyproject.toml
- Bekijk alle installatiestappen, gebruiksvoorbeelden en broncode op GitHub.
- Zorg ervoor dat de netwerkverbinding tussen de host waarop de Lab Tool wordt uitgevoerd en de CML-server/het CML-cluster snel genoeg is. Dit helpt tijdens het uploaden van de SW-afbeelding van de SD-WAN-controllers.
- Heeft u vragen over de SD-WAN Lab Deployment Tool? Stuur een email naar cml-sdwan-lab-tool@external.cisco.com
Problemen oplossen
Mismatch Python-versie
Vanaf eind april 2024 is voor de Lab Tools Python versie 3.9 vereist. Als u een recentere Python-versie hebt, kan de installatie mislukken. Houd er rekening mee dat de ondersteuning voor Python 3.12 binnenkort beschikbaar is.
Voorbeeld van een mislukte installatie vanwege de verkeerde Python-versie:
(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] $
Om het probleem op te lossen, kunt u Python 3.9 voor 3.12 plaatsen in uw omgevingsvariabelen, gebruikenpyenv
om te switches tussen verschillende versies ("pyenv global 3.9") of downgraden van 3.12 naar 3.9.