SlideShare a Scribd company logo
1 of 46
What do we do at Axsh?
● Virtualization
● Infrastructure as a Service (IaaS)
● Software Defined Networking (SDN)
● DevOps, Continuous Integration/Delivery
● Free open source software
Our two main FOSS projects
● Wakame-vdc
Full featured IaaS solution
(virtual data center)
● OpenVNet
Full featured SDN solution
(virtual network)
● http://axsh.jp
What is OpenVNet
● Software defined networking (SDN)
● Free open source software
● Written in Ruby
● http://axsh.jp/openvnet/
● https://github.com/axsh/openvnet
Agenda
● Quick introduction to SDN
● Simple OpenVNet demo
● Detailed look at integration test
● Goal:
Learn how to set up advanced OpenVNet
environments by reading the integration
test
The concept of SDN
● First look at vitualization
Hardware
Operating System
VS
Physical machine
Hardware
Operating System Operating System
Hypervisor
Virtual machines
SDN with OpenVNet
Hypervisor host Hypervisor host Hypervisor hostPhysical
Network
Virtual
(software
defined)
Network
VM VM VM VM VM VM
NAT DNS DHCP Routers Switches Firewalls
The concept of SDN
● A physical network
NIC NIC NIC NIC NIC NIC
172.16.90.0/24
172.16.91.0/24
Router
The concept of SDN
● A physical network
NIC NIC NIC NIC NIC NIC
Switch Switch
Switch Switch
Router
The concept of SDN
● A virtual network
NIC NIC NIC NIC NIC NIC
Switch Switch
Switch Switch
Router
The concept of SDN
● Create any network without changing hardware
NIC NIC NIC NIC NIC NIC
Switch Switch
Switch Switch
Router
Virtual network: 10.100.0.0/24
The concept of SDN
● Create any network without changing hardware
NIC NIC NIC NIC NIC NIC
Switch Switch
Switch Switch
Router
Virtual network: 10.100.0.0/24 Virtual network: 192.168.100.0/24
The concept of SDN
● Create any network without changing hardware
NIC NIC NIC NIC NIC NIC
Switch Switch
Switch Switch
Router
Virtual network: 172.16.0.0/16
Virtual network: 10.100.0.0/24
The concept of SDN
● How is this magic possible?
● Because OpenVNet controls the switches
(using OpenFlow)
NIC NIC NIC NIC NIC NIC
Switch Switch
Switch Switch
Router
OpenVNet OpenVNet
OpenVNet
OpenVNet's inner workings
User laptop
Hypervisor Host
Open vSwitchVNA
VM VM VM VM VM
Vnctl
Web (REST) API
HTTP
Database Vnmgr
VNet Edge
Other networks
Physical network
A quick demo
● Try it yourself
http://openvnet.org/installation/
Vnctl
WebAPI
Vnmgr
VNA Open vSwitch
VM (inst1)VM (inst1) VM (inst2)
Database
Demo: 1 network
● http://openvnet.org/creating-virtual-networks
VM (inst1)VM (inst1) VM (inst2)
10.100.0.0/24
10.100.0.10 10.100.0.11
Demo 2: DHCP server
● http://openvnet.org/creating-virtual-networks
● DHCP is simulated by OpenVNet
VM (inst1)VM (inst1) VM (inst2)
10.100.0.0/24
10.100.0.10 10.100.0.11
DHCP
10.100.0.100
Demo 3: Two virtual networks
● http://openvnet.org/creating-virtual-networks
VM (inst1)VM (inst1)
172.16.0.10
DHCP
172.16.0.100
172.16.0.0/24
VM (inst1)VM (inst2)
192.168.100.10
DHCP
192.168.100.100
192.168.100.0/24
Demo 4: Router
● http://openvnet.org/creating-virtual-networks
● Like DHCP, routers are simulated
VM (inst1)VM (inst1)
172.16.0.10
DHCP
172.16.0.100
172.16.0.0/24
VM (inst1)VM (inst2)
192.168.100.10
DHCP
192.168.100.100
192.168.100.0/24
172.16.0.1
192.168.100.1
The integration test
● Shows how to set up OpenVNet on multiple
hosts
● Included in the OpenVNet source code
● https://github.com/axsh/openvnet
● OpenVNet's physical and virtual network setup
is integration_test/dataset directory.
● Test scenarios are in the
integration_test/lib/vnspec/spec directory.
The test code
● The yaml files get translated to vnctl
commands
datapaths:
- uuid: dp-1
node_id: vna1
display_name: node1
dpid: "0x0000aaaaaaaaaaaa"
vnctl datapaths add --uuid "dp-1" --node_id "vna1" --display_name "node1" --dpid
"0x0000aaaaaaaaaaaa"
Becomes
The Integration Test
The Integration Test
Let's take it step by step
● OpenVNet's simplest physical network
● Two VMs in 1 host
● This allows us to test many scenarios already
Itest1
VNAWebAPI
Database
Vnmgr
Open vSwitch
VM 1 VM 2
Add one host
● Test scenarios with multiple VNA on multiple
hosts
● The red network is for OpenVNet's internal
communication
Itest1
VNAWebAPI
Database
Vnmgr
Open vSwitch
VM 1 VM 2
Itest2
VNA Open vSwitch
VM 3 VM 4
Eth0 Eth0Eth1 Eth1
Add another host in another
subnet
● Test scenarios with multiple VNA/hosts on
multiple subnets
Itest1
VNAWebAPI
Database
Vnmgr
Open vSwitch
VM 1 VM 2
Eth0Eth1
Itest2
VNA Open vSwitch
VM 3 VM 4
Eth0Eth1
Itest3
VNA Open vSwitch
VM 5 VM 6
Eth0Eth1
A quick review
● Remember this whole setup is
OpenVNet's physical network
● This topology will never change over the
course of the tests
● We can create any virtual network
topology we want using VM 1 ~ VM 6
One more thing we need
● We can now test everything except VNet
Edge
● VNet Edge connects non-OpenVNet
managed networks to virtual networks
Add VNet Edge● Simulate non-OpenVNet (Legacy) network using Legacy1 VM
Itest1
VNAWebAPI
Database
Vnmgr
Open vSwitch
VM 1 VM 2
Eth0Eth1
Itest2
VNA Open vSwitch
VM 3 VM 4
Eth0Eth1
Itest3
VNA Open vSwitch
VM 5 VM 6
Eth0Eth1
Itest-Edge
Eth1
VNA
Open vSwitch
Eth0 Eth2
Legacy1
Eth0
We're done
● We can now test all of OpenVNet's
features
● We run this entire environment in one
host
● That means we use nested virtualization
Host (server or laptop)
Nested VMs
Itest1
VNAWebAPI
Database
Vnmgr
Open vSwitch
VM 1 VM 2
Eth0Eth1
Itest2
VNA Open vSwitch
VM 3 VM 4
Eth0Eth1
Itest3
VNA Open vSwitch
VM 5 VM 6
Eth0Eth1
Itest-Edge
Eth1
VNA
Open vSwitch
Eth0 Eth2
Legacy1
Eth0
= HOST = VM = VM in VM
Building this environment
● The build scripts are available on github
● https://github.com/axsh/wakame-ci-cluster/tr
● These scripts build the environment but
do not run any test code
Physical network setup
● OpenVNet needs to be made aware of the
physical network layout
● This is the same for every test scenario
● integration_test/dataset/base.yml
+
base_dp.yml OR base_topology.yml
base_dp Vs. base_tp
● A datapath roughly means a single Open
vSwitch
● OpenVNet uses internal
datapath_network structures to keep
track of which network is on which
datapath.
Open vSwitch = datapath
base_dp Vs. base_tp
● Topology is a new feature that generates
datapath_networks automatically
● base_dp sets datapath_networks
manually
● base_tp uses Topology
● Which one to use depends on the test
scenario
Other yaml files are test
scenarios
● simple.yml is the simplest scenario with
manual datapath_network
● simple_tp.yml is the same scenario with
Topology
simple.yml / simple_tp.yml
Itest1
VNAWebAPI
Database
Vnmgr
Open vSwitch
VM 1 VM 2
Eth0Eth1
Itest2
VNA Open vSwitch
VM 3 VM 4
Eth0Eth1
Itest3
VNA Open vSwitch
VM 5 VM 6
Eth0Eth1
Itest-Edge
Eth1
VNA
Open vSwitch
Eth0 Eth2
Legacy1
Eth0
DHCP
nw-vnet1
DHCP
nw-vnet2
simple.yml / simple_tp.yml
VM 1 VM 2 VM 3 VM 4 VM 5 VM 6
DHCP
nw-vnet1 (10.101.0.0/24)
DHCP
nw-vnet2 (10.101.0.0/24)
● Both networks can have the same IP
addresses
Itest1
VNAWebAPI
Database
Vnmgr
Open vSwitch
VM 1 VM 2
Eth0Eth1
Itest2
VNA Open vSwitch
VM 3 VM 4
Eth0Eth1
Itest3
VNA Open vSwitch
VM 5 VM 6
Eth0Eth1
Itest-Edge
Eth1
VNA
Open vSwitch
Eth0 Eth2
Legacy1
Eth0
router_v2v / router_v2v_tp
VM 1 VM 2 VM 3 VM 4 VM 5 VM 6
DHCP
nw-vnet1
DHCP
nw-vnet2
router_v2v / router_v2v_tp
VM 1 VM 2 VM 3 VM 4 VM 5 VM 6
DHCP
nw-vnet1 (10.101.0.0/24)
DHCP
nw-vnet2 (10.102.0.0/24)
● Two networks with a router
● IP addresses can't be the same with
a router between networks
Service.yml
VM 1 VM 2 VM 3 VM 4 VM 5 VM 6
DHCP
nw-vnet1 (10.101.0.0/24)
DHCP
nw-vnet2 (10.101.0.0/24)
● Adds DNS service
DNS
DNS
Other scenarios
● edge.yml:
L2 connectivity between virtual network
and non-OpenVNet managed network
● event.yml
Changing virtual network layout on the fly
● secg.yml / secg_reference.yml
Security groups and connection tracking
● edge_esxi.yml
Deprecated esxi support
Other scenarios
● filter.yml
Simple firewall rules
● router_p2v.yml
Routing between virtual and physical
networks
● WanEdge
NAT and routing to global network
OpenVNet feature list
●
Two protocols to support virtual networking.
- **MAC2MAC** (Axsh original protocol for physical L2 tunneling)
- **GRE** (protocol for L3 tunneling)
●
Simulated DHCP service
●
Simulated DNS service
●
L3 routing between virtual networks.
●
Single hop L3 routing between physical and virtual networks.
●
Firewall
●
Connection tracking
●
Integration with Wakame-vdc.
●
VNet Edge feature (connect virtual and physical networks)
Thank you for listening
http://axsh.jp

