SlideShare uma empresa Scribd logo
1 de 27
Baixar para ler offline
OpenStack meet iNaaS SDN Controller
iNaaS : SDN Controller for virtual network
OpenStack과 SDN Controller 연동을 위한 삽질 기행기
SDN Research Section, ETRI
Yongyoon SHIN
함께 이야기 해 봅시다
• OpenStack Neutron
• OpenStack ml2
– Write own mechanism driver
– Using DevStack
• SDN
– iNaaS : The SDN Controller for virtual network
– Value
• Demo
OpenStack ml2 plugin
• Ml2 plugin : Types + Mechanisms
• Type : typically network type (gre/vlan/vxlan)
• Mechanism : network implement (vender specific)
Core plugin (ML2)
Type Manager Mechanism Manager
Type Driver Mechanism Driver
GRE VLAN VXLAN…
Linux
Bridge
OVS ODL iNaaS…
HERE!!
Mechanism 드라이버를 어떻게 만들죠?
• Ml2 plugin (neutron/plugins/ml2/plugin.py)
…
self.mechanism_manager.create_RESOURCE_precommit(mech_context)
try:
self.mechanism_manager.create_RESOURCE_postcommit(mech_context)
except ml2_exc.MechanismDriverError:
with excutils.save_and_reraise_exception():
LOG.error(_("The respective error message"))
self.delete_RESOURCE(context, result['id']) # only on create operations
return result
network /
subnet /
port
나만의 mechanism 드라이버를 만들어보자
• Write mechanism driver basic
neutron/plugins/ml2/drivers/xxx.py
Ex) neutron/plugins/ml2/drivers/mech_inaas.py
iNaaS mechanism driver
• iNaaS mechanism driver
REST Call to iNaaS SDN Controller
Mechanism 드라이버가 동작하기 위해서…
• Editing ml2_conf.ini file
• File location
– /etc/neutron/plugins/ml2/ml2_conf.ini
• Edit
– tenant_network_type
– mechanism_drivers
– REST address
Edit ml2_conf.ini
Control Node
Network/Compute Node
이제 서비스를 해볼까?
나 : “아싸~~ 완성~~ git에다가 올리고~~ 룰루~~”
A모 서브팀장 : “이거 안 돌아가는데???”
B모 서브팀장 : “우리는 잘 돌아가는데???”
이유는…
A 서브팀에서는 DevStack을 사용하더라…
DevStack
• Where is ml2 mechanism driver??
– /opt/stack/neutron/neutron/plugins/ml2/drivers/
• Where is ml2_conf.ini??
– /etc/neutron/plugins/ml2/ -> don’t
– must edit setup.cfg -> /opt/stack/neutron/
• How can I start DevStack??
– Edit local.conf : /stack/
– stack.sh
DevStack을 활용한 설정
• Edit setup.cfg
…
[files]
etc/neutron/plugins/ml2 =
…
etc/neutron/plugins/ml2/ml2_conf_inaas.ini
…
…
[entry_point]
…
neutron.ml2.mechanism_drivers =
…
inaas = neutron.plugins.ml2.drivers.mech_inaas:iNaaSMechanismDriver
…
[[local|localrc]]
…
Q_PLUGIN=ml2
Q_AGENT=openvswitch
Q_ML2_PLUGIN_MECHANISM_DRIVERS=inaas
Q_ML2_TENANT_NETWORK_TYPE=vxlan
Q_ML2_PLUGIN_TYPE_DRIVERS=vxlan
Q_ML2_PLUGIN_VXLAN_TYPE_OPTIONS=(vni_ranges=1001:2000)
Q_AGENT_EXTRA_AGENT_OPTS=(tunnel_types=vxlan vxlan_udp_port=4789)
…
[[post-config|/etc/neutron/plugins/ml2/ml2_conf.ini]]
[agent]
minimize_polling=True
[ml2_inaas]
url=http://192.168.56.15:8080/wm/ml2
username=admin
password=password
DevStack을 활용한 설정
• local.conf
DevStack에서 mechanism driver는?
• Location :
/opt/stack/neutron/neutron/plugins/ml2/drivers
• DevStack START!!!
– stack.sh
What is SDN
• 쉽게 말하자면… 소프트웨어를 통해 구성된 네트워크
iNaaS
• Based OpenIRIS SDN Controller
(https://github.com/bjlee72/IRIS)
• iNaaS : OpenIRIS Network as a Service
(https://github.com/uni2u/iNaaS)
• Network virtualization solutions for cloud environments
• Providing policy-based NaaS
• Work with OpenStack to create a virtual segment
networks(VSN) for each tenant
• Separate policy application support for each VSN
SDN 환경에서는 OVS도 제어할 수 있다던데
• OpenStack using OpenvSwitch
– Wow!!! OpenvSwitch support OF 1.0/1.3
– Wow!!! OpenvSwitch connect SDN Controller
– Wow!!! OpenvSwitch create tunnel network
• BUT!!!!
– OpenvSwitch using hybrid flow
• Make OpenFlow rule using OF 1.0 + 1.3
• Solutions
– Using OVSDB
– agent
ovsdb / agent 무엇을 사용하나?
• Ubuntu에서는 Remote로 ovs 관련 command를 100% 사용할 수 없다
– ovs-vsctl : 완벽 사용 가능
– ovs-ofctl : 사용 불가
• ovsdb를 사용하면?
– ovs는 OF 기반의 가상 스위치인데…
– 그러면 당연 SDN Controller가 제어할 수 있어야 하는데…
– 이거 되게 복잡하네???
• ovs-ofctl add flow를 사용하게 해 달라
– Agent 개발 하라는 무언의 압박
ovs-ofctl command
iNaaS Agent
• Using Java
• Install Network/Compute node
• Create tunnel network (full mash)
– Network to each compute node
• Create Flow rules to OF switch from iNaaS
iNaaS Function
iNaaS Server
iNaaS Manager iNaaS DB Tunnel Manager
Policy-based Virtual Forwarding
Manager
ARP Manager
Flow-to-VNID Mapper
vNet State
Manager
Policy Manager
OpenStack iNaaS Plugins
iNaaS AgentiNaaS Mechanism Driver
iCanvas
Custom Costs
Manager
Custom Path
Finder
Path Calculation
Multipath
Selection
iNaaS Architecture
Compute Node
Nova
Compute
Agent
…
IRIS Agent
ovs
VM VM
Network Node
DHCP Agent
l3 Agent
IRIS Agent
DHCP & l3 servicesDHCP & l3 servicesDHCP & l3 services
ovs
iCanvas/Horizon
IRIS Controller
iNaaS Server
IRIS Core
iNaaS
Manager
Policy
Manager
iNaaS
DB
Policy based Virtual
Forwarding Manager
Flow to VNID
Mapper
Tunnel
Manager
DHCP
Manager
l3
Manager
vNet State
Manager
Control Node
Nova
ovs
Neutron
REST API
RPCs
REST API
Our Topology
Public Network
Data Network
[OpenStack Tunnel Network]
OpenStack Management Network
iNaaS
OpenStack
Control Node
OpenStack
Network Node
OpenStack
Compute01
OpenStack
Compute02
OpenStack
Compute03
eth0 eth2
eth1
eth0
eth1
eth0 eth2
eth1
eth2
eth1
eth2
eth1
eth2
eth1
OF AP OF AP OF AP OF AP
OF SWOF SW
OpenFlow
Management
Switch
10.0.0.10 10.0.0.11 10.0.0.21 10.0.0.31 10.0.0.32 10.0.0.33
10.0.10.32 10.0.10.3310.0.10.21 10.0.10.31Public IP 10.0.20.10
10.0.20.21 10.0.20.23
10.0.20.11 10.0.20.12 10.0.20.13 10.0.20.14
OpenStack Management
Switch
Public IP Public IP
Network 노드와 Compute 노드의 OVS
OpenStack과 SDN.. 뭘 할 수 있는거지?
• Physical & Virtual Network 제어
– Virtual Network에 해당하는 Physical Network 제어
– Flow level management
• Tenant 별 네트워크 제어
– Band width, Traffic 등
– Flow path management
– Policy based network management
Demo
앞으로 할 일들이 산더미…
• 다중 도메인 지원
– A OpenStack to B OpenStack
– Tenant to Tenant
• iNaaS HA
– Clustering
• 다음에도 불러주시면…
– 적어도 위에 2가지는 해결한 모델을…
Yongyoon. SHIN (SDN Research Section, ETRI)
Email: uni2u@etri.re.kr
http://uni2u.meximas.com

Mais conteúdo relacionado

Mais procurados

[OpenStack Days 2016] Track4 - OpenNSL으로 브로드콜 기반 네트,워크 스위치 제어하기
[OpenStack Days 2016] Track4 - OpenNSL으로 브로드콜 기반 네트,워크 스위치 제어하기[OpenStack Days 2016] Track4 - OpenNSL으로 브로드콜 기반 네트,워크 스위치 제어하기
[OpenStack Days 2016] Track4 - OpenNSL으로 브로드콜 기반 네트,워크 스위치 제어하기
OpenStack Korea Community
 

Mais procurados (20)

Orchestration Tool Roundup - Arthur Berezin & Trammell Scruggs
Orchestration Tool Roundup - Arthur Berezin & Trammell ScruggsOrchestration Tool Roundup - Arthur Berezin & Trammell Scruggs
Orchestration Tool Roundup - Arthur Berezin & Trammell Scruggs
 
[OpenStack Days Korea 2016] Track1 - Mellanox CloudX - Acceleration for Cloud...
[OpenStack Days Korea 2016] Track1 - Mellanox CloudX - Acceleration for Cloud...[OpenStack Days Korea 2016] Track1 - Mellanox CloudX - Acceleration for Cloud...
[OpenStack Days Korea 2016] Track1 - Mellanox CloudX - Acceleration for Cloud...
 
Openstack Study Nova 1
Openstack Study Nova 1Openstack Study Nova 1
Openstack Study Nova 1
 
[OpenStack Day in Korea 2015] Track 1-4 - VDI OpenStack? It Works!!!
[OpenStack Day in Korea 2015] Track 1-4 - VDI OpenStack? It Works!!![OpenStack Day in Korea 2015] Track 1-4 - VDI OpenStack? It Works!!!
[OpenStack Day in Korea 2015] Track 1-4 - VDI OpenStack? It Works!!!
 
Is OpenStack Neutron production ready for large scale deployments?
Is OpenStack Neutron production ready for large scale deployments?Is OpenStack Neutron production ready for large scale deployments?
Is OpenStack Neutron production ready for large scale deployments?
 
OpenStack Neutron behind the Scenes
OpenStack Neutron behind the ScenesOpenStack Neutron behind the Scenes
OpenStack Neutron behind the Scenes
 
Openstack Quantum Security Groups Session
Openstack Quantum Security Groups SessionOpenstack Quantum Security Groups Session
Openstack Quantum Security Groups Session
 
[OpenInfra Days Korea 2018] Day 2 - E6: "SONA: ONOS SDN Controller 기반 OpenSta...
[OpenInfra Days Korea 2018] Day 2 - E6: "SONA: ONOS SDN Controller 기반 OpenSta...[OpenInfra Days Korea 2018] Day 2 - E6: "SONA: ONOS SDN Controller 기반 OpenSta...
[OpenInfra Days Korea 2018] Day 2 - E6: "SONA: ONOS SDN Controller 기반 OpenSta...
 
[OpenStack Days Korea 2016] Track3 - OpenStack on 64-bit ARM with X-Gene
[OpenStack Days Korea 2016] Track3 - OpenStack on 64-bit ARM with X-Gene[OpenStack Days Korea 2016] Track3 - OpenStack on 64-bit ARM with X-Gene
[OpenStack Days Korea 2016] Track3 - OpenStack on 64-bit ARM with X-Gene
 
Open Stack compute-service-nova
Open Stack compute-service-novaOpen Stack compute-service-nova
Open Stack compute-service-nova
 
How logging makes a private cloud a better cloud - OpenStack最新情報セミナー(2016年12月)
How logging makes a private cloud a better cloud - OpenStack最新情報セミナー(2016年12月)How logging makes a private cloud a better cloud - OpenStack最新情報セミナー(2016年12月)
How logging makes a private cloud a better cloud - OpenStack最新情報セミナー(2016年12月)
 
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region
 
[OpenStack Days 2016] Track4 - OpenNSL으로 브로드콜 기반 네트,워크 스위치 제어하기
[OpenStack Days 2016] Track4 - OpenNSL으로 브로드콜 기반 네트,워크 스위치 제어하기[OpenStack Days 2016] Track4 - OpenNSL으로 브로드콜 기반 네트,워크 스위치 제어하기
[OpenStack Days 2016] Track4 - OpenNSL으로 브로드콜 기반 네트,워크 스위치 제어하기
 
[OpenStack Day in Korea 2015] Track 3-4 - Software Defined Storage (SDS) and ...
[OpenStack Day in Korea 2015] Track 3-4 - Software Defined Storage (SDS) and ...[OpenStack Day in Korea 2015] Track 3-4 - Software Defined Storage (SDS) and ...
[OpenStack Day in Korea 2015] Track 3-4 - Software Defined Storage (SDS) and ...
 
OpenStack Data Processing ("Sahara") project update - December 2014
OpenStack Data Processing ("Sahara") project update - December 2014OpenStack Data Processing ("Sahara") project update - December 2014
OpenStack Data Processing ("Sahara") project update - December 2014
 
OpenDaylight Integration with OpenStack Neutron: A Tutorial
OpenDaylight Integration with OpenStack Neutron: A TutorialOpenDaylight Integration with OpenStack Neutron: A Tutorial
OpenDaylight Integration with OpenStack Neutron: A Tutorial
 
Tech Talk by Gal Sagie: Kuryr - Connecting containers networking to OpenStack...
Tech Talk by Gal Sagie: Kuryr - Connecting containers networking to OpenStack...Tech Talk by Gal Sagie: Kuryr - Connecting containers networking to OpenStack...
Tech Talk by Gal Sagie: Kuryr - Connecting containers networking to OpenStack...
 
Orchestration tool roundup kubernetes vs. docker vs. heat vs. terra form vs...
Orchestration tool roundup   kubernetes vs. docker vs. heat vs. terra form vs...Orchestration tool roundup   kubernetes vs. docker vs. heat vs. terra form vs...
Orchestration tool roundup kubernetes vs. docker vs. heat vs. terra form vs...
 
OpenStack Telco Architecture: OpenStack Summit Boston 2017
OpenStack Telco Architecture: OpenStack Summit Boston 2017OpenStack Telco Architecture: OpenStack Summit Boston 2017
OpenStack Telco Architecture: OpenStack Summit Boston 2017
 
OpenStack High Availability
OpenStack High AvailabilityOpenStack High Availability
OpenStack High Availability
 

Destaque

Destaque (7)

BoF - Open NFV Orchestration using Tacker
BoF - Open NFV Orchestration using TackerBoF - Open NFV Orchestration using Tacker
BoF - Open NFV Orchestration using Tacker
 
OpenStack DVR_What is DVR?
OpenStack DVR_What is DVR?OpenStack DVR_What is DVR?
OpenStack DVR_What is DVR?
 
Openstack Swift Introduction
Openstack Swift IntroductionOpenstack Swift Introduction
Openstack Swift Introduction
 
OpenStack networking-sfc flow 분석
OpenStack networking-sfc flow 분석OpenStack networking-sfc flow 분석
OpenStack networking-sfc flow 분석
 
Docker for V-Raptor(ARM Server)
Docker for V-Raptor(ARM Server)Docker for V-Raptor(ARM Server)
Docker for V-Raptor(ARM Server)
 
[PyConKR 2014] 30분만에 따라하는 동시성 스크래퍼
[PyConKR 2014] 30분만에 따라하는 동시성 스크래퍼[PyConKR 2014] 30분만에 따라하는 동시성 스크래퍼
[PyConKR 2014] 30분만에 따라하는 동시성 스크래퍼
 
초심자를 위한 도커 소개 및 입문
초심자를 위한 도커 소개 및 입문초심자를 위한 도커 소개 및 입문
초심자를 위한 도커 소개 및 입문
 

Semelhante a OpenStack KOREA 정기 세미나_OpenStack meet iNaaS SDN Controller

Openstack Basic with Neutron
Openstack Basic with NeutronOpenstack Basic with Neutron
Openstack Basic with Neutron
KwonSun Bae
 
Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
DataStax
 

Semelhante a OpenStack KOREA 정기 세미나_OpenStack meet iNaaS SDN Controller (20)

Open stack networking_101_update_2014
Open stack networking_101_update_2014Open stack networking_101_update_2014
Open stack networking_101_update_2014
 
Devops in Networking
Devops in NetworkingDevops in Networking
Devops in Networking
 
(ARC401) Black-Belt Networking for the Cloud Ninja | AWS re:Invent 2014
(ARC401) Black-Belt Networking for the Cloud Ninja | AWS re:Invent 2014(ARC401) Black-Belt Networking for the Cloud Ninja | AWS re:Invent 2014
(ARC401) Black-Belt Networking for the Cloud Ninja | AWS re:Invent 2014
 
DCUS17 : Docker networking deep dive
DCUS17 : Docker networking deep diveDCUS17 : Docker networking deep dive
DCUS17 : Docker networking deep dive
 
Openstack Basic with Neutron
Openstack Basic with NeutronOpenstack Basic with Neutron
Openstack Basic with Neutron
 
Whats new in neutron for open stack havana
Whats new in neutron for open stack havanaWhats new in neutron for open stack havana
Whats new in neutron for open stack havana
 
BRKDCT-2445 Agile OpenStack Networking with Cisco Solutions - Cisco Live! US ...
BRKDCT-2445 Agile OpenStack Networking with Cisco Solutions - Cisco Live! US ...BRKDCT-2445 Agile OpenStack Networking with Cisco Solutions - Cisco Live! US ...
BRKDCT-2445 Agile OpenStack Networking with Cisco Solutions - Cisco Live! US ...
 
Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
 
Neutron DVR
Neutron DVRNeutron DVR
Neutron DVR
 
CLIF as a Service: Distributed performance testing in continuous integration...
CLIF as a Service:  Distributed performance testing in continuous integration...CLIF as a Service:  Distributed performance testing in continuous integration...
CLIF as a Service: Distributed performance testing in continuous integration...
 
Dashboard project.
Dashboard project.Dashboard project.
Dashboard project.
 
CampusSDN2017 - Jawdat: SDN Technology Evolvement
CampusSDN2017 - Jawdat: SDN Technology EvolvementCampusSDN2017 - Jawdat: SDN Technology Evolvement
CampusSDN2017 - Jawdat: SDN Technology Evolvement
 
PaaSTA: Autoscaling at Yelp
PaaSTA: Autoscaling at YelpPaaSTA: Autoscaling at Yelp
PaaSTA: Autoscaling at Yelp
 
Our Puppet Story – Patterns and Learnings (sage@guug, March 2014)
Our Puppet Story – Patterns and Learnings (sage@guug, March 2014)Our Puppet Story – Patterns and Learnings (sage@guug, March 2014)
Our Puppet Story – Patterns and Learnings (sage@guug, March 2014)
 
Exploring the Final Frontier of Data Center Orchestration: Network Elements -...
Exploring the Final Frontier of Data Center Orchestration: Network Elements -...Exploring the Final Frontier of Data Center Orchestration: Network Elements -...
Exploring the Final Frontier of Data Center Orchestration: Network Elements -...
 
OpenStack Discovery and Networking Assurance - Koren Lev - Meetup
OpenStack Discovery and Networking Assurance - Koren Lev - MeetupOpenStack Discovery and Networking Assurance - Koren Lev - Meetup
OpenStack Discovery and Networking Assurance - Koren Lev - Meetup
 
Summit_Tutorial
Summit_TutorialSummit_Tutorial
Summit_Tutorial
 
From swarm to swam-mode in the CERN container service
From swarm to swam-mode in the CERN container serviceFrom swarm to swam-mode in the CERN container service
From swarm to swam-mode in the CERN container service
 
Overview of Distributed Virtual Router (DVR) in Openstack/Neutron
Overview of Distributed Virtual Router (DVR) in Openstack/NeutronOverview of Distributed Virtual Router (DVR) in Openstack/Neutron
Overview of Distributed Virtual Router (DVR) in Openstack/Neutron
 
Openstack Networking Internals - first part
Openstack Networking Internals - first partOpenstack Networking Internals - first part
Openstack Networking Internals - first part
 

Mais de Yongyoon Shin (8)

Google Cloud NEXT'17 정리
Google Cloud NEXT'17 정리Google Cloud NEXT'17 정리
Google Cloud NEXT'17 정리
 
Open stack summit_barcelona_보고서
Open stack summit_barcelona_보고서Open stack summit_barcelona_보고서
Open stack summit_barcelona_보고서
 
OpenStack summit austin 2016
OpenStack summit austin 2016OpenStack summit austin 2016
OpenStack summit austin 2016
 
Dragon flow and tricircle
Dragon flow and tricircleDragon flow and tricircle
Dragon flow and tricircle
 
Open stack korea_uni2u_pdf
Open stack korea_uni2u_pdfOpen stack korea_uni2u_pdf
Open stack korea_uni2u_pdf
 
Openstack Testbed_ovs_virtualbox_devstack_single node
Openstack Testbed_ovs_virtualbox_devstack_single nodeOpenstack Testbed_ovs_virtualbox_devstack_single node
Openstack Testbed_ovs_virtualbox_devstack_single node
 
Harmonia open iris_basic_v0.1
Harmonia open iris_basic_v0.1Harmonia open iris_basic_v0.1
Harmonia open iris_basic_v0.1
 
ONS2014 출장보고
ONS2014 출장보고ONS2014 출장보고
ONS2014 출장보고
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 

OpenStack KOREA 정기 세미나_OpenStack meet iNaaS SDN Controller

  • 1. OpenStack meet iNaaS SDN Controller iNaaS : SDN Controller for virtual network OpenStack과 SDN Controller 연동을 위한 삽질 기행기 SDN Research Section, ETRI Yongyoon SHIN
  • 2. 함께 이야기 해 봅시다 • OpenStack Neutron • OpenStack ml2 – Write own mechanism driver – Using DevStack • SDN – iNaaS : The SDN Controller for virtual network – Value • Demo
  • 3. OpenStack ml2 plugin • Ml2 plugin : Types + Mechanisms • Type : typically network type (gre/vlan/vxlan) • Mechanism : network implement (vender specific) Core plugin (ML2) Type Manager Mechanism Manager Type Driver Mechanism Driver GRE VLAN VXLAN… Linux Bridge OVS ODL iNaaS… HERE!!
  • 4. Mechanism 드라이버를 어떻게 만들죠? • Ml2 plugin (neutron/plugins/ml2/plugin.py) … self.mechanism_manager.create_RESOURCE_precommit(mech_context) try: self.mechanism_manager.create_RESOURCE_postcommit(mech_context) except ml2_exc.MechanismDriverError: with excutils.save_and_reraise_exception(): LOG.error(_("The respective error message")) self.delete_RESOURCE(context, result['id']) # only on create operations return result network / subnet / port
  • 5. 나만의 mechanism 드라이버를 만들어보자 • Write mechanism driver basic neutron/plugins/ml2/drivers/xxx.py Ex) neutron/plugins/ml2/drivers/mech_inaas.py
  • 6. iNaaS mechanism driver • iNaaS mechanism driver REST Call to iNaaS SDN Controller
  • 7. Mechanism 드라이버가 동작하기 위해서… • Editing ml2_conf.ini file • File location – /etc/neutron/plugins/ml2/ml2_conf.ini • Edit – tenant_network_type – mechanism_drivers – REST address
  • 9. 이제 서비스를 해볼까? 나 : “아싸~~ 완성~~ git에다가 올리고~~ 룰루~~” A모 서브팀장 : “이거 안 돌아가는데???” B모 서브팀장 : “우리는 잘 돌아가는데???” 이유는… A 서브팀에서는 DevStack을 사용하더라…
  • 10. DevStack • Where is ml2 mechanism driver?? – /opt/stack/neutron/neutron/plugins/ml2/drivers/ • Where is ml2_conf.ini?? – /etc/neutron/plugins/ml2/ -> don’t – must edit setup.cfg -> /opt/stack/neutron/ • How can I start DevStack?? – Edit local.conf : /stack/ – stack.sh
  • 11. DevStack을 활용한 설정 • Edit setup.cfg … [files] etc/neutron/plugins/ml2 = … etc/neutron/plugins/ml2/ml2_conf_inaas.ini … … [entry_point] … neutron.ml2.mechanism_drivers = … inaas = neutron.plugins.ml2.drivers.mech_inaas:iNaaSMechanismDriver …
  • 13. DevStack에서 mechanism driver는? • Location : /opt/stack/neutron/neutron/plugins/ml2/drivers • DevStack START!!! – stack.sh
  • 14. What is SDN • 쉽게 말하자면… 소프트웨어를 통해 구성된 네트워크
  • 15. iNaaS • Based OpenIRIS SDN Controller (https://github.com/bjlee72/IRIS) • iNaaS : OpenIRIS Network as a Service (https://github.com/uni2u/iNaaS) • Network virtualization solutions for cloud environments • Providing policy-based NaaS • Work with OpenStack to create a virtual segment networks(VSN) for each tenant • Separate policy application support for each VSN
  • 16. SDN 환경에서는 OVS도 제어할 수 있다던데 • OpenStack using OpenvSwitch – Wow!!! OpenvSwitch support OF 1.0/1.3 – Wow!!! OpenvSwitch connect SDN Controller – Wow!!! OpenvSwitch create tunnel network • BUT!!!! – OpenvSwitch using hybrid flow • Make OpenFlow rule using OF 1.0 + 1.3 • Solutions – Using OVSDB – agent
  • 17. ovsdb / agent 무엇을 사용하나? • Ubuntu에서는 Remote로 ovs 관련 command를 100% 사용할 수 없다 – ovs-vsctl : 완벽 사용 가능 – ovs-ofctl : 사용 불가 • ovsdb를 사용하면? – ovs는 OF 기반의 가상 스위치인데… – 그러면 당연 SDN Controller가 제어할 수 있어야 하는데… – 이거 되게 복잡하네??? • ovs-ofctl add flow를 사용하게 해 달라 – Agent 개발 하라는 무언의 압박
  • 19. iNaaS Agent • Using Java • Install Network/Compute node • Create tunnel network (full mash) – Network to each compute node • Create Flow rules to OF switch from iNaaS
  • 20. iNaaS Function iNaaS Server iNaaS Manager iNaaS DB Tunnel Manager Policy-based Virtual Forwarding Manager ARP Manager Flow-to-VNID Mapper vNet State Manager Policy Manager OpenStack iNaaS Plugins iNaaS AgentiNaaS Mechanism Driver iCanvas Custom Costs Manager Custom Path Finder Path Calculation Multipath Selection
  • 21. iNaaS Architecture Compute Node Nova Compute Agent … IRIS Agent ovs VM VM Network Node DHCP Agent l3 Agent IRIS Agent DHCP & l3 servicesDHCP & l3 servicesDHCP & l3 services ovs iCanvas/Horizon IRIS Controller iNaaS Server IRIS Core iNaaS Manager Policy Manager iNaaS DB Policy based Virtual Forwarding Manager Flow to VNID Mapper Tunnel Manager DHCP Manager l3 Manager vNet State Manager Control Node Nova ovs Neutron REST API RPCs REST API
  • 22. Our Topology Public Network Data Network [OpenStack Tunnel Network] OpenStack Management Network iNaaS OpenStack Control Node OpenStack Network Node OpenStack Compute01 OpenStack Compute02 OpenStack Compute03 eth0 eth2 eth1 eth0 eth1 eth0 eth2 eth1 eth2 eth1 eth2 eth1 eth2 eth1 OF AP OF AP OF AP OF AP OF SWOF SW OpenFlow Management Switch 10.0.0.10 10.0.0.11 10.0.0.21 10.0.0.31 10.0.0.32 10.0.0.33 10.0.10.32 10.0.10.3310.0.10.21 10.0.10.31Public IP 10.0.20.10 10.0.20.21 10.0.20.23 10.0.20.11 10.0.20.12 10.0.20.13 10.0.20.14 OpenStack Management Switch Public IP Public IP
  • 23. Network 노드와 Compute 노드의 OVS
  • 24. OpenStack과 SDN.. 뭘 할 수 있는거지? • Physical & Virtual Network 제어 – Virtual Network에 해당하는 Physical Network 제어 – Flow level management • Tenant 별 네트워크 제어 – Band width, Traffic 등 – Flow path management – Policy based network management
  • 25. Demo
  • 26. 앞으로 할 일들이 산더미… • 다중 도메인 지원 – A OpenStack to B OpenStack – Tenant to Tenant • iNaaS HA – Clustering • 다음에도 불러주시면… – 적어도 위에 2가지는 해결한 모델을…
  • 27. Yongyoon. SHIN (SDN Research Section, ETRI) Email: uni2u@etri.re.kr http://uni2u.meximas.com