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/
Report
Share
Report
Share
1 of 17
Download to read offline
More Related Content
OpenStack Networking: Developing and Delivering a Commercial Solution for Load Balancing as a Service
1. OpenStack Networking (Neutron)
Developing and delivering commercial
solution for load balancing as a service
Samuel Bercovici
Director PM, Automation & Cloud Integration
2. 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
3. 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&proj
ect_type=all&module=&company=radware&user_id=
– Icehouse http://www.stackalytics.com/?release=icehouse&metric=commits&pr
oject_type=all&module=&company=radware&user_id=
The Radware LBaaS driver is available in Icehouse
trunk!
Slide 3
4. 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
5. 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
7. OpenStack Havana LBaaS - Architecture
Neutron Server
LBaaS
Radware Driver
Framework
HA Proxy Driver
Vendor based
Network Node
HA Proxy Driver
Agent
HA Proxy
Process
HA Proxy
Process
Slide 7
8. 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
9. 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)
10. 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
11. What’s documented
•
How to join (CLA, etc.)
•
How to start coding (Low hanging bugs)
•
How to test
•
How to program in Python
12. 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
13. What we learned as we went along
•
Its about the process
– Understand the process
BUG Report
Blue Print
Review
Coding
Review
Trunk
Back port
Review
GIT
Back port
– Master the tools
Launchpad
Launchpad
Review
FLAKE8,GIT, Gerrit
– Python is not just a programming language, you need to be pythonic
•
•
PEP8 on steroids - FLAKE8
Many developers do not use debuggers
Slide 13
14. 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
15. 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
16. 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