はじめに
このドキュメントでは、Python環境にYang Suiteを導入し、Cisco Catalyst 9800 WLCでXPathをテストする方法について説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- Catalyst 9800 WLCの設定
- Pythonおよび仮想環境に関する基礎知識
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
設定
ステップ 1: Windows PCにPythonをインストールします。
Windows用のPython 3.8.2をダウンロードしてインストールします。
ダウンロードリンク:Python Releases for Windows
説明:
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をインストールします。
予想される結果(例):
– 古いバージョン(たとえば、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
予想される結果:
コマンドプロンプトが次のように変化し、アクティブな環境が表示されます。
(yangsuitevenv) 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 Suiteモジュールをアップデートして、すべての機能を使用できるようにします。
コマンド:
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 Suiteの設定を行います。
初期化中、サービスポート、ホスト名、ユーザ名、およびパスワードを設定するように求められます。
ユーザ固有のデータ(YANGモジュール、デバイスプロファイルなど)を保存するには、yangsuitespecificdataという名前のフォルダを作成します。

サービスポート番号:デフォルトは8480です。

ホスト名: localhostまたは127.0.0.1を使用することを推奨します。

設定の保存:yで確認。

YANG Suite Web UIにアクセスするためのユーザ名とパスワードを作成します。

予想される結果:
設定が保存され、yangsuiteコマンドでサービスを開始できます。
(yangsuitevenv) C:\Users\Administrator>yangsuite
ステップ 10: ブラウザ(http://localhost:8480/)経由でYang Suiteにログインし、Cisco Yang Suiteにアクセスします。

確認
ステップ 1:Catalyst 9800 WLCの設定
Netconf Yang StatusおよびSSH PortがWLCで有効になっていることを確認します。
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: YANG SuiteにWLCを追加します。
YANG Suiteで、Setup > Device Profiles > Create New Deviceの順に移動します。

プロファイル名、WLC IPアドレス、ユーザ名、およびパスワードを入力します。

Device supports NETCONFをクリックし、Skip SSH key validation for this deviceをクリックしてnetconfをアクティブにします。

Device supports RESTCONFをクリックしてRestconfをアクティブにし、デフォルトのRESTCONFベースURLをクリアして空にします。

Device allows SSH loginをクリックしてSSHをアクティブ化し、WLC情報を確認します。

ステップ 3: デバイスの到達可能性を確認する。
Check selected device's reachabilityをクリックしてデバイスプロファイルを選択し、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から送信された必要なデータを取得します。

関連情報