Cisco IMC(CIMC)のエミュレータを使ってみた

cisco UCS Cシリーズの管理用コントローラーである CIMC(Cisco Integrated Management Controller) のEmulator(エミュレーター)を使ってみました。(HPだとiLO)
Emulatorを使おうとしたきっかけは、CIMCのAPIを使って管理・監視の自動化ができないかと思ったからです。
ここでは、CIMC Emulatorの起動とアクセス及びAPIでログイン/ログアウト方法を記録しておきます。

Cisco IMC Emulator

CIMC API ドキュメント

環境

項目 内容
CentOS 7.3
CIMC Emulator 3.0.3a

ネットワーク情報

アドレス 説明
192.168.1.54 Emulatorが起動するホストIP
192.168.1.55 Tap IP
192.168.1.56 CIMC Emulator IP

CIMC Emulator インストール/起動

CIMC EmulatorはWebUIから設定してみます。(CUIからも可能です)
CIMC Emulatorのダウンロード以外は インストールスクリプト で自動化できるようにしました。
このスクリプトは cimc_emulator-3.0.3a.zip がカレントに存在する前提です。

インストール

(1) CIMC Emulatorをダウンロードしてサーバへアップロードします。

https://cisco.app.box.com/v/CiscoIMCEmulator

(2) 必要なパッケージのインストールをします。

(3) tunctl をインストールします。

(4) 一部修正するパッチを適応します。

標準だと 127.0.0.1 のループバックからしかアクセスを許可していません。
また、起動スクリプトにも一部間違いがあるので以下のパッチを適応します。(不要であれば当てなくても大丈夫です)

パッチ MD5
cimc_emulator.patch_.gz MD5(cimc_emulator.patch_.gz)= df2e01365425729951dcc64f74b559db

インストールスクリプト

Emulator 起動

(1) 以下のコマンドを実行して起動します。

(2) ブラウザから http://IP:8080 へアクセスします。

(3) Create/Edit Instance をクリックします。

(4) Name にインスタンス名を入力して Select Product からプロダクトを選択し Tap Network をクリックします。

(5) 以下のパラメーターを入力して Create Network をクリックします。

設定項目 パラメーター
Tap IP CIMC Emulatorの管理画面にアクセスするIP
Emulator IP CIMC EmulatorのIP
Broadcast IP ブロードキャストIP
Netmask IP ネットマスク
Default Gateway ゲートウェイ

(6) Selected ConfigurationCreate をクリックします。

(7) Start をクリックします。起動するまで、おおそよ20分程度かかりました。マシンスペックによってはそれ以上かかる可能性があります。

(8) StatusRunning になったことを確認します。

Emulator アクセス

ここでは、Emulatorが起動するホストでSSHポートフォワーディングして接続してみます。
同セグであれば、そおらく直アクセスできると思います(未検証)。

(1) SSHポートフォワードをします。

(2) ブラウザで https://IP/login.html へアクセスしてログイン画面が表示されることを確認します。

(3) 以下の情報でログインしてログインできることを確認します。

アカウント パスワード
admin password

CIMC API

CIMCをAPIで使う前提として、ここではログイン・ログアウトをしてみます。
CIMCのAPIはXMLでやりとりをします。

ログイン構造

ログインのXMLは以下のものになります。

ログアウト構造

ログアウトのXMLは以下のものになります。

ログイン・ログアウトスクリプト

ログイン・ログアウトするスクリプト例です。
以下スクリプトはpython3で作成しています。
スクリプトを動かすには xmltodictrequests が必要です。

このスクリプトを実行するとログイン時に取得できるCookieの表示と、取得したCookieを使ってログアウトします。
以下は使用例です。スクリプトの url を環境に合わせて変更してください。

基本は取得したCookieとクエリを使ってCIMCから情報を取得したり設定したりします。

Leave a Reply

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)