More Related Content

Viewers also liked

#VeloFinland2015 tervetulosanat
#VeloFinland2015 tervetulosanat#VeloFinland2015 tervetulosanat
#VeloFinland2015 tervetulosanatOtso Kivekäs
 
Introduction to social media course
Introduction to social media courseIntroduction to social media course
Introduction to social media courseJohn Colley
 
How can Good Health & Well-Being Improve Profitability?
How can Good Health & Well-Being Improve Profitability? How can Good Health & Well-Being Improve Profitability?
How can Good Health & Well-Being Improve Profitability? BizSmart Select
 
The Convergence of Marketing & PR in a Digital Age – PR Newswire Boston Decem...
The Convergence of Marketing & PR in a Digital Age – PR Newswire Boston Decem...The Convergence of Marketing & PR in a Digital Age – PR Newswire Boston Decem...
The Convergence of Marketing & PR in a Digital Age – PR Newswire Boston Decem...Michael Pranikoff
 
Chemistry and reactions from non-US patents
Chemistry and reactions from non-US patentsChemistry and reactions from non-US patents
Chemistry and reactions from non-US patentsNextMove Software
 
[SXSW 2015] Interactive 10 Hot Keywords!! インタラクティブ、10の熱いポイント
[SXSW 2015] Interactive 10 Hot Keywords!! インタラクティブ、10の熱いポイント[SXSW 2015] Interactive 10 Hot Keywords!! インタラクティブ、10の熱いポイント
[SXSW 2015] Interactive 10 Hot Keywords!! インタラクティブ、10の熱いポイントMariko Nishimura
 
