CML2 を cmlutils で CML から操作する
cmlutils を使うと Cisco CML2 に関連する操作を CML から行うことが出来ます。
cmlutil の準備¶
cmlutil は Python で書かれている為、予め Python3 がインストールされている必要があります。
Python3 のインストール¶
Python3 をインストールします。
1 2 |
|
cmlutils のインストール¶
pip で cmlutils をインストールします。
1 2 3 4 5 6 |
|
認証情報を用意する¶
CML2 へのログイン用 認証情報は以下の 3 種類で指定することが出来ます。
- 環境変数として定義する
- 現在のディレクトリに
.virlrc
ファイルを作成して定義する - ホームディレクトリに
.virlrc
ファイルを作成して定義する
ホームディレクトリに定義しておく場合、以下のようにファイルを用意します。 CML2 のデフォルト状態だと Web UI で自己証明書を使っており、接続時にエラーになってしまいます。 その為、CML_VERIFY_CERT=false
を指定して証明書のエラーを回避します。
1 2 3 4 5 6 |
|
cmlutils のコマンド¶
cmlutils でよく使うコマンドをピックアップしておきます。
目的 | 対象 | コマンド |
---|---|---|
ラボ一覧を表示する | - | cml ls |
ラボを選択する | - | cml use --id [ID] |
ラボを未選択状態にする | - | cml clear |
選択中のラボ ID を表示する | - | cml id |
ラボを開始する | 選択中のラボ | cml up |
ラボを開始する | ID 指定したラボ | cml up --id [ID] |
ラボを停止する | 選択中のラボ | cml down |
ラボを停止する | ID 指定したラボ | cml up --down [ID] |
ラボをワイプする | 選択中のラボ | cml wipe lab |
ラボをワイプする (確認無し) | 選択中のラボ | cml wipe lab --no-confirm |
ラボを削除する | 選択中のラボ | cml rm |
ラボを削除する | 選択中のラボ | cml rm --no-confirm |
ノード一覧を表示する | 選択中のラボ | cml nodes |
ノードを開始する | 選択中のラボ | cml start [LABEL] |
ノードを停止する | 選択中のラボ | cml stop [LABEL] |
ノードをワイプする | 選択中のラボ | cml wipe node [LABEL] |
ノードをワイプする (確認無し) | 選択中のラボ | cml wipe node [LABEL] --no-confirm |
ノードへコンソール接続する | 選択中のラボ | cml console [LABEL] |
ノードへ TELNET する | 選択中のラボ | cml telnet [LABEL] |
コンソール接続時に no matching cipher found
エラーになる場合¶
コンソール接続時、以下のように no matching cipher found
エラーが表示される場合があります。
1 2 |
|
このような場合は /etc/ssh/ssh_config.d/98_cml.conf
もしくは ~/.ssh/config
へ下記を追加します。
1 |
|
参考¶
cmlutils のヘルプ¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
|