Submit Search
Upload
GNS3上の仮想アプライアンス+GitLabRunner+BDDによるテスト自動化
•
3 likes
•
794 views
S
Shigeru Tsubota
Follow
RESTによってGNS3上に仮想アプライアンスを設置し、BDDにてテストケースを作成し、GitLabRunnerにてテストを実行します。
Read less
Read more
Software
Report
Share
Report
Share
1 of 29
Recommended
LagopusとAzureとIPsecとDPDK
LagopusとAzureとIPsecとDPDK
Tomoya Hibi
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
Takashi Sogabe
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
VirtualTech Japan Inc.
サーバ脆弱性スキャナ Vuls を OpenStack 環境で使ってみた
サーバ脆弱性スキャナ Vuls を OpenStack 環境で使ってみた
VirtualTech Japan Inc.
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
VirtualTech Japan Inc.
今さら聞けない人のためのDocker超入門 - KOF
今さら聞けない人のためのDocker超入門 - KOF
VirtualTech Japan Inc.
Cloud founryインストール手順
Cloud founryインストール手順
Kotaro Noyama
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
VirtualTech Japan Inc.
Recommended
LagopusとAzureとIPsecとDPDK
LagopusとAzureとIPsecとDPDK
Tomoya Hibi
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
オーバーレイネットワークで実現するプライベートクラウド -OpenStack/OpenContrailを用いたプライベートクラウドの構築及び評価計画のご紹介-
Takashi Sogabe
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
VirtualTech Japan Inc.
サーバ脆弱性スキャナ Vuls を OpenStack 環境で使ってみた
サーバ脆弱性スキャナ Vuls を OpenStack 環境で使ってみた
VirtualTech Japan Inc.
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
VirtualTech Japan Inc.
今さら聞けない人のためのDocker超入門 - KOF
今さら聞けない人のためのDocker超入門 - KOF
VirtualTech Japan Inc.
Cloud founryインストール手順
Cloud founryインストール手順
Kotaro Noyama
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
VirtualTech Japan Inc.
OpenContrailのソースコードを探検しよう!
OpenContrailのソースコードを探検しよう!
Takashi Sogabe
Cloud Foundry varz
Cloud Foundry varz
Uemura Yuichi
Router board勉強会vol2(配布用)
Router board勉強会vol2(配布用)
milk hanakara
VyOSでMPLS
VyOSでMPLS
雄也 日下部
TripleOの光と闇
TripleOの光と闇
Manabu Ori
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化
Takuya ASADA
さくらのクラウドでVyOS使ってみた
さくらのクラウドでVyOS使ってみた
SAKURA Internet Inc.
知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月
知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月
VirtualTech Japan Inc.
Router board勉強会vol2(ベンチマーク班まとめ)
Router board勉強会vol2(ベンチマーク班まとめ)
milk hanakara
DevStackで始めるCloud FoundryとBOSH
DevStackで始めるCloud FoundryとBOSH
i_yudai
Pgcon2012 ori-20120224
Pgcon2012 ori-20120224
Manabu Ori
サバフェスLT(元うなぎ屋)
サバフェスLT(元うなぎ屋)
snicker_jp
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:ボリューム操作編
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:ボリューム操作編
irix_jp
Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続
Tomoya Hibi
「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)
「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)
さくらインターネット株式会社
CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1
Kotaro Noyama
ベアメタルプロビジョニング
ベアメタルプロビジョニング
VirtualTech Japan Inc.
Node.jsv0.8からv4.xへのバージョンアップ ~大規模Push通知基盤の運用事例~
Node.jsv0.8からv4.xへのバージョンアップ ~大規模Push通知基盤の運用事例~
Recruit Technologies
【さくらのクラウド】ローカルルータ導入ガイド
【さくらのクラウド】ローカルルータ導入ガイド
さくらインターネット株式会社
Seastar in 歌舞伎座.tech#8「C++初心者会」
Seastar in 歌舞伎座.tech#8「C++初心者会」
Takuya ASADA
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門
Masahito Zembutsu
Gws 20130315 gradle_handson
Gws 20130315 gradle_handson
Nobuhiro Sue
More Related Content
What's hot
OpenContrailのソースコードを探検しよう!
OpenContrailのソースコードを探検しよう!
Takashi Sogabe
Cloud Foundry varz
Cloud Foundry varz
Uemura Yuichi
Router board勉強会vol2(配布用)
Router board勉強会vol2(配布用)
milk hanakara
VyOSでMPLS
VyOSでMPLS
雄也 日下部
TripleOの光と闇
TripleOの光と闇
Manabu Ori
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化
Takuya ASADA
さくらのクラウドでVyOS使ってみた
さくらのクラウドでVyOS使ってみた
SAKURA Internet Inc.
知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月
知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月
VirtualTech Japan Inc.
Router board勉強会vol2(ベンチマーク班まとめ)
Router board勉強会vol2(ベンチマーク班まとめ)
milk hanakara
DevStackで始めるCloud FoundryとBOSH
DevStackで始めるCloud FoundryとBOSH
i_yudai
Pgcon2012 ori-20120224
Pgcon2012 ori-20120224
Manabu Ori
サバフェスLT(元うなぎ屋)
サバフェスLT(元うなぎ屋)
snicker_jp
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:ボリューム操作編
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:ボリューム操作編
irix_jp
Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続
Tomoya Hibi
「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)
「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)
さくらインターネット株式会社
CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1
Kotaro Noyama
ベアメタルプロビジョニング
ベアメタルプロビジョニング
VirtualTech Japan Inc.
Node.jsv0.8からv4.xへのバージョンアップ ~大規模Push通知基盤の運用事例~
Node.jsv0.8からv4.xへのバージョンアップ ~大規模Push通知基盤の運用事例~
Recruit Technologies
【さくらのクラウド】ローカルルータ導入ガイド
【さくらのクラウド】ローカルルータ導入ガイド
さくらインターネット株式会社
Seastar in 歌舞伎座.tech#8「C++初心者会」
Seastar in 歌舞伎座.tech#8「C++初心者会」
Takuya ASADA
What's hot
(20)
OpenContrailのソースコードを探検しよう!
OpenContrailのソースコードを探検しよう!
Cloud Foundry varz
Cloud Foundry varz
Router board勉強会vol2(配布用)
Router board勉強会vol2(配布用)
VyOSでMPLS
VyOSでMPLS
TripleOの光と闇
TripleOの光と闇
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化
さくらのクラウドでVyOS使ってみた
さくらのクラウドでVyOS使ってみた
知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月
知っておくべきCephのIOアクセラレーション技術とその活用方法 - OpenStack最新情報セミナー 2015年9月
Router board勉強会vol2(ベンチマーク班まとめ)
Router board勉強会vol2(ベンチマーク班まとめ)
DevStackで始めるCloud FoundryとBOSH
DevStackで始めるCloud FoundryとBOSH
Pgcon2012 ori-20120224
Pgcon2012 ori-20120224
サバフェスLT(元うなぎ屋)
サバフェスLT(元うなぎ屋)
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:ボリューム操作編
H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:ボリューム操作編
Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続
「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)
「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane)
CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1
ベアメタルプロビジョニング
ベアメタルプロビジョニング
Node.jsv0.8からv4.xへのバージョンアップ ~大規模Push通知基盤の運用事例~
Node.jsv0.8からv4.xへのバージョンアップ ~大規模Push通知基盤の運用事例~
【さくらのクラウド】ローカルルータ導入ガイド
【さくらのクラウド】ローカルルータ導入ガイド
Seastar in 歌舞伎座.tech#8「C++初心者会」
Seastar in 歌舞伎座.tech#8「C++初心者会」
Similar to GNS3上の仮想アプライアンス+GitLabRunner+BDDによるテスト自動化
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門
Masahito Zembutsu
Gws 20130315 gradle_handson
Gws 20130315 gradle_handson
Nobuhiro Sue
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Masahito Zembutsu
The Next Generation for C# Developers
The Next Generation for C# Developers
Takayoshi Tanaka
[DL Hacks]FPGA入門
[DL Hacks]FPGA入門
Deep Learning JP
Ansible ネットワーク自動化チュートリアル (JANOG42)
Ansible ネットワーク自動化チュートリアル (JANOG42)
akira6592
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
Akihiro Kuwano
Wasm blazor and wasi 2
Wasm blazor and wasi 2
Takao Tetsuro
Grailsのススメ(仮)
Grailsのススメ(仮)
Tsuyoshi Yamamoto
GCP & Gaming 〜平成最後のアップデート〜 | Google Cloud INSIDE Games & Apps
GCP & Gaming 〜平成最後のアップデート〜 | Google Cloud INSIDE Games & Apps
Google Cloud Platform - Japan
[Cloud OnAir] Google Networking Deep Dive ! その技術と設計の紹介 2018年8月9日 放送
[Cloud OnAir] Google Networking Deep Dive ! その技術と設計の紹介 2018年8月9日 放送
Google Cloud Platform - Japan
OpenStackでも重要な役割を果たすPacemakerを知ろう!
OpenStackでも重要な役割を果たすPacemakerを知ろう!
ksk_ha
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
NTT DATA Technology & Innovation
Ptt391
Ptt391
Takefumi MIYOSHI
VirtualBox と Rocky Linux 8 で始める Pacemaker ~ VirtualBox でも STONITH 機能が試せる! Vi...
VirtualBox と Rocky Linux 8 で始める Pacemaker ~ VirtualBox でも STONITH 機能が試せる! Vi...
ksk_ha
GoBGP活用によるSD-WANプラクティス
GoBGP活用によるSD-WANプラクティス
Toshiki Tsuboi
Building production server on docker
Building production server on docker
Hiroshi Miura
Building production server on docker
Building production server on docker
Hiroshi Miura
PostgreSQL v9.5の新機能~CustomScan/Join Interface
PostgreSQL v9.5の新機能~CustomScan/Join Interface
Kohei KaiGai
Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋
Mori Shingo
Similar to GNS3上の仮想アプライアンス+GitLabRunner+BDDによるテスト自動化
(20)
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門
Gws 20130315 gradle_handson
Gws 20130315 gradle_handson
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
The Next Generation for C# Developers
The Next Generation for C# Developers
[DL Hacks]FPGA入門
[DL Hacks]FPGA入門
Ansible ネットワーク自動化チュートリアル (JANOG42)
Ansible ネットワーク自動化チュートリアル (JANOG42)
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
Wasm blazor and wasi 2
Wasm blazor and wasi 2
Grailsのススメ(仮)
Grailsのススメ(仮)
GCP & Gaming 〜平成最後のアップデート〜 | Google Cloud INSIDE Games & Apps
GCP & Gaming 〜平成最後のアップデート〜 | Google Cloud INSIDE Games & Apps
[Cloud OnAir] Google Networking Deep Dive ! その技術と設計の紹介 2018年8月9日 放送
[Cloud OnAir] Google Networking Deep Dive ! その技術と設計の紹介 2018年8月9日 放送
OpenStackでも重要な役割を果たすPacemakerを知ろう!
OpenStackでも重要な役割を果たすPacemakerを知ろう!
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
Ptt391
Ptt391
VirtualBox と Rocky Linux 8 で始める Pacemaker ~ VirtualBox でも STONITH 機能が試せる! Vi...
VirtualBox と Rocky Linux 8 で始める Pacemaker ~ VirtualBox でも STONITH 機能が試せる! Vi...
GoBGP活用によるSD-WANプラクティス
GoBGP活用によるSD-WANプラクティス
Building production server on docker
Building production server on docker
Building production server on docker
Building production server on docker
PostgreSQL v9.5の新機能~CustomScan/Join Interface
PostgreSQL v9.5の新機能~CustomScan/Join Interface
Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋
GNS3上の仮想アプライアンス+GitLabRunner+BDDによるテスト自動化
1.
©APRESIA Systems all
right reserved. Rev.1 ネットワークプログラマビリティ勉強会 GNS3上の仮想アプライアンス+GitLabRunner+BDDによる テスト自動化 ネットワークプログラマビリティ勉強会 第17回 ショートプログラム 次世代技術本部 技術開発部 次世代ソフトウェアグループ 坪田 繁 2019.6
2.
2ネットワークプログラマビリティ勉強会 Rev.1 JANOG41にて、実機上のL2リング設定 and
障害切替試験のテスト自動化をご説明 実機確保して配線してファーム更新大変 そもそも機材ないと話になんないし そろそろ仮想化環境もほしいな・・・。 いうことで 仮想アプライアンスを試作! 現状NetConfで、正式にはCLIを作成予定 GNS3を触ってみて(初心者)、仮想ネットワーク(OSPFv2)を自動構築(設定) 正常時、障害時の経路切替確認を自動テストしてみましたっ! そのときの知見やハマりポイントなどを、7分間でできる限り共有できればっ! モチベーション
3.
3ネットワークプログラマビリティ勉強会 Rev.1 JANOG41にて、実機上のL2リング設定 and
障害切替試験のテスト自動化をご説明 実機確保は時期によっては結構大変 機材なくても試験したいっ! いうことで 仮想アプライアンスを試作! 現状NetConfで、正式にはCLIを作成予定 GNS3を触ってみて(初心者)、仮想ネットワーク(OSPFv2)を自動構築(設定) 正常時、障害時の経路切替確認を自動テストしてみましたっ! そのときの知見やハマりポイントなどを、7分間でできる限り共有できればっ! モチベーション
4.
4ネットワークプログラマビリティ勉強会 Rev.1 JANOG41にて、実機上のL2リング設定 and
障害切替試験のテスト自動化をご説明 実機確保は時期によっては結構大変 機材なくても試験したいっ! ということで ◊仮想アプライアンスを試作! −現状NetConfで、CLI対応中 ◊(初心者) GNS3上に仮想ネットワーク(OSPFv2)を自動構築し切替試験実施 ◊そのときの知見やハマりポイントなどを、9分間でできる限り共有できればっ! モチベーション
5.
5ネットワークプログラマビリティ勉強会 Rev.1 システム構成 docker network 仮想環境 behave
6.
6ネットワークプログラマビリティ勉強会 Rev.1 システム構成 仮想環境
7.
7ネットワークプログラマビリティ勉強会 Rev.1 area 0 10.0.1.3 PC2 試験に用いたGNS3上の仮想ネットワーク構成 OSPF確認用 独自アプライアンス PC1 仮想アプライアンスに 外部からアクセス可 AP-1 AP-2 AP-3
8.
8ネットワークプログラマビリティ勉強会 Rev.1 下記サイトを参考 ◊ https://gns3-server.readthedocs.io/en/latest/endpoints.html RESTのPythonラッパー ◊
Requestsモジュールがあり、HTTPリクエスト発行が可能 − https://github.com/adosztal/gns3-automation REST APIを用いてGNS3上の仮想ネットワークを構築 $ curl -X POST "10.249.29.244:3080/v2/projects" -d '{"name": "test"}’ 応答(抜粋) { "name": "test", "path": "/home/cgmame/GNS3/projects/f1324514-c0d5-43ba-ae97-4995d5f6abe8", "project_id": "f1324514-c0d5-43ba-ae97-4995d5f6abe8“ } $ curl -X POST "10.249.29.244:3080/v2/projects/f1324514-c0d5-43ba-ae97- 4995d5f6abe8/appliances/302a8ea7-ff14-4069-9df5-572c10707ed7" -d '{"x":-439, "y":-10}’ ~応答抜粋~ { "name": "AP-1", "node_id": "997b546e-edbe-45d2-a0c7-bb36b220311f", "status": "stopped", "width": 150, "x": -439, "y": -10 } ①testプロジェクト作成 プロジェクトIDプロジェクトID ②testプロジェクト上にノード配置 ノードIDはノード間のリンク等に使用 ノードの開始状態を別途確認
9.
9ネットワークプログラマビリティ勉強会 Rev.1 behave システム構成 仮想環境
10.
10ネットワークプログラマビリティ勉強会 Rev.1 AP-1 AP-2 AP-3 d テスト内容:4パターン(19項目の試験を実施) d d ③リンク復旧→経路も復旧 ifconfig ethX
up AP-1 AP-2 AP-3 d ④コスト極大→SPF再計算し経路変更 コスト65000 AP-1 AP-2 AP-3 ②経路断→SPF再計算し経路変更 ifconfig ethX down AP-1 AP-2 AP-3 ①全経路のコストが同一(デフォルト)
11.
11 テストケースと具体的な実装を分けるための仕組み ◊Webの受け入れテストで、よく使われるフレームワーク テストケース (Featureファイル) ユーザ視点でのテスト項目を 書式ありの自然言語で記述 Scenario Given: 事実(試験環境) When:
トリガーイベント Then: 期待動作 実装 (Stepファイル) Given/When/Thenの 内容をプログラム Scenario Given: 事実(試験環境) When: トリガーイベント Then: 期待動作 Featureから Stepを実行 BDD (Behavior Driven Development) のイメージ
12.
12ネットワークプログラマビリティ勉強会 Rev.1 BDD +
Python でテスト実装し、GitLabでソース管理 テストケース (Feature : Gherkin書式) テスト実装 (Step : Python) ncclientモジュール の簡易ラッパ作成 behave
13.
13ネットワークプログラマビリティ勉強会 Rev.1 システム構成 仮想環境 behave
14.
14ネットワークプログラマビリティ勉強会 Rev.1 まず、継続的インテグレーションツールについて ◊アプリケーションのビルドや単体テストのオペレーションを自動化し、品質維持する ためのツール −Jenkins, Travis
CI, Circle CI などが有名 ◊メリット −品質の維持 −作業コストの削減 −継続的な分析と改善 GitLabでは、GitLab CI/CDのジョブ機能を使うことで実現可能 ◊Webインタフェース 継続インテグレーション(CI)とGitLab Runner
15.
15ネットワークプログラマビリティ勉強会 Rev.1 GitLab CI/CD
Webインタフェース
16.
16ネットワークプログラマビリティ勉強会 Rev.1 GitLab Runner ◊GitLab
CI/CDから指示されたスクリプトを実行したり、一時的にDockerコンテナを 制御してジョブを実行するプロセス Exceutor ◊実際にジョブ(≒今回はテスト)を実行するプラットフォーム −https://docs.gitlab.com/runner/executors/ −Dockerを利用 GitLab Runner (CI)
17.
17ネットワークプログラマビリティ勉強会 Rev.1 システム構成 仮想環境 behave
18.
18ネットワークプログラマビリティ勉強会 Rev.1 Gitlab Runnerの作成 ◊
runnerの登録/起動 ジョブの設定(.gitlab-ci.yml) YAMLで記述 仮想環境の構築 behaveによるテスト実行 テスト結果のHTML変換&Upload リポジトリのトップディレクトリにコミット Runnerの設定(config.toml) コンテナの起動オプションを指定 docker networkのをL2にて作成 将来的にsyslogを取得するため ーー ーー ーー 構築の流れ 〇runner登録イメージ $ docker run --rm -t -i -v /srv/gitlab-runner-auto08/config:/etc/gitlab-runner -v /var/run/docker.sock:/var/run/docker.soc --name gitlab-runner-auto08 gitlab/gitlab-runner register --non-interactive --executor "docker" --docker-image at_run:latest --url http://10.249.29.246 --registration-token “xxxxxxxxxxxxxxxxxxxx" --description "TestAutomation08" --tag-list “auto08" Settings→CI/CDの Set up a specific Runner manually 〇runner起動イメージ $ docker run -d --name gitlab-runner-auto08 --restart always -v /srv/gitlab-runner-auto08/config:/etc/gitlab-runner -v /var/run/docker.sock:/var/run/docker.sock gitlab/gitlab-runner:latest behave
19.
19ネットワークプログラマビリティ勉強会 Rev.1 Gitlab Runnerの作成 ◊
runnerの登録/起動 ジョブの設定(.gitlab-ci.yml) ◊ YAMLで記述 − 仮想環境の構築 − behaveによるテスト実行 − テスト結果のHTML変換&Upload ◊ リポジトリのトップディレクトリにコミット Runnerの設定(config.toml) コンテナの起動オプションを指定 docker networkのをL2にて作成 将来的にsyslogを取得するため ーー ーー ーー 構築の流れ 〇.gitlab-ci.yml設定(抜粋・加工) job_run_test: script: - echo “${PWD}” - wget http://xxx/api/files/${PARAMFILE} -O parameters.py - cat ./parameters.py - source ./run.sh || true allow_failure: true tags: - auto08 only: variables: - $PARAMFILE behave
20.
20ネットワークプログラマビリティ勉強会 Rev.1 Gitlab Runnerの作成 ◊
runnerの登録/起動 ジョブの設定(.gitlab-ci.yml) ◊ YAMLで記述 − 仮想環境の構築 − behaveによるテスト実行 − テスト結果のHTML変換&Upload ◊ リポジトリのトップディレクトリにコミット Runnerの設定(config.toml) ◊ コンテナの起動オプションを指定 docker networkのをL2にて作成 将来的にsyslogを取得するため ーー ーー ーー 構築の流れ 〇config.toml設定(抜粋・加工) [[runners]] name = "TestAutomation08" url = "http://10.249.29.246" token = “xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" executor = "docker" [runners.custom_build_dir] [runners.docker] image = "at_run:latest" allowed_images = ["at_run:latest"] privileged = true disable_entrypoint_overwrite = false network_mode = "mcv" pull_policy = "if-not-present" behave
21.
21ネットワークプログラマビリティ勉強会 Rev.1 Gitlab Runnerの作成 ◊
runnerの登録/起動 ジョブの設定(.gitlab-ci.yml) ◊ YAMLで記述 − 仮想環境の構築 − behaveによるテスト実行 − テスト結果のHTML変換&Upload ◊ リポジトリのトップディレクトリにコミット Runnerの設定(config.toml) ◊ コンテナの起動オプションを指定 docker networkのをL2にて作成 ◊ 将来的にsyslogを取得するため ーー ーー ーー 構築の流れ docker network behave
22.
22ネットワークプログラマビリティ勉強会 Rev.1 前提:フラットなネットワークが必要&社内のIPリソースの制約⇒DockerのIPはDHCP docker 1.13.1(以前に確認)では、bridgeによるdocker
networkで問題なく動作 docker 18.09.5ではGWの外に出れず! そこで、原因不明だがmacvlanを知ったので試してみたらOKになった! https://docs.docker.com/network/macvlan/ ただ、 Docker Network 構築時にハマった箇所 〇bridgeによるdocker network構築 $ sudo docker network create --driver bridge --subnet=10.249.28.0/23 --opt "com.docker.network.bridge.name"=“docker4095" --gateway=10.249.29.246 $NAME
23.
23ネットワークプログラマビリティ勉強会 Rev.1 前提:フラットなネットワークが必要&社内のIPリソースの制約⇒DockerのIPはDHCP docker 1.13.1(以前に確認)では、bridgeによるdocker
networkで問題なく動作 docker 18.09.5ではGWの外に出れず! そこで、原因不明だがmacvlanを知ったので試してみたらOKになった! −https://docs.docker.com/network/macvlan/ ただ、ホストと通信はできないためGitLab Runnerは別ホストに配置 Docker Network 構築時にハマった箇所 〇macvlanによるdocker network構築 $ docker network create -d macvlan --subnet=10.249.28.0/23 --gateway=10.249.28.1 -o parent=ens160 mcv 〇bridgeによるdocker network構築 $ sudo docker network create --driver bridge --subnet=10.249.28.0/23 --opt "com.docker.network.bridge.name"=“docker4095" --gateway=10.249.29.246 $NAME
24.
24ネットワークプログラマビリティ勉強会 Rev.1 システム構成 docker network 仮想環境 装置IP/NAME等のparameterをPython
dictionaryに 変換したスクリプトファイルを渡す 別ホスト behave
25.
25ネットワークプログラマビリティ勉強会 Rev.1 Thank you
!
26.
Rev.1 ネットワークプログラマビリティ勉強会 補助資料
27.
27ネットワークプログラマビリティ勉強会 Rev.1 実行結果確認画面
28.
28ネットワークプログラマビリティ勉強会 Rev.1 実行結果確認画面
29.
29ネットワークプログラマビリティ勉強会 Rev.1 実行結果確認画面
Editor's Notes
外部からアクセス可能な必要があるので、ポートフォワーディングが必要ですが、その場合並列で扱えないので、フラットなネットワークが必要