openstack networking: developing and delivering a commercial solution for load balancing as a...
DESCRIPTION
Why would you want to have an open source driver? Samuel Bercovici, Radware's Director of Automation & Cloud Integration, answers this and offers an introduction to Drivers in Havana in this presentation from his recent appearance at OpenStack Israel. Read more in our Press Release: http://www.radware.com/NewsEvents/PressReleases/Radware-Alteon-Provides-Load-Balancing-for-OpenStack-Cloud-Applications/TRANSCRIPT
![Page 1: OpenStack Networking: Developing and Delivering a Commercial Solution for Load Balancing as a Service](https://reader034.vdocuments.us/reader034/viewer/2022052619/55515056b4c905f2288b54ab/html5/thumbnails/1.jpg)
OpenStack Networking (Neutron)
Developing and delivering commercial
solution for load balancing as a service
Samuel Bercovici
Director PM, Automation & Cloud Integration
![Page 2: OpenStack Networking: Developing and Delivering a Commercial Solution for Load Balancing as a Service](https://reader034.vdocuments.us/reader034/viewer/2022052619/55515056b4c905f2288b54ab/html5/thumbnails/2.jpg)
Radware involvement in OpenStack Introduction of Drivers in Havana Why would you want to have an open source driver? How to get your code to be incorporated in open stack? Q&A
![Page 3: OpenStack Networking: Developing and Delivering a Commercial Solution for Load Balancing as a Service](https://reader034.vdocuments.us/reader034/viewer/2022052619/55515056b4c905f2288b54ab/html5/thumbnails/3.jpg)
Radware Involvement with OpenStack
• Radware Joined OpenStack on Dec 2011
• Planning of LBaaS for Grizzly and Havana
• Contributor to the Networking/LBaaS project – Havana -
http://www.stackalytics.com/?release=havana&metric=commits&project_type=all&module=&company=radware&user_id=
– Icehouse - http://www.stackalytics.com/?release=icehouse&metric=commits&project_type=all&module=&company=radware&user_id=
The Radware LBaaS driver is available in Icehouse trunk!
Slide 3
![Page 4: OpenStack Networking: Developing and Delivering a Commercial Solution for Load Balancing as a Service](https://reader034.vdocuments.us/reader034/viewer/2022052619/55515056b4c905f2288b54ab/html5/thumbnails/4.jpg)
Radware involvement in OpenStack Introduction of Drivers in Havana Why would you want to have an open source driver? How to get your code to be incorporated in open stack? Q&A
![Page 5: OpenStack Networking: Developing and Delivering a Commercial Solution for Load Balancing as a Service](https://reader034.vdocuments.us/reader034/viewer/2022052619/55515056b4c905f2288b54ab/html5/thumbnails/5.jpg)
Before Havana
• To implement L2-L3 functionality you had to implement a Neutron
Plugin.
– Multiple plug-in with similar code duplicated (ex: OVS, linux-bridge)
– You could use one Plugin. No support for multi-vendor solutions at the
same time
• To implement an extension you had to use “mix in” and the actual
implementation occurred in the extension code.
– DHCP
– L3 Router
– LBaaS – HA Proxy only
![Page 6: OpenStack Networking: Developing and Delivering a Commercial Solution for Load Balancing as a Service](https://reader034.vdocuments.us/reader034/viewer/2022052619/55515056b4c905f2288b54ab/html5/thumbnails/6.jpg)
Havana “Driver” Mechanism
• Modular Layer 2 (ML2) Plugin
– Driver Mechanism
• Type Drivers – Flat, Local, VLAN, GRE, VxLan
• Mechanism Drivers – OVS, linux-bridge, Hyper-V. Vendor Specific: Arista, Cisco Nexus, Tail-f NCS
• LBaaS extension
– Driver Mechanism – HA Proxy. Vendor Specific: Radware
– For Icehouse - Embrane, LVS, etc.
• VPNaaS extension
– OpenSWAN
• FWaaS extension
– IP Tables
![Page 7: OpenStack Networking: Developing and Delivering a Commercial Solution for Load Balancing as a Service](https://reader034.vdocuments.us/reader034/viewer/2022052619/55515056b4c905f2288b54ab/html5/thumbnails/7.jpg)
Neutron Server
LBaaS
OpenStack Havana LBaaS - Architecture
Slide 7
Framework
Vendor based Radware Driver HA Proxy Driver
Network Node
HA Proxy Driver Agent
HA Proxy Process
HA Proxy Process
![Page 8: OpenStack Networking: Developing and Delivering a Commercial Solution for Load Balancing as a Service](https://reader034.vdocuments.us/reader034/viewer/2022052619/55515056b4c905f2288b54ab/html5/thumbnails/8.jpg)
Radware involvement in OpenStack Introduction of Drivers in Havana Why would you want to have an open source driver? How to get your code to be incorporated in open stack? Q&A
![Page 9: OpenStack Networking: Developing and Delivering a Commercial Solution for Load Balancing as a Service](https://reader034.vdocuments.us/reader034/viewer/2022052619/55515056b4c905f2288b54ab/html5/thumbnails/9.jpg)
Benefits of Open Source Driver
• Your customer cares!
• Better quality
– Driver is tested with everything else
– Code is reviewed by the community
– Features that break your code are detected early
– Other people fix your driver
– 3rd Party testing
• Best compliance
– Driver is always in compliance to trunk
• Community spirit - You are giving and not just taking
– You must contribute to the effort to get accepted (Code, QA, Documentation, Review)
![Page 10: OpenStack Networking: Developing and Delivering a Commercial Solution for Load Balancing as a Service](https://reader034.vdocuments.us/reader034/viewer/2022052619/55515056b4c905f2288b54ab/html5/thumbnails/10.jpg)
Radware involvement in OpenStack Introduction of Drivers in Havana Why would you want to have an open source driver? How to get your code to be incorporated in OpenStack? Q&A
![Page 11: OpenStack Networking: Developing and Delivering a Commercial Solution for Load Balancing as a Service](https://reader034.vdocuments.us/reader034/viewer/2022052619/55515056b4c905f2288b54ab/html5/thumbnails/11.jpg)
What’s documented
• How to join (CLA, etc.)
• How to start coding (Low hanging bugs)
• How to test
• How to program in Python
![Page 12: OpenStack Networking: Developing and Delivering a Commercial Solution for Load Balancing as a Service](https://reader034.vdocuments.us/reader034/viewer/2022052619/55515056b4c905f2288b54ab/html5/thumbnails/12.jpg)
What we learned as we went along
• Be prepared for a slow start
• The 1st contribution to neutron had 8 lines of code and 16
lines of tests – 1st Patch set was committed on 4th Dec 2012
– 11th and last Patch set was approved for trunk on 2nd Jan 2013
• The next contributions went much faster
Slide 12
![Page 13: OpenStack Networking: Developing and Delivering a Commercial Solution for Load Balancing as a Service](https://reader034.vdocuments.us/reader034/viewer/2022052619/55515056b4c905f2288b54ab/html5/thumbnails/13.jpg)
• Its about the process
– Understand the process
– Master the tools
– Python is not just a programming language, you need to be pythonic
• PEP8 on steroids - FLAKE8
• Many developers do not use debuggers
What we learned as we went along
Slide 13
Review BUG Report
Blue Print Coding Review Trunk Back port
Review Launchpad
Launchpad FLAKE8,GIT, Gerrit Review GIT Back port
![Page 14: OpenStack Networking: Developing and Delivering a Commercial Solution for Load Balancing as a Service](https://reader034.vdocuments.us/reader034/viewer/2022052619/55515056b4c905f2288b54ab/html5/thumbnails/14.jpg)
What we learned as we went along
• Its about the people and community – It’s a developers culture – put your developers at the front
– IRC – Main communication channel
• #openstack-dev
• #openstack-infra
• IRC meetings - #openstack-meeting
– OpenStack Mailing List (ML) – Secondary communication channel
– Balance community work with vendor specific work (Code, Bugs, Code Review)
– OpenStack Summit
Slide 14
![Page 15: OpenStack Networking: Developing and Delivering a Commercial Solution for Load Balancing as a Service](https://reader034.vdocuments.us/reader034/viewer/2022052619/55515056b4c905f2288b54ab/html5/thumbnails/15.jpg)
What we learned as we went along
• Its about quality and testability
– Unit Tests are mandatory
• Tests validate contract and behavior
• You want to detect when your code gets broken
• Other people want to know if they broke your code
– 3rd Party testing
• Be prepared to have a system that can be triggered from gerrit and test
path-sets including your product end-to-end
• Starting icehouse-2, you can’t have vendor’s code without 3rd party
testing
Slide 15
![Page 16: OpenStack Networking: Developing and Delivering a Commercial Solution for Load Balancing as a Service](https://reader034.vdocuments.us/reader034/viewer/2022052619/55515056b4c905f2288b54ab/html5/thumbnails/16.jpg)
Radware involvement in OpenStack Introduction of Drivers in Havana Why would you want to have an open source driver? How to get your code to be incorporated in OpenStack? Q&A
![Page 17: OpenStack Networking: Developing and Delivering a Commercial Solution for Load Balancing as a Service](https://reader034.vdocuments.us/reader034/viewer/2022052619/55515056b4c905f2288b54ab/html5/thumbnails/17.jpg)
Thank You www.radware.com