CML の Cisco 機器 初期コンフィグ (refplat-20240623-fcs)
Cisco CML で動作させるノードのイメージファイルは Reference Platform として提供されています。 現時点で最新となる Reference Platform「refplat-20240623-fcs.iso」に含まれる Cisco 機器のうち、個人的によく使うものの初期コンフィグをメモしておきます。
Cisco CML で動作させるノードのイメージファイルは Reference Platform として提供されています。 現時点で最新となる Reference Platform「refplat-20240623-fcs.iso」に含まれる Cisco 機器のうち、個人的によく使うものの初期コンフィグをメモしておきます。
現時点で最新の Cisco CML は バージョン 2.7.0 です。 CML は「CML 本体」と別に「起動するノードイメージ」を集めた Reference Platform を併せて利用するのが一般的です。 CML へノードを追加するには「ノードそのもののイメージファイル」とは別に、下記のふたつが必要になります。
今回は現時点で最新の Reference Platform に含まれている Node definition と Image definition の .yaml ファイルをメモしておきます。
CML 上でワークベンチ上へノードライセンス数を超えるデバイスを配置することは可能ですが、「同時に起動出来るノード数は、ノードライセンス以下」です。 但し、一部のノードはノードライセンスを消費しません。 今回は「CML でのノードライセンス上限や消費数の確認方法」や「ノードライセンスを消費する・しないノード」をメモしておきます。
Cisco CML で Timezone 設定を変更する手順をメモしておきます。 但し、CML 上で Workbench を新規作成した際、Workbench 名に含まれる日時は Timezone を無視し、UTC になるようです。
詳細は後述しますが、Web サイトを日本語表示した状態で Cockpit から Timezone 設定を変更しようとするとエラーになってしまいました。 英語表示へ変更することで解決し、設定出来ました。 但し、CLI で設定変更した方が簡単だと思います。
以前に CML へ cmlutils で Ubuntu 22.04LTS イメージをアップロードする というメモを書きました。 Ubuntu の Daily Build イメージを CML へイメージアップロードする手順を改めてメモしておきます。
Cisco CML で「一定時間以上、起動しているラボは停止する」という処理を実装しようと思ったのですが、ラボには「作成時間」や「起動時間」というプロパティが存在しないようです。 代替手段として「機器へ TELNET / SSH して uptime を取得する」という方法もあるかもしれませんが、イマイチです。 ラボそのものには「起動時間」のプロパティが無いものの、ノードには「起動時間を示すプロパティ」があるようです。 今回はその値を取得する Python のサンプルプログラムをメモしておきます。
Terraform で CML 上にラボを作成する際、同時に「ノードにコンフィグを流し込む」ことが可能です。 Terraform からノードへ設定を行うには cml2_node (Resource) の configuration を使います。 更にこの流し込むコンフィグを外部ファイルから参照したい場合は Terraform の file Function を利用することで実現出来ます。
但し、file Function を使って外部ファイルを参照させても CML Provider のバグなのか、以下のエラーになってしまいました。
1 2 3 4 5 6 7 8 9 10 |
|
このエラーは「外部ファイルの改行コードを (CRLF では無く) LF に設定する」ことで回避することが出来ました。
Terraform には CML 用の Provider があります。 現時点で最新バージョンは 0.7.0 でした。 今回はごく基本的な利用方法を学ぶ為に以下を参照し、小規模なラボを作成してみました。