Add amphora connection timeouts options to charm

This patch adds the possibility to configure the number of retries
and the timeout between those retries when connection to the
amphorae.

Closes-bug: #1988094
Change-Id: Idf25c327fe34f751f622a3a467a5ba8f73125681
This commit is contained in:
Tiago Pasqualini 2022-08-29 18:29:39 -03:00 committed by Rodrigo Barbieri
parent 10a800bab3
commit d1d369c703
3 changed files with 33 additions and 1 deletions

View File

@ -195,4 +195,27 @@ options:
description: |
Number of days left for the Octavia certificates, used for secure
communication between the controller and the amphora instances,
to expire before raising a Critical alert.
to expire before raising a Critical alert.
connection-max-retries:
default: 120
type: int
description: |
Retry threshold for connecting to amphorae. This is used when waiting
for a new amphora to become available as well as during a failover.
connection-retry-interval:
default: 5
type: int
description: |
Retry timeout between connection attempts in seconds. This is used
when waiting for a new amphora to become available as well as during a
failover.
active-connection-max-retries:
default: 15
type: int
description: |
Retry threshold for connecting to an active amphora.
active-connection-retry-interval:
default: 2
type: int
description: |
Retry timeout between connection attempts in seconds for active amphora.

View File

@ -100,6 +100,11 @@ server_ca = {{ options.issuing_cacert }}
# This certificate is used by the ``Octavia`` controller when it takes on the
# role as a "client" connecting to the ``Amphorae``.
client_cert = {{ options.controller_cert }}
connection_max_retries = {{ options.connection_max_retries }}
connection_retry_interval = {{ options.connection_retry_interval }}
active_connection_max_retries = {{ options.active_connection_max_retries }}
active_connection_retry_interval = {{ options.active_connection_retry_interval }}
{% include "parts/section-database" %}

View File

@ -105,6 +105,10 @@ server_ca = {{ options.issuing_cacert }}
# This certificate is used by the ``Octavia`` controller when it takes on the
# role as a "client" connecting to the ``Amphorae``.
client_cert = {{ options.controller_cert }}
connection_max_retries = {{ options.connection_max_retries }}
connection_retry_interval = {{ options.connection_retry_interval }}
active_connection_max_retries = {{ options.active_connection_max_retries }}
active_connection_retry_interval = {{ options.active_connection_retry_interval }}
{% include "parts/section-database" %}