Add provider feature support matrix

Change-Id: I221e19a9d60e08d49fca34496d9fd690026a7ab1
This commit is contained in:
Michael Johnson 2019-04-11 23:07:14 -07:00
parent 0573d2c609
commit e5d8a1a35b
12 changed files with 1348 additions and 0 deletions

View File

@ -15,6 +15,7 @@ graphviz!=0.5.0,>=0.4 # MIT License
openstackdocstheme>=1.18.1 # Apache-2.0
sadisplay>=0.4.8 # BSD
reno>=2.5.0 # Apache-2.0
sphinx-feature-classification>=0.2.0 # Apache-2.0
# This needs to be installed after above modules
pydot>=1.2.4 # MIT License

View File

@ -62,6 +62,7 @@ extensions = [
'sphinxcontrib.seqdiag',
'sphinxcontrib.nwdiag',
'sphinx.ext.graphviz',
'sphinx_feature_classification.support_matrix',
'openstackdocstheme',
'oslo_config.sphinxext',
'oslo_policy.sphinxpolicygen',

View File

@ -1957,3 +1957,77 @@ references to the failed record if available.
self.stats_record = kwargs.pop('stats_record', None)
super(UpdateStatisticsError, self).__init__(*args, **kwargs)
Documenting the Driver
======================
Octavia provides two documents to let operators and users know about available
drivers and their features.
Available Provider Drivers
--------------------------
The :doc:`../../admin/providers` document provides administrators with a
guide to the available Octavia provider drivers. Since provider drivers are
not included in the Octavia source repositories, this guide is an important
tool for administrators to find your provider driver.
You can submit information for your provider driver by submitting a patch to
the Octavia documentation following the normal OpenStack process.
See the
`OpenStack Contributor Guide <https://docs.openstack.org/contributors/>`_
for more information on submitting a patch to OpenStack.
Octavia Provider Feature Matrix
-------------------------------
The Octavia documentation includes a
:doc:`../../user/feature-classification/index` that informs users on which
Octavia features are supported by each provider driver.
The feature matrices are built using the `Oslo sphinx-feature-classification
<https://docs.openstack.org/sphinx-feature-classification/latest/>`_ library.
This allows a simple INI file format for describing the capabilities of an
Octavia provider driver.
Each driver should define a [driver.<driver name>] section and then add a line
to each feature specifying the level of support the provider driver provides
for the feature.
For example, the Amphora driver support for "admin_state_up" would add the
following to the feature-matrix-lb.ini file.
.. code-block:: INI
[driver.amphora]
title=Amphora Provider
link=https://developer.openstack.org/api-ref/load-balancer/v2/index.html
[operation.admin_state_up]
...
driver.amphora=complete
Valid driver feature support statuses are:
``complete``
Fully implemented, expected to work at all times.
``partial``
Implemented, but with caveats about when it will work.
``missing``
Not implemented at all.
You can also optionally provide additional, provider driver specific, notes for
users by defining a "driver-notes.<driver name>".
.. code-block:: INI
[operation.admin_state_up]
...
driver.amphora=complete
driver-notes.amphora=The Amphora driver fully supports admin_state_up.
Driver notes are highly recommended when a provider driver declares a
``partial`` status.

View File

@ -0,0 +1,168 @@
# Copyright (c) 2019 Red Hat, Inc.
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
[driver.amphora]
title=Amphora Provider
link=https://developer.openstack.org/api-ref/load-balancer/v2/index.html
[driver.ovn]
title=OVN Provider
link=https://docs.openstack.org/networking-ovn/latest/admin/loadbalancer.html
# Note: These should be in the order they appear in a create call.
[operation.admin_state_up]
title=admin_state_up
status=mandatory
notes=Enables and disables the health monitor.
cli=openstack loadbalancer healthmonitor create [--enable | --disable] <pool>
driver.amphora=complete
driver.ovn=missing
[operation.delay]
title=delay
status=mandatory
notes=The time, in seconds, between sending probes to members.
cli=openstack loadbalancer healthmonitor create --delay <delay> <pool>
driver.amphora=complete
driver.ovn=missing
[operation.domain_name]
title=domain_name
status=optional
notes=The domain name, which be injected into the HTTP Host Header to the backend server for HTTP health check.
cli=openstack loadbalancer healthmonitor create [--domain-name <domain_name>] <pool>
driver.amphora=complete
driver.ovn=missing
[operation.expected_codes]
title=expected_codes
status=optional
notes=The list of HTTP status codes expected in response from the member to declare it healthy.
cli=openstack loadbalancer healthmonitor create [--expected-codes <codes>] <pool>
driver.amphora=complete
driver.ovn=missing
[operation.http_method]
title=http_method
status=optional
notes=The HTTP method that the health monitor uses for requests.
cli=openstack loadbalancer healthmonitor create [--http-method <HTTP_METHOD>] <pool>
driver.amphora=complete
driver.ovn=missing
[operation.http_version]
title=http_version
status=optional
notes=The HTTP version to use for health checks.
cli=openstack loadbalancer healthmonitor create [[--http-version <http_version>]] <pool>
driver.amphora=complete
driver.ovn=missing
[operation.name]
title=name
status=optional
notes=The name of the health monitor. Provided by the Octavia API service.
cli=openstack loadbalancer healthmonitor create [--name <name>] <pool>
driver.amphora=complete
driver.ovn=missing
[operation.max_retries]
title=max_retries
status=mandatory
notes=The number of successful checks before changing the operating status of the member to ONLINE.
cli=openstack loadbalancer healthmonitor create --max-retries <max_retries> <pool>
driver.amphora=complete
driver.ovn=missing
[operation.max_retries_down]
title=max_retries_down
status=optional
notes=The number of allowed check failures before changing the operating status of the member to ERROR.
cli=openstack loadbalancer healthmonitor create [--max-retries-down <max_retries_down>] <pool>
driver.amphora=complete
driver.ovn=missing
[operation.tags]
title=tags
status=optional
notes=The tags for the health monitor. Provided by the Octavia API service.
cli=openstack loadbalancer healthmonitor create [--tag <tag>] <pool>
driver.amphora=complete
driver.ovn=missing
[operation.timeout]
title=timeout
status=mandatory
notes=The maximum time, in seconds, that a monitor waits to connect before it times out.
cli=openstack loadbalancer healthmonitor create --timeout <timeout> <pool>
driver.amphora=complete
driver.ovn=missing
[operation.type.HTTP]
title=type - HTTP
status=optional
notes=Use HTTP for the health monitor.
cli=openstack loadbalancer healthmonitor create --type HTTP <pool>
driver.amphora=complete
driver.ovn=missing
[operation.type.HTTPS]
title=type - HTTPS
status=optional
notes=Use HTTPS for the health monitor.
cli=openstack loadbalancer healthmonitor create --type HTTPS <pool>
driver.amphora=complete
driver.ovn=missing
[operation.type.PING]
title=type - PING
status=optional
notes=Use PING for the health monitor.
cli=openstack loadbalancer healthmonitor create --type PING <pool>
driver.amphora=partial
driver-notes.amphora=CentOS 7 based amphora do not support PING health monitors.
driver.ovn=missing
[operation.type.TCP]
title=type - TCP
status=optional
notes=Use TCP for the health monitor.
cli=openstack loadbalancer healthmonitor create --type TCP <pool>
driver.amphora=complete
driver.ovn=missing
[operation.type.TLS-HELLO]
title=type - TLS-HELLO
status=optional
notes=Use TLS-HELLO handshake for the health monitor.
cli=openstack loadbalancer healthmonitor create --type TLS-HELLO <pool>
driver.amphora=complete
driver.ovn=missing
[operation.type.UDP-CONNECT]
title=type - UDP-CONNECT
status=optional
notes=Use UDP-CONNECT for the health monitor.
cli=openstack loadbalancer healthmonitor create --type UDP-CONNECT <pool>
driver.amphora=complete
driver.ovn=missing
[operation.url_path]
title=url_path
status=optional
notes=The HTTP URL path of the request sent by the monitor to test the health of a backend member.
cli=openstack loadbalancer healthmonitor create [--url-path <url_path>] <pool>
driver.amphora=complete
driver.ovn=missing

View File

@ -0,0 +1,127 @@
# Copyright (c) 2019 Red Hat, Inc.
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
[driver.amphora]
title=Amphora Provider
link=https://developer.openstack.org/api-ref/load-balancer/v2/index.html
[driver.ovn]
title=OVN Provider
link=https://docs.openstack.org/networking-ovn/latest/admin/loadbalancer.html
# Note: These should be in the order they appear in a create call.
[operation.action.REDIRECT_TO_POOL]
title=action - REDIRECT_TO_POOL
status=optional
notes=The L7 policy action REDIRECT_TO_POOL.
cli=openstack loadbalancer l7policy create --action REDIRECT_TO_POOL <listener>
driver.amphora=complete
driver.ovn=missing
[operation.action.REDIRECT_TO_PREFIX]
title=action - REDIRECT_TO_PREFIX
status=optional
notes=The L7 policy action REDIRECT_TO_PREFIX.
cli=openstack loadbalancer l7policy create --action REDIRECT_TO_PREFIX <listener>
driver.amphora=complete
driver.ovn=missing
[operation.action.REDIRECT_TO_URL]
title=action - REDIRECT_TO_URL
status=optional
notes=The L7 policy action REDIRECT_TO_URL.
cli=openstack loadbalancer l7policy create --action REDIRECT_TO_URL <listener>
driver.amphora=complete
driver.ovn=missing
[operation.action.REJECT]
title=action - REJECT
status=optional
notes=The L7 policy action REJECT.
cli=openstack loadbalancer l7policy create --action REJECT <listener>
driver.amphora=complete
driver.ovn=missing
[operation.admin_state_up]
title=admin_state_up
status=mandatory
notes=Enables and disables the L7 policy.
cli=openstack loadbalancer l7policy create [--enable | --disable] <listener>
driver.amphora=complete
driver.ovn=missing
[operation.description]
title=description
status=optional
notes=The description of the L7 policy. Provided by the Octavia API service.
cli=openstack loadbalancer l7policy create [--description <description>] <listener>
driver.amphora=complete
driver.ovn=missing
[operation.name]
title=name
status=optional
notes=The name of the L7 policy. Provided by the Octavia API service.
cli=openstack loadbalancer l7policy create [--name <name>] <listener>
driver.amphora=complete
driver.ovn=missing
[operation.position]
title=position
status=optional
notes=The position of this policy on the listener.
cli=openstack loadbalancer l7policy create [--position <position>] <listener>
driver.amphora=complete
driver.ovn=missing
[operation.redirect_http_code]
title=redirect_http_code
status=optional
notes=Requests matching this policy will be redirected to the specified URL or Prefix URL with the HTTP response code.
cli=openstack loadbalancer l7policy create [--redirect-http-code <redirect_http_code>] <listener>
driver.amphora=complete
driver.ovn=missing
[operation.redirect_pool_id]
title=redirect_pool_id
status=optional
notes=Requests matching this policy will be redirected to the pool with this ID.
cli=openstack loadbalancer l7policy create [--redirect-pool <pool>] <listener>
driver.amphora=complete
driver.ovn=missing
[operation.redirect_prefix]
title=redirect_prefix
status=optional
notes=Requests matching this policy will be redirected to this Prefix URL.
cli=openstack loadbalancer l7policy create [--redirect-prefix <url>] <listener>
driver.amphora=complete
driver.ovn=missing
[operation.redirect_url]
title=redirect_url
status=optional
notes=Requests matching this policy will be redirected to this URL.
cli=openstack loadbalancer l7policy create [--redirect-url <url>] <listener>
driver.amphora=complete
driver.ovn=missing
[operation.tags]
title=tags
status=optional
notes=The tags for the L7 policy. Provided by the Octavia API service.
cli=openstack loadbalancer l7policy create [--tag <tag>] <listener>
driver.amphora=complete
driver.ovn=missing

View File

@ -0,0 +1,167 @@
# Copyright (c) 2019 Red Hat, Inc.
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
[driver.amphora]
title=Amphora Provider
link=https://developer.openstack.org/api-ref/load-balancer/v2/index.html
[driver.ovn]
title=OVN Provider
link=https://docs.openstack.org/networking-ovn/latest/admin/loadbalancer.html
# Note: These should be in the order they appear in a create call.
[operation.admin_state_up]
title=admin_state_up
status=mandatory
notes=Enables and disables the L7 rule.
cli=openstack loadbalancer l7rule create [--enable | --disable] <l7policy>
driver.amphora=complete
driver.ovn=missing
[operation.compare_type.CONTAINS]
title=compare_type - CONTAINS
status=mandatory
notes=The CONTAINS comparison type for the L7 rule.
cli=openstack loadbalancer l7rule create --compare-type CONTAINS <l7policy>
driver.amphora=complete
driver.ovn=missing
[operation.compare_type.ENDS_WITH]
title=compare_type - ENDS_WITH
status=mandatory
notes=The ENDS_WITH comparison type for the L7 rule.
cli=openstack loadbalancer l7rule create --compare-type ENDS_WITH <l7policy>
driver.amphora=complete
driver.ovn=missing
[operation.compare_type.EQUAL_TO]
title=compare_type - EQUAL_TO
status=mandatory
notes=The EQUAL_TO comparison type for the L7 rule.
cli=openstack loadbalancer l7rule create --compare-type EQUAL_TO <l7policy>
driver.amphora=complete
driver.ovn=missing
[operation.compare_type.REGEX]
title=compare_type - REGEX
status=mandatory
notes=The REGEX comparison type for the L7 rule.
cli=openstack loadbalancer l7rule create --compare-type REGEX <l7policy>
driver.amphora=complete
driver.ovn=missing
[operation.compare_type.STARTS_WITH]
title=compare_type - STARTS_WITH
status=mandatory
notes=The STARTS_WITH comparison type for the L7 rule.
cli=openstack loadbalancer l7rule create --compare-type STARTS_WITH <l7policy>
driver.amphora=complete
driver.ovn=missing
[operation.invert]
title=invert
status=optional
notes=When true the logic of the rule is inverted.
cli=openstack loadbalancer l7rule create [--invert] <l7policy>
driver.amphora=complete
driver.ovn=missing
[operation.key]
title=key
status=optional
notes=The key to use for the comparison.
cli=openstack loadbalancer l7rule create [--key <key>] <l7policy>
driver.amphora=complete
driver.ovn=missing
[operation.tags]
title=tags
status=optional
notes=The tags for the L7 rule. Provided by the Octavia API service.
cli=openstack loadbalancer l7rule create [--tag <tag>] <l7policy>
driver.amphora=complete
driver.ovn=missing
[operation.type.COOKIE]
title=type - COOKIE
status=optional
notes=The COOKIE L7 rule type.
cli=openstack loadbalancer l7rule create --type COOKIE <l7policy>
driver.amphora=complete
driver.ovn=missing
[operation.type.FILE_TYPE]
title=type - FILE_TYPE
status=optional
notes=The FILE_TYPE L7 rule type.
cli=openstack loadbalancer l7rule create --type FILE_TYPE <l7policy>
driver.amphora=complete
driver.ovn=missing
[operation.type.HEADER]
title=type - HEADER
status=optional
notes=The HEADER L7 rule type.
cli=openstack loadbalancer l7rule create --type HEADER <l7policy>
driver.amphora=complete
driver.ovn=missing
[operation.type.HOST_NAME]
title=type - HOST_NAME
status=optional
notes=The HOST_NAME L7 rule type.
cli=openstack loadbalancer l7rule create --type HOST_NAME <l7policy>
driver.amphora=complete
driver.ovn=missing
[operation.type.PATH]
title=type - PATH
status=optional
notes=The PATH L7 rule type.
cli=openstack loadbalancer l7rule create --type PATH <l7policy>
driver.amphora=complete
driver.ovn=missing
[operation.type.SSL_CONN_HAS_CERT]
title=type - SSL_CONN_HAS_CERT
status=optional
notes=The SSL_CONN_HAS_CERT L7 rule type.
cli=openstack loadbalancer l7rule create --type SSL_CONN_HAS_CERT <l7policy>
driver.amphora=complete
driver.ovn=missing
[operation.type.SSL_VERIFY_RESULT]
title=type - SSL_VERIFY_RESULT
status=optional
notes=The SSL_VERIFY_RESULT L7 rule type.
cli=openstack loadbalancer l7rule create --type SSL_VERIFY_RESULT <l7policy>
driver.amphora=complete
driver.ovn=missing
[operation.type.SSL_DN_FIELD]
title=type - SSL_DN_FIELD
status=optional
notes=The SSL_DN_FIELD L7 rule type.
cli=openstack loadbalancer l7rule create --type SSL_DN_FIELD <l7policy>
driver.amphora=complete
driver.ovn=missing
[operation.value]
title=value
status=mandatory
notes=The value to use for the comparison.
cli=openstack loadbalancer l7rule create --value <value> <l7policy>
driver.amphora=complete
driver.ovn=missing

View File

@ -0,0 +1,114 @@
# Copyright (c) 2019 Red Hat, Inc.
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
[driver.amphora]
title=Amphora Provider
link=https://developer.openstack.org/api-ref/load-balancer/v2/index.html
[driver.ovn]
title=OVN Provider
link=https://docs.openstack.org/networking-ovn/latest/admin/loadbalancer.html
# Note: These should be in the order they appear in a create call.
[operation.admin_state_up]
title=admin_state_up
status=mandatory
notes=Enables and disables the load balancer.
cli=openstack loadbalancer create [--enable | --disable] <load_balancer>
driver.amphora=complete
driver.ovn=complete
[operation.description]
title=description
status=optional
notes=The description of the load balancer. Provided by the Octavia API service.
cli=openstack loadbalancer create [--description <description>] <load_balancer>
driver.amphora=complete
driver.ovn=complete
[operation.flavor]
title=flavor
status=optional
notes=The flavor of the load balancer.
cli=openstack loadbalancer create [--flavor <flavor>] <load_balancer>
driver.amphora=complete
driver.ovn=missing
[operation.name]
title=name
status=optional
notes=The name of the load balancer. Provided by the Octavia API service.
cli=openstack loadbalancer create [--name <name>] <load_balancer>
driver.amphora=complete
driver.ovn=complete
[operation.stats]
title=Load Balancer statistics
status=mandatory
notes=The ability to show statistics for a load balancer.
cli=openstack loadbalancer stats show <load_balancer>
driver.amphora=complete
driver.ovn=missing
[operation.status]
title=Load Balancer status tree
status=mandatory
notes=The ability to show a status tree for the load balancer.
cli=openstack loadbalancer status show <load_balancer>
driver.amphora=complete
driver.ovn=complete
[operation.tags]
title=tags
status=optional
notes=The tags for the load balancer. Provided by the Octavia API service.
cli=openstack loadbalancer create [--tag <tag>] <load_balancer>
driver.amphora=complete
driver.ovn=complete
[operation.vip_address]
title=vip_address
status=optional
cli=openstack loadbalancer create [--vip-address <vip_address>] <load_balancer>
driver.amphora=complete
driver.ovn=complete
[operation.vip_network_id]
title=vip_network_id
status=optional
cli=openstack loadbalancer create [--vip-network-id <vip_network_id>] <load_balancer>
driver.amphora=complete
driver.ovn=complete
[operation.vip_port_id]
title=vip_port_id
status=optional
cli=openstack loadbalancer create [--vip-port-id <vip_port_id>] <load_balancer>
driver.amphora=complete
driver.ovn=complete
[operation.vip_qos_policy_id]
title=vip_qos_policy_id
status=optional
cli=openstack loadbalancer create [--vip-qos-policy-id <vip_qos_policy_id>] <load_balancer>
driver.amphora=complete
driver.ovn=complete
[operation.vip_subnet_id]
title=vip_subnet_id
status=optional
cli=openstack loadbalancer create [--vip-subnet-id <vip_subnet_id>] <load_balancer>
driver.amphora=complete
driver.ovn=complete

View File

@ -0,0 +1,279 @@
# Copyright (c) 2019 Red Hat, Inc.
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
[driver.amphora]
title=Amphora Provider
link=https://developer.openstack.org/api-ref/load-balancer/v2/index.html
[driver.ovn]
title=OVN Provider
link=https://docs.openstack.org/networking-ovn/latest/admin/loadbalancer.html
# Note: These should be in the order they appear in a create call.
[operation.admin_state_up]
title=admin_state_up
status=mandatory
notes=Enables and disables the listener.
cli=openstack loadbalancer listener create [--enable | --disable] <loadbalancer>
driver.amphora=complete
driver.ovn=complete
[operation.client_authentication]
title=client_authentication
status=optional
notes=The TLS client authentication mode.
cli=openstack loadbalancer listener create [--client-authentication {NONE,OPTIONAL,MANDATORY}] <listner>
driver.amphora=complete
driver.ovn=missing
[operation.client_ca_tls_container_ref]
title=client_ca_tls_container_ref
status=optional
notes=The ref of the key manager service secret containing a PEM format client CA certificate bundle for TERMINATED_TLS listeners.
cli=openstack loadbalancer listener create [--client-ca-tls-container-ref <container_ref>] <listner>
driver.amphora=complete
driver.ovn=missing
[operation.client_crl_container_ref]
title=client_crl_container_ref
status=optional
notes=The URI of the key manager service secret containing a PEM format CA revocation list file for TERMINATED_TLS listeners.
cli=openstack loadbalancer listener create [--client-crl-container-ref <client_crl_container_ref>] <listner>
driver.amphora=complete
driver.ovn=missing
[operation.connection_limit]
title=connection_limit
status=optional
notes=The maximum number of connections permitted for this listener.
cli=openstack loadbalancer listener create [--connection-limit <limit>] <listner>
driver.amphora=complete
driver.ovn=missing
[operation.default_tls_container_ref]
title=default_tls_container_ref
status=optional
notes=The URI of the key manager service secret containing a PKCS12 format certificate/key bundle for TERMINATED_TLS listeners.
cli=openstack loadbalancer listener create [--default-tls-container-ref <container_ref>] <listner>
driver.amphora=complete
driver.ovn=missing
[operation.description]
title=description
status=optional
notes=The description of the listener. Provided by the Octavia API service.
cli=openstack loadbalancer listener create [--description <description>] <loadbalancer>
driver.amphora=complete
driver.ovn=complete
[operation.insert_headers.X-Forwarded-For]
title=insert_headers - X-Forwarded-For
status=optional
notes=When “true” a X-Forwarded-For header is inserted into the request to the backend member that specifies the client IP address.
cli=openstack loadbalancer listener create [--insert-headers X-Forwarded-For=true] <loadbalancer>
driver.amphora=complete
driver.ovn=missing
[operation.insert_headers.X-Forwarded-Port]
title=insert_headers - X-Forwarded-Port
status=optional
notes=When “true” a X-Forwarded-Port header is inserted into the request to the backend member that specifies the listener port.
cli=openstack loadbalancer listener create [--insert-headers X-Forwarded-Port=true] <loadbalancer>
driver.amphora=complete
driver.ovn=missing
[operation.insert_headers.X-Forwarded-Proto]
title=insert_headers - X-Forwarded-Proto
status=optional
notes=When “true” a X-Forwarded-Proto header is inserted into the request to the backend member.
cli=openstack loadbalancer listener create [--insert-headers X-Forwarded-Proto=true] <loadbalancer>
driver.amphora=complete
driver.ovn=missing
[operation.insert_headers.X-SSL-Client-Verify]
title=insert_headers - X-SSL-Client-Verify
status=optional
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.
cli=openstack loadbalancer listener create [--insert-headers X-SSL-Client-Verify=true] <loadbalancer>
driver.amphora=complete
driver.ovn=missing
[operation.insert_headers.X-SSL-Client-Has-Cert]
title=insert_headers - X-SSL-Client-Has-Cert
status=optional
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.
cli=openstack loadbalancer listener create [--insert-headers X-SSL-Client-Has-Cert=true] <loadbalancer>
driver.amphora=complete
driver.ovn=missing
[operation.insert_headers.X-SSL-Client-DN]
title=insert_headers - X-SSL-Client-DN
status=optional
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.
cli=openstack loadbalancer listener create [--insert-headers X-SSL-Client-DN=true] <loadbalancer>
driver.amphora=complete
driver.ovn=missing
[operation.insert_headers.X-SSL-Client-CN]
title=insert_headers - X-SSL-Client-CN
status=optional
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.
cli=openstack loadbalancer listener create [--insert-headers X-SSL-Client-CN=true] <loadbalancer>
driver.amphora=complete
driver.ovn=missing
[operation.insert_headers.X-SSL-Issuer]
title=insert_headers - X-SSL-Issuer
status=optional
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.
cli=openstack loadbalancer listener create [--insert-headers X-SSL-Issuer=true] <loadbalancer>
driver.amphora=complete
driver.ovn=missing
[operation.insert_headers.X-SSL-Client-SHA1]
title=insert_headers - X-SSL-Client-SHA1
status=optional
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.
cli=openstack loadbalancer listener create [--insert-headers X-SSL-Client-SHA1=true] <loadbalancer>
driver.amphora=complete
driver.ovn=missing
[operation.insert_headers.X-SSL-Client-Not-Before]
title=insert_headers - X-SSL-Client-Not-Before
status=optional
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].
cli=openstack loadbalancer listener create [--insert-headers X-SSL-Client-Not-Before=true] <loadbalancer>
driver.amphora=complete
driver.ovn=missing
[operation.insert_headers.X-SSL-Client-Not-After]
title=insert_headers - X-SSL-Client-Not-After
status=optional
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].
cli=openstack loadbalancer listener create [--insert-headers X-SSL-Client-Not-Aftr=true] <loadbalancer>
driver.amphora=complete
driver.ovn=missing
[operation.name]
title=name
status=optional
notes=The name of the load balancer listener. Provided by the Octavia API service.
cli=openstack loadbalancer listener create [--name <name>] <loadbalancer>
driver.amphora=complete
driver.ovn=complete
[operation.protocol.HTTP]
title=protocol - HTTP
status=optional
notes=HTTP protocol support for the listener.
cli=openstack loadbalancer listener create --protocol HTTP <loadbalancer>
driver.amphora=complete
driver.ovn=missing
[operation.protocol.HTTPS]
title=protocol - HTTPS
status=optional
notes=HTTPS protocol support for the listener.
cli=openstack loadbalancer listener create --protocol HTTPS <loadbalancer>
driver.amphora=complete
driver.ovn=missing
[operation.protocol.TCP]
title=protocol - TCP
status=optional
notes=TCP protocol support for the listener.
cli=openstack loadbalancer listener create --protocol TCP <loadbalancer>
driver.amphora=complete
driver.ovn=complete
[operation.protocol.TERMINATED_HTTPS]
title=protocol - TERMINATED_HTTPS
status=optional
notes=Terminated HTTPS protocol support for the listener.
cli=openstack loadbalancer listener create --protocol TERMINATED_HTTPS <loadbalancer>
driver.amphora=complete
driver.ovn=missing
[operation.protocol.UDP]
title=protocol - UDP
status=optional
notes=UDP protocol support for the listener.
cli=openstack loadbalancer listener create --protocol UDP <loadbalancer>
driver.amphora=complete
driver.ovn=complete
[operation.protocol_port]
title=protocol_port
status=mandatory
notes=The protocol port number for the listener.
cli=openstack loadbalancer listener create --protocol-port <port> <loadbalancer>
driver.amphora=complete
driver.ovn=complete
[operation.sni_container_refs]
title=sni_container_refs
status=optional
notes=A list of URIs to the key manager service secrets containing PKCS12 format certificate/key bundles for TERMINATED_TLS listeners.
cli=openstack loadbalancer listener create [--sni-container-refs [<container_ref> [<container_ref> ...]]] <loadbalancer>
driver.amphora=complete
driver.ovn=missing
[operation.stats]
title=Listener statistics
status=mandatory
notes=The ability to show statistics for a listener.
cli=openstack loadbalancer listener stats show <listener>
driver.amphora=complete
driver.ovn=missing
[operation.tags]
title=tags
status=optional
notes=The tags for the load balancer listener. Provided by the Octavia API service.
cli=openstack loadbalancer listener create [--tags <tag>] <loadbalancer>
driver.amphora=complete
driver.ovn=complete
[operation.timeout_client_data]
title=timeout_client_data
status=optional
notes=Frontend client inactivity timeout in milliseconds.
cli=openstack loadbalancer listener create [--timeout-client-data <timeout>] <loadbalancer>
driver.amphora=complete
driver.ovn=missing
[operation.timeout_member_connect]
title=timeout_member_connect
status=optional
notes=Backend member connection timeout in milliseconds.
cli=openstack loadbalancer listener create [--timeout-member-connect <timeout>] <loadbalancer>
driver.amphora=complete
driver.ovn=missing
[operation.timeout-member-data]
title=timeout-member-data
status=optional
notes=Backend member inactivity timeout in milliseconds.
cli=openstack loadbalancer listener create [--timeout-member-data <timeout>] <loadbalancer>
driver.amphora=complete
driver.ovn=missing
[operation.timeout-tcp-inspect]
title=timeout-tcp-inspect
status=optional
notes=Time, in milliseconds, to wait for additional TCP packets for content inspection.
cli=openstack loadbalancer listener create [--timeout-tcp-inspect <timeout>] <loadbalancer>
driver.amphora=complete
driver.ovn=missing

