# Octavia Provider Feature Matrix

## Load Balancer Features

Provider feature support matrix for an Octavia load balancer.

### Load Balancer API Features

These features are documented in the Octavia API reference Create a Load Balancer section.

### Summary

Feature | Status | Amphora Provider | OVN Provider
--- | --- | --- | ---
admin_state_up | mandatory | `✔` | `✔`
description | optional | `✔` | `✔`
flavor | optional | `✔` | `✖`
name | optional | `✔` | `✔`
Load Balancer statistics | mandatory | `✔` | `✖`
Load Balancer status tree | mandatory | `✔` | `✔`
tags | optional | `✔` | `✔`
vip_address | optional | `✔` | `✔`
vip_network_id | optional | `✔` | `✔`
vip_port_id | optional | `✔` | `✔`
vip_qos_policy_id | optional | `✔` | `✔`
vip_subnet_id | optional | `✔` | `✔`

### Details

- admin_state_up

  Status: mandatory.

  CLI commands:

  - `openstack loadbalancer create [--enable | --disable] <load_balancer>`

  Notes: Enables and disables the load balancer.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `complete`
- description

  Status: optional.

  CLI commands:

  - `openstack loadbalancer create [--description <description>] <load_balancer>`

  Notes: The description of the load balancer. Provided by the Octavia API service.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `complete`
- flavor

  Status: optional.

  CLI commands:

  - `openstack loadbalancer create [--flavor <flavor>] <load_balancer>`

  Notes: The flavor of the load balancer.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- name

  Status: optional.

  CLI commands:

  - `openstack loadbalancer create [--name <name>] <load_balancer>`

  Notes: The name of the load balancer. Provided by the Octavia API service.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `complete`
- Load Balancer statistics

  Status: mandatory.

  CLI commands:

  - `openstack loadbalancer stats show <load_balancer>`

  Notes: The ability to show statistics for a load balancer.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- Load Balancer status tree

  Status: mandatory.

  CLI commands:

  - `openstack loadbalancer status show <load_balancer>`

  Notes: The ability to show a status tree for the load balancer.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `complete`
- tags

  Status: optional.

  CLI commands:

  - `openstack loadbalancer create [--tag <tag>] <load_balancer>`

  Notes: The tags for the load balancer. Provided by the Octavia API service.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `complete`
- vip_address

  Status: optional.

  CLI commands:

  - `openstack loadbalancer create [--vip-address <vip_address>] <load_balancer>`

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `complete`
- vip_network_id

  Status: optional.

  CLI commands:

  - `openstack loadbalancer create [--vip-network-id <vip_network_id>] <load_balancer>`

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `complete`
- vip_port_id

  Status: optional.

  CLI commands:

  - `openstack loadbalancer create [--vip-port-id <vip_port_id>] <load_balancer>`

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `complete`
- vip_qos_policy_id

  Status: optional.

  CLI commands:

  - `openstack loadbalancer create [--vip-qos-policy-id <vip_qos_policy_id>] <load_balancer>`

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `complete`
- vip_subnet_id

  Status: optional.

  CLI commands:

  - `openstack loadbalancer create [--vip-subnet-id <vip_subnet_id>] <load_balancer>`

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `complete`

### Notes:

- This document is a continuous work in progress

## Listener Features

Provider feature support matrix for an Octavia load balancer listener.

### Listener API Features

These features are documented in the Octavia API reference Create a Listener section.

### Summary

Feature | Status | Amphora Provider | OVN Provider
--- | --- | --- | ---
admin_state_up | mandatory | `✔` | `✔`
allowed_cidr | optional | `✔` | `✖`
client_authentication | optional | `✔` | `✖`
client_ca_tls_container_ref | optional | `✔` | `✖`
client_crl_container_ref | optional | `✔` | `✖`
connection_limit | optional | `✔` | `✖`
default_tls_container_ref | optional | `✔` | `✖`
description | optional | `✔` | `✔`
insert_headers - X-Forwarded-For | optional | `✔` | `✖`
insert_headers - X-Forwarded-Port | optional | `✔` | `✖`
insert_headers - X-Forwarded-Proto | optional | `✔` | `✖`
insert_headers - X-SSL-Client-Verify | optional | `✔` | `✖`
insert_headers - X-SSL-Client-Has-Cert | optional | `✔` | `✖`
insert_headers - X-SSL-Client-DN | optional | `✔` | `✖`
insert_headers - X-SSL-Client-CN | optional | `✔` | `✖`
insert_headers - X-SSL-Issuer | optional | `✔` | `✖`
insert_headers - X-SSL-Client-SHA1 | optional | `✔` | `✖`
insert_headers - X-SSL-Client-Not-Before | optional | `✔` | `✖`
insert_headers - X-SSL-Client-Not-After | optional | `✔` | `✖`
name | optional | `✔` | `✔`
protocol - HTTP | optional | `✔` | `✖`
protocol - HTTPS | optional | `✔` | `✖`
protocol - TCP | optional | `✔` | `✔`
protocol - TERMINATED_HTTPS | optional | `✔` | `✖`
protocol - UDP | optional | `✔` | `✔`
protocol_port | mandatory | `✔` | `✔`
sni_container_refs | optional | `✔` | `✖`
Listener statistics | mandatory | `✔` | `✖`
tags | optional | `✔` | `✔`
timeout_client_data | optional | `✔` | `✖`
timeout_member_connect | optional | `✔` | `✖`
timeout-member-data | optional | `✔` | `✖`
timeout-tcp-inspect | optional | `✔` | `✖`

