Jump to: navigation, search

Difference between revisions of "Octavia/Roadmap"

(Major milestone: Octavia Version 0.5)
Line 5: Line 5:
  
 
=== Major milestone: Octavia Version 0.5 ===
 
=== Major milestone: Octavia Version 0.5 ===
Description: First generally usable release of Octavia. Delivers load balancing services on multiple Nova VMs or containers. Single, centralized command and control (not scalable).
+
Description: First generally usable release of Octavia. Delivers load balancing services on multiple Nova VMs (amphora). Single, centralized command and control (not scalable).
  
 
OpenStack release target: '''Liberty'''
 
OpenStack release target: '''Liberty'''
Line 14: Line 14:
 
* Updated horizon UI
 
* Updated horizon UI
 
* Octavia driver for Neutron LBaaS
 
* Octavia driver for Neutron LBaaS
 
  
 
'''Octavia progress:'''
 
'''Octavia progress:'''
Line 27: Line 26:
 
** Octavia amphora command and control
 
** Octavia amphora command and control
 
** Neutron LBaaS service deployment
 
** Neutron LBaaS service deployment
* Resilient topologies for Octavia amphorae (ie. active/standby)
 
 
* Become reference implementation for Neutron LBaaS
 
* Become reference implementation for Neutron LBaaS
 +
* Amphora spares pool support
 +
* Basic amphora failover support
  
=== Major milestone: Octavia Version 1.0 ===
+
=== Major milestone: Octavia Version 0.8 ===
Description: Operator-scale release of Octavia. Delivers load balancing services on multiple Nova VMs or containers, and has scalable command and control layer.
+
Description: Operator-scale release of Octavia. Delivers load balancing services on multiple Nova VMs (Amphora), and has scalable command and control layer.
  
 
OpenStack release target: '''Mitaka'''
 
OpenStack release target: '''Mitaka'''
Line 37: Line 37:
 
'''Neutron-LBaaS progress:'''
 
'''Neutron-LBaaS progress:'''
 
* L7 switching support
 
* L7 switching support
 
+
* Single call create
  
 
'''Octavia progress:'''
 
'''Octavia progress:'''
* Multiple loadbalancers per amphora (or amphora groups)
+
* Resilient topologies for Octavia amphorae (ie. active/standby)
 
* L7 switching support
 
* L7 switching support
 
* Hooks for Heat integration
 
* Hooks for Heat integration
* Octavia operator API
 
* Horizon UI for operators
 
 
* Fully scalable and HA command-and-control layer
 
* Fully scalable and HA command-and-control layer
 +
* Single call create
  
=== Major milestone: Octavia Version 2.0 ===
+
=== Major milestone: Octavia Version 0.9 ===
Description: "Web scale" release of Octavia. Delivers all the features of 1.0, plus allows for horizontal scaling of individual load-balanced services. (ie. n-node active-active topologies).
+
Description: Retire LBaaS v1 API, add support for IPv6, and additional neutron network configurations.
  
OpenStack release target: '''???'''
+
OpenStack release target: ''Newton'''
 +
 
 +
'''Neutron-LBaaS progress:'''
 +
* LBaaS API v1 has been removed
 +
* Support for creating load balancers using a neutron network id
  
 
Octavia progress:
 
Octavia progress:
* Active-active topology support with "Two layer" load balancing topology implemented where layers 1-4 handled by routing infrastructure, and 4-7 handled by Octavia amphorae acting in parallel.
+
* Add IPv6 support
* Improvements to Horizon UI for operators
+
* Support for host routes and subnets without DHCP enabled
 +
* Amphora certificate and key storage is now in an encrypted ramfs
 +
 
  
 
=== Considerations for Octavia 3.0+ ===
 
=== Considerations for Octavia 3.0+ ===

Revision as of 00:49, 21 January 2017

Octavia Roadmap

This document describes the development roadmap for the OpenStack Octavia load balancer as a service project. It should be updated periodically by Octavia team members as the group agrees on development priorities.

Long-term timeline

Major milestone: Octavia Version 0.5

Description: First generally usable release of Octavia. Delivers load balancing services on multiple Nova VMs (amphora). Single, centralized command and control (not scalable).

OpenStack release target: Liberty

Neutron-LBaaS progress:

  • Flavor support
  • TLS support
  • Updated horizon UI
  • Octavia driver for Neutron LBaaS

Octavia progress:

  • Octavia delivers all functionality of Neutron LBaaS user API
  • Horizon UI updates for Neutron LBaaS v2
  • Octavia amphora image building scripts
  • Neutron LBaaS driver interface for Octavia
  • Non-voting Neutron third-party CI for Octavia to ensure Neutron code changes don't break Octavia (possibly updated to voting CI, once Octavia supplants legacy reference driver).
  • Command-and-control layer handles:
    • Octavia amphora lifecycle management
    • Octavia amphora monitoring
    • Octavia amphora command and control
    • Neutron LBaaS service deployment
  • Become reference implementation for Neutron LBaaS
  • Amphora spares pool support
  • Basic amphora failover support

Major milestone: Octavia Version 0.8

Description: Operator-scale release of Octavia. Delivers load balancing services on multiple Nova VMs (Amphora), and has scalable command and control layer.

OpenStack release target: Mitaka

Neutron-LBaaS progress:

  • L7 switching support
  • Single call create

Octavia progress:

  • Resilient topologies for Octavia amphorae (ie. active/standby)
  • L7 switching support
  • Hooks for Heat integration
  • Fully scalable and HA command-and-control layer
  • Single call create

Major milestone: Octavia Version 0.9

Description: Retire LBaaS v1 API, add support for IPv6, and additional neutron network configurations.

OpenStack release target: Newton'

Neutron-LBaaS progress:

  • LBaaS API v1 has been removed
  • Support for creating load balancers using a neutron network id

Octavia progress:

  • Add IPv6 support
  • Support for host routes and subnets without DHCP enabled
  • Amphora certificate and key storage is now in an encrypted ramfs


Considerations for Octavia 3.0+

The features described here are not presently planned for any official release of Octavia, but may make sense to develop at some point given user or operator demand (and may be moved to an earlier release cycle as a result of this), and probably still fall within scope of the larger Octavia project:

  • Advanced logging configurations
  • Log offloading
  • Integration with to-be-defined OpenStack GSLB project
  • UDP loadbalancing support
  • Additional L7 protocol support (beyond HTTP)
  • Advanced metrics / instrumentation support

Short-term timeline

Highest priority:

  • Get reviews and consensus on the same to finish work for Liberty release (Octavia 0.5)


Medium priority:

  • Collect requirements for Operator API
  • Finish Neutron LBaaS driver for Octavia
  • Get Octavia to work in devstack

Outstanding design questions

  • We need to start putting together specifications for the Operator API for Octavia.
  • Create mock-ups of and start coding Horizon UI for Octavia operators
  • Define the Octavia/Heat interface and write it