View File

@ -0,0 +1,111 @@
# Copyright (c) 2019 Red Hat, Inc.
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
[driver.amphora]
title=Amphora Provider
link=https://developer.openstack.org/api-ref/load-balancer/v2/index.html
[driver.ovn]
title=OVN Provider
link=https://docs.openstack.org/networking-ovn/latest/admin/loadbalancer.html
# Note: These should be in the order they appear in a create call.
[operation.admin_state_up]
title=admin_state_up
status=mandatory
notes=Enables and disables the member.
cli=openstack loadbalancer member create [--enable | --disable] <pool>
driver.amphora=complete
driver.ovn=complete
[operation.address]
title=address
status=mandatory
notes=The IP address for the member.
cli=openstack loadbalancer member create --address <ip_address> <pool>
driver.amphora=complete
driver.ovn=complete
[operation.backup]
title=backup
status=optional
notes=True if the member is a backup member server.
cli=openstack loadbalancer member create [--enable-backup] <pool>
driver.amphora=complete
driver.ovn=missing
[operation.batch]
title=Batch update members
status=mandatory
notes=Ability to update the members of a pool in one API call.
driver.amphora=complete
driver.ovn=partial
driver-notes.ovn=The OVN provider does not support all of the member features.
[operation.monitor_address]
title=monitor_address
status=optional
notes=An alternate IP address used for health monitoring a backend member.
cli=openstack loadbalancer member create [--monitor-address <monitor_address>] <pool>
driver.amphora=complete
driver.ovn=missing
[operation.monitor_port]
title=monitor_port
status=optional
notes=An alternate protocol port used for health monitoring a backend member.
cli=openstack loadbalancer member create [--monitor-port <monitor_port>] <pool>
driver.amphora=complete
driver.ovn=missing
[operation.name]
title=name
status=optional
notes=The name for the member. Provided by the Octavia API service.
cli=openstack loadbalancer member create [--name <name>] <pool>
driver.amphora=complete
driver.ovn=complete
[operation.protocol_port]
title=protocol_port
status=mandatory
notes=The protocol port number to connect with on the member server.
cli=openstack loadbalancer member create --protocol_port <protocol_port> <pool>
driver.amphora=complete
driver.ovn=complete
[operation.subnet_id]
title=subnet_id
status=optional
notes=The subnet ID the member service is accessible from.
cli=openstack loadbalancer member create [--subnet-id <subnet_id>] <pool>
driver.amphora=complete
driver.ovn=complete
[operation.tags]
title=tags
status=optional
notes=The tags for the member. Provided by the Octavia API service.
cli=openstack loadbalancer member create [--tag <tag>] <pool>
driver.amphora=complete
driver.ovn=complete
[operation.weight]
title=weight
status=optional
notes=The weight of a member determines the portion of requests or connections it services compared to the other members of the pool.
cli=openstack loadbalancer member create [--weight <weight>] <pool>
driver.amphora=complete
driver.ovn=missing

