SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
Adventures with ACS and ODL
Who is that guy anyway?
» Hugo Trippaers
– Mission Critical Engineer @ Schuberg Philis
– PMC @ Apache CloudStack
– Contributor @ OpenDaylight OVSDB
– Gamer @ Home
!
» Contact
– @Spark404 @ Twitter
– Spark404 @ Freenode
– hugo @ apache.org
2
What i want to talk about
» What if you never heard of Apache CloudStack and/or OpenDaylight?
» Why would someone want to do an integration between ODL and ACS?
» What happens when you decide to go ahead and do it?
3
Apache CloudStack
» A highly available, highly scalable Infrastructure as a Service (IaaS) cloud computing platform.
!
» Supporting
– Hypervisors: XenServer, KVM, VMware, Hyperv
– Networking: VLAN, VXLAN, GRE, Nicira NVP, Midokura, Stratosphere, Contrail, BigSwitch
– Storage: NFS, S3, Swift, Nexenta, NetApp
– And a lot more…
!
!
!
4
OpenDaylight
» OpenDaylight's mission is to facilitate a community-led, industry-supported open source
platform, including code and architecture, to accelerate adoption of Software-Defined
Networking and Network Functions Virtualization.
!
» Controller platform
– OpenFlow
– OVSDB
– Virtual Tennant Network
– OpenDOVE
– and way more..
5
Apache CloudStack networking
» Basic Networking
– Tenant isolation by security groups
– External Router
!
» Advanced Networking
– Tenant isolation by isolating the L2 broadcast domain
– Virtual Router construct for Routing, Firewalling and other services
– Virtual Private Cloud
• Multi tier construct with multiple isolated networks and a core router construct.
6
Why integrate?
» As an orchestration platform, you need an eco system that you can orchestrate.
!
» Supporting open software defined networking solutions means wider adoption of SDN
!
» I hate reinventing wheels.
!
» It’s fun to do.
7
Down to business
» What is this beast called OpenDaylight
– multiple sub projects, which ones are feasible to support?
!
» Goal: KVM hypervisor with ODL orchestrating the overlay network
!
» Should be easy, where is the API exactly?
8
What the bleep to integrate with..
» Existing support for KVM and openVswitch already in CS.
– Easiest to go with that and have OpenDaylight orchestrate the openVswitch and the overlay
network
– I know OVSDB and OpenFlow, lets stick with that
!
99
OpenFlow / OVSDB
» OpenFlow
– Tells the switch what action to take on which condition.
» OVSDB
– Manages the openvSwitch“hardware”like 

ports, tunnels and switches.
Down to business
» OMG I have API docs and still no clue.
!
» Ouch, OVSDB is very much a work in progress.
!
» Guess i need to talk to a human about this…
– Brent Salisbury (@networkstatic)
– Madhu Venugopal
– And a lot of other folks at #opendaylight-ovsdb (freenode)
!
!
11
Integration issues
» At which level to we integrate and what do i expect from OpenDaylight
– OpenDaylight supports direct interaction with OVSDB and a higher level API
– Higher layer API designed for Neutron, can it be used by ACS?
!
!
!
!
12
Integration issues
» Where are the brains at
– Who decides what?
– Who owns the state of the network and is the authoritative source?
– Reconciliation between controller and CMS?
!
13
Integration issues
» OpenDaylight is about to make its first release (Hydrogen)
– But what is going to be in in there?
– And is it enough to support the functionality i need for ACS
14
What did we end up with
» Apache CloudStack OpenDaylight plugin
– Works with KVM hypervisors (using OpenVswitch)
– Provides tenant isolation using overlay networks based on gre or vxlan
!
» Plugin available in ACS master branch
– targeted for the next release cycle (4.4.0)
15
How does it work
» The test setup i used
– Two KVM hypervisors with OpenVSwitch
– CloudStack Management Server
– OpenDaylight controller
!
» OpenVswitch on KVM hypervisors pre setup with the bridges required by CloudStack and a
bridge called br-int.
16
How does it work 1
» In ACS setup a physical network with isolation type ODL
– Physical network is a construct where tenant networks actually send their data
– Provides traffic isolating using the selected method (VLAN, ODL, VXLAN, …)
– Determines with bridge to

connect VMs to on KVM 

(br-int in this example)
!
» Add an OpenDaylight 

controller to the network
17
How does it work 2
» Setup a network offering for the tenants with virtual networking
» As a tenant
– Create a network based on the 

