Einleitung
In diesem Dokument wird beschrieben, wie die Yang Suite in der Python-Umgebung bereitgestellt wird und XPath auf dem Cisco Catalyst 9800 WLC getestet wird.
Voraussetzungen
Anforderungen
Cisco empfiehlt, dass Sie über Kenntnisse in folgenden Bereichen verfügen:
- Catalyst 9800 WLC-Konfiguration
- Grundkenntnisse von Python und virtuellen Umgebungen
Verwendete Komponenten
Die Informationen in diesem Dokument basierend auf folgenden Software- und Hardware-Versionen:
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.
Konfigurieren
Schritt 1: Installieren Sie Python auf einem Windows-PC.
Laden Sie Python 3.8.2 für Windows herunter und installieren Sie es.
Download-Link: Python-Versionen für Windows
Erläuterung:
Python ist erforderlich, um YANG Suite auszuführen. Zur Kompatibilität wird hier Version 3.8.2 verwendet.
Schritt 2: Überprüfen der Python- und PIP-Installation
Überprüfen Sie nach der Installation, ob Python und PIP korrekt funktionieren.
Befehle:
C:\Users\Administrator>python --version
C:\Users\Administrator>pip --version
Erwartetes Ergebnis (Beispiel):
C:\Users\Administrator>python --version
Python 3.8.2
C:\Users\Administrator>pip --version
pip 25.0.1 from c:\users\administrator\appdata\local\programs\python\python38-32\lib\site-packages\pip (python 3.8)
Schritt 3: Aktualisieren Sie PIP auf die neueste Version, um die Kompatibilität mit der YANG Suite sicherzustellen.
Command:
C:\Users\Administrator>python -m pip install --upgrade pip
Erläuterung:
Dieser Befehl deinstalliert die alte Version von PIP und installiert die neueste, um die Kompatibilität mit der YANG Suite sicherzustellen.
Erwartetes Ergebnis (Beispiel):
- Alte Version (z.B. pip 19.2.3) wird deinstalliert.
- Neue Version (z.B. pip 25.0.1) wurde erfolgreich installiert.
Schritt 4: Erstellen einer virtuellen Umgebung, um Abhängigkeiten vom System Python zu isolieren.
Command:
C:\Users\Administrator>python -m venv yangsuitevenv
Erwartetes Ergebnis:
Ein neuer Ordner namens yangsuevenv wird auf Ihrem PC C:\Users\Administrator erstellt.

Schritt 5: Aktivieren der virtuellen Umgebung
Aktivieren Sie die Umgebung, bevor Sie Pakete installieren.
Command:
C:\Users\Administrator>.\yangsuitevenv\Scripts\activate
Erwartetes Ergebnis:
Die Eingabeaufforderung ändert sich, um die aktive Umgebung anzuzeigen. Beispiel:
(yangsuevenv) C:\Users\Administrator>

Schritt 6: Installieren Sie YANG Suite.
Installieren Sie YANG Suite und die erforderlichen Module, um sicherzustellen, dass die YANG Suite und ihre Abhängigkeiten fehlerfrei installiert werden.
Command:
(yangsuitevenv) C:\Users\Administrator>pip install yangsuite[core]
Wenn Proxy-Fehler auftreten:
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Your proxy appears to only use HTTP and not HTTPS, try changing your proxy URL to be HTTP. See: https://xxx.xxx.xx/en/1.26.x/advanced-usage.html#https-proxy-error-http-proxy', SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1108)')))': /simple/yangsuite/
Überprüfen Sie die Netzwerkverbindung oder den Proxy. Wenn Ihre Umgebung die Verwendung eines Proxys erfordert, verwenden Sie stattdessen den folgenden Befehl:
Command:
(yangsuitevenv) C:\Users\Administrator>pip install yangsuite[core] --proxy http://x.x.x.x:port
Schritt 7: Upgrade von YANG Suite-Modulen
Aktualisieren Sie alle YANG Suite-Module, um den vollen Funktionsumfang sicherzustellen.
Command:
pip3 install --upgrade yangsuite yangsuite-devices yangsuite-filemanager yangsuite-yangtree yangsuite-coverage yangsuite-gnmi yangsuite-grpc-telemetry yangsuite-netconf yangsuite-restconf
Erläuterung:
Dieser Schritt stellt sicher, dass YANG Suite über die neuesten Plugins für NETCONF, RESTCONF, gNMI und Telemetrie verfügt.
Schritt 8: Initialisieren Sie die YANG Suite.
Führen Sie den Initialisierungsprozess aus, um in den interaktiven Konfigurationsmodus zu wechseln.
Command:
(yangsuitevenv) C:\Users\Administrator>yangsuite
Schritt 9: Konfigurieren Sie die Einstellungen der YANG Suite.
Während der Initialisierung werden Sie aufgefordert, den Service-Port, den Hostnamen, den Benutzernamen und das Kennwort zu konfigurieren:
Erstellen Sie einen Ordner mit dem Namen yangsuiteSpecificData, um die benutzerspezifischen Daten (YANG-Module, Geräteprofile usw.) zu speichern.

Service-Portnummer: Der Standardwert ist 8480.