### Details

- admin_state_up

  Status: mandatory.

  CLI commands:

  - `openstack loadbalancer listener create [--enable | --disable] <loadbalancer>`

  Notes: Enables and disables the listener.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `complete`
- allowed_cidr

  Status: optional.

  CLI commands:

  - `openstack loadbalancer listener create [--allowed-cidr <allowed_cidr>] <loadbalancer>`

  Notes: CIDR to allow access to the listener (can be set multiple times).

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- client_authentication

  Status: optional.

  CLI commands:

  - `openstack loadbalancer listener create [--client-authentication {NONE,OPTIONAL,MANDATORY}] <listener>`

  Notes: The TLS client authentication mode.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- client_ca_tls_container_ref

  Status: optional.

  CLI commands:

  - `openstack loadbalancer listener create [--client-ca-tls-container-ref <container_ref>] <listener>`

  Notes: The ref of the key manager service secret containing a PEM format client CA certificate bundle for TERMINATED_TLS listeners.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- client_crl_container_ref

  Status: optional.

  CLI commands:

  - `openstack loadbalancer listener create [--client-crl-container-ref <client_crl_container_ref>] <listener>`

  Notes: The URI of the key manager service secret containing a PEM format CA revocation list file for TERMINATED_TLS listeners.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- connection_limit

  Status: optional.

  CLI commands:

  - `openstack loadbalancer listener create [--connection-limit <limit>] <listener>`

  Notes: The maximum number of connections permitted for this listener.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- default_tls_container_ref

  Status: optional.

  CLI commands:

  - `openstack loadbalancer listener create [--default-tls-container-ref <container_ref>] <listener>`

  Notes: The URI of the key manager service secret containing a PKCS12 format certificate/key bundle for TERMINATED_TLS listeners.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- description

  Status: optional.

  CLI commands:

  - `openstack loadbalancer listener create [--description <description>] <loadbalancer>`

  Notes: The description of the listener. Provided by the Octavia API service.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `complete`
- insert_headers - X-Forwarded-For

  Status: optional.

  CLI commands:

  - `openstack loadbalancer listener create [--insert-headers X-Forwarded-For=true] <loadbalancer>`

  Notes: When “true” a X-Forwarded-For header is inserted into the request to the backend member that specifies the client IP address.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- insert_headers - X-Forwarded-Port

  Status: optional.

  CLI commands:

  - `openstack loadbalancer listener create [--insert-headers X-Forwarded-Port=true] <loadbalancer>`

  Notes: When “true” a X-Forwarded-Port header is inserted into the request to the backend member that specifies the listener port.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- insert_headers - X-Forwarded-Proto

  Status: optional.

  CLI commands:

  - `openstack loadbalancer listener create [--insert-headers X-Forwarded-Proto=true] <loadbalancer>`

  Notes: When “true” a X-Forwarded-Proto header is inserted into the request to the backend member.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- insert_headers - X-SSL-Client-Verify

  Status: optional.

  CLI commands:

  - `openstack loadbalancer listener create [--insert-headers X-SSL-Client-Verify=true] <loadbalancer>`

  Notes: When “true” a X-SSL-Client-Verify header is inserted into the request to the backend member that contains 0 if the client authentication was successful, or an result error number greater than 0 that align to the openssl veryify error codes.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- insert_headers - X-SSL-Client-Has-Cert

  Status: optional.

  CLI commands:

  - `openstack loadbalancer listener create [--insert-headers X-SSL-Client-Has-Cert=true] <loadbalancer>`

  Notes: When “true” a X-SSL-Client-Has-Cert header is inserted into the request to the backend member that is ‘’true’’ if a client authentication certificate was presented, and ‘’false’’ if not. Does not indicate validity.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- insert_headers - X-SSL-Client-DN

  Status: optional.

  CLI commands:

  - `openstack loadbalancer listener create [--insert-headers X-SSL-Client-DN=true] <loadbalancer>`

  Notes: When “true” a X-SSL-Client-DN header is inserted into the request to the backend member that contains the full Distinguished Name of the certificate presented by the client.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- insert_headers - X-SSL-Client-CN

  Status: optional.

  CLI commands:

  - `openstack loadbalancer listener create [--insert-headers X-SSL-Client-CN=true] <loadbalancer>`

  Notes: When “true” a X-SSL-Client-CN header is inserted into the request to the backend member that contains the Common Name from the full Distinguished Name of the certificate presented by the client.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- insert_headers - X-SSL-Issuer

  Status: optional.

  CLI commands:

  - `openstack loadbalancer listener create [--insert-headers X-SSL-Issuer=true] <loadbalancer>`

  Notes: When “true” a X-SSL-Issuer header is inserted into the request to the backend member that contains the full Distinguished Name of the client certificate issuer.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- insert_headers - X-SSL-Client-SHA1

  Status: optional.

  CLI commands:

  - `openstack loadbalancer listener create [--insert-headers X-SSL-Client-SHA1=true] <loadbalancer>`

  Notes: When “true” a X-SSL-Client-SHA1 header is inserted into the request to the backend member that contains the SHA-1 fingerprint of the certificate presented by the client in hex string format.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- insert_headers - X-SSL-Client-Not-Before

  Status: optional.

  CLI commands:

  - `openstack loadbalancer listener create [--insert-headers X-SSL-Client-Not-Before=true] <loadbalancer>`

  Notes: When “true” a X-SSL-Client-Not-Before header is inserted into the request to the backend member that contains the start date presented by the client as a formatted string YYMMDDhhmmss[Z].

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- insert_headers - X-SSL-Client-Not-After

  Status: optional.

  CLI commands:

  - `openstack loadbalancer listener create [--insert-headers X-SSL-Client-Not-Aftr=true] <loadbalancer>`

  Notes: When “true” a X-SSL-Client-Not-After header is inserted into the request to the backend member that contains the end date presented by the client as a formatted string YYMMDDhhmmss[Z].

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- name

  Status: optional.

  CLI commands:

  - `openstack loadbalancer listener create [--name <name>] <loadbalancer>`

  Notes: The name of the load balancer listener. Provided by the Octavia API service.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `complete`
