SlideShare a Scribd company logo
1 of 33
Download to read offline
Okinawa Open Laboratory 1
FunctestでVNFを動かしてみた
沖縄オープンラボラトリ 研究グループ
林 秀保
2016 9/9
Okinawa Open Laboratory
はじめに
 自己紹介
 名前
 林 秀保(はやし ひでやす)
 所属
 NECソリューションイノベータ株式会社
沖縄オープンラボラトリ常駐(2013年8月〜)
 オープンラボでの活動
・OpenStackでRACK(CTC)を用いたクラウドネイティ
ブアプリケーションのスケールイン・アウトの検証
・日中韓共同でCascading OpenStack(MultiSite)の
DRの検証
Okinawa Open Laboratory
組織概要
 名称
 一般社団法人 沖縄オープンラボラトリ (略称:沖縄オープンラボ、OOL、等)
 設立
 2013年5月8日 NTTコミュニケーションズ、NEC 、イイガの3社にて設立
 所在地
 〒904-2241 沖縄県うるま市字兼箇段61番地1
沖縄情報通信センター ビジネス棟201号
電話:098-989-1940
Web: http://www.okinawaopenlabs.org/
Facebook: http://www.facebook.com/okinawaopenlabs/
 代表
 理事長 伊藤 幸夫
 目的
 情報通信における先進技術(次世代ICT基盤技術)の実用化、普及のための
研究開発活動 ⇒クラウドとSDNの検証活動を会員企業を実施
3
Okinawa Open Laboratory
オープンラボのOPNFV環境の構成
Okinawa Open Laboratory
オープンラボのNFVの取り組み
5
 背景
OOLでは、「クラウド」と「SDN」の融合した技術としてNFVの検証
に取り組んでいる。昨年度(2015年度)は 、VNFのテスト自動化
の検証を実施
 PJ名
VNFテスト自動化プロジェクト
 研究目的
VNFアプライアンスのネットワーク試験自動化の検討、及びPoC構築
 検証内容
・ 機能試験
・ 相互接続試験
・ 性能試験
Okinawa Open Laboratory
VNFテスト自動化PJの取り組みの背景
 仮想アプライアンス市場が盛り上がってきている
 Router, Switch, Firewall, etc...
 普及の過程で導入例が多くはない(どの程度つかえるのか?)
 検証の知見が少ない(どんな検証をすればよいのか?)
 試験項目数の爆発的増加
 VNF試験特有の試験項目パターンが追加
 手作業での実施は困難
VNF試験で追加される項目通常のNW試験項目
試験項目 ベンダー 仮想化基盤 割当リソース
スループット性能
- Short/Long/IMIX
- 10M/100M/1G
OSPF Neighbor
- Peer Up/Down
BGP Neighbor
- Peer Up/Down
- Capability
- MAX経路情報
Etc….
Cisco CSR1000v
- ver 3.12
- ver 3.14
Juniper Firefly
- ver 12.1X44
Brocade Vyatta
- ver3.5R1
VyOS
- ver 1.1.5
Etc…
Vmware ESXi
- 5.1
- 5.5
- 6.0
OpenStack
- Icehouse
- Juno
- Kilo
Etc….
メモリ
- 最小/推奨/…
CPU
- 最小/推奨/…
NICドライバ
- e1000
- VMX3
- virtio
Etc….
6
Okinawa Open Laboratory
VNFテスト自動化PJの取り組みの成果
試験自動実行
スルー
プット試
験
VM作成初期設定
Config
投入
結果確認
Config
削除
VM終了
レポート
出力
レポート
解析
繰り返し
 試験自動化による成果
 必要な条件の試験を実行し,結果出力までの自動化を実現
 試験自動化による恩恵
 人的・時間的コストの削減
 ヒューマンエラーのリスクを低下
 検証対象の仮想アプライアンスの知識・技術を持たない
作業者でも試験実行することが可能
7
Okinawa Open Laboratory
VNFテスト自動化PJの取り組みの成果
リファレンスルータ 【CSR1000v,Firefly,Vyatta,VyOS】
 手動で実施することが困難な網羅的試験の自動化を実現
