キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
cancel
1439
閲覧回数
5
いいね!
0
コメント
kaihosok
Cisco Employee
Cisco Employee

 

 

はじめに

本ドキュメントでは、CML ( Cisco Modeling Labs ) に対して使用可能なサンプルスクリプトを紹介します。本ドキュメント上のスクリプトは、サンプルスクリプトとなるため、使用の際は内容の確認・動作検証を行った上でご使用ください。
※本ドキュメントは、バージョン 2.0.0-b13 で検証しています。

 

  

CML の ユースケース

CML のユースケースは多くあるとは思いますが、1 つのユースケースとして、以下の図のようにラボの作成と、複製や破棄を繰り返すライフサイクルが想定されます。


1814_480_1.png



本ドキュメントでは、Cisco Modeling Labs (CML) API Demo for simulation lifecycle や、Cisco Modeling Labs (CML)を使ってネットワークを学ぼう! で紹介されているサンプルスクリプト( hellocml.py や import.py )について簡単に紹介します。

    

  

Demo を動かしてみる

準備

Cisco Modeling Labs (CML) API Demo for simulation lifecycle に記載されているサンプルスクリプトを動かすため、CML に対するアクセスする情報を env_lab.py に記述する必要があります。

# env_lab.py
CML = {
    "host": "<cml_ip_address>",
    "username": "<username>",
    "password": "<password>"
}
 
例1 hellocml.py
Cisco Modeling Labs (CML) API Demo for simulation lifecycle に記載されているサンプルコードの hellocml.py を使用します。

hellocml.py と env_lab.py が同じ Directory に存在する状態で、hellocml.py を使用すると、今 CML に存在するラボとそのステータス一覧が確認することができます。

% python hellocml.py 
#################################################################################################################
# Simulated labs on CML: 19 at CML Lab <cml_ip_address>
#################################################################################################################
Test by tatsaito                          2020-06-11 13:33:46   STOPPED           https://<cml_ip_address>/lab/866cb6
test by rmaruyam                          2020-06-11 09:17:08   DEFINED_ON_CORE   https://<cml_ip_address>/lab/b3a6eb
To DNAC96                                 2020-06-17 05:01:40   STARTED           https://<cml_ip_address>/lab/2ba4d1
snip
#################################################################################################################

例えば、”To DNAC96 ”というタイトルのラボは、今 STARTED ステータスです。つまりこのラボ内の機器は動いていると判断できます。また、STOPPED ステータスの場合は、一度ラボ内の機器を起動させたが、今はすべての機器が停止していると判断できます。

 
 
例2 import.py
以下のドキュメントで紹介していますが、CML ではラボ情報を、Yaml ファイルとして Download することができます。

import.py は 、ラボ情報が記述された Yaml ファイルから、新しいラボを作成することができます。
例として、test-topology.yaml をインポートし、test-topo2 という名前のラボを作成した場合が以下となります。

% python import.py test-topology.yaml 
Please input an lab title [type q to quit]: test-topo2
test-topology.yaml
<Response [200]>

  

745_506_1.png

 

例3 delete.py
最後にラボの削除を行うスクリプトdelete.py を試します。各ラボにはユニーク ID として、ラボ ID が付与されています。ラボ ID は、各ラボの URL から確認することが可能です。

533_159_1.png
もしくは、先程の hellocml.py でも確認できます。

% python hellocml.py 
#################################################################################################################
# Simulated labs on CML: 19 at CML Lab <cml_ip_address>
#################################################################################################################
vxlan-Multisite                2021-07-31 10:23:10   STOPPED           https://<cml_ip_address>/lab/15b2a1

ラボ ID が、15b2a1 であることが確認できたため、Stop ステータスの vxlan-Multisite というタイトルのラボを delete.py で削除します。

% python delete.py                   
Please input lab ID to be deleted? [type q to quit]: 15b2a1
<Response [200]>

なおこの delete.py は、ラボ内の機器を停止し、かつ Wipe した上で削除することができます。
 
以上がサンプルスクリプトの実行例の紹介となります。
CML に対する API やクライアントライブラリが公開されているため、検証工程で何度も行うような操作に関しては、自作してみてはいかがでしょうか。
 

 

参考情報

Cisco Modeling Labs 
Cisco Modeling Labs Release Notes 
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう! 
Cisco Modeling Labs : CML で使用できる API と programmability について 

停止しているラボを開始するスクリプトを作成した例
Cisco Modeling Labs : CML に対するスクリプト作成例1 

動いているラボを強制的に停止し、削除するスクリプトの作成例
Cisco Modeling Labs : CML に対するスクリプト作成例2 

Getting Started

検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう

シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします

Quick Links