- protocol - HTTP

  Status: optional.

  CLI commands:

  - `openstack loadbalancer listener create --protocol HTTP <loadbalancer>`

  Notes: HTTP protocol support for the listener.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- protocol - HTTPS

  Status: optional.

  CLI commands:

  - `openstack loadbalancer listener create --protocol HTTPS <loadbalancer>`

  Notes: HTTPS protocol support for the listener.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- protocol - TCP

  Status: optional.

  CLI commands:

  - `openstack loadbalancer listener create --protocol TCP <loadbalancer>`

  Notes: TCP protocol support for the listener.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `complete`
- protocol - TERMINATED_HTTPS

  Status: optional.

  CLI commands:

  - `openstack loadbalancer listener create --protocol TERMINATED_HTTPS <loadbalancer>`

  Notes: Terminated HTTPS protocol support for the listener.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- protocol - UDP

  Status: optional.

  CLI commands:

  - `openstack loadbalancer listener create --protocol UDP <loadbalancer>`

  Notes: UDP protocol support for the listener.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `complete`
- protocol_port

  Status: mandatory.

  CLI commands:

  - `openstack loadbalancer listener create --protocol-port <port> <loadbalancer>`

  Notes: The protocol port number for the listener.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `complete`
- sni_container_refs

  Status: optional.

  CLI commands:

  - `openstack loadbalancer listener create [--sni-container-refs [<container_ref> [<container_ref> ...]]] <loadbalancer>`

  Notes: A list of URIs to the key manager service secrets containing PKCS12 format certificate/key bundles for TERMINATED_TLS listeners.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- Listener statistics

  Status: mandatory.

  CLI commands:

  - `openstack loadbalancer listener stats show <listener>`

  Notes: The ability to show statistics for a listener.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- tags

  Status: optional.

  CLI commands:

  - `openstack loadbalancer listener create [--tags <tag>] <loadbalancer>`

  Notes: The tags for the load balancer listener. Provided by the Octavia API service.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `complete`