Host-Name: empfohlen, localhost oder 127.0.0.1 zu verwenden.

Einstellungen speichern: mit y bestätigen.

Benutzername und Kennwort erstellen: für den Zugriff auf die Webbenutzeroberfläche der YANG Suite.

Erwartetes Ergebnis:
Die Konfiguration wird gespeichert, und Dienste können mit dem Befehl yangsuite gestartet werden:
(yangsuitevenv) C:\Users\Administrator>yangsuite
Schritt 10. Melden Sie sich bei Yang Suite über den Browser an: http://localhost:8480/ zur Cisco Yang Suite:

Überprüfung
Schritt 1: Konfigurieren des Catalyst 9800 WLC
Stellen Sie sicher, dass Netconf Yang Status und SSH-Port auf dem WLC aktiviert sind.
Navigieren Sie zu WLC > Administration > Management > HTTP/HTTPS/Netconf/VTY, um den NetConf Yang-Konfigurationsstatus zu aktivieren und SSH Port 830 zu aktivieren.

CLI-Konfiguration:
9800(config)#netconf-yang
AAA-Einstellungen konfigurieren.
CLI-Konfiguration:
9800(config)#aaa authentication login default local
9800(config)#aaa authorization exec default local
Schritt 2: Fügen Sie den WLC zu YANG Suite.
Navigieren Sie in YANG Suite zu Setup > Device Profiles > Create New Device (Setup > Geräteprofile > Neues Gerät erstellen).

Geben Sie den Profilnamen, die WLC-IP-Adresse, den Benutzernamen und das Kennwort ein.

Aktivieren Sie netconf, indem Sie auf Device Supports NETCONF klicken und dann auf SSH-Schlüsselvalidierung für dieses Gerät überspringen klicken.

Aktivieren Sie Restconf, indem Sie auf Device Supports RESTCONF (Gerät unterstützt RESTCONF) klicken, und deaktivieren Sie die standardmäßige RESTCONF-Basis-URL, um sie zu leeren.

Aktivieren Sie SSH, indem Sie auf Device allows SSH login (Gerät ermöglicht SSH-Anmeldung) klicken und die WLC-Informationen überprüfen.

Schritt 3: Überprüfen der Erreichbarkeit des Geräts
Klicken Sie auf Erreichbarkeit des ausgewählten Geräts überprüfen und wählen Sie das Geräteprofil aus, um zu prüfen, ob der WLC von der YANG Suite aus erreichbar ist.

Schritt 4: Erstellen Sie ein YANG Suite Repository.
Erstellen Sie ein Repository für die erforderlichen WLC YANG-Modelle.

Wählen Sie NETCONF und Select device profile to Get schema List aus, um das gesamte Schema vom WLC herunterzuladen.

Schritt 5: Erstellen Sie einen New YANG-Modulsatz für das zugeordnete YANG-Datei-Repository.

Wenn z. B. die Wireless-Informationen von Catalyst 9800-spezifischen YANG-Modellen benötigt werden, geben Sie wireless ein, um alle Module auszuwählen, und klicken Sie auf Ausgewählte hinzufügen.

Wenn Sie mehr als nur die Wireless-Komponenten benötigen, können Sie in diesem Schritt einfach auf Gesamtes Repository hinzufügen klicken.
Wenn Sie nur die Wireless-Module hinzufügen, gibt es auch eine Schaltfläche mit dem Namen Locate and add missing dependencies (Suchen und Hinzufügen fehlender Abhängigkeiten). Durch Klicken auf diese Schaltfläche werden automatisch alle zusätzlichen Module eingezogen, die vom Wireless-Modul benötigt werden.

Schritt 6: Testen von XPath-Abfragen
Verwenden Sie den XPath der YANG Suite, um Daten vom WLC zu erhalten.
Holen Sie sich den benötigten XPath in YANG Suite.
Hier sehen Sie den Schnittstellennamen für das Controller-Management als Beispiel.

Telemetrie-ietf auf WLC CLI konfigurieren
C9800(config)#telemetry ietf subscription <subscription-id>
C9800(config-mdt-subs)#encoding encode-kvgpb
C9800(config-mdt-subs)#filter xpath <xpath-expression>
C9800(config-mdt-subs)#source-address <wlc-ip>
C9800(config-mdt-subs)#stream yang-push
C9800(config-mdt-subs)#update-policy periodic <interval-in-centiseconds>
C9800(config-mdt-subs)#receiver ip address <collector-ip> <collector-port> protocol grpc-tcp
Beispiele:
C9800(config)#telemetry ietf subscription 104
C9800(config-mdt-subs)#encoding encode-kvgpb
C9800(config-mdt-subs)#filter xpath /general-oper-data/mgmt-intf-data/intf-name
C9800(config-mdt-subs)#source-address 10.124.38.111
C9800(config-mdt-subs)#stream yang-push
C9800(config-mdt-subs)#update-policy periodic 2500
C9800(config-mdt-subs)#receiver ip address 10.124.41.144 18800 protocol grpc-tcp
Aktivieren Sie die Überwachung in der gRPC-Telemetrie, um die erforderlichen Daten vom WLC zu senden.

Zugehörige Informationen