Jump to: navigation, search

Difference between revisions of "Octavia/Roadmap"

Line 38: Line 38:
 
'''Neutron-LBaaS progress:'''
 
'''Neutron-LBaaS progress:'''
 
* L7 switching support
 
* L7 switching support
* Single call create
+
* Horizon dashboard for LBaaSv2
  
  
Line 55: Line 55:
 
'''Neutron-LBaaS progress:'''
 
'''Neutron-LBaaS progress:'''
 
* LBaaS API v1 has been removed
 
* LBaaS API v1 has been removed
 +
* Single call create
 
* Support for creating load balancers using a neutron network id
 
* Support for creating load balancers using a neutron network id
  
Line 81: Line 82:
 
* Support for PKCS7 intermediate certificate bundles
 
* Support for PKCS7 intermediate certificate bundles
  
=== Considerations for Octavia 3.0+ ===
+
=== Major milestone: Octavia Version 1.0 - Planned ===
 +
Description: Finish neutron-lbaas merge into Octavia and enable Active/Active topology
 +
 
 +
Note: These are planned goals for this release but not all of these goals may be accomplished in this OpenStack release.
 +
 
 +
OpenStack release target: '''Pike'''
 +
 
 +
'''Neutron-LBaaS progress:'''
 +
* Neutron-LBaaS API pass through proxy to Octavia API
 +
 
 +
 
 +
'''Octavia progress:'''
 +
* Octavia v2 API compatible with neutron-lbaas v2 API
 +
* Active/Active topology
 +
* OpenStack client plugin
 +
 
 +
 
 +
=== Considerations for Octavia 1.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:
 
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:
  
 +
* Active/Active dynamic scaling
 +
* Admin API support for amphora upgrades
 
* Advanced logging configurations
 
* Advanced logging configurations
 +
* Amphora container support
 +
* Flavor support
 
* Log offloading
 
* Log offloading
* Integration with to-be-defined OpenStack GSLB project
+
* Integration with to-be-defined OpenStack GSLB project Kosmos
 +
* OpenStack TaskFlow Jobboard support
 +
* Performance enhancements
 +
** DPDK
 +
** PCI-Passthrough
 +
** SRIOV
 +
* Timeout configuration support per load balancer
 
* UDP loadbalancing support
 
* UDP loadbalancing support
 
* Additional L7 protocol support (beyond HTTP)
 
* Additional L7 protocol support (beyond HTTP)
 
* Advanced metrics / instrumentation support
 
* 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
 

Revision as of 01:27, 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
  • Horizon dashboard for LBaaSv2


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
  • Single call create
  • 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

Major milestone: Octavia Version 0.10 - Work In Progress

Description: Octavia / LBaaS spin out of neutron, start work to merge neutron-lbaas into Octavia

OpenStack release target: Ocata

Neutron-LBaaS progress:

  • Namespace driver agent rescheduling
  • Namespace driver haproxy process monitoring


Octavia progress:

  • Adds keystone suport to Octavia API
  • Adds quota support to Octavia API
  • Adds policy support to Octavia API
  • Amphora images now support systemd
  • Amphora images can now be built with Ubuntu Xenial
  • Support for PKCS7 intermediate certificate bundles

Major milestone: Octavia Version 1.0 - Planned

Description: Finish neutron-lbaas merge into Octavia and enable Active/Active topology

Note: These are planned goals for this release but not all of these goals may be accomplished in this OpenStack release.

OpenStack release target: Pike

Neutron-LBaaS progress:

  • Neutron-LBaaS API pass through proxy to Octavia API


Octavia progress:

  • Octavia v2 API compatible with neutron-lbaas v2 API
  • Active/Active topology
  • OpenStack client plugin


Considerations for Octavia 1.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:

  • Active/Active dynamic scaling
  • Admin API support for amphora upgrades
  • Advanced logging configurations
  • Amphora container support
  • Flavor support
  • Log offloading
  • Integration with to-be-defined OpenStack GSLB project Kosmos
  • OpenStack TaskFlow Jobboard support
  • Performance enhancements
    • DPDK
    • PCI-Passthrough
    • SRIOV
  • Timeout configuration support per load balancer
  • UDP loadbalancing support
  • Additional L7 protocol support (beyond HTTP)
  • Advanced metrics / instrumentation support