Skip to content

Cisco

CLI から ovftool で仮想版 Nexus Dashboard をデプロイする

仮想版のソフトウェア (OVA ファイル) を vSphere 上にデプロイするには Web UI を用いることが多いと思います。 Web UI ではパラメータを対話的に指定する必要がありますが、CLI であれば「予めパラメータは用意しておき、デプロイ時はコマンドを実行するだけ」と作業を簡素化することが出来ます。 今回は Cisco Nexus Dashboard を例に、vSphere 上に CLI からデプロイする方法をメモしておきます。

CML に Extreme の EXOS / VOSS を追加する

Extreme EXOS と VOSS の検証用イメージは各々、GitHub の下記ページで公開されています。 Cisco CML へ EXOS / VOSS へ登録出来るようにしたので、情報をまとめておきます。 CML 用のノード定義ファイルは Add Extreme EXOS/VOSS. #39 で Pull Request を出しておきました。

EXOS VOSS
Download Page Virtual_EXOS Virtual_VOSS
Node Definition exos.yaml voss.yaml
CPU 1 1
Memory (GB) 0.5 2
Serial Console 1 1
Username admin rwa
Password (None) rwa

Ubuntu 22.04 へ Cisco CSLU をインストールする

Cisco の Smart License / Smart License Using Policy は SSM (Smart Software Manager) で管理する方法があります。 この場合、「SSM 専用の仮想マシンを用意する」ことになります。 尚、SSM は Public Cloud や物理サーバはサポートされておらず、仮想マシンのみがサポート対象です。 以下は Cisco Smart License Utility Release Notes からの抜粋です。

  • As of now, deployment of the SSM On-Prem on the cloud (AWS, GCP, etc.) and on physical servers (Cisco UCS M2, M3, etc.) is not supported.
  • SSM On-Prem has been officially tested/supported on VM

file

既存で Windows や Linux がある場合は Windows / Linux 上へ CSLU (Cisco Smart Licensing Utility) をインストールして利用する方法があります。

現時点で CSLU の最終アップデートは 2022 年 11 月とやや古いのですが、今回は CSLU を Ubuntu 22.04 へインストールする手順をメモしておきます。

CML でノードの起動時間を取得する

Cisco CML で「一定時間以上、起動しているラボは停止する」という処理を実装しようと思ったのですが、ラボには「作成時間」や「起動時間」というプロパティが存在しないようです。 代替手段として「機器へ TELNET / SSH して uptime を取得する」という方法もあるかもしれませんが、イマイチです。 ラボそのものには「起動時間」のプロパティが無いものの、ノードには「起動時間を示すプロパティ」があるようです。 今回はその値を取得する Python のサンプルプログラムをメモしておきます。

Cisco ACI 5.3(8i) リリース

Cisco ACi 5.3(8i) がリリースされました。 5.3 系としては 5.3(1d) と 5.3(2a) に続く、みっつ目のリリースです。 変更点は Resolved Issues の追加のみのようです。

Cisco ACI 6.0(5h)M リリース

Cisco ACi 6.0(5h)M がリリースされました。 5.3 系としては 5.3(1d) と 5.3(2a) に続く、みっつ目のリリースです。 変更点は Resolved Issues の追加のみのようです。

Terraform + CML でノードのコンフィグは外部ファイルを参照する

Terraform で CML 上にラボを作成する際、同時に「ノードにコンフィグを流し込む」ことが可能です。 Terraform からノードへ設定を行うには cml2_node (Resource) の configuration を使います。 更にこの流し込むコンフィグを外部ファイルから参照したい場合は Terraform の file Function を利用することで実現出来ます。

但し、file Function を使って外部ファイルを参照させても CML Provider のバグなのか、以下のエラーになってしまいました。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
cml2_node.dev1: Creating...
╷
│ Error: Provider produced inconsistent result after apply
│
│ When applying changes to cml2_node.dev1, provider
│ "provider[\"registry.terraform.io/ciscodevnet/cml2\"]" produced an unexpected new value:
│ .configuration: was cty.StringVal("hostname dev1\r\n!\r\nend"), but now cty.StringVal("hostname
│ dev1\n!\nend").
│
│ This is a bug in the provider, which should be reported in the provider's own issue tracker.

このエラーは「外部ファイルの改行コードを (CRLF では無く) LF に設定する」ことで回避することが出来ました。