OpenStack Networking: Developing and Delivering a Commercial Solution for Load Balancing as a...

17
OpenStack Networking (Neutron) Developing and delivering commercial solution for load balancing as a service Samuel Bercovici Director PM, Automation & Cloud Integration

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 of OpenStack Networking: Developing and Delivering a Commercial Solution for Load Balancing as a...

Page 1: OpenStack Networking:  Developing and Delivering a Commercial Solution for Load Balancing as a Service

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

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

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

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

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

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

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

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

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

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

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

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

• 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

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

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

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

Thank You www.radware.com