简介
本文档介绍如何在Python环境中部署Yang Suite并在Cisco Catalyst 9800 WLC上测试XPath。
先决条件
要求
Cisco 建议您了解以下主题:
- Catalyst 9800 WLC配置
— 了解Python和虚拟环境的基本知识
使用的组件
本文档中的信息基于以下软件和硬件版本:
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
配置
步骤1.在Windows PC上安装Python。
下载并安装Python 3.8.2 for Windows。
下载链接:适用于Windows的Python版本
说明:
运行YANG Suite需要Python。此处使用版本3.8.2是为了兼容。
步骤2.检验Python和PIP安装。
安装后,确认Python和PIP工作正常。
命令:
C:\Users\Administrator>python --version
C:\Users\Administrator>pip --version
预期结果(示例):
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)
步骤3.将PIP升级到最新版本,以确保与YANG Suite的兼容性。
命令:
C:\Users\Administrator>python -m pip install --upgrade pip
说明:
此命令将卸载旧版本的PIP并安装最新版本,以确保与YANG Suite的兼容性。
预期结果(示例):
— 卸载旧版本(例如,PIP 19.2.3)。
— 新版本(例如,PIP 25.0.1)已成功安装。
步骤4.创建一个虚拟环境,使依赖项与系统Python保持隔离。
命令:
C:\Users\Administrator>python -m venv yangsuitevenv
预期结果:
您的PC C:\Users\Administrator上会创建一个名为yangsuitevenv的新文件夹。

步骤5.激活虚拟环境。
在安装软件包之前激活环境。
命令:
C:\Users\Administrator>.\yangsuitevenv\Scripts\activate
预期结果:
命令提示符会更改以显示活动环境,例如:
(杨绥特文)C:\Users\Administrator>

步骤6.安装YANG Suite。
安装YANG Suite及其所需的模块,以确保安装YANG Suite及其依赖项时不会出现错误。
命令:
(yangsuitevenv) C:\Users\Administrator>pip install yangsuite[core]
如果遇到代理错误:
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/
请检查网络连接或代理。如果您的环境需要使用代理,请改用以下命令:
命令:
(yangsuitevenv) C:\Users\Administrator>pip install yangsuite[core] --proxy http://x.x.x.x:port
步骤7.升级YANG套件模块。
更新所有YANG套件模块以确保完整功能。
命令:
pip3 install --upgrade yangsuite yangsuite-devices yangsuite-filemanager yangsuite-yangtree yangsuite-coverage yangsuite-gnmi yangsuite-grpc-telemetry yangsuite-netconf yangsuite-restconf
说明:
此步骤可确保YANG Suite具有NETCONF、RESTCONF、gNMI和遥测的最新插件。
步骤8.初始化YANG套件。
运行初始化进程以进入交互式配置模式。
命令:
(yangsuitevenv) C:\Users\Administrator>yangsuite
步骤9.配置YANG套件设置。
在初始化过程中,系统会提示您配置服务端口、主机名、用户名和密码:
创建名为yangsuitespecificdata的文件夹以存储用户特定数据(YANG模块、设备配置文件等)。

服务端口号:default is 8480.

主机名:建议使用localhost或127.0.0.1。

保存设置:与y确认。

创建用户名和密码:用于访问YANG Suite Web UI。

预期结果:
保存了配置,并且可以使用命令yangsuite启动服务:
(yangsuitevenv) C:\Users\Administrator>yangsuite
步骤10.通过浏览器登录Yang Suite:http://localhost:8480/访问Cisco Yang套件:

验证
步骤1.配置Catalyst 9800 WLC。
确保WLC上启用了Netconf Yang Status和SSH Port。
导航到WLC > Administration > Management > HTTP/HTTPS/Netconf/VTY以启用Netconf Yang Configuration Status并启用SSH端口830。

CLI 配置:
9800(config)#netconf-yang
配置AAA设置。
CLI 配置:
9800(config)#aaa authentication login default local
9800(config)#aaa authorization exec default local
步骤2.将WLC添加到YANG Suite。
在YANG Suite中,导航到Setup > Device Profiles > Create New Device。

输入Profile Name、WLC IP address、username和密码。

单击Device supports NETCONF,然后单击Skip SSH key validation for this device,激活netconf。

单击Device supports RESTCONF并清除默认RESTCONF基本URL以激活Restconf。

单击Device allowes SSH login(设备允许SSH登录)激活SSH,并验证WLC信息。

步骤3.检验设备的可达性。
单击Check selected device's reachability和selected the device profile,以检查是否可以从YANG Suite访问WLC。

步骤4.创建YANG Suite存储库。
创建存储库以存储所需的WLC YANG模型。

选择NETCONF并选择device profile以Get schema List,以便从WLC下载所有架构

步骤5.创建新的YANG模块集到关联的YANG文件存储库。

例如,如果需要特定于Catalyst 9800的YANG型号的无线信息,请输入wireless以选择所有模块,然后单击Add selected。

如果您需要的不仅仅是无线组件,只需在此步骤中单击Add entire repository。
如果仅添加无线模块,还有一个称为查找和添加缺少的相关项的按钮。单击该按钮将自动拉入无线模块所需的任何其他模块。

步骤6.测试XPath查询。
使用YANG Suite提供的XPath从WLC获取数据。
在YANG Suite中获取所需的XPath。
此处以控制器管理接口名称为例。

在WLC CLI上配置遥测ietf
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
例如:
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
在gRPC遥测中启用监控,以获取WLC发送的所需数据。

相关信息