リファレンスルータ用仮想化基盤 【VMware ESXi, OpenStack】
確認項目 【BGP:5種,OSPF:7種】
2736通りの組み合わせ試験を自動実施可能
(約40時間)
試験対象ルータ 【CSR1000v,Firefly,Vyatta,VyOS】
試験対象ルータ用仮想化基盤 【VMware ESXi, OpenStack】
試験対象ルータハードウェア構成 【CPU,Mem,HDD,VNIC】
トラフィック試験 【パターン:3種,サイズ:6種】
8
Okinawa Open Laboratory
VNFテスト自動化をOPNFVで実現したい
 なぜOPNFVか?
・NFV向けプラットフォームの存在感
 OPNFVはオープンなNFV向けのプラットフォームとして、
存在感を増していると考える。
 予想の域を出ないが、OpenStackとの関係が強化されていく
のであれば、デファクトスタンダードとなっていく可能性は
高いと考える。
VNFテスト自動化をオープンソースで実現
9
Okinawa Open Laboratory
VNFテスト自動化をOPNFVのFuncTestで実現したい
・ なぜFunctest?
FuncTestはOPNFVのテストProjectの一つで
オープンラボのやりたいことと方向性が一致
10
Okinawa Open Laboratory
VNFテスト自動化をOPNFVのFuncTestで実現したい
・ Functestとは?
a.NFVI 上で、自動でネットワークとVMを作成してping確認
b.OpenStackのコンポーネントのTempestや、Rallyを使ったテスト
c.OpenDayLightのL2機能確認、ONOSのL2、L3機能確認
d.vIMS (IP Multimedia Subsystem:Qos制御や課金の
機能を持つSystem) VNFをデプロイしてvIMS上でテストシナリオ
を流す。
e.Promise(リソース予約および管理プロジェクト)、Doctor(ネ
ットワークサービスの障害管理とメンテナンス)のテスト
11
Okinawa Open Laboratory
FUNCTEST実行環境
12
Public
Management
SUT(System Under
Test):
SUT(System Under
Test):
JumpServer
FuncTest(docker)
JumpServer: VPN経由で外からOPNFVで構築した環境にアクセスができるNode
FuncTest : Dockerで動いていて、テストシナリオをキックするためのNode
SUT : テスト対象の環境
http://build.opnfv.org/artifacts.opnfv.org/functest/brahmaputra/docs/configguide/index.html
JumpServer上で動かせます。FUNCTESTのDockerコンテナをJumpServer
で起動させればOK。ネットワークはPublicとManagementネットワークがつなが
っていればOK。
Okinawa Open Laboratory
VNFテスト自動化を実現
・ どう実現する?
・ vIMSとは?
FunctestのvIMSのアーキテクトを参考にしています
IMSは、固定電話網や移動体通信網の公衆通信サービスをIP技術
やSIPで統合し、マルチメディアサービスを実現させる通信方
式。
vIMSはIP MultiMedia Subsystem(Clear Water)をIaas上で構築
して試験を実施するもの(と理解しています。)
Orangeという、フランスのテレコム会社が主体となって開発
13
Okinawa Open Laboratory
vIMSの実行フロー
・cloudifyを起動
JumpServer
FuncTest
NFVI
VIM
Orchestrator/
VNF Manager
OSS/BSS
Functestのコンテナから
Cloudifyを起動
standard hardware
NFVI
14
Okinawa Open Laboratory
vIMSの実行フロー
・IMSをcloudifyから構築
JumpServer
FuncTest
VIM
OSS/BSS
DNS
HOMEST
EAD
HOMER SPROUT SPROUT BONO Ellis
Orchestrator/
VNF Manager
Blue
Print
tosca
IP Multimedia System(Cleare Water)
CloudifyにTosca準
拠のYAMLファイルを
PutしIMSのシステム
構築(ネットワーク
やVM)
NFVIstandard hardware
NFVI
15
Okinawa Open Laboratory
vIMSの実行フロー
・IMSのテストを実施
JumpServer
FuncTest
VIM
OSS/BSS
DNS
HOMEST
EAD
HOMER SPROUT SPROUT BONO Ellis
Orchestrator/
VNF Manager
テスト実行
NFVIstandard hardware
NFVI
IP Multimedia System(Cleare Water)
16
Okinawa Open Laboratory
vIMS テスト結果ログ(参考)
2016-08-03 05:13:02,971 - vIMS - INFO - vIMS functional test Start Time:'2016-08-03 05:13:02'
05:13:02'
2016-08-03 05:16:11,081 - vIMS - INFO - vIMS functional test duration:'188.1'
2016-08-03 05:16:11,081 - vIMS - DEBUG - Basic Call - Mainline (TCP) - (6505550636, 6505550085)
6505550085) Passed
Basic Call - Mainline (UDP) - (6505550064, 6505550202) Passed
Basic Call - Tel URIs (TCP) - (6505550569, 6505550505) Passed
Basic Call - Tel URIs (UDP) - (6505550874, 6505550660) Passed
Basic Call - Unknown number (TCP) - (6505550069, 6505550732) Passed
Basic Call - Unknown number (UDP) - (6505550129, 6505550618) Passed
Basic Call - Rejected by remote endpoint (TCP) - (6505550584, 6505550475) Passed
Basic Call - Rejected by remote endpoint (UDP) - (6505550964, 6505550348) Passed
Basic Call - Messages - Pager model (TCP) - (6505550848, 6505550107) Passed
Basic Call - Messages - Pager model (UDP) - (6505550727, 6505550160) Passed
Basic Call - Pracks (TCP) - (6505550584, 6505550860) Passed
Basic Call - Pracks (UDP) - (6505550423, 6505550998) Passed
Basic Registration (TCP) - (6505550699) Passed
Basic Registration (UDP) - (6505550039) Passed
Multiple Identities (TCP) - (6505550718, 6505550095) Passed
Multiple Identities (UDP) - (6505550454, 6505550666) Passed
17
Okinawa Open Laboratory
VNFテスト自動化の実現検討
・ vIMSの実行フローをVNFテスト自動化にどう参考?
・VNFテストを実施するトポロジーをYAMLファイルで作成し
Cloudifyでトポロジーを作成
・Dockerのコンテナから、試験実施を行う。
18
Okinawa Open Laboratory
VNFテスト自動化の検討
・VNFトポロジーを構築
JumpServer
FuncTest
VIM
OSS/BSS
Orchestrator/
VNF Manager
Blue
Print
tosca
NFVIstandard hardware
NFVI
19
Okinawa Open Laboratory
VNFテスト自動化の検討
・VNFトポロジーを構築
JumpServer
FuncTest
VIM
OSS/BSS
Orchestrator/
VNF Manager
Blue
Print
tosca
ManagementPlaneNetwork
DataPlaneNetwork
NFVIstandard hardware
NFVI
20
Okinawa Open Laboratory
VNFテスト自動化の検討
・VNFトポロジーを構築
JumpServer
FuncTest
NFVI
VIM
OSS/BSS
Orchestrator/
VNF Manager
ManagementPlaneNetwork
DataPlaneNetwork
テスト実行
NFVIstandard hardware
NFVI
21
Okinawa Open Laboratory
VNFテスト自動化のモジュール構成と実行フロー
NFV Infrastructure
Functest vnf_test
VNFテストコントローラ
VNFコマンド実行モジュール
VNFs
試験対象
VNF
リファレンス
VNF
test_config.
yaml
① VNFテスト実行要求
② VNFテストトポロジデプロイ
要求
③ トポロジデプロイ実行
④ 試験対象VNFに試験コマンド
投入
⑤ リファレンスVNFに試験コマ
ンド投入
⑥ 試験対象VNFから結果取得
①
②
③
④ ⑤
⑥
CLI
ssh
VNFコマンド
テンプレート
事前に必要なもの
・テスト設定書
・ブループリント
standard hardware
blue
print
22
Okinawa Open Laboratory
ETSI アーキテクトとの対応
NFV Infrastructure
standard hardware
Functest vnf_test
VNFテストコントローラ
VNFコマンド実行モジュール
VNFs
試験対象
VNF
リファレンス
VNF
トポロジデプロイ要求
コンフィグ設定
Orchestrator
VNF Manager
VIMNFVI
OSS/BSS MANO
23
Okinawa Open Laboratory
テスト対象への試験シナリオの管理
 テスト項目を記載したYamlファイルを基に
