Adventures with acs and odl

1,037 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,037
On SlideShare
0
From Embeds
0
Number of Embeds
195
Actions
Shares
0
Downloads
12
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Adventures with acs and odl

  1. 1. Adventures with ACS and ODL
  2. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 21
  22. 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. 23

×