pyATS で Blitz を使い、YAML だけで自動化を定義する
pyATS を使うことでネットワーク機器の設定や確認を自動化することが出来ます。 PyATS には Quick Trigger (Blitz) という仕組みがあり、ソースコードを書くこと無く、YAML を書くだけでテストや確認を定義することが出来ます。 今回は Ubuntu 22.04LTS 上で Blitz を実行する手順をメモしておきます。
pyATS を使うことでネットワーク機器の設定や確認を自動化することが出来ます。 PyATS には Quick Trigger (Blitz) という仕組みがあり、ソースコードを書くこと無く、YAML を書くだけでテストや確認を定義することが出来ます。 今回は Ubuntu 22.04LTS 上で Blitz を実行する手順をメモしておきます。
以前に AWS EC2 上のインスタンスを一覧表示する awscli のワンライナー というメモを書きました。 Boto3 を使い、Python で同じ目的を実行するサンプルスクリプトをメモしておきます。今回は Ubuntu 22.04LTS + Python 3.10.6 環境で検証しました。
tomson784 の ダイクストラ法をPythonで実装 を写経してみました。 構成図は転記しません。 しっかり理解した場合は是非、tomson784 さんの元記事をどうぞ!
以前に Python の venv 環境を direnv で自動的に有効/無効化する というメモを書きました。 direnv の最新リリースとなる バージョン 2.31.0 がリリースされていましたので、改めて linux-amd64 環境向けのインストール手順をメモし直しておきます。 direnv のバージョンが少し上がっていること以外は、以前のメモ とほぼ同じ内容です。
Python から gql を使って GitHub の GraphQL API を呼び出すサンプルをメモしておきます。 対象は octocat / Hello-World リポジトリとし、Pull Request の一覧を取得します。
以前に ネットワーク機器の操作を自動化する scrapli の基本的な使い方 というメモを書きました。 Scrapli を非同期処理する例は scrapli/examples/async_usage/async_multiple_connections.py にあります。 これを「不要な警告を表示しない」等、多少修正したスクリプト例をメモしておきます。
以前に Python で CML 上のノードの X / Y 座標を変更するサンプル というメモを書きました。 X / Y 座標だけで無く、下記も修正出来るようにしました。 指定可能なオプションは以下です。
オプション | 変更出来る値 |
---|---|
-n |
変更対象の No. を指定 (必須) |
-l |
ラベル (画面表示上の名前) |
-c |
CPU の数 |
-r |
メモリの搭載量 (MB) |
-x |
X 座標 |
-y |
Y 座標 |
以前に Cisco CML を python から制御する、以下のメモを書きました。
今回は「リンク情報の取得」を virl2-client を使って書き直したサンプルをメモしておきます。 検証は Ubuntu 22.04LTS 上の Python 3.10.4 で行いました。 また本題とは無関係ですが direnv を利用するものとします。
Cisco CML でラボを作成する際、微妙にノードの位置が揃わない場合があります… GUI 上から揃える方法が分からなかった為、「ノードの X / Y 座標を指定出来る Python スクリプト」を書いたのでメモしておきます。 検証は Ubuntu 22.04LTS 上の Python 3.10.4 で行いました。
Python で webexteamssdk を使い、Webex Teams のスペース (≒ チャット) に参加しているメンバー一覧を取得するスクリプト例をメモしておきます。 Ubuntu 22.04LTS + Python 3.10.4 環境で動作確認しました。 メンバー取得出来るのは後の手順で作成する bot が所属しているスペースが対象です。