試験コマンドテンプレートファイルを読み込んでテストを実行
Test: BGP
BGP:
- summary
- neighbor
- routes
- advertised-routes
- received-routes
テスト項目を記載したYamlファイル
VNFコマンドテンプレート群
BGP設定コマンド
試験結果取得コマンド、
結果判定ルール
コマンド : YYYYY
チェックルール:“XXXX”となって
いること
試験対象VNF
(VyOSルータ)
リファレンスVNF
(VyOSルータ)
コマンド投入
結果取得
コマンド投入
中間ファイル
テスト項目⇔コマンドテンプレート
ファイルへのパスを対応付けたもの
・スタティックルート設定
・BGP設定コマンド
24
Okinawa Open Laboratory
実装して動かしてみた VNFテスト内容
 まずは、スモールスタートでBGPの経路交換の相互接続性
試験の自動化をFuncTestをベースで実装してみました。
試験対象VNF
(VyOSルータ)
リファレンスVNF
(VyOSルータ)
相互接続性(BGP)
 試験構成
 試験対応のVNF : VyOS (ver1.1.7)
 試験項目 :相互接続性試験: BGP
 確認内容
 BGPの接続状態
 経路広告数
 経路情報が正しく送出されているか
 経路情報が正しく受信しているか
 ルーティングテーブルが正しいか
