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 | |