キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
cancel
告知

JTAC-Mid-Career-Recruitment-2021.8

 

Luxイントロダクション3 NSOテスト編

454
閲覧回数
0
いいね!
0
コメント

 

はじめに

このドキュメントでは Lux による NSO のテストスクリプト例を紹介します。

 

NSO のテストスクリプト例

紹介するスクリプトの処理の流れは以下のとおりです。

 

1. シェル1 "system" を起動

1-1. cisco-ios NED のコンパイル
1-2. netsim デバイスを 2台作成して起動
1-3. NSO を起動
1-4. netsim デバイスへの接続情報を NSO へロード

 

2. シェル2 "NSO" を起動

2-1. NSO の CLIにログイン
2-2. sync-from を実行

 

3. cleanup (テストの後処理)

3-1. NSO の停止
3-2. netsim デバイスの停止
3-3. netsim ディレクトリの削除

 
NSO のテストスクリプト例
[doc bring up netsim devices and do sync-from]
 
[global fail_pattern=([Ee]rror|[Ff]ailed|[Aa]borted|[Ii]nvalid)]
[global NSO_PROMPT=admin@ncs#]
 
# 1. シェル1 "system" を起動
[shell Linux]
[timeout 60]
 
# 1-1. cisco-ios NED のコンパイル
!make clean -C packages/cisco-ios/src
?BUILD SUCCESSFUL
?SH-PROMPT
!make -C packages/cisco-ios/src
?BUILD SUCCESSFUL
?SH-PROMPT
 
# 1-2. netsim デバイスを 2台作成して起動
# $${NCS_DIR} は Luxスクリプト内で定義した変数ではなく、スクリプトが動作するシステムの環境変数の値を展開しています。
!$${NCS_DIR}/bin/ncs-netsim create-network packages/cisco-ios 2 ios
"""?
DEVICE ios0 CREATED
DEVICE ios1 CREATED
?SH-PROMPT
"""
!$${NCS_DIR}/bin/ncs-netsim start
?DEVICE ios0 OK STARTED
?DEVICE ios1 OK STARTED
?SH-PROMPT
 
# 1-3. NSO を起動
!$${NCS_DIR}/bin/ncs
?SH-PROMPT
!$${NCS_DIR}/bin/ncs --status
?status: started
?SH-PROMPT
 
# 1-4. netsim デバイスへの接続情報を NSO へロード
!$${NCS_DIR}/bin/ncs-netsim ncs-xml-init | ncs_load -l -m
?SH-PROMPT
 
# 2. シェル2 "NSO" を起動
[shell NSO]
-$fail_pattern
 
# 2-1. NSO の CLIにログイン
!ncs_cli -u admin -C
?$NSO_PROMPT
 
# 2-2. sync-from を実行
!devices sync-from
"""?
sync-result {
    device ios0
    result true
}
sync-result {
    device ios1
    result true
}
"""
# 3. cleanup (テストの後処理)
[cleanup]
# 3-1. NSO の停止
!$${NCS_DIR}/bin/ncs --stop
!echo ===$?===
?===0===
 
# 3-2. netsim デバイスの停止
!$${NCS_DIR}/bin/ncs-netsim stop
!echo ===$?===
?===0===
 
# 3-3. netsim ディレクトリの削除
!rm -r -f ./netsim
!echo ===$?===
?===0===