- timeout_client_data

  Status: optional.

  CLI commands:

  - `openstack loadbalancer listener create [--timeout-client-data <timeout>] <loadbalancer>`

  Notes: Frontend client inactivity timeout in milliseconds.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- timeout_member_connect

  Status: optional.

  CLI commands:

  - `openstack loadbalancer listener create [--timeout-member-connect <timeout>] <loadbalancer>`

  Notes: Backend member connection timeout in milliseconds.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- timeout-member-data

  Status: optional.

  CLI commands:

  - `openstack loadbalancer listener create [--timeout-member-data <timeout>] <loadbalancer>`

  Notes: Backend member inactivity timeout in milliseconds.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- timeout-tcp-inspect

  Status: optional.

  CLI commands:

  - `openstack loadbalancer listener create [--timeout-tcp-inspect <timeout>] <loadbalancer>`

  Notes: Time, in milliseconds, to wait for additional TCP packets for content inspection.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`

### Notes:

- This document is a continuous work in progress

## Pool Features

Provider feature support matrix for an Octavia load balancer pool.

### Pool API Features

These features are documented in the Octavia API reference Create a Pool section.

### Summary

Feature | Status | Amphora Provider | OVN Provider
--- | --- | --- | ---
admin_state_up | mandatory | `✔` | `✔`
ca_tls_container_ref | optional | `✔` | `✖`
crl_container_ref | optional | `✔` | `✖`
lb_algorithm - LEAST_CONNECTIONS | optional | `✔` | `✖`
lb_algorithm - ROUND_ROBIN | optional | `✔` | `✖`
lb_algorithm - SOURCE_IP | optional | `✔` | `✖`
lb_algorithm - SOURCE_IP_PORT | optional | `✖` | `✔`
description | optional | `✔` | `✔`
name | optional | `✔` | `✔`
protocol - HTTP | optional | `✔` | `✖`
protocol - HTTPS | optional | `✔` | `✖`
protocol - PROXY | optional | `✔` | `✖`
protocol - TCP | optional | `✔` | `✔`
protocol - UDP | optional | `✔` | `✔`
session_persistence - APP_COOKIE | optional | `✔` | `✖`
session_persistence - cookie_name | optional | `✔` | `✖`
session_persistence - HTTP_COOKIE | optional | `✔` | `✖`
session_persistence - persistence_timeout | optional | `✔` | `✖`
session_persistence - persistence_granularity | optional | `✔` | `✖`
session_persistence - SOURCE_IP | optional | `✔` | `✖`
tags | optional | `✔` | `✔`
tls_enabled | optional | `✔` | `✖`
tls_container_ref | optional | `✔` | `✖`

### Details

- admin_state_up

  Status: mandatory.

  CLI commands:

  - `openstack loadbalancer pool create [--enable | --disable] --listener <listener>`

  Notes: Enables and disables the pool.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `complete`
- ca_tls_container_ref

  Status: optional.

  CLI commands:

  - `openstack loadbalancer pool create [--ca-tls-container-ref <ca_tls_container_ref>] --listener <listener>`

  Notes: The reference of the key manager service secret containing a PEM format CA certificate bundle for tls_enabled pools.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- crl_container_ref

  Status: optional.

  CLI commands:

  - `openstack loadbalancer pool create [--crl-container-ref <crl_container_ref>] --listener <listener>`

  Notes: The reference of the key manager service secret containing a PEM format CA revocation list file for tls_enabled pools.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- lb_algorithm - LEAST_CONNECTIONS

  Status: optional.

  CLI commands:

  - `openstack loadbalancer pool create --lb-algorithm LEAST_CONNECTIONS --listener <listener>`

  Notes: The pool will direct connections to the member server with the least connections in use.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- lb_algorithm - ROUND_ROBIN

  Status: optional.

  CLI commands:

  - `openstack loadbalancer pool create --lb-algorithm ROUND_ROBIN --listener <listener>`

  Notes: The pool will direct connections to the next member server, one after the other, rotating through the available memeber servers.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- lb_algorithm - SOURCE_IP

  Status: optional.

  CLI commands:

  - `openstack loadbalancer pool create --lb-algorithm SOURCE_IP --listener <listener>`

  Notes: The pool will direct connections to the member server based on a hash of the source IP.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- lb_algorithm - SOURCE_IP_PORT

  Status: optional.

  CLI commands:

  - `openstack loadbalancer pool create --lb-algorithm SOURCE_IP_PORT --listener <listener>`

  Notes: The pool will direct connections to the member server based on a hash of the source IP and Port.

  Driver Support:

  - Amphora Provider: `missing`
  - OVN Provider: `complete`
- description

  Status: optional.

  CLI commands:

  - `openstack loadbalancer pool create [--description <description>] --listener <listener>`

  Notes: The description of the pool. Provided by the Octavia API service.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `complete`
- name

  Status: optional.

  CLI commands:

  - `openstack loadbalancer pool create [--name <name>] --listener <listener>`

  Notes: The name of the pool. Provided by the Octavia API service.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `complete`
- protocol - HTTP

  Status: optional.

  CLI commands:

  - `openstack loadbalancer pool create --protocol HTTP --listener <listener>`

  Notes: HTTP protocol support for the pool.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- protocol - HTTPS

  Status: optional.

  CLI commands:

  - `openstack loadbalancer pool create --protocol HTTP --listener <listener>`

  Notes: HTTPS protocol support for the pool.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- protocol - PROXY

  Status: optional.

  CLI commands:

  - `openstack loadbalancer pool create --protocol PROXY --listener <listener>`

  Notes: PROXY protocol support for the pool.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- protocol - TCP

  Status: optional.

  CLI commands:

  - `openstack loadbalancer pool create --protocol TCP --listener <listener>`

  Notes: TCP protocol support for the pool.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `complete`
- protocol - UDP

  Status: optional.

  CLI commands:

  - `openstack loadbalancer pool create --protocol UDP --listener <listener>`

  Notes: UDP protocol support for the pool.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `complete`
- session_persistence - APP_COOKIE

  Status: optional.

  CLI commands:

  - `openstack loadbalancer pool create --session-persistence type=APP_COOKIE --listener <listener>`

  Notes: Session persistence using an application supplied cookie.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- session_persistence - cookie_name

  Status: optional.

  CLI commands:

  - `openstack loadbalancer pool create --session-persistence cookie_name=chocolate --listener <listener>`

  Notes: The name of the application cookie to use for session persistence.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- session_persistence - HTTP_COOKIE

  Status: optional.

  CLI commands:

  - `openstack loadbalancer pool create --session-persistence type=HTTP_COOKIE --listener <listener>`

  Notes: Session persistence using a cookie created by the load balancer.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- session_persistence - persistence_timeout

  Status: optional.

  CLI commands:

  - `openstack loadbalancer pool create --session-persistence persistence_timeout=360 --listener <listener>`

  Notes: The timeout, in seconds, after which a UDP flow may be rescheduled to a different member.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- session_persistence - persistence_granularity

  Status: optional.

  CLI commands:

  - `openstack loadbalancer pool create --session-persistence persistence_granularity=255.255.255.255 --listener <listener>`

  Notes: The netmask used to determine UDP SOURCE_IP session persistence.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- session_persistence - SOURCE_IP

  Status: optional.

  CLI commands:

  - `openstack loadbalancer pool create --session-persistence type=SOURCE_IP --listener <listener>`

  Notes: Session persistence using the source IP address.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- tags

  Status: optional.

  CLI commands:

  - `openstack loadbalancer pool create [--tag <tag>] --listener <listener>`

  Notes: The tags for the pool. Provided by the Octavia API service.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `complete`
- tls_enabled

  Status: optional.

  CLI commands:

  - `openstack loadbalancer pool create [--enable-tls] --listener <listener>`

  Notes: When true connections to backend member servers will use TLS encryption.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- tls_container_ref

  Status: optional.

  CLI commands:

  - `openstack loadbalancer pool create [--tls-container-ref <container-ref>] --listener <listener>`

  Notes: The reference to the key manager service secret containing a PKCS12 format certificate/key bundle for tls_enabled pools for TLS client authentication to the member servers.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`