new offering
– Start a new VM
18
How does it work 3
» Magic happens in the OpenDaylight plugin
– Does OpenDaylight know about the hypervisor where the VM will be provisioned?
• No, use the ODL ConnectionManager to create a new OVSDB node for that hypervisor
• OVSDB creates a br-tun switch and creates a patch between br-int and br-tun
– ACS pushed a network object to

ODL using the NeutronNetwork

API
– ACS pushes a port object to ODL

using the NeutronPort API
19
How does it work 4
» Tenant starts another node (which we assume starts on another hypervisor)
– ACS configures the second hypervisor using the ConnectionManager API
– ACS pushes a port configuration using the NeutronPort API
– OpenDaylight recognizes that ports belonging to a network are present on two hypervisors
and pushes a tunnel configuration to both nodes.
– OpenDaylight pushed flows to all switches to make traffic move from A to B
20
21
Are we there yet?
» This is just the first step, ODL offers a lot more.
!
» Cross pollination of ideas
– implement networking features from ODL in ACS
– support networking scenarios from ACS in ODL
!
» What do you guys think?
22
23

Más contenido relacionado

La actualidad más candente

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

La actualidad más candente (20)

Project kuryr returns: Docker delivered, Kubernetes Next
Project kuryr returns: Docker delivered, Kubernetes NextProject kuryr returns: Docker delivered, Kubernetes Next
Project kuryr returns: Docker delivered, Kubernetes Next
 
High performace network of Cloud Native Taiwan User Group
High performace network of Cloud Native Taiwan User GroupHigh performace network of Cloud Native Taiwan User Group
High performace network of Cloud Native Taiwan User Group
 
OpenShift on OpenStack with Kuryr
OpenShift on OpenStack with KuryrOpenShift on OpenStack with Kuryr
OpenShift on OpenStack with Kuryr
 
K8s storage-glusterfs-20180210
K8s storage-glusterfs-20180210K8s storage-glusterfs-20180210
K8s storage-glusterfs-20180210
 
Kuryr kubernetes: the seamless path to adding pods to your datacenter networking
Kuryr kubernetes: the seamless path to adding pods to your datacenter networkingKuryr kubernetes: the seamless path to adding pods to your datacenter networking
Kuryr kubernetes: the seamless path to adding pods to your datacenter networking
 
Networking in Kubernetes
Networking in KubernetesNetworking in Kubernetes
Networking in Kubernetes
 
