Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
OpenStack Networking (Neutron)
Developing and delivering commercial
solution for load balancing as a service
Samuel Bercovici
Director PM, Automation & Cloud Integration
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
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
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
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
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
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
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
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)
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
What’s documented
•

How to join (CLA, etc.)

•

How to start coding (Low hanging bugs)

•

How to test

•

How to program in Python
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
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
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
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
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
Thank You
www.radware.com

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
  • 6. 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
  • 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