### Notes:

- This document is a continuous work in progress

## Member Features

Provider feature support matrix for an Octavia load balancer member.

### Member API Features

These features are documented in the Octavia API reference Create a Member section.

### Summary

Feature | Status | Amphora Provider | OVN Provider
--- | --- | --- | ---
admin_state_up | mandatory | `✔` | `✔`
address | mandatory | `✔` | `✔`
backup | optional | `✔` | `✖`
Batch update members | mandatory | `✔` | `✔`
monitor_address | optional | `✔` | `✖`
monitor_port | optional | `✔` | `✖`
name | optional | `✔` | `✔`
protocol_port | mandatory | `✔` | `✔`
subnet_id | optional | `✔` | `✔`
tags | optional | `✔` | `✔`
weight | optional | `✔` | `✖`

### Details

- admin_state_up

  Status: mandatory.

  CLI commands:

  - `openstack loadbalancer member create [--enable | --disable] <pool>`

  Notes: Enables and disables the member.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `complete`
- address

  Status: mandatory.

  CLI commands:

  - `openstack loadbalancer member create --address <ip_address> <pool>`

  Notes: The IP address for the member.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `complete`
- backup

  Status: optional.

  CLI commands:

  - `openstack loadbalancer member create [--enable-backup] <pool>`

  Notes: True if the member is a backup member server.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- Batch update members

  Status: mandatory.

  Notes: Ability to update the members of a pool in one API call.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `partial`

    Notes: The OVN provider does not support all of the member features.

- monitor_address

  Status: optional.

  CLI commands:

  - `openstack loadbalancer member create [--monitor-address <monitor_address>] <pool>`

  Notes: An alternate IP address used for health monitoring a backend member.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- monitor_port

  Status: optional.

  CLI commands:

  - `openstack loadbalancer member create [--monitor-port <monitor_port>] <pool>`

  Notes: An alternate protocol port used for health monitoring a backend member.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- name

  Status: optional.

  CLI commands:

  - `openstack loadbalancer member create [--name <name>] <pool>`

  Notes: The name for the member. Provided by the Octavia API service.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `complete`
- protocol_port

  Status: mandatory.

  CLI commands:

  - `openstack loadbalancer member create --protocol_port <protocol_port> <pool>`

  Notes: The protocol port number to connect with on the member server.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `complete`
- subnet_id

  Status: optional.

  CLI commands:

  - `openstack loadbalancer member create [--subnet-id <subnet_id>] <pool>`

  Notes: The subnet ID the member service is accessible from.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `complete`
- tags

  Status: optional.

  CLI commands:

  - `openstack loadbalancer member create [--tag <tag>] <pool>`

  Notes: The tags for the member. Provided by the Octavia API service.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `complete`