25
Okinawa Open Laboratory
試験構成
 試験対象ルータ、リファレンスルータ間で相互接続性試験を
行う。
DataPlaneNetwork
ManagementPlane
Network
Functestコンテナ
Public
試験対象VNF
(VyOSルータ)
リファレンスVNF
(VyOSルータ)
BGP
経路交換
SSHで接続
26
Okinawa Open Laboratory
試験実行方法
 VNFテストの実行方法
 Functestのコンテナ上で“functest testcase run vnf_test”で実行
します。
27
Okinawa Open Laboratory
試験結果(OpenStack上のインスタンス)
Okinawa Open Laboratory
試験結果(OpenStack上のネットワーク)
 OpenStack上のネットワークトポロジ
OpenStack上にVNFテストのネットワークトポロジがデプロイされ
テストを実施します
試験トポロジー
29
Okinawa Open Laboratory
試験結果
 VNFテストの実行結果
 各テスト項目について結果を表示します。
経路広告数確認
BGPの接続確認
経路情報送出確認
経路情報受信確認
Routing Tableの確認
30
Okinawa Open Laboratory
第4回 OkinawaOpenDays2016
12/5~8 沖縄(那覇市) 自治会館
31
Okinawa Open Laboratory
FacebookでOpenDays2016の情報を発信中
Okinawa Open Laboratory 33
Thank You!
ご清聴ありがとうございました

More Related Content

Similar to FunctestでVNFを動かしてみた

OSC2013 Tokyo Spring OpenStack Overview
OSC2013 Tokyo Spring OpenStack OverviewOSC2013 Tokyo Spring OpenStack Overview
OSC2013 Tokyo Spring OpenStack Overview
irix_jp
 
Interop2014 - OpenStackの概要と最新技術動向(Icehouse)
Interop2014 - OpenStackの概要と最新技術動向(Icehouse)Interop2014 - OpenStackの概要と最新技術動向(Icehouse)
Interop2014 - OpenStackの概要と最新技術動向(Icehouse)
irix_jp
 

Similar to FunctestでVNFを動かしてみた (20)

デバイスパッケージを開発してみた @沖縄オープンラボ
デバイスパッケージを開発してみた @沖縄オープンラボデバイスパッケージを開発してみた @沖縄オープンラボ
デバイスパッケージを開発してみた @沖縄オープンラボ
 
Quarkus による超音速な Spring アプリケーション開発
Quarkus による超音速な Spring アプリケーション開発Quarkus による超音速な Spring アプリケーション開発
Quarkus による超音速な Spring アプリケーション開発
 
商用ミドルウェアのPuppet化で気を付けたい5つのこと
商用ミドルウェアのPuppet化で気を付けたい5つのこと商用ミドルウェアのPuppet化で気を付けたい5つのこと
商用ミドルウェアのPuppet化で気を付けたい5つのこと
 
OpenStack Now!
OpenStack Now!OpenStack Now!
OpenStack Now!
 
OpenStack東京サミットに向けて
OpenStack東京サミットに向けてOpenStack東京サミットに向けて
OpenStack東京サミットに向けて
 
OSC2013 Tokyo Spring OpenStack Overview
OSC2013 Tokyo Spring OpenStack OverviewOSC2013 Tokyo Spring OpenStack Overview
OSC2013 Tokyo Spring OpenStack Overview
 
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門
 
