Jump to: navigation, search

Difference between revisions of "Neutron/LBaaS"

m
(10 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
= Overview =
 
= Overview =
LBaaS (Load-balancer-as-a-Service) is Quantum extension that introduces load balancing feature set into the core. It became a sub-project of Quantum per decisions in "San Diego Oct-2012 Design Summit" since there was huge interest from Vendors and Community to participate in this effort.
+
LBaaS (Load-Balancing-as-a-Service) is currently an advanced service of Neutron. It allows for proprietary ''and'' open-source load balancing technologies to drive the actual load balancing of requests. Thus, an OpenStack operator can choose which back-end technology to use. The long-term vision for the project, however, is to provide a single API that allows a user to seamlessly move between different load balancing technologies should the operator choose to do so. While LBaaS is currently part of Neutron, plans are underway to make it a separate project within Openstack yet still under the Networking umbrella. Please see below to see what is currently being worked on for the current cycle.
  
= Plans for Juno =
+
==== Features ====
 
+
''TODO: Fill out''
'''Most of us hang-out in the IRC #neutron-lbaas channel'''
 
 
 
=== Neutron LBaaS Architecture ===
 
  
 +
==== Neutron LBaaS Architecture ====
 
[[Neutron_LBaaS_Arch]]
 
[[Neutron_LBaaS_Arch]]
  
=== Blueprints being discussed as of 5/23/2014 ===
+
= How do I contribute? =
# LBaaS APIs and Object Model Improvements: https://review.openstack.org/#/c/89903/5/specs/juno/lbaas-api-and-objmodel-improvement.rst
+
First of all thanks for joining our cause! The best way to contribute is to join the discussions on IRC and the mailing list. To get up to speed however, please take a look at the requirements section to see what is on the road-map. It would also benefit you to take a look at the weekly standup etherpad document that gets updated every week. This document will get you up to speed on what each individual team/individual is currently working on. Lastly, don't hesitate to ask community members questions!
 
 
=== etherpad proposals being discussed on the ML ===
 
# https://etherpad.openstack.org/p/neutron-lbaas-api-proposals
 
# https://etherpad.openstack.org/p/neutron-lbaas-ssl-l7
 
 
 
=== Requirements and Use Cases for LBaaS ===
 
# https://wiki.openstack.org/wiki/Neutron/LBaaS/requirements#Operator_Requirements
 
# https://docs.google.com/document/d/1Ewl95yxAMq2fO0Z6Dz6fL-w2FScERQXQR1-mXuSINis/edit#
 
 
 
=== Atlanta OpenStack Summit Sessions ===
 
# Summit 2nd session: https://etherpad.openstack.org/p/neutron-lbaas-ssl-l7
 
# Summit 1st session: https://etherpad.openstack.org/p/juno-neutron-lbaas
 
# Adhoc session around "Making a separate service from Neutron": https://etherpad.openstack.org/p/AdvancedServices_and_Neutron
 
 
 
= Agenda for Havana OpenStack Summit =
 
https://etherpad.openstack.org/havana-quantum-lbaas
 
 
 
== LBaaS Plan for Havana ==
 
[[Quantum/LBaaS/HavanaPlan]]
 
== Current Design Discussions + whats need to be done ==
 
# Initial Discussions Document [[NetworkLoadBalancingIntegrationsWithQuantum]]
 
#* May need to specify workflow of LB provisioning in all scenarios that LBaaS is going to support.
 
# Object Model proposal - [[LBaaS/CoreResourceModel/proposal]]
 
#* All agreed upon.  Might need minor update to include resources needed for device management (HW device catalog)
 
# Tenant REST API - main proposal [[Quantum/LBaaS/API_1.0]]
 
#* Discussion about tenant_id in URL ended with most people agreeing to go with 2.0 style or URL (no tenant_id in URL)
 
# Service Insertion - Spring Proposal [http://wiki.openstack.org/QuantumServicesInsertion ServicesInsertion] and Fall Proposal [[Quantum/ServiceInsertion]]
 
#* Things to be discussed:
 
#*# Insertion modes: what is simplest and what should be implemented in the first place.
 
#*# changes in existing resource model (router)
 
#*# service catalog configuration
 
#*# API
 
# Agreed on:
 
## '''Single Plugin per service type at a time. Vendor specific device access is implemented via drivers. Drivers could provide vendor-specific extra features. 1:1 mapping between extensions and plugins.'''
 
# Provider API / Device Management - proposal [[Quantum/DeviceManagementAPI]]
 
#* The document describes API/process of registering a physical appliance as an LB device.
 
# Balancer provisioning - proposal [[Quantum/LBaaS/Provisioning/proposal]]
 
#* The document needs to be updated with workflows that correspond to (1)
 
# Overall code architecture proposal [[Quantum/LBaaS/Architecture]]
 
#* Contains overall picture of components and what they do.  Sequence diagram needs to be updated according to latest decision about async execution.
 
# Miscellaneous
 
## Device Locking - proposal [[Quantum/LBaaS/Architecture/ConcurrentRequests]]
 
## Asynchronous execution (discussion):
 
##* Client gets immediate response with Job ID which it polls later on. May need to have short design spec on this.
 
# Inter-service resource dependency (discussion):
 
#* Resources of different advanced services may depend on one another. Solution options: (?)
 
# Support "Service Type" in LBaaS API. https://docs.google.com/document/d/1H_OQa-Vm4oqp-Cs-s47xhatUq4mMLZWZVTIu0ypHLlA/edit
 
 
 
= Meetings =
 
We have a weekly meeting on every "Tuesday at 9:00 AM (Pacific TIme)" for discussing the Project Status, Issues, Work Item Rebalancing etc.
 
 
 
== Agenda for 10/23/2012 Meeting ==
 
* Work Planning and Tasks Assignment
 
* Discuss Deliverables for Grizzly 1 as per http://wiki.openstack.org/GrizzlyReleaseSchedule
 
* Dev Environment Set up Discussions  - http://wiki.openstack.org/QuantumDevelopment
 
* Proposal - http://wiki.openstack.org/LBaaS/CoreResourceModel/proposal
 
* Etherpad - https://etherpad.openstack.org/grizzly-quantum-lbaas
 
* [[BluePrints]] - (TBD)
 
 
 
Phones:
 
 
 
* (855) 227-1767(USA) - 08003765931(UK)  Conf. Code 7152259
 
* 0008006103229 (India – Toll Free)
 
* 81080024322044 (Moscow), 4992701688(Moscow)
 
  
Web Conf: https://myroom-na.adobeconnect.com/anandpalanisamy/ https://www.intercallonline.com/portlets/scheduling/viewNumbers/listNumbersByCode.do?confCode=7152259&name=&email=&selectedProduct=joinMeeting
+
= Communication Channels =
 +
* '''IRC:''' #openstack-lbaas
 +
* '''IRC Weekly Meeting:''' #openstack-meeting every Thursday @ 14:00 UTC
 +
* '''Mailing List:''' openstack-dev [at] lists [dot] openstack [dot] org. Please prefix subject with '[openstack-dev][Neutron][LBaaS]'
  
= Efforts Summary =
+
= Relevant Links =
The following content summarizes the effort that the community put together to reach the "One-LBaaS for [[OpenStack]]" goal.
+
=== Links Related to Community Process ===
 +
* [https://etherpad.openstack.org/p/neutron-lbaas-weekly-standup Weekly Standup Info ]
 +
* [[Network/LBaaS#Agenda|Weekly Meeting Agenda]]
 +
* [https://etherpad.openstack.org/p/lbaas_reviews Current reviews ]
  
=== Agenda for Grizzly [[OpenStack]] Summit ===
+
=== Requirements, Use Cases & Operator Data ===
See http://etherpad.openstack.org/grizzly-quantum-lbaas
+
* [https://wiki.openstack.org/wiki/Neutron/LBaaS/requirements Requirements ]
 +
* [https://docs.google.com/document/d/1Ewl95yxAMq2fO0Z6Dz6fL-w2FScERQXQR1-mXuSINis/edit# Use Cases ]
 +
* [https://docs.google.com/spreadsheet/ccc?key=0Ar1FuMFYRhgadDVXZ25NM2NfbGtLTkR0TDFNUWJQUWc#gid=0 Operator Feature Usage & Metrics ]
  
= Link to Existing Resources =
+
=== Links Related to Juno Release===
== Equilibrium (Mirantis LBaaS) ==
+
==== Atlanta OpenStack Summit Sessions ====
* Project overview: https://docs.google.com/document/pub?id=1DRgQhZJ73EyzQ2KvzVQd7Li9YEL7fXWBp8reMdAEhiM
+
* [https://etherpad.openstack.org/p/juno-neutron-lbaas Session #1]
* Screencast: http://www.youtube.com/watch?v=NgAL-kfdbtE
+
* [https://etherpad.openstack.org/p/neutron-lbaas-ssl-l7 Session #2]
* REST API: [https://github.com/Mirantis/openstack-lbaas/wiki/REST%20API https://github.com/Mirantis/openstack-lbaas/wiki/REST%20API]
+
* [https://etherpad.openstack.org/p/AdvancedServices_and_Neutron Adhoc Session on "Making a separate service from Neutron"]
* CLI tool: https://github.com/Mirantis/openstack-lbaas-cli/wiki
 
* Roadmap: https://docs.google.com/document/pub?id=1yJZXI0WfpAZKhHaLQu7LaxGLrs4REmn0a5bYVbvsCTQ
 
* Code repositories:
 
** Main: https://github.com/Mirantis/openstack-lbaas
 
** CLI tool: https://github.com/Mirantis/openstack-lbaas-cli
 
** Integration with Horizon (Essex): https://github.com/Mirantis/openstack-lbaas-horizon
 
** F5 BigIP Driver: https://github.com/gapinc/openstack-lbaas-f5-bigip
 
* Quantum integration: https://docs.google.com/document/pub?id=1tZxt-AiSBVtcadUymWGskTzw6eD_Tfgp9sKeCxVAUG8
 
  
== Atlas project ==
+
==== LBaaS Juno Mid Cycle Meeting ====
* Atlas project resources: http://wiki.openstack.org/Atlas/Resources
+
* [https://etherpad.openstack.org/p/neutron-juno-lbaas-mid-cycle Planning & Logistics ]
 +
* [https://etherpad.openstack.org/p/1gsTm4GBdu Agenda & Preparation ]
 +
* [https://etherpad.openstack.org/p/juno-lbaas-mid-cycle-hackathon Notes From Hackathon ]
  
== eBay/PayPal Project ==
+
==== Blueprints Actively Worked On ====
* Overview, Resource Model, APIs & [[PayLoads]] - [[attachment:eBay-PayPal-LBaaS]]
+
* [https://blueprints.launchpad.net/neutron/+spec/lbaas-api-and-objmodel-improvement LBaaS API and object model improvement ]
* Updated resource model for Provider Side API : https://wiki.openstack.org/wiki/File:Ebayinc-LBMS-ResourceModel.png
+
* [https://blueprints.launchpad.net/neutron/+spec/neutron-flavor-framework Provide better user-facing mechanism to chose service capabilities ]
 +
* [https://blueprints.launchpad.net/neutron/+spec/lbaas-ref-impl-tls-support LBaaS reference implementation TLS support ]
 +
* [https://blueprints.launchpad.net/neutron/+spec/lbaas-ssl-termination Support SSL Termination in Neutron LBaaS ]
 +
* [https://blueprints.launchpad.net/neutron/+spec/lbaas-l7-rules LBaaS Layer 7 rules ]
 +
* [https://blueprints.launchpad.net/barbican/+spec/api-add-container-registration *Barbican BP* Add a service registration feature to the Containers resource ]
 +
* [https://blueprints.launchpad.net/neutron/+spec/neutron-services-insertion-chaining-steering Neutron Services Insertion, Chaining, and Steering ]
  
== LBaaS w/ resource model focused on config re-use ==
+
==== Other Links ====
* [[Quantum/LBaaS/LBaaS_reuse_option]] - resource model & API suggestions (Serge Maskalik)
+
* https://etherpad.openstack.org/p/neutron-lbaas-api-proposals
* [[LBaaS/CoreResourceModel/proposal]] - revised resource model suggestion (Youcef Laribi)
+
* https://etherpad.openstack.org/p/neutron-lbaas-ssl-l7
 +
* https://etherpad.openstack.org/p/LBaaS_project_name_vote
  
== LBaaS Integrated with Quantum (Sam Bercovici) ==
+
= Neutron LBaaS BoneYard =
* https://docs.google.com/a/nicira.com/document/d/10HpTpvRzjqDhnGnWFdMv19mENbb_TsMMvAAozzSu8hc/edit
+
This page contains older content that is no longer being kept up to date. Use at your own risk :-)
  
== LBaaS with Quantum (Alex Gosse) ==
+
[[LBaaS/BoneYard]]
* https://docs.google.com/a/nicira.com/document/pub?id=1B8Xu8Td05dd_ar4aTej8pA3UDH8f3-bE8h5Oyg6Z2OU
 

Revision as of 03:34, 16 September 2015

Overview

LBaaS (Load-Balancing-as-a-Service) is currently an advanced service of Neutron. It allows for proprietary and open-source load balancing technologies to drive the actual load balancing of requests. Thus, an OpenStack operator can choose which back-end technology to use. The long-term vision for the project, however, is to provide a single API that allows a user to seamlessly move between different load balancing technologies should the operator choose to do so. While LBaaS is currently part of Neutron, plans are underway to make it a separate project within Openstack yet still under the Networking umbrella. Please see below to see what is currently being worked on for the current cycle.

Features

TODO: Fill out

Neutron LBaaS Architecture

Neutron_LBaaS_Arch

How do I contribute?

First of all thanks for joining our cause! The best way to contribute is to join the discussions on IRC and the mailing list. To get up to speed however, please take a look at the requirements section to see what is on the road-map. It would also benefit you to take a look at the weekly standup etherpad document that gets updated every week. This document will get you up to speed on what each individual team/individual is currently working on. Lastly, don't hesitate to ask community members questions!

Communication Channels

  • IRC: #openstack-lbaas
  • IRC Weekly Meeting: #openstack-meeting every Thursday @ 14:00 UTC
  • Mailing List: openstack-dev [at] lists [dot] openstack [dot] org. Please prefix subject with '[openstack-dev][Neutron][LBaaS]'

Relevant Links

Links Related to Community Process

Requirements, Use Cases & Operator Data

Links Related to Juno Release

Atlanta OpenStack Summit Sessions

LBaaS Juno Mid Cycle Meeting

Blueprints Actively Worked On

Other Links

Neutron LBaaS BoneYard

This page contains older content that is no longer being kept up to date. Use at your own risk :-)

LBaaS/BoneYard