- weight

  Status: optional.

  CLI commands:

  - `openstack loadbalancer member create [--weight <weight>] <pool>`

  Notes: The weight of a member determines the portion of requests or connections it services compared to the other members of the pool.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`

### Notes:

- This document is a continuous work in progress

## Health Monitor Features

Provider feature support matrix for an Octavia load balancer health monitor.

### Health Monitor API Features

These features are documented in the Octavia API reference Create a Health Monitor section.

### Summary

Feature | Status | Amphora Provider | OVN Provider
--- | --- | --- | ---
admin_state_up | mandatory | `✔` | `✖`
delay | mandatory | `✔` | `✖`
domain_name | optional | `✔` | `✖`
expected_codes | optional | `✔` | `✖`
http_method | optional | `✔` | `✖`
http_version | optional | `✔` | `✖`
name | optional | `✔` | `✖`
max_retries | mandatory | `✔` | `✖`
max_retries_down | optional | `✔` | `✖`
tags | optional | `✔` | `✖`
timeout | mandatory | `✔` | `✖`
type - HTTP | optional | `✔` | `✖`
type - HTTPS | optional | `✔` | `✖`
type - PING | optional | `✔` | `✖`
type - TCP | optional | `✔` | `✖`
type - TLS-HELLO | optional | `✔` | `✖`
type - UDP-CONNECT | optional | `✔` | `✖`
url_path | optional | `✔` | `✖`

### Details

- admin_state_up

  Status: mandatory.

  CLI commands:

  - `openstack loadbalancer healthmonitor create [--enable | --disable] <pool>`

  Notes: Enables and disables the health monitor.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- delay

  Status: mandatory.

  CLI commands:

  - `openstack loadbalancer healthmonitor create --delay <delay> <pool>`

  Notes: The time, in seconds, between sending probes to members.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- domain_name

  Status: optional.

  CLI commands:

  - `openstack loadbalancer healthmonitor create [--domain-name <domain_name>] <pool>`

  Notes: The domain name, which be injected into the HTTP Host Header to the backend server for HTTP health check.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- expected_codes

  Status: optional.

  CLI commands:

  - `openstack loadbalancer healthmonitor create [--expected-codes <codes>] <pool>`

  Notes: The list of HTTP status codes expected in response from the member to declare it healthy.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- http_method

  Status: optional.

  CLI commands:

  - `openstack loadbalancer healthmonitor create [--http-method <HTTP_METHOD>] <pool>`

  Notes: The HTTP method that the health monitor uses for requests.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- http_version

  Status: optional.

  CLI commands:

  - `openstack loadbalancer healthmonitor create [[--http-version <http_version>]] <pool>`

  Notes: The HTTP version to use for health checks.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- name

  Status: optional.

  CLI commands:

  - `openstack loadbalancer healthmonitor create [--name <name>] <pool>`

  Notes: The name of the health monitor. Provided by the Octavia API service.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- max_retries

  Status: mandatory.

  CLI commands:

  - `openstack loadbalancer healthmonitor create --max-retries <max_retries> <pool>`

  Notes: The number of successful checks before changing the operating status of the member to ONLINE.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- max_retries_down

  Status: optional.

  CLI commands:

  - `openstack loadbalancer healthmonitor create [--max-retries-down <max_retries_down>] <pool>`

  Notes: The number of allowed check failures before changing the operating status of the member to ERROR.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- tags

  Status: optional.

  CLI commands:

  - `openstack loadbalancer healthmonitor create [--tag <tag>] <pool>`

  Notes: The tags for the health monitor. Provided by the Octavia API service.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- timeout

  Status: mandatory.

  CLI commands:

  - `openstack loadbalancer healthmonitor create --timeout <timeout> <pool>`

  Notes: The maximum time, in seconds, that a monitor waits to connect before it times out.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- type - HTTP

  Status: optional.

  CLI commands:

  - `openstack loadbalancer healthmonitor create --type HTTP <pool>`

  Notes: Use HTTP for the health monitor.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- type - HTTPS

  Status: optional.

  CLI commands:

  - `openstack loadbalancer healthmonitor create --type HTTPS <pool>`

  Notes: Use HTTPS for the health monitor.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- type - PING

  Status: optional.

  CLI commands:

  - `openstack loadbalancer healthmonitor create --type PING <pool>`

  Notes: Use PING for the health monitor.

  Driver Support:

  - Amphora Provider: `partial`

    Notes: CentOS 7 based amphora do not support PING health monitors.

  - OVN Provider: `missing`
- type - TCP

  Status: optional.

  CLI commands:

  - `openstack loadbalancer healthmonitor create --type TCP <pool>`

  Notes: Use TCP for the health monitor.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- type - TLS-HELLO

  Status: optional.

  CLI commands:

  - `openstack loadbalancer healthmonitor create --type TLS-HELLO <pool>`

  Notes: Use TLS-HELLO handshake for the health monitor.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- type - UDP-CONNECT

  Status: optional.

  CLI commands:

  - `openstack loadbalancer healthmonitor create --type UDP-CONNECT <pool>`

  Notes: Use UDP-CONNECT for the health monitor.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- url_path

  Status: optional.

  CLI commands:

  - `openstack loadbalancer healthmonitor create [--url-path <url_path>] <pool>`

  Notes: The HTTP URL path of the request sent by the monitor to test the health of a backend member.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`