OpenWhisk introduction public
OpenWhisk introduction publicOpenWhisk introduction public
OpenWhisk introduction public
 
Invitation to the Open Cloud Campus #osckansai 2011
Invitation to the Open Cloud Campus #osckansai 2011Invitation to the Open Cloud Campus #osckansai 2011
Invitation to the Open Cloud Campus #osckansai 2011
 
Spring I/O 2018 報告会
Spring I/O 2018 報告会Spring I/O 2018 報告会
Spring I/O 2018 報告会
 
Spring I/O 2018 報告会 - Spring Cloud Gateway / Spring Cloud Pipelines
Spring I/O 2018 報告会 - Spring Cloud Gateway / Spring Cloud PipelinesSpring I/O 2018 報告会 - Spring Cloud Gateway / Spring Cloud Pipelines
Spring I/O 2018 報告会 - Spring Cloud Gateway / Spring Cloud Pipelines
 
Open modeler
Open modelerOpen modeler
Open modeler
 
20150715 xflow kikuta_final
20150715 xflow kikuta_final20150715 xflow kikuta_final
20150715 xflow kikuta_final
 
「たまおきのクラウドウォッチ」筆者が語る、OpenStack導入最前線 - @IT様セミナー 「真剣に考える人だけにこっそり教えるOpenStackとスト...
「たまおきのクラウドウォッチ」筆者が語る、OpenStack導入最前線 - @IT様セミナー 「真剣に考える人だけにこっそり教えるOpenStackとスト...「たまおきのクラウドウォッチ」筆者が語る、OpenStack導入最前線 - @IT様セミナー 「真剣に考える人だけにこっそり教えるOpenStackとスト...
「たまおきのクラウドウォッチ」筆者が語る、OpenStack導入最前線 - @IT様セミナー 「真剣に考える人だけにこっそり教えるOpenStackとスト...
 
Lightweight Keycloak
Lightweight KeycloakLightweight Keycloak
Lightweight Keycloak
 
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
 
OpenStackの情報をどこから得ているのか
OpenStackの情報をどこから得ているのかOpenStackの情報をどこから得ているのか
OpenStackの情報をどこから得ているのか
 
OpenStack QuickStart - Icehouse
OpenStack QuickStart - IcehouseOpenStack QuickStart - Icehouse
OpenStack QuickStart - Icehouse
 
Develop Web Application with Node.js + Express
Develop Web Application with Node.js + ExpressDevelop Web Application with Node.js + Express
Develop Web Application with Node.js + Express
 
Interop2014 - OpenStackの概要と最新技術動向(Icehouse)
Interop2014 - OpenStackの概要と最新技術動向(Icehouse)Interop2014 - OpenStackの概要と最新技術動向(Icehouse)
Interop2014 - OpenStackの概要と最新技術動向(Icehouse)
 