[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...
 
Unveiling CERN Cloud Architecture - October, 2015
Unveiling CERN Cloud Architecture - October, 2015Unveiling CERN Cloud Architecture - October, 2015
Unveiling CERN Cloud Architecture - October, 2015
 
Multi-Cell OpenStack: How to Evolve Your Cloud to Scale - November, 2014
Multi-Cell OpenStack: How to Evolve Your Cloud to Scale - November, 2014Multi-Cell OpenStack: How to Evolve Your Cloud to Scale - November, 2014
Multi-Cell OpenStack: How to Evolve Your Cloud to Scale - November, 2014
 
Chris Swan at Container.Camp: Docker networking
Chris Swan at Container.Camp: Docker networkingChris Swan at Container.Camp: Docker networking
Chris Swan at Container.Camp: Docker networking
 
Kubernetes networking in AWS
Kubernetes networking in AWSKubernetes networking in AWS
Kubernetes networking in AWS
 
OpenStack Quantum Intro (OS Meetup 3-26-12)
OpenStack Quantum Intro (OS Meetup 3-26-12)OpenStack Quantum Intro (OS Meetup 3-26-12)
OpenStack Quantum Intro (OS Meetup 3-26-12)
 
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFV
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFVOpenStack and OpenDaylight: An Integrated IaaS for SDN/NFV
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFV
 
How OpenStack is Built - Anton Weiss - OpenStack Day Israel 2016
How OpenStack is Built - Anton Weiss - OpenStack Day Israel 2016How OpenStack is Built - Anton Weiss - OpenStack Day Israel 2016
How OpenStack is Built - Anton Weiss - OpenStack Day Israel 2016
 
Openstack Trunk Port
Openstack Trunk PortOpenstack Trunk Port
Openstack Trunk Port
 
Cern Cloud Architecture - February, 2016
Cern Cloud Architecture - February, 2016Cern Cloud Architecture - February, 2016
Cern Cloud Architecture - February, 2016
 
[OpenStack Days 2016] Track4 - OpenNSL으로 브로드콜 기반 네트,워크 스위치 제어하기
[OpenStack Days 2016] Track4 - OpenNSL으로 브로드콜 기반 네트,워크 스위치 제어하기[OpenStack Days 2016] Track4 - OpenNSL으로 브로드콜 기반 네트,워크 스위치 제어하기
[OpenStack Days 2016] Track4 - OpenNSL으로 브로드콜 기반 네트,워크 스위치 제어하기
 
Docker network performance in the public cloud
Docker network performance in the public cloudDocker network performance in the public cloud
Docker network performance in the public cloud
 
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
 
Deep Dive Into the CERN Cloud Infrastructure - November, 2013
Deep Dive Into the CERN Cloud Infrastructure - November, 2013Deep Dive Into the CERN Cloud Infrastructure - November, 2013
Deep Dive Into the CERN Cloud Infrastructure - November, 2013
 

Similar a Adventures with acs and odl

OpenCloud - A Research Cloud
OpenCloud - A Research CloudOpenCloud - A Research Cloud
OpenCloud - A Research Cloud
ON.Lab
 
OpenStack and OpenContrail for FreeBSD platform by Michał Dubiel
OpenStack and OpenContrail for FreeBSD platform by Michał DubielOpenStack and OpenContrail for FreeBSD platform by Michał Dubiel
OpenStack and OpenContrail for FreeBSD platform by Michał Dubiel
eurobsdcon
 
Cloud Expo East 2013: Essential Open Source Software for Building the Open Cloud
Cloud Expo East 2013: Essential Open Source Software for Building the Open CloudCloud Expo East 2013: Essential Open Source Software for Building the Open Cloud
Cloud Expo East 2013: Essential Open Source Software for Building the Open Cloud
Mark Hinkle
 
LinuxFest NW 2013: Hitchhiker's Guide to Open Source Cloud Computing
LinuxFest NW 2013: Hitchhiker's Guide to Open Source Cloud ComputingLinuxFest NW 2013: Hitchhiker's Guide to Open Source Cloud Computing
LinuxFest NW 2013: Hitchhiker's Guide to Open Source Cloud Computing
Mark Hinkle
 
OSCON 2013 - The Hitchiker’s Guide to Open Source Cloud Computing
OSCON 2013 - The Hitchiker’s Guide to Open Source Cloud ComputingOSCON 2013 - The Hitchiker’s Guide to Open Source Cloud Computing
OSCON 2013 - The Hitchiker’s Guide to Open Source Cloud Computing
Mark Hinkle
 
EGI TF 2013 / Cloud Interoperability Week – Hands-On Tutorial
EGI TF 2013 / Cloud Interoperability Week – Hands-On TutorialEGI TF 2013 / Cloud Interoperability Week – Hands-On Tutorial
EGI TF 2013 / Cloud Interoperability Week – Hands-On Tutorial
OpenNebula Project
 
ISC Cloud'13 - Hands-On Tutorial on “Building Your Cloud for HPC, Here & Now,...
ISC Cloud'13 - Hands-On Tutorial on “Building Your Cloud for HPC, Here & Now,...ISC Cloud'13 - Hands-On Tutorial on “Building Your Cloud for HPC, Here & Now,...
ISC Cloud'13 - Hands-On Tutorial on “Building Your Cloud for HPC, Here & Now,...
OpenNebula Project
 
NaaS in OpenStack - CloudCamp Moscow
NaaS in OpenStack - CloudCamp MoscowNaaS in OpenStack - CloudCamp Moscow
NaaS in OpenStack - CloudCamp Moscow
Ilya Alekseyev
 

Similar a Adventures with acs and odl (20)

OpenCloud - A Research Cloud
OpenCloud - A Research CloudOpenCloud - A Research Cloud
OpenCloud - A Research Cloud
 
OpenStack and OpenContrail for FreeBSD platform by Michał Dubiel
OpenStack and OpenContrail for FreeBSD platform by Michał DubielOpenStack and OpenContrail for FreeBSD platform by Michał Dubiel
OpenStack and OpenContrail for FreeBSD platform by Michał Dubiel
 
Quantum - Virtual networks for Openstack
Quantum - Virtual networks for OpenstackQuantum - Virtual networks for Openstack
Quantum - Virtual networks for Openstack
 
OpenStack Networking and Automation
OpenStack Networking and AutomationOpenStack Networking and Automation
OpenStack Networking and Automation
 
Cloud Expo East 2013: Essential Open Source Software for Building the Open Cloud
Cloud Expo East 2013: Essential Open Source Software for Building the Open CloudCloud Expo East 2013: Essential Open Source Software for Building the Open Cloud
Cloud Expo East 2013: Essential Open Source Software for Building the Open Cloud
 
LinuxFest NW 2013: Hitchhiker's Guide to Open Source Cloud Computing
LinuxFest NW 2013: Hitchhiker's Guide to Open Source Cloud ComputingLinuxFest NW 2013: Hitchhiker's Guide to Open Source Cloud Computing
LinuxFest NW 2013: Hitchhiker's Guide to Open Source Cloud Computing
 
Docker Networking in OpenStack: What you need to know now
Docker Networking in OpenStack: What you need to know nowDocker Networking in OpenStack: What you need to know now
Docker Networking in OpenStack: What you need to know now
 
SDN: Network Agility in the Cloud
SDN: Network Agility in the CloudSDN: Network Agility in the Cloud
SDN: Network Agility in the Cloud
 
OpenDaylight Netvirt and Neutron - Mike Kolesnik, Josh Hershberg - OpenStack ...
OpenDaylight Netvirt and Neutron - Mike Kolesnik, Josh Hershberg - OpenStack ...OpenDaylight Netvirt and Neutron - Mike Kolesnik, Josh Hershberg - OpenStack ...
OpenDaylight Netvirt and Neutron - Mike Kolesnik, Josh Hershberg - OpenStack ...
 
Quick overview of Openstack architecture
Quick overview of Openstack architectureQuick overview of Openstack architecture
Quick overview of Openstack architecture
 
Introduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OSIntroduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OS
 
Containerize! Between Docker and Jube.
Containerize! Between Docker and Jube.Containerize! Between Docker and Jube.
Containerize! Between Docker and Jube.
 
OpenStack and OpenDaylight Workshop: ONUG Spring 2014
OpenStack and OpenDaylight Workshop: ONUG Spring 2014OpenStack and OpenDaylight Workshop: ONUG Spring 2014
OpenStack and OpenDaylight Workshop: ONUG Spring 2014
 
OSCON 2013 - The Hitchiker’s Guide to Open Source Cloud Computing
OSCON 2013 - The Hitchiker’s Guide to Open Source Cloud ComputingOSCON 2013 - The Hitchiker’s Guide to Open Source Cloud Computing
OSCON 2013 - The Hitchiker’s Guide to Open Source Cloud Computing
 
Understanding and deploying Network Virtualization
Understanding and deploying Network VirtualizationUnderstanding and deploying Network Virtualization
Understanding and deploying Network Virtualization
 
EGI TF 2013 / Cloud Interoperability Week – Hands-On Tutorial
EGI TF 2013 / Cloud Interoperability Week – Hands-On TutorialEGI TF 2013 / Cloud Interoperability Week – Hands-On Tutorial
EGI TF 2013 / Cloud Interoperability Week – Hands-On Tutorial
 
Docker Networking - Current Status and goals of Experimental Networking
Docker Networking - Current Status and goals of Experimental NetworkingDocker Networking - Current Status and goals of Experimental Networking
Docker Networking - Current Status and goals of Experimental Networking
 
ISC Cloud'13 - Hands-On Tutorial on “Building Your Cloud for HPC, Here & Now,...
ISC Cloud'13 - Hands-On Tutorial on “Building Your Cloud for HPC, Here & Now,...ISC Cloud'13 - Hands-On Tutorial on “Building Your Cloud for HPC, Here & Now,...
ISC Cloud'13 - Hands-On Tutorial on “Building Your Cloud for HPC, Here & Now,...
 
Openstack 101
Openstack 101Openstack 101
Openstack 101
 
NaaS in OpenStack - CloudCamp Moscow
NaaS in OpenStack - CloudCamp MoscowNaaS in OpenStack - CloudCamp Moscow
NaaS in OpenStack - CloudCamp Moscow
 

Adventures with acs and odl

  • 2. Who is that guy anyway? » Hugo Trippaers – Mission Critical Engineer @ Schuberg Philis – PMC @ Apache CloudStack – Contributor @ OpenDaylight OVSDB – Gamer @ Home ! » Contact – @Spark404 @ Twitter – Spark404 @ Freenode – hugo @ apache.org 2
  • 3. What i want to talk about » What if you never heard of Apache CloudStack and/or OpenDaylight? » Why would someone want to do an integration between ODL and ACS? » What happens when you decide to go ahead and do it? 3
  • 4. Apache CloudStack » A highly available, highly scalable Infrastructure as a Service (IaaS) cloud computing platform. ! » Supporting – Hypervisors: XenServer, KVM, VMware, Hyperv – Networking: VLAN, VXLAN, GRE, Nicira NVP, Midokura, Stratosphere, Contrail, BigSwitch – Storage: NFS, S3, Swift, Nexenta, NetApp – And a lot more… ! ! ! 4
  • 5. OpenDaylight » OpenDaylight's mission is to facilitate a community-led, industry-supported open source platform, including code and architecture, to accelerate adoption of Software-Defined Networking and Network Functions Virtualization. ! » Controller platform – OpenFlow – OVSDB – Virtual Tennant Network – OpenDOVE – and way more.. 5
  • 6. Apache CloudStack networking » Basic Networking – Tenant isolation by security groups – External Router ! » Advanced Networking – Tenant isolation by isolating the L2 broadcast domain – Virtual Router construct for Routing, Firewalling and other services – Virtual Private Cloud • Multi tier construct with multiple isolated networks and a core router construct. 6
  • 7. Why integrate? » As an orchestration platform, you need an eco system that you can orchestrate. ! » Supporting open software defined networking solutions means wider adoption of SDN ! » I hate reinventing wheels. ! » It’s fun to do. 7
  • 8. Down to business » What is this beast called OpenDaylight – multiple sub projects, which ones are feasible to support? ! » Goal: KVM hypervisor with ODL orchestrating the overlay network ! » Should be easy, where is the API exactly? 8
  • 9. What the bleep to integrate with.. » Existing support for KVM and openVswitch already in CS. – Easiest to go with that and have OpenDaylight orchestrate the openVswitch and the overlay network – I know OVSDB and OpenFlow, lets stick with that ! 99
  • 10. OpenFlow / OVSDB » OpenFlow – Tells the switch what action to take on which condition. » OVSDB – Manages the openvSwitch“hardware”like 
 ports, tunnels and switches.
  • 11. Down to business » OMG I have API docs and still no clue. ! » Ouch, OVSDB is very much a work in progress. ! » Guess i need to talk to a human about this… – Brent Salisbury (@networkstatic) – Madhu Venugopal – And a lot of other folks at #opendaylight-ovsdb (freenode) ! ! 11
  • 12. Integration issues » At which level to we integrate and what do i expect from OpenDaylight – OpenDaylight supports direct interaction with OVSDB and a higher level API – Higher layer API designed for Neutron, can it be used by ACS? ! ! ! ! 12
  • 13. Integration issues » Where are the brains at – Who decides what? – Who owns the state of the network and is the authoritative source? – Reconciliation between controller and CMS? ! 13
  • 14. Integration issues » OpenDaylight is about to make its first release (Hydrogen) – But what is going to be in in there? – And is it enough to support the functionality i need for ACS 14
  • 15. What did we end up with » Apache CloudStack OpenDaylight plugin – Works with KVM hypervisors (using OpenVswitch) – Provides tenant isolation using overlay networks based on gre or vxlan ! » Plugin available in ACS master branch – targeted for the next release cycle (4.4.0) 15
  • 16. How does it work » The test setup i used – Two KVM hypervisors with OpenVSwitch – CloudStack Management Server – OpenDaylight controller ! » OpenVswitch on KVM hypervisors pre setup with the bridges required by CloudStack and a bridge called br-int. 16
  • 17. How does it work 1 » In ACS setup a physical network with isolation type ODL – Physical network is a construct where tenant networks actually send their data – Provides traffic isolating using the selected method (VLAN, ODL, VXLAN, …) – Determines with bridge to
 connect VMs to on KVM 
 (br-int in this example) ! » Add an OpenDaylight 
 controller to the network 17
  • 18. How does it work 2 » Setup a network offering for the tenants with virtual networking » As a tenant – Create a network based on the 
 new offering – Start a new VM 18
  • 19. How does it work 3 » Magic happens in the OpenDaylight plugin – Does OpenDaylight know about the hypervisor where the VM will be provisioned? • No, use the ODL ConnectionManager to create a new OVSDB node for that hypervisor • OVSDB creates a br-tun switch and creates a patch between br-int and br-tun – ACS pushed a network object to
 ODL using the NeutronNetwork
 API – ACS pushes a port object to ODL
 using the NeutronPort API 19
  • 20. How does it work 4 » Tenant starts another node (which we assume starts on another hypervisor) – ACS configures the second hypervisor using the ConnectionManager API – ACS pushes a port configuration using the NeutronPort API – OpenDaylight recognizes that ports belonging to a network are present on two hypervisors and pushes a tunnel configuration to both nodes. – OpenDaylight pushed flows to all switches to make traffic move from A to B 20
  • 21. 21
  • 22. Are we there yet? » This is just the first step, ODL offers a lot more. ! » Cross pollination of ideas – implement networking features from ODL in ACS – support networking scenarios from ACS in ODL ! » What do you guys think? 22
  • 23. 23