### Notes:

- This document is a continuous work in progress

## L7 Policy Features

Provider feature support matrix for an Octavia load balancer L7 Policies.

### L7 Policy API Features

These features are documented in the Octavia API reference Create an L7 Policy section.

### Summary

Feature | Status | Amphora Provider | OVN Provider
--- | --- | --- | ---
action - REDIRECT_TO_POOL | optional | `✔` | `✖`
action - REDIRECT_TO_PREFIX | optional | `✔` | `✖`
action - REDIRECT_TO_URL | optional | `✔` | `✖`
action - REJECT | optional | `✔` | `✖`
admin_state_up | mandatory | `✔` | `✖`
description | optional | `✔` | `✖`
name | optional | `✔` | `✖`
position | optional | `✔` | `✖`
redirect_http_code | optional | `✔` | `✖`
redirect_pool_id | optional | `✔` | `✖`
redirect_prefix | optional | `✔` | `✖`
redirect_url | optional | `✔` | `✖`
tags | optional | `✔` | `✖`

### Details

- action - REDIRECT_TO_POOL

  Status: optional.

  CLI commands:

  - `openstack loadbalancer l7policy create --action REDIRECT_TO_POOL <listener>`

  Notes: The L7 policy action REDIRECT_TO_POOL.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- action - REDIRECT_TO_PREFIX

  Status: optional.

  CLI commands:

  - `openstack loadbalancer l7policy create --action REDIRECT_TO_PREFIX <listener>`

  Notes: The L7 policy action REDIRECT_TO_PREFIX.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- action - REDIRECT_TO_URL

  Status: optional.

  CLI commands:

  - `openstack loadbalancer l7policy create --action REDIRECT_TO_URL <listener>`

  Notes: The L7 policy action REDIRECT_TO_URL.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- action - REJECT

  Status: optional.

  CLI commands:

  - `openstack loadbalancer l7policy create --action REJECT <listener>`

  Notes: The L7 policy action REJECT.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- admin_state_up

  Status: mandatory.

  CLI commands:

  - `openstack loadbalancer l7policy create [--enable | --disable] <listener>`

  Notes: Enables and disables the L7 policy.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- description

  Status: optional.

  CLI commands:

  - `openstack loadbalancer l7policy create [--description <description>] <listener>`

  Notes: The description of the L7 policy. Provided by the Octavia API service.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- name

  Status: optional.

  CLI commands:

  - `openstack loadbalancer l7policy create [--name <name>] <listener>`

  Notes: The name of the L7 policy. Provided by the Octavia API service.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- position

  Status: optional.

  CLI commands:

  - `openstack loadbalancer l7policy create [--position <position>] <listener>`

  Notes: The position of this policy on the listener.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- redirect_http_code

  Status: optional.

  CLI commands:

  - `openstack loadbalancer l7policy create [--redirect-http-code <redirect_http_code>] <listener>`

  Notes: Requests matching this policy will be redirected to the specified URL or Prefix URL with the HTTP response code.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- redirect_pool_id

  Status: optional.

  CLI commands:

  - `openstack loadbalancer l7policy create [--redirect-pool <pool>] <listener>`

  Notes: Requests matching this policy will be redirected to the pool with this ID.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- redirect_prefix

  Status: optional.

  CLI commands:

  - `openstack loadbalancer l7policy create [--redirect-prefix <url>] <listener>`

  Notes: Requests matching this policy will be redirected to this Prefix URL.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- redirect_url

  Status: optional.

  CLI commands:

  - `openstack loadbalancer l7policy create [--redirect-url <url>] <listener>`

  Notes: Requests matching this policy will be redirected to this URL.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- tags

  Status: optional.

  CLI commands:

  - `openstack loadbalancer l7policy create [--tag <tag>] <listener>`

  Notes: The tags for the L7 policy. Provided by the Octavia API service.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`

### Notes:

- This document is a continuous work in progress

## L7 Rule Features

Provider feature support matrix for an Octavia load balancer L7 Rules.

### L7 Rule API Features

These features are documented in the Octavia API reference Create an L7 Rule section.

### Summary

Feature | Status | Amphora Provider | OVN Provider
--- | --- | --- | ---
admin_state_up | mandatory | `✔` | `✖`
compare_type - CONTAINS | mandatory | `✔` | `✖`
compare_type - ENDS_WITH | mandatory | `✔` | `✖`
compare_type - EQUAL_TO | mandatory | `✔` | `✖`
compare_type - REGEX | mandatory | `✔` | `✖`
compare_type - STARTS_WITH | mandatory | `✔` | `✖`
invert | optional | `✔` | `✖`
key | optional | `✔` | `✖`
tags | optional | `✔` | `✖`
type - COOKIE | optional | `✔` | `✖`
type - FILE_TYPE | optional | `✔` | `✖`
type - HEADER | optional | `✔` | `✖`
type - HOST_NAME | optional | `✔` | `✖`
type - PATH | optional | `✔` | `✖`
type - SSL_CONN_HAS_CERT | optional | `✔` | `✖`
type - SSL_VERIFY_RESULT | optional | `✔` | `✖`
type - SSL_DN_FIELD | optional | `✔` | `✖`
value | mandatory | `✔` | `✖`

### Details

- admin_state_up

  Status: mandatory.

  CLI commands:

  - `openstack loadbalancer l7rule create [--enable | --disable] <l7policy>`

  Notes: Enables and disables the L7 rule.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- compare_type - CONTAINS

  Status: mandatory.

  CLI commands:

  - `openstack loadbalancer l7rule create --compare-type CONTAINS <l7policy>`

  Notes: The CONTAINS comparison type for the L7 rule.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- compare_type - ENDS_WITH

  Status: mandatory.

  CLI commands:

  - `openstack loadbalancer l7rule create --compare-type ENDS_WITH <l7policy>`

  Notes: The ENDS_WITH comparison type for the L7 rule.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- compare_type - EQUAL_TO

  Status: mandatory.

  CLI commands:

  - `openstack loadbalancer l7rule create --compare-type EQUAL_TO <l7policy>`

  Notes: The EQUAL_TO comparison type for the L7 rule.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- compare_type - REGEX

  Status: mandatory.

  CLI commands:

  - `openstack loadbalancer l7rule create --compare-type REGEX <l7policy>`

  Notes: The REGEX comparison type for the L7 rule.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- compare_type - STARTS_WITH

  Status: mandatory.

  CLI commands:

  - `openstack loadbalancer l7rule create --compare-type STARTS_WITH <l7policy>`

  Notes: The STARTS_WITH comparison type for the L7 rule.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- invert

  Status: optional.

  CLI commands:

  - `openstack loadbalancer l7rule create [--invert] <l7policy>`

  Notes: When true the logic of the rule is inverted.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- key

  Status: optional.

  CLI commands:

  - `openstack loadbalancer l7rule create [--key <key>] <l7policy>`

  Notes: The key to use for the comparison.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- tags

  Status: optional.

  CLI commands:

  - `openstack loadbalancer l7rule create [--tag <tag>] <l7policy>`

  Notes: The tags for the L7 rule. Provided by the Octavia API service.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- type - COOKIE

  Status: optional.

  CLI commands:

  - `openstack loadbalancer l7rule create --type COOKIE <l7policy>`

  Notes: The COOKIE L7 rule type.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- type - FILE_TYPE

  Status: optional.

  CLI commands:

  - `openstack loadbalancer l7rule create --type FILE_TYPE <l7policy>`

  Notes: The FILE_TYPE L7 rule type.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- type - HEADER

  Status: optional.

  CLI commands:

  - `openstack loadbalancer l7rule create --type HEADER <l7policy>`

  Notes: The HEADER L7 rule type.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- type - HOST_NAME

  Status: optional.

  CLI commands:

  - `openstack loadbalancer l7rule create --type HOST_NAME <l7policy>`

  Notes: The HOST_NAME L7 rule type.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- type - PATH

  Status: optional.

  CLI commands:

  - `openstack loadbalancer l7rule create --type PATH <l7policy>`

  Notes: The PATH L7 rule type.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- type - SSL_CONN_HAS_CERT

  Status: optional.

  CLI commands:

  - `openstack loadbalancer l7rule create --type SSL_CONN_HAS_CERT <l7policy>`

  Notes: The SSL_CONN_HAS_CERT L7 rule type.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- type - SSL_VERIFY_RESULT

  Status: optional.

  CLI commands:

  - `openstack loadbalancer l7rule create --type SSL_VERIFY_RESULT <l7policy>`

  Notes: The SSL_VERIFY_RESULT L7 rule type.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- type - SSL_DN_FIELD

  Status: optional.

  CLI commands:

  - `openstack loadbalancer l7rule create --type SSL_DN_FIELD <l7policy>`

  Notes: The SSL_DN_FIELD L7 rule type.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`
- value

  Status: mandatory.

  CLI commands:

  - `openstack loadbalancer l7rule create --value <value> <l7policy>`

  Notes: The value to use for the comparison.

  Driver Support:

  - Amphora Provider: `complete`
  - OVN Provider: `missing`

### Notes:

- This document is a continuous work in progress

this page last updated: 2020-04-10 18:17:54

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.

found an error? report a bug questions?