Python の Click でコマンドライン引数を処理する
Click は argparse のようにコマンドライン引数を処理して、CLI ツールを作ることが出来ます。 今回は Click の簡単な使い方をメモしておきます。
Click は argparse のようにコマンドライン引数を処理して、CLI ツールを作ることが出来ます。 今回は Click の簡単な使い方をメモしておきます。
vSphere 上に作成した Linux 仮想マシンで LVM を構成している際に、既存のディスクサイズを LVM で拡張する手順をメモしておきます。
Cisco CML 2.7.2 がリリースされていたので、Cisco CML のバージョンアップ手順をメモしておきます。 今回は「2.7.1 → 2.7.2」へのバージョン変更です。 正式な手順は公式サイトの Upgrading to New Version に記載されています。
尚、今回は「Reference Platform の追加」については説明しません。 公式サイトの Copy Refplat ISO to Disk に詳細が書かれていますが、Reference Platform に含まれるイメージを追加したい場合は Cockpit 上から操作を行う必要があります。
以前に以下のメモを書きました。
VyOS は Get VyOS から VyOS nightly builds 版をダウンロード出来、現時点ではバージョン 1.5 系 (circinus) が公開されています。 ですが、公開されているのは .iso ファイルだけであり .qcow2 ファイルはリリースされていません。 そこで今回は CML 上で利用出来る VyOS の .qcow2 イメージを作成します。 尚、後述する理由から「cloud-init は無効」のイメージを作成します。
pybatfish の古いバージョンでは bfq
や load_questions
というモジュールが必要でした。 ですが、これらのモジュールは廃止になっているようです (おそらく pybatfish: delete legacy default session #907) のあたり?)。 基本的には Session を利用することで Batfish に接続出来るようです。 今回は「新しいバージョンでのサンプルスクリプト」をメモしておきます。
Marp を使うと Markdown で書いたドキュメントを HTML や PDF、PowerPoint などの形式で出力することが出来ます。 今回は Marp CLI を使って Marp の出力例を確認してみました。
今回は利用していませんが、実際に Marp を利用するには VSCode に Marp for VS Code を追加し、リアルタイムプレビューを活用しながら編集するのが便利です。
尚、Marp で生成した PowerPoint は直接、そのまま編集は出来ない点に注意です。 どうしても編集したい場合は「Marp から PDF で出力し、それを Adobe Acrobat などで PowerPoint 形式でエクスポートする」ことで編集出来るそうです (実際の動作は未確認)。
IOS-XE で動作する IOL を使い、IPv6 + EIGRP を構成したコンフィグ例などをメモしておきます。
Python の ciscoconfparse を使うと Cisco 機器のコンフィグファイルから必要な箇所を抽出することが出来ます。 このライブラリに関して以前に以下のメモを書きました。
このライブラリは後継になるバージョン 2 が別パッケージとしてリリースされています。
バージョン 1 のページには「バージョン 2 へアップグレードすべき理由」として下記の記載があります。
- It supports all major network vendor text configuration files (Arista, Cisco, F5, Juniper, Palo Alto)
- It supports searching across any number of configuration levels (ciscoconfparse only supports two config levels : a parent and child)
- It adds a string methods so you don't need to use regex matching if you don't want to
- It adds a CLI command
- Revamped documentation
- It simplifies the user interface and fixes broken ciscoconfparse default parameters (this could require changing old scripts using the original API)
- It intentionally uses a new python import to minimize confusion between itself and the original
今回は ciscoconfparse2 のチュートリアルページに掲載されている簡単な使い方をメモしておきます。