View File

@ -0,0 +1,196 @@
# Copyright (c) 2019 Red Hat, Inc.
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
[driver.amphora]
title=Amphora Provider
link=https://developer.openstack.org/api-ref/load-balancer/v2/index.html
[driver.ovn]
title=OVN Provider
link=https://docs.openstack.org/networking-ovn/latest/admin/loadbalancer.html
# Note: These should be in the order they appear in a create call.
[operation.admin_state_up]
title=admin_state_up
status=mandatory
notes=Enables and disables the pool.
cli=openstack loadbalancer pool create [--enable | --disable] --listener <listener>
driver.amphora=complete
driver.ovn=complete
[operation.ca_tls_container_ref]
title=ca_tls_container_ref
status=optional
notes=The reference of the key manager service secret containing a PEM format CA certificate bundle for tls_enabled pools.
cli=openstack loadbalancer pool create [--ca-tls-container-ref <ca_tls_container_ref>] --listener <listener>
driver.amphora=complete
driver.ovn=missing
[operation.crl_container_ref]
title=crl_container_ref
status=optional
notes=The reference of the key manager service secret containing a PEM format CA revocation list file for tls_enabled pools.
cli=openstack loadbalancer pool create [--crl-container-ref <crl_container_ref>] --listener <listener>
driver.amphora=complete
driver.ovn=missing
[operation.lb_algorithm.LEAST_CONNECTIONS]
title=lb_algorithm - LEAST_CONNECTIONS
notes=The pool will direct connections to the member server with the least connections in use.
cli=openstack loadbalancer pool create --lb-algorithm LEAST_CONNECTIONS --listener <listener>
driver.amphora=complete
driver.ovn=missing
[operation.lb_algorithm.ROUND_ROBIN]
title=lb_algorithm - ROUND_ROBIN
notes=The pool will direct connections to the next member server, one after the other, rotating through the available memeber servers.
cli=openstack loadbalancer pool create --lb-algorithm ROUND_ROBIN --listener <listener>
driver.amphora=complete
driver.ovn=complete
[operation.lb_algorithm.SOURCE_IP]
title=lb_algorithm - SOURCE_IP
notes=The pool will direct connections to the member server based on a has of the source IP.
cli=openstack loadbalancer pool create --lb-algorithm SOURCE_IP --listener <listener>
driver.amphora=complete
driver.ovn=missing
[operation.description]
title=description
status=optional
notes=The description of the pool. Provided by the Octavia API service.
cli=openstack loadbalancer pool create [--description <description>] --listener <listener>
driver.amphora=complete
driver.ovn=complete
[operation.name]
title=name
status=optional
notes=The name of the pool. Provided by the Octavia API service.
cli=openstack loadbalancer pool create [--name <name>] --listener <listener>
driver.amphora=complete
driver.ovn=complete
[operation.protocol.HTTP]
title=protocol - HTTP
status=optional
notes=HTTP protocol support for the pool.
cli=openstack loadbalancer pool create --protocol HTTP --listener <listener>
driver.amphora=complete
driver.ovn=missing
[operation.protocol.HTTPS]
title=protocol - HTTPS
status=optional
notes=HTTPS protocol support for the pool.
cli=openstack loadbalancer pool create --protocol HTTP --listener <listener>
driver.amphora=complete
driver.ovn=missing
[operation.protocol.PROXY]
title=protocol - PROXY
status=optional
notes=PROXY protocol support for the pool.
cli=openstack loadbalancer pool create --protocol PROXY --listener <listener>
driver.amphora=complete
driver.ovn=missing
[operation.protocol.TCP]
title=protocol - TCP
status=optional
notes=TCP protocol support for the pool.
cli=openstack loadbalancer pool create --protocol TCP --listener <listener>
driver.amphora=complete
driver.ovn=complete
[operation.protocol.UDP]
title=protocol - UDP
status=optional
notes=UDP protocol support for the pool.
cli=openstack loadbalancer pool create --protocol UDP --listener <listener>
driver.amphora=complete
driver.ovn=complete
[operation.session_persistence.APP_COOKIE]
title=session_persistence - APP_COOKIE
status=optional
notes=Session persistence using an application supplied cookie.
cli=openstack loadbalancer pool create --session-persistence type=APP_COOKIE --listener <listener>
driver.amphora=complete
driver.ovn=missing
[operation.session_persistence.cookie_name]
title=session_persistence - cookie_name
status=optional
notes=The name of the application cookie to use for session persistence.
cli=openstack loadbalancer pool create --session-persistence cookie_name=chocolate --listener <listener>
driver.amphora=complete
driver.ovn=missing
[operation.session_persistence.HTTP_COOKIE]
title=session_persistence - HTTP_COOKIE
status=optional
notes=Session persistence using a cookie created by the load balancer.
cli=openstack loadbalancer pool create --session-persistence type=HTTP_COOKIE --listener <listener>
driver.amphora=complete
driver.ovn=missing
[operation.session_persistence.persistence_timeout]
title=session_persistence - persistence_timeout
status=optional
notes=The timeout, in seconds, after which a UDP flow may be rescheduled to a different member.
cli=openstack loadbalancer pool create --session-persistence persistence_timeout=360 --listener <listener>
driver.amphora=complete
driver.ovn=missing
[operation.session_persistence.persistence_granularity]
title=session_persistence - persistence_granularity
status=optional
notes=The netmask used to determine UDP SOURCE_IP session persistence.
cli=openstack loadbalancer pool create --session-persistence persistence_granularity=255.255.255.255 --listener <listener>
driver.amphora=complete
driver.ovn=missing
[operation.session_persistence.SOURCE_IP]
title=session_persistence - SOURCE_IP
status=optional
notes=Session persistence using the source IP address.
cli=openstack loadbalancer pool create --session-persistence type=SOURCE_IP --listener <listener>
driver.amphora=complete
driver.ovn=missing
[operation.tags]
title=tags
status=optional
notes=The tags for the pool. Provided by the Octavia API service.
cli=openstack loadbalancer pool create [--tag <tag>] --listener <listener>
driver.amphora=complete
driver.ovn=complete
[operation.tls_enabled]
title=tls_enabled
status=optional
notes=When true connections to backend member servers will use TLS encryption.
cli=openstack loadbalancer pool create [--enable-tls] --listener <listener>
driver.amphora=complete
driver.ovn=missing
[operation.tls_container_ref]
title=tls_container_ref
status=optional
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.
cli=openstack loadbalancer pool create [--tls-container-ref <container-ref>] --listener <listener>
driver.amphora=complete
driver.ovn=missing