REBOKを社内展開する際の障壁
REBOKを社内展開する際の障壁REBOKを社内展開する際の障壁
REBOKを社内展開する際の障壁mkoszk
 
Ελύτης
ΕλύτηςΕλύτης
Ελύτηςellh1
 
Truth and perception in rashomon
Truth and perception in rashomonTruth and perception in rashomon
Truth and perception in rashomonHyohyun
 
Why customers suck in agile and how could they be helped?
Why customers suck in agile and how could they be helped?Why customers suck in agile and how could they be helped?
Why customers suck in agile and how could they be helped?Karoliina Luoto
 
Creative Financing Techniques Pt 1
Creative Financing Techniques Pt 1Creative Financing Techniques Pt 1
Creative Financing Techniques Pt 1Angela Benjamin
 
Explicit teaching 2
Explicit teaching 2Explicit teaching 2
Explicit teaching 2KellyJordan
 
Redes (Bertossi-Giuliani)
Redes (Bertossi-Giuliani)Redes (Bertossi-Giuliani)
Redes (Bertossi-Giuliani)Emanuel Sosa
 
Peroxisomas
PeroxisomasPeroxisomas
PeroxisomasUNMSM
 
7 habits of highly successful companies (2014)
7 habits of highly successful companies (2014)7 habits of highly successful companies (2014)
7 habits of highly successful companies (2014)Marc Jadoul
 