FunctestでVNFを動かしてみた

  • 1. Okinawa Open Laboratory 1 FunctestでVNFを動かしてみた 沖縄オープンラボラトリ 研究グループ 林 秀保 2016 9/9
  • 2. Okinawa Open Laboratory はじめに  自己紹介  名前  林 秀保(はやし ひでやす)  所属  NECソリューションイノベータ株式会社 沖縄オープンラボラトリ常駐(2013年8月〜)  オープンラボでの活動 ・OpenStackでRACK(CTC)を用いたクラウドネイティ ブアプリケーションのスケールイン・アウトの検証 ・日中韓共同でCascading OpenStack(MultiSite)の DRの検証
  • 3. Okinawa Open Laboratory 組織概要  名称  一般社団法人 沖縄オープンラボラトリ (略称:沖縄オープンラボ、OOL、等)  設立  2013年5月8日 NTTコミュニケーションズ、NEC 、イイガの3社にて設立  所在地  〒904-2241 沖縄県うるま市字兼箇段61番地1 沖縄情報通信センター ビジネス棟201号 電話:098-989-1940 Web: http://www.okinawaopenlabs.org/ Facebook: http://www.facebook.com/okinawaopenlabs/  代表  理事長 伊藤 幸夫  目的  情報通信における先進技術(次世代ICT基盤技術)の実用化、普及のための 研究開発活動 ⇒クラウドとSDNの検証活動を会員企業を実施 3
  • 5. Okinawa Open Laboratory オープンラボのNFVの取り組み 5  背景 OOLでは、「クラウド」と「SDN」の融合した技術としてNFVの検証 に取り組んでいる。昨年度(2015年度)は 、VNFのテスト自動化 の検証を実施  PJ名 VNFテスト自動化プロジェクト  研究目的 VNFアプライアンスのネットワーク試験自動化の検討、及びPoC構築  検証内容 ・ 機能試験 ・ 相互接続試験 ・ 性能試験
  • 6. Okinawa Open Laboratory VNFテスト自動化PJの取り組みの背景  仮想アプライアンス市場が盛り上がってきている  Router, Switch, Firewall, etc...  普及の過程で導入例が多くはない(どの程度つかえるのか?)  検証の知見が少ない(どんな検証をすればよいのか?)  試験項目数の爆発的増加  VNF試験特有の試験項目パターンが追加  手作業での実施は困難 VNF試験で追加される項目通常のNW試験項目 試験項目 ベンダー 仮想化基盤 割当リソース スループット性能 - Short/Long/IMIX - 10M/100M/1G OSPF Neighbor - Peer Up/Down BGP Neighbor - Peer Up/Down - Capability - MAX経路情報 Etc…. Cisco CSR1000v - ver 3.12 - ver 3.14 Juniper Firefly - ver 12.1X44 Brocade Vyatta - ver3.5R1 VyOS - ver 1.1.5 Etc… Vmware ESXi - 5.1 - 5.5 - 6.0 OpenStack - Icehouse - Juno - Kilo Etc…. メモリ - 最小/推奨/… CPU - 最小/推奨/… NICドライバ - e1000 - VMX3 - virtio Etc…. 6
  • 7. Okinawa Open Laboratory VNFテスト自動化PJの取り組みの成果 試験自動実行 スルー プット試 験 VM作成初期設定 Config 投入 結果確認 Config 削除 VM終了 レポート 出力 レポート 解析 繰り返し  試験自動化による成果  必要な条件の試験を実行し,結果出力までの自動化を実現  試験自動化による恩恵  人的・時間的コストの削減  ヒューマンエラーのリスクを低下  検証対象の仮想アプライアンスの知識・技術を持たない 作業者でも試験実行することが可能 7
  • 8. Okinawa Open Laboratory VNFテスト自動化PJの取り組みの成果 リファレンスルータ 【CSR1000v,Firefly,Vyatta,VyOS】  手動で実施することが困難な網羅的試験の自動化を実現 リファレンスルータ用仮想化基盤 【VMware ESXi, OpenStack】 確認項目 【BGP:5種,OSPF:7種】 2736通りの組み合わせ試験を自動実施可能 (約40時間) 試験対象ルータ 【CSR1000v,Firefly,Vyatta,VyOS】 試験対象ルータ用仮想化基盤 【VMware ESXi, OpenStack】 試験対象ルータハードウェア構成 【CPU,Mem,HDD,VNIC】 トラフィック試験 【パターン:3種,サイズ:6種】 8
  • 9. Okinawa Open Laboratory VNFテスト自動化をOPNFVで実現したい  なぜOPNFVか? ・NFV向けプラットフォームの存在感  OPNFVはオープンなNFV向けのプラットフォームとして、 存在感を増していると考える。  予想の域を出ないが、OpenStackとの関係が強化されていく のであれば、デファクトスタンダードとなっていく可能性は 高いと考える。 VNFテスト自動化をオープンソースで実現 9
  • 10. Okinawa Open Laboratory VNFテスト自動化をOPNFVのFuncTestで実現したい ・ なぜFunctest? FuncTestはOPNFVのテストProjectの一つで オープンラボのやりたいことと方向性が一致 10
  • 11. Okinawa Open Laboratory VNFテスト自動化をOPNFVのFuncTestで実現したい ・ Functestとは? a.NFVI 上で、自動でネットワークとVMを作成してping確認 b.OpenStackのコンポーネントのTempestや、Rallyを使ったテスト c.OpenDayLightのL2機能確認、ONOSのL2、L3機能確認 d.vIMS (IP Multimedia Subsystem:Qos制御や課金の 機能を持つSystem) VNFをデプロイしてvIMS上でテストシナリオ を流す。 e.Promise(リソース予約および管理プロジェクト)、Doctor(ネ ットワークサービスの障害管理とメンテナンス)のテスト 11
  • 12. Okinawa Open Laboratory FUNCTEST実行環境 12 Public Management SUT(System Under Test): SUT(System Under Test): JumpServer FuncTest(docker) JumpServer: VPN経由で外からOPNFVで構築した環境にアクセスができるNode FuncTest : Dockerで動いていて、テストシナリオをキックするためのNode SUT : テスト対象の環境 http://build.opnfv.org/artifacts.opnfv.org/functest/brahmaputra/docs/configguide/index.html JumpServer上で動かせます。FUNCTESTのDockerコンテナをJumpServer で起動させればOK。ネットワークはPublicとManagementネットワークがつなが っていればOK。
  • 13. Okinawa Open Laboratory VNFテスト自動化を実現 ・ どう実現する? ・ vIMSとは? FunctestのvIMSのアーキテクトを参考にしています IMSは、固定電話網や移動体通信網の公衆通信サービスをIP技術 やSIPで統合し、マルチメディアサービスを実現させる通信方 式。 vIMSはIP MultiMedia Subsystem(Clear Water)をIaas上で構築 して試験を実施するもの(と理解しています。) Orangeという、フランスのテレコム会社が主体となって開発 13
  • 14. Okinawa Open Laboratory vIMSの実行フロー ・cloudifyを起動 JumpServer FuncTest NFVI VIM Orchestrator/ VNF Manager OSS/BSS Functestのコンテナから Cloudifyを起動 standard hardware NFVI 14
  • 15. Okinawa Open Laboratory vIMSの実行フロー ・IMSをcloudifyから構築 JumpServer FuncTest VIM OSS/BSS DNS HOMEST EAD HOMER SPROUT SPROUT BONO Ellis Orchestrator/ VNF Manager Blue Print tosca IP Multimedia System(Cleare Water) CloudifyにTosca準 拠のYAMLファイルを PutしIMSのシステム 構築(ネットワーク やVM) NFVIstandard hardware NFVI 15
  • 16. Okinawa Open Laboratory vIMSの実行フロー ・IMSのテストを実施 JumpServer FuncTest VIM OSS/BSS DNS HOMEST EAD HOMER SPROUT SPROUT BONO Ellis Orchestrator/ VNF Manager テスト実行 NFVIstandard hardware NFVI IP Multimedia System(Cleare Water) 16
  • 17. Okinawa Open Laboratory vIMS テスト結果ログ(参考) 2016-08-03 05:13:02,971 - vIMS - INFO - vIMS functional test Start Time:'2016-08-03 05:13:02' 05:13:02' 2016-08-03 05:16:11,081 - vIMS - INFO - vIMS functional test duration:'188.1' 2016-08-03 05:16:11,081 - vIMS - DEBUG - Basic Call - Mainline (TCP) - (6505550636, 6505550085) 6505550085) Passed Basic Call - Mainline (UDP) - (6505550064, 6505550202) Passed Basic Call - Tel URIs (TCP) - (6505550569, 6505550505) Passed Basic Call - Tel URIs (UDP) - (6505550874, 6505550660) Passed Basic Call - Unknown number (TCP) - (6505550069, 6505550732) Passed Basic Call - Unknown number (UDP) - (6505550129, 6505550618) Passed Basic Call - Rejected by remote endpoint (TCP) - (6505550584, 6505550475) Passed Basic Call - Rejected by remote endpoint (UDP) - (6505550964, 6505550348) Passed Basic Call - Messages - Pager model (TCP) - (6505550848, 6505550107) Passed Basic Call - Messages - Pager model (UDP) - (6505550727, 6505550160) Passed Basic Call - Pracks (TCP) - (6505550584, 6505550860) Passed Basic Call - Pracks (UDP) - (6505550423, 6505550998) Passed Basic Registration (TCP) - (6505550699) Passed Basic Registration (UDP) - (6505550039) Passed Multiple Identities (TCP) - (6505550718, 6505550095) Passed Multiple Identities (UDP) - (6505550454, 6505550666) Passed 17
  • 18. Okinawa Open Laboratory VNFテスト自動化の実現検討 ・ vIMSの実行フローをVNFテスト自動化にどう参考? ・VNFテストを実施するトポロジーをYAMLファイルで作成し Cloudifyでトポロジーを作成 ・Dockerのコンテナから、試験実施を行う。 18
  • 20. Okinawa Open Laboratory VNFテスト自動化の検討 ・VNFトポロジーを構築 JumpServer FuncTest VIM OSS/BSS Orchestrator/ VNF Manager Blue Print tosca ManagementPlaneNetwork DataPlaneNetwork NFVIstandard hardware NFVI 20
  • 21. Okinawa Open Laboratory VNFテスト自動化の検討 ・VNFトポロジーを構築 JumpServer FuncTest NFVI VIM OSS/BSS Orchestrator/ VNF Manager ManagementPlaneNetwork DataPlaneNetwork テスト実行 NFVIstandard hardware NFVI 21
  • 22. Okinawa Open Laboratory VNFテスト自動化のモジュール構成と実行フロー NFV Infrastructure Functest vnf_test VNFテストコントローラ VNFコマンド実行モジュール VNFs 試験対象 VNF リファレンス VNF test_config. yaml ① VNFテスト実行要求 ② VNFテストトポロジデプロイ 要求 ③ トポロジデプロイ実行 ④ 試験対象VNFに試験コマンド 投入 ⑤ リファレンスVNFに試験コマ ンド投入 ⑥ 試験対象VNFから結果取得 ① ② ③ ④ ⑤ ⑥ CLI ssh VNFコマンド テンプレート 事前に必要なもの ・テスト設定書 ・ブループリント standard hardware blue print 22
  • 23. Okinawa Open Laboratory ETSI アーキテクトとの対応 NFV Infrastructure standard hardware Functest vnf_test VNFテストコントローラ VNFコマンド実行モジュール VNFs 試験対象 VNF リファレンス VNF トポロジデプロイ要求 コンフィグ設定 Orchestrator VNF Manager VIMNFVI OSS/BSS MANO 23
  • 24. Okinawa Open Laboratory テスト対象への試験シナリオの管理  テスト項目を記載したYamlファイルを基に 試験コマンドテンプレートファイルを読み込んでテストを実行 Test: BGP BGP: - summary - neighbor - routes - advertised-routes - received-routes テスト項目を記載したYamlファイル VNFコマンドテンプレート群 BGP設定コマンド 試験結果取得コマンド、 結果判定ルール コマンド : YYYYY チェックルール:“XXXX”となって いること 試験対象VNF (VyOSルータ) リファレンスVNF (VyOSルータ) コマンド投入 結果取得 コマンド投入 中間ファイル テスト項目⇔コマンドテンプレート ファイルへのパスを対応付けたもの ・スタティックルート設定 ・BGP設定コマンド 24
  • 25. Okinawa Open Laboratory 実装して動かしてみた VNFテスト内容  まずは、スモールスタートでBGPの経路交換の相互接続性 試験の自動化をFuncTestをベースで実装してみました。 試験対象VNF (VyOSルータ) リファレンスVNF (VyOSルータ) 相互接続性(BGP)  試験構成  試験対応のVNF : VyOS (ver1.1.7)  試験項目 :相互接続性試験: BGP  確認内容  BGPの接続状態  経路広告数  経路情報が正しく送出されているか  経路情報が正しく受信しているか  ルーティングテーブルが正しいか 25
  • 26. Okinawa Open Laboratory 試験構成  試験対象ルータ、リファレンスルータ間で相互接続性試験を 行う。 DataPlaneNetwork ManagementPlane Network Functestコンテナ Public 試験対象VNF (VyOSルータ) リファレンスVNF (VyOSルータ) BGP 経路交換 SSHで接続 26
  • 27. Okinawa Open Laboratory 試験実行方法  VNFテストの実行方法  Functestのコンテナ上で“functest testcase run vnf_test”で実行 します。 27
  • 29. Okinawa Open Laboratory 試験結果(OpenStack上のネットワーク)  OpenStack上のネットワークトポロジ OpenStack上にVNFテストのネットワークトポロジがデプロイされ テストを実施します 試験トポロジー 29
  • 30. Okinawa Open Laboratory 試験結果  VNFテストの実行結果  各テスト項目について結果を表示します。 経路広告数確認 BGPの接続確認 経路情報送出確認 経路情報受信確認 Routing Tableの確認 30
  • 31. Okinawa Open Laboratory 第4回 OkinawaOpenDays2016 12/5~8 沖縄(那覇市) 自治会館 31
  • 33. Okinawa Open Laboratory 33 Thank You! ご清聴ありがとうございました