View File

@ -0,0 +1,109 @@
..
Copyright (c) 2019 Red Hat, Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may
not use this file except in compliance with the License. You may obtain
a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.
===============================
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 <https://developer.openstack.org/api-ref/load-balancer/v2/index.html?expanded=create-a-load-balancer-detail#create-a-load-balancer>`_ section.
.. support_matrix:: feature-matrix-lb.ini
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 <https://developer.openstack.org/api-ref/load-balancer/v2/index.html?expanded=create-listener-detail#create-listener>`_ section.
.. support_matrix:: feature-matrix-listener.ini
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 <https://developer.openstack.org/api-ref/load-balancer/v2/index.html?expanded=create-pool-detail#create-pool>`_ section.
.. support_matrix:: feature-matrix-pool.ini
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 <https://developer.openstack.org/api-ref/load-balancer/v2/index.html?expanded=create-member-detail#create-member>`_ section.
.. support_matrix:: feature-matrix-member.ini
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 <https://developer.openstack.org/api-ref/load-balancer/v2/index.html?expanded=create-health-monitor-detail#create-health-monitor>`_ section.
.. support_matrix:: feature-matrix-healthmonitor.ini
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 <https://developer.openstack.org/api-ref/load-balancer/v2/index.html?expanded=create-l7-policy-detail#create-an-l7-policy>`_ section.
.. support_matrix:: feature-matrix-l7policy.ini
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 <https://developer.openstack.org/api-ref/load-balancer/v2/index.html?expanded=create-l7-rule-detail#create-an-l7-rule>`_ section.
.. support_matrix:: feature-matrix-l7rule.ini

View File

@ -18,6 +18,7 @@ Guides
:maxdepth: 1
guides/l7
feature-classification/index
References
==========