Viewers also liked (17)

#VeloFinland2015 tervetulosanat
#VeloFinland2015 tervetulosanat#VeloFinland2015 tervetulosanat
#VeloFinland2015 tervetulosanat
 
Latitude Digital Marketing A-Z Retail Guide
Latitude Digital Marketing A-Z Retail GuideLatitude Digital Marketing A-Z Retail Guide
Latitude Digital Marketing A-Z Retail Guide
 
Introduction to social media course
Introduction to social media courseIntroduction to social media course
Introduction to social media course
 
How can Good Health & Well-Being Improve Profitability?
How can Good Health & Well-Being Improve Profitability? How can Good Health & Well-Being Improve Profitability?
How can Good Health & Well-Being Improve Profitability?
 
Narratives of Academic Mobility of Disenfranchised Youth in Cambodia
Narratives of Academic Mobility of Disenfranchised Youth in CambodiaNarratives of Academic Mobility of Disenfranchised Youth in Cambodia
Narratives of Academic Mobility of Disenfranchised Youth in Cambodia
 
The Convergence of Marketing & PR in a Digital Age – PR Newswire Boston Decem...
The Convergence of Marketing & PR in a Digital Age – PR Newswire Boston Decem...The Convergence of Marketing & PR in a Digital Age – PR Newswire Boston Decem...
The Convergence of Marketing & PR in a Digital Age – PR Newswire Boston Decem...
 
Chemistry and reactions from non-US patents
Chemistry and reactions from non-US patentsChemistry and reactions from non-US patents
Chemistry and reactions from non-US patents
 
[SXSW 2015] Interactive 10 Hot Keywords!! インタラクティブ、10の熱いポイント
[SXSW 2015] Interactive 10 Hot Keywords!! インタラクティブ、10の熱いポイント[SXSW 2015] Interactive 10 Hot Keywords!! インタラクティブ、10の熱いポイント
[SXSW 2015] Interactive 10 Hot Keywords!! インタラクティブ、10の熱いポイント
 
REBOKを社内展開する際の障壁
REBOKを社内展開する際の障壁REBOKを社内展開する際の障壁
REBOKを社内展開する際の障壁
 
Ελύτης
ΕλύτηςΕλύτης
Ελύτης
 
Truth and perception in rashomon
Truth and perception in rashomonTruth and perception in rashomon
Truth and perception in rashomon
 
Why customers suck in agile and how could they be helped?
Why customers suck in agile and how could they be helped?Why customers suck in agile and how could they be helped?
Why customers suck in agile and how could they be helped?
 
Creative Financing Techniques Pt 1
Creative Financing Techniques Pt 1Creative Financing Techniques Pt 1
Creative Financing Techniques Pt 1
 
Explicit teaching 2
Explicit teaching 2Explicit teaching 2
Explicit teaching 2
 
Redes (Bertossi-Giuliani)
Redes (Bertossi-Giuliani)Redes (Bertossi-Giuliani)
Redes (Bertossi-Giuliani)
 
Peroxisomas
PeroxisomasPeroxisomas
Peroxisomas
 
7 habits of highly successful companies (2014)
7 habits of highly successful companies (2014)7 habits of highly successful companies (2014)
7 habits of highly successful companies (2014)
 

Recently uploaded

Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 

Recently uploaded (20)

Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 

WUG #013 How to learn OpenVNet's usage from its integration test

  • 1.
  • 2. What do we do at Axsh? ● Virtualization ● Infrastructure as a Service (IaaS) ● Software Defined Networking (SDN) ● DevOps, Continuous Integration/Delivery ● Free open source software
  • 3. Our two main FOSS projects ● Wakame-vdc Full featured IaaS solution (virtual data center) ● OpenVNet Full featured SDN solution (virtual network) ● http://axsh.jp
  • 4. What is OpenVNet ● Software defined networking (SDN) ● Free open source software ● Written in Ruby ● http://axsh.jp/openvnet/ ● https://github.com/axsh/openvnet
  • 5. Agenda ● Quick introduction to SDN ● Simple OpenVNet demo ● Detailed look at integration test ● Goal: Learn how to set up advanced OpenVNet environments by reading the integration test
  • 6. The concept of SDN ● First look at vitualization Hardware Operating System VS Physical machine Hardware Operating System Operating System Hypervisor Virtual machines
  • 7. SDN with OpenVNet Hypervisor host Hypervisor host Hypervisor hostPhysical Network Virtual (software defined) Network VM VM VM VM VM VM NAT DNS DHCP Routers Switches Firewalls
  • 8. The concept of SDN ● A physical network NIC NIC NIC NIC NIC NIC 172.16.90.0/24 172.16.91.0/24 Router
  • 9. The concept of SDN ● A physical network NIC NIC NIC NIC NIC NIC Switch Switch Switch Switch Router
  • 10. The concept of SDN ● A virtual network NIC NIC NIC NIC NIC NIC Switch Switch Switch Switch Router
  • 11. The concept of SDN ● Create any network without changing hardware NIC NIC NIC NIC NIC NIC Switch Switch Switch Switch Router Virtual network: 10.100.0.0/24
  • 12. The concept of SDN ● Create any network without changing hardware NIC NIC NIC NIC NIC NIC Switch Switch Switch Switch Router Virtual network: 10.100.0.0/24 Virtual network: 192.168.100.0/24
  • 13. The concept of SDN ● Create any network without changing hardware NIC NIC NIC NIC NIC NIC Switch Switch Switch Switch Router Virtual network: 172.16.0.0/16 Virtual network: 10.100.0.0/24
  • 14. The concept of SDN ● How is this magic possible? ● Because OpenVNet controls the switches (using OpenFlow) NIC NIC NIC NIC NIC NIC Switch Switch Switch Switch Router OpenVNet OpenVNet OpenVNet
  • 15. OpenVNet's inner workings User laptop Hypervisor Host Open vSwitchVNA VM VM VM VM VM Vnctl Web (REST) API HTTP Database Vnmgr VNet Edge Other networks Physical network
  • 16. A quick demo ● Try it yourself http://openvnet.org/installation/ Vnctl WebAPI Vnmgr VNA Open vSwitch VM (inst1)VM (inst1) VM (inst2) Database
  • 17. Demo: 1 network ● http://openvnet.org/creating-virtual-networks VM (inst1)VM (inst1) VM (inst2) 10.100.0.0/24 10.100.0.10 10.100.0.11
  • 18. Demo 2: DHCP server ● http://openvnet.org/creating-virtual-networks ● DHCP is simulated by OpenVNet VM (inst1)VM (inst1) VM (inst2) 10.100.0.0/24 10.100.0.10 10.100.0.11 DHCP 10.100.0.100
  • 19. Demo 3: Two virtual networks ● http://openvnet.org/creating-virtual-networks VM (inst1)VM (inst1) 172.16.0.10 DHCP 172.16.0.100 172.16.0.0/24 VM (inst1)VM (inst2) 192.168.100.10 DHCP 192.168.100.100 192.168.100.0/24
  • 20. Demo 4: Router ● http://openvnet.org/creating-virtual-networks ● Like DHCP, routers are simulated VM (inst1)VM (inst1) 172.16.0.10 DHCP 172.16.0.100 172.16.0.0/24 VM (inst1)VM (inst2) 192.168.100.10 DHCP 192.168.100.100 192.168.100.0/24 172.16.0.1 192.168.100.1
  • 21. The integration test ● Shows how to set up OpenVNet on multiple hosts ● Included in the OpenVNet source code ● https://github.com/axsh/openvnet ● OpenVNet's physical and virtual network setup is integration_test/dataset directory. ● Test scenarios are in the integration_test/lib/vnspec/spec directory.
  • 22. The test code ● The yaml files get translated to vnctl commands datapaths: - uuid: dp-1 node_id: vna1 display_name: node1 dpid: "0x0000aaaaaaaaaaaa" vnctl datapaths add --uuid "dp-1" --node_id "vna1" --display_name "node1" --dpid "0x0000aaaaaaaaaaaa" Becomes
  • 25. Let's take it step by step ● OpenVNet's simplest physical network ● Two VMs in 1 host ● This allows us to test many scenarios already Itest1 VNAWebAPI Database Vnmgr Open vSwitch VM 1 VM 2
  • 26. Add one host ● Test scenarios with multiple VNA on multiple hosts ● The red network is for OpenVNet's internal communication Itest1 VNAWebAPI Database Vnmgr Open vSwitch VM 1 VM 2 Itest2 VNA Open vSwitch VM 3 VM 4 Eth0 Eth0Eth1 Eth1
  • 27. Add another host in another subnet ● Test scenarios with multiple VNA/hosts on multiple subnets Itest1 VNAWebAPI Database Vnmgr Open vSwitch VM 1 VM 2 Eth0Eth1 Itest2 VNA Open vSwitch VM 3 VM 4 Eth0Eth1 Itest3 VNA Open vSwitch VM 5 VM 6 Eth0Eth1
  • 28. A quick review ● Remember this whole setup is OpenVNet's physical network ● This topology will never change over the course of the tests ● We can create any virtual network topology we want using VM 1 ~ VM 6
  • 29. One more thing we need ● We can now test everything except VNet Edge ● VNet Edge connects non-OpenVNet managed networks to virtual networks
  • 30. Add VNet Edge● Simulate non-OpenVNet (Legacy) network using Legacy1 VM Itest1 VNAWebAPI Database Vnmgr Open vSwitch VM 1 VM 2 Eth0Eth1 Itest2 VNA Open vSwitch VM 3 VM 4 Eth0Eth1 Itest3 VNA Open vSwitch VM 5 VM 6 Eth0Eth1 Itest-Edge Eth1 VNA Open vSwitch Eth0 Eth2 Legacy1 Eth0
  • 31. We're done ● We can now test all of OpenVNet's features ● We run this entire environment in one host ● That means we use nested virtualization
  • 32. Host (server or laptop) Nested VMs Itest1 VNAWebAPI Database Vnmgr Open vSwitch VM 1 VM 2 Eth0Eth1 Itest2 VNA Open vSwitch VM 3 VM 4 Eth0Eth1 Itest3 VNA Open vSwitch VM 5 VM 6 Eth0Eth1 Itest-Edge Eth1 VNA Open vSwitch Eth0 Eth2 Legacy1 Eth0 = HOST = VM = VM in VM
  • 33. Building this environment ● The build scripts are available on github ● https://github.com/axsh/wakame-ci-cluster/tr ● These scripts build the environment but do not run any test code
  • 34. Physical network setup ● OpenVNet needs to be made aware of the physical network layout ● This is the same for every test scenario ● integration_test/dataset/base.yml + base_dp.yml OR base_topology.yml
  • 35. base_dp Vs. base_tp ● A datapath roughly means a single Open vSwitch ● OpenVNet uses internal datapath_network structures to keep track of which network is on which datapath. Open vSwitch = datapath
  • 36. base_dp Vs. base_tp ● Topology is a new feature that generates datapath_networks automatically ● base_dp sets datapath_networks manually ● base_tp uses Topology ● Which one to use depends on the test scenario
  • 37. Other yaml files are test scenarios ● simple.yml is the simplest scenario with manual datapath_network ● simple_tp.yml is the same scenario with Topology
  • 38. simple.yml / simple_tp.yml Itest1 VNAWebAPI Database Vnmgr Open vSwitch VM 1 VM 2 Eth0Eth1 Itest2 VNA Open vSwitch VM 3 VM 4 Eth0Eth1 Itest3 VNA Open vSwitch VM 5 VM 6 Eth0Eth1 Itest-Edge Eth1 VNA Open vSwitch Eth0 Eth2 Legacy1 Eth0 DHCP nw-vnet1 DHCP nw-vnet2
  • 39. simple.yml / simple_tp.yml VM 1 VM 2 VM 3 VM 4 VM 5 VM 6 DHCP nw-vnet1 (10.101.0.0/24) DHCP nw-vnet2 (10.101.0.0/24) ● Both networks can have the same IP addresses
  • 40. Itest1 VNAWebAPI Database Vnmgr Open vSwitch VM 1 VM 2 Eth0Eth1 Itest2 VNA Open vSwitch VM 3 VM 4 Eth0Eth1 Itest3 VNA Open vSwitch VM 5 VM 6 Eth0Eth1 Itest-Edge Eth1 VNA Open vSwitch Eth0 Eth2 Legacy1 Eth0 router_v2v / router_v2v_tp VM 1 VM 2 VM 3 VM 4 VM 5 VM 6 DHCP nw-vnet1 DHCP nw-vnet2
  • 41. router_v2v / router_v2v_tp VM 1 VM 2 VM 3 VM 4 VM 5 VM 6 DHCP nw-vnet1 (10.101.0.0/24) DHCP nw-vnet2 (10.102.0.0/24) ● Two networks with a router ● IP addresses can't be the same with a router between networks
  • 42. Service.yml VM 1 VM 2 VM 3 VM 4 VM 5 VM 6 DHCP nw-vnet1 (10.101.0.0/24) DHCP nw-vnet2 (10.101.0.0/24) ● Adds DNS service DNS DNS
  • 43. Other scenarios ● edge.yml: L2 connectivity between virtual network and non-OpenVNet managed network ● event.yml Changing virtual network layout on the fly ● secg.yml / secg_reference.yml Security groups and connection tracking ● edge_esxi.yml Deprecated esxi support
  • 44. Other scenarios ● filter.yml Simple firewall rules ● router_p2v.yml Routing between virtual and physical networks ● WanEdge NAT and routing to global network
  • 45. OpenVNet feature list ● Two protocols to support virtual networking. - **MAC2MAC** (Axsh original protocol for physical L2 tunneling) - **GRE** (protocol for L3 tunneling) ● Simulated DHCP service ● Simulated DNS service ● L3 routing between virtual networks. ● Single hop L3 routing between physical and virtual networks. ● Firewall ● Connection tracking ● Integration with Wakame-vdc. ● VNet Edge feature (connect virtual and physical networks)
  • 46. Thank you for listening http://axsh.jp