Jump to: navigation, search

Difference between revisions of "Octavia/Roadmap"

(22 intermediate revisions by the same user not shown)
Line 64: Line 64:
 
* Amphora certificate and key storage is now in an encrypted ramfs
 
* Amphora certificate and key storage is now in an encrypted ramfs
  
=== Major milestone: Octavia Version 0.10 - Work In Progress ===
+
=== Major milestone: Octavia Version 0.10 ===
 
Description: Octavia / LBaaS spin out of neutron, start work to merge neutron-lbaas into Octavia
 
Description: Octavia / LBaaS spin out of neutron, start work to merge neutron-lbaas into Octavia
  
Line 82: Line 82:
 
* Support for PKCS7 intermediate certificate bundles
 
* Support for PKCS7 intermediate certificate bundles
  
=== Major milestone: Octavia Version 1.0 - Planned ===
+
=== Major milestone: Octavia Version 1.0 ===
 
Description: Finish neutron-lbaas merge into Octavia and enable Active/Active topology
 
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'''
 +
 
 +
'''Octavia progress:'''
 +
* Octavia v2 API compatible with neutron-lbaas v2 API
 +
* OpenStack client plugin
 +
* Admin API support for amphora upgrades
 +
* Health monitoring on alternate IPs and/or ports
 +
 
 +
=== Major milestone: Octavia Version 2.0 ===
 +
Description: General enhancements and preparation for neutron-lbaas deprecation
  
OpenStack release target: '''Pike'''
+
OpenStack release target: '''Queens'''
  
 
'''Neutron-LBaaS progress:'''
 
'''Neutron-LBaaS progress:'''
 
* Neutron-LBaaS API pass through proxy to Octavia API
 
* Neutron-LBaaS API pass through proxy to Octavia API
 +
* Start deprecation of neutron-lbaas
 +
 +
'''Octavia progress:'''
 +
* Octavia Dashboard enhancements
 +
* Batch pool member enhancements
 +
* Neutron QoS support for load balancer VIP
 +
* Castellan support for TLS offload certificate storage
 +
 +
=== Major milestone: Octavia Version 3.0 ===
 +
Description: Enable Provider drivers and UDP protocol support
 +
 +
OpenStack release target: '''Rocky'''
 +
 +
'''Neutron-LBaaS progress:'''
 +
* Maintenance - Under deprecation feature freeze
 +
 +
'''Octavia progress:'''
 +
* Provider driver support
 +
* UDP loadbalancing support
 +
* Backup or "Sorry" page support
 +
* Timeout configuration support per load balancer
 +
 +
=== Major milestone: Octavia Version 4.0 ===
 +
Description: Enable flavors and TLS enhnacements
 +
 +
OpenStack release target: '''Stein'''
 +
 +
'''Neutron-LBaaS progress:'''
 +
* Maintenance - Under deprecation feature freeze
 +
 +
'''Octavia progress:'''
 +
* Backend re-encryption
 +
* Client certificate authentication
 +
* [https://docs.openstack.org/octavia/stein/admin/flavors.html Flavors]
 +
* Kernel TCP splicing
 +
 +
=== Major milestone: Octavia Version 5.0 ===
 +
Description: TBD
 +
 +
Note: These are planned goals for this release but not all of these goals may be accomplished in this OpenStack release.
  
 +
OpenStack release target: '''Train'''
 +
 +
'''Neutron-LBaaS progress:'''
 +
* End-of-Life - There was no '''Train''' release of neutron-lbaas
  
 
'''Octavia progress:'''
 
'''Octavia progress:'''
* Octavia v2 API compatible with neutron-lbaas v2 API
+
* [https://docs.openstack.org/octavia/train/admin/log-offloading.html Log offloading]
* Active/Active topology
+
* VIP Access Control Lists (ACL)
* OpenStack client plugin
+
* Volume backed Amphorae
 +
* Additive only batch member updates
 +
 
 +
=== Major milestone: Octavia Version 6.0 ===
 +
Description: TBD
 +
 
 +
OpenStack release target: '''Ussuri'''
 +
 
 +
'''Progress:'''
 +
* Fine grained ssl cipher and protocol configuration support
 +
* OpenStack TaskFlow Jobboard support - Technical Preview
 +
* Load Balancer Availability Zones
 +
 
 +
=== Major milestone: Octavia Version 7.0 ===
 +
Description: TBD
 +
 
 +
OpenStack release target: ''Victoria''
 +
 
 +
'''Progress:'''
 +
* Front end HTTP/2 and ALPN
 +
* Proxy Protocol version 2
 +
* Image tags in flavors
 +
* TLS versions
 +
* Statistics processing improvements
 +
 
 +
=== Major milestone: Octavia Version 8.0 ===
 +
Description: TBD
 +
 
 +
OpenStack release target: ''Wallaby''
 +
 
 +
'''Progress:'''
 +
* aarch64 support
 +
* HTTP/2 and ALPN for pools
 +
* gRPC support
 +
* SCTP support
 +
* Multi-thread models in the load balancing engine (When using amphora with HAProxy 2.x or newer)
 +
 
 +
=== Major milestone: Octavia Version 9.0 ===
 +
Description: TBD
 +
 
 +
Note: These are planned goals for this release but not all of these goals may be accomplished in this OpenStack release.
 +
 
 +
OpenStack release target: ''Xena''
  
 +
'''Proposed octavia work:'''
 +
* Compression offload
  
=== Considerations for Octavia 1.0+ ===
+
=== Considerations for Octavia 8.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
 
* Active/Active dynamic scaling
* Admin API support for amphora upgrades
+
* Active/Active topology
* Advanced logging configurations
+
* Additional balancing algorithm support
 +
* Additional health monitor protocols
 
* Amphora container support
 
* Amphora container support
 +
* Backend member server "agent" support
 +
* CA certificate management
 
* Compression support
 
* Compression support
 
* Content caching support
 
* Content caching support
* Fine grained ssl cipher configuration support
+
* DDoS mitigation
* Flavor support
+
* Intelligent ECC certificate handling
* Log offloading
+
* Header insertion
 +
* Health monitor content check
 
* Integration with to-be-defined OpenStack GSLB project Kosmos
 
* Integration with to-be-defined OpenStack GSLB project Kosmos
* OpenStack TaskFlow Jobboard support
 
 
* Performance enhancements
 
* Performance enhancements
 
** DPDK
 
** DPDK
Line 118: Line 218:
 
** SRIOV
 
** SRIOV
 
** FPGA
 
** FPGA
 +
** CPU pinning
 
* Rewrite rules
 
* Rewrite rules
 +
* Shared health monitors
 
* Status change notifications via oslo messaging
 
* Status change notifications via oslo messaging
* Timeout configuration support per load balancer
+
* Status tracks another member
* UDP loadbalancing support
 
 
* Additional L7 protocol support (beyond HTTP)
 
* Additional L7 protocol support (beyond HTTP)
 
* Advanced metrics / instrumentation support
 
* Advanced metrics / instrumentation support

Revision as of 01:07, 30 March 2021

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

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

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

OpenStack release target: Pike

Octavia progress:

  • Octavia v2 API compatible with neutron-lbaas v2 API
  • OpenStack client plugin
  • Admin API support for amphora upgrades
  • Health monitoring on alternate IPs and/or ports

Major milestone: Octavia Version 2.0

Description: General enhancements and preparation for neutron-lbaas deprecation

OpenStack release target: Queens

Neutron-LBaaS progress:

  • Neutron-LBaaS API pass through proxy to Octavia API
  • Start deprecation of neutron-lbaas

Octavia progress:

  • Octavia Dashboard enhancements
  • Batch pool member enhancements
  • Neutron QoS support for load balancer VIP
  • Castellan support for TLS offload certificate storage

Major milestone: Octavia Version 3.0

Description: Enable Provider drivers and UDP protocol support

OpenStack release target: Rocky

Neutron-LBaaS progress:

  • Maintenance - Under deprecation feature freeze

Octavia progress:

  • Provider driver support
  • UDP loadbalancing support
  • Backup or "Sorry" page support
  • Timeout configuration support per load balancer

Major milestone: Octavia Version 4.0

Description: Enable flavors and TLS enhnacements

OpenStack release target: Stein

Neutron-LBaaS progress:

  • Maintenance - Under deprecation feature freeze

Octavia progress:

  • Backend re-encryption
  • Client certificate authentication
  • Flavors
  • Kernel TCP splicing

Major milestone: Octavia Version 5.0

Description: TBD

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

OpenStack release target: Train

Neutron-LBaaS progress:

  • End-of-Life - There was no Train release of neutron-lbaas

Octavia progress:

  • Log offloading
  • VIP Access Control Lists (ACL)
  • Volume backed Amphorae
  • Additive only batch member updates

Major milestone: Octavia Version 6.0

Description: TBD

OpenStack release target: Ussuri

Progress:

  • Fine grained ssl cipher and protocol configuration support
  • OpenStack TaskFlow Jobboard support - Technical Preview
  • Load Balancer Availability Zones

Major milestone: Octavia Version 7.0

Description: TBD

OpenStack release target: Victoria

Progress:

  • Front end HTTP/2 and ALPN
  • Proxy Protocol version 2
  • Image tags in flavors
  • TLS versions
  • Statistics processing improvements

Major milestone: Octavia Version 8.0

Description: TBD

OpenStack release target: Wallaby

Progress:

  • aarch64 support
  • HTTP/2 and ALPN for pools
  • gRPC support
  • SCTP support
  • Multi-thread models in the load balancing engine (When using amphora with HAProxy 2.x or newer)

Major milestone: Octavia Version 9.0

Description: TBD

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

OpenStack release target: Xena

Proposed octavia work:

  • Compression offload

Considerations for Octavia 8.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
  • Active/Active topology
  • Additional balancing algorithm support
  • Additional health monitor protocols
  • Amphora container support
  • Backend member server "agent" support
  • CA certificate management
  • Compression support
  • Content caching support
  • DDoS mitigation
  • Intelligent ECC certificate handling
  • Header insertion
  • Health monitor content check
  • Integration with to-be-defined OpenStack GSLB project Kosmos
  • Performance enhancements
    • DPDK
    • PCI-Passthrough
    • SRIOV
    • FPGA
    • CPU pinning
  • Rewrite rules
  • Shared health monitors
  • Status change notifications via oslo messaging
  • Status tracks another member
  • Additional L7 protocol support (beyond HTTP)
  • Advanced metrics / instrumentation support