Linux/macOS + Python 環境で Cisco ACI 用の vCenter プラグインをインストールする
vCenter に Cisco ACI 用のプラグインをインストールする手順は ACI How-to の ACI vCenter Plugin に記載されています。 この手順では下記のうち、「1.」を前提にしていますが、今回は「2.」の Linux + Python でインストールする手順をメモしておきます。 尚、今回は CentOS7.5 + Python 2.7.15 を使いました。
- Windows + PowerShell 環境でインストールする
- Linux/macOS + Python 環境でインストールする
ACI 上のプラグインは DL 不要 (Python スクリプトが無い為)¶
ACI 用の vCenter プラグインは ACI 自体の URL「https://ADDRESS/vcplugin/
」からダウンロードすることが可能です。 この URL は認証無しにアクセスすることが可能です。 ブラウザでアクセスしてみると以下のように表示されるはずです。 ここには PowerShell 用のインストールスクリプトはあるものの、Python 用のインストールスクリプトが無いので、今回のインストール手順ではこの URL へアクセスする必要はありません。
Cisco からダウンロードした vCenter プラグインを展開する¶
作業する Linux 環境に Cisco の Software Download ページからダウンロードした vCenter プラグインをコピーし、展開しておきます。 以下は実際にプラグイン (.tgz) を展開した出力サンプルです。 よく見るとこの .tgz の中に vcenter-plugin-3.2.4000.4.zip
というファイルが含まれていることが分かりますが、これは Cisco ACI から直接、ダウンロード出来るファイルと同じもののようです。
1 2 3 4 5 6 7 8 |
|
ファイルの展開が完了したら、移動しておきます。
1 |
|
HTTPS Fingerprint の確認¶
Python のインストールスクリプトを実行する際、Cisco ACI の管理 Web UI の HTTPS Fingerprint を要求されます(※ vCenter の Fingerprint は不要のようです)。 Windows であればブラウザで Cisco ACI の Web UI へアクセスして証明書を表示させ、Fingerprint を取得するのが簡単です。 Linux/macOS であれば以下のように openssl のワンライナーで Fingerprint を取得出来ます。
1 |
|
実行例は以下の通りです。 最下行に「poll errorSHA1 Fingerprint」という行がありますが、この行が Fingerprint になりますので控えておきます (後で利用します)。 ]
1 2 3 4 5 6 7 |
|
インストール用変数を用意する¶
Python でインストールする場合、vCenter のアドレスやログイン情報等の必要パラメータを予めファイルに用意しておきます。 deploy.cfg
という、パラメータのテンプレートファイルがあり、初期状態では以下の内容になっています。
1 2 3 4 5 6 7 8 |
|
例えば以下のパラメータだとします。 No.4 の「プラグインの位置」ですが、今回は直接、APIC を参照していますが、同じファイルを Web サーバにアップロードされていれば、必ずしも APIC を参照する必要はありません。
No. | 項目 | 値 |
---|---|---|
1 | vCenter のアドレス | 192.168.1.1 |
2 | vCenter のユーザ名 | administrator@vsphere.local |
3 | vCenter のパスワード | password |
4 | プラグインの位置 | https://192.168.1.100/vcplugin/vcenter-plugin-3.2.4000.4.zip |
5 | HTTPS Fingerprint | AB:CD:EF:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX |
この場合、deploy.cfg
は以下のようになります。
1 2 3 4 5 6 7 8 |
|
必要な Python モジュールのインストール¶
あとはインストールを実行するだけです。
1 |
|
ですが、今回の環境では以下のようなエラーになってしまいました。
1 2 3 4 5 |
|
エラーの原因は「プラグインインストール用 Python スクリプトは requests
と pyvmomi
モジュールに依存している為」です。 不足しているモジュールをインストールすれば、エラーは解消します。 今回の環境には pip 自体が無かった為、pip をインストールしつつ、不足モジュールをインストールしました。
1 2 3 |
|
vCenter プラグインのインストール¶
これで全ての準備は整いました。 インストールを開始します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|
vCenter 上での表示¶
インストールしたプラグインは、現時点では Flash 版の UI でしか利用出来ない ようです。 実際のメニュー表示は以下のようになります。 HTML5 版のメニューにはプラグインが表示されないようです。