diff options
| -rw-r--r-- | ansible/roles/cloudkitty/defaults/main.yml | 12 | ||||
| -rw-r--r-- | releasenotes/notes/cloudkitty-haproxy-custom-timeouts-2f5c30619269d2f0.yaml | 10 |
2 files changed, 22 insertions, 0 deletions
diff --git a/ansible/roles/cloudkitty/defaults/main.yml b/ansible/roles/cloudkitty/defaults/main.yml index 0b74f8e27..8cfe7d3a4 100644 --- a/ansible/roles/cloudkitty/defaults/main.yml +++ b/ansible/roles/cloudkitty/defaults/main.yml @@ -16,9 +16,12 @@ cloudkitty_services: external: false port: "{{ cloudkitty_api_port }}" listen_port: "{{ cloudkitty_api_listen_port }}" + frontend_http_extra: + - "timeout client {{ haproxy_cloudkitty_api_client_timeout }}" backend_http_extra: - "option httpchk GET /healthcheck" - "http-check expect status 200" + - "timeout server {{ haproxy_cloudkitty_api_server_timeout }}" cloudkitty_api_external: enabled: "{{ enable_cloudkitty }}" mode: "http" @@ -26,9 +29,12 @@ cloudkitty_services: external_fqdn: "{{ cloudkitty_external_fqdn }}" port: "{{ cloudkitty_api_public_port }}" listen_port: "{{ cloudkitty_api_listen_port }}" + frontend_http_extra: + - "timeout client {{ haproxy_cloudkitty_api_client_timeout }}" backend_http_extra: - "option httpchk GET /healthcheck" - "http-check expect status 200" + - "timeout server {{ haproxy_cloudkitty_api_server_timeout }}" cloudkitty-processor: container_name: "cloudkitty_processor" group: "cloudkitty-processor" @@ -53,6 +59,12 @@ cloudkitty_database_user: "{% if use_preconfigured_databases | bool and use_comm cloudkitty_database_address: "{{ database_address | put_address_in_context('url') }}:{{ database_port }}" #################### +# HAProxy +#################### +haproxy_cloudkitty_api_client_timeout: "1m" +haproxy_cloudkitty_api_server_timeout: "1m" + +#################### # Database sharding #################### cloudkitty_database_shard_root_user: "{% if enable_proxysql | bool %}root_shard_{{ cloudkitty_database_shard_id }}{% else %}{{ database_user }}{% endif %}" diff --git a/releasenotes/notes/cloudkitty-haproxy-custom-timeouts-2f5c30619269d2f0.yaml b/releasenotes/notes/cloudkitty-haproxy-custom-timeouts-2f5c30619269d2f0.yaml new file mode 100644 index 000000000..cbab01202 --- /dev/null +++ b/releasenotes/notes/cloudkitty-haproxy-custom-timeouts-2f5c30619269d2f0.yaml @@ -0,0 +1,10 @@ +--- +features: + - | + CloudKitty v1 API does not support pagination, which may require increasing + timeouts for large requests. Adds two HAProxy timeout variables for the + CloudKitty API: ``haproxy_cloudkitty_api_client_timeout`` and + ``haproxy_cloudkitty_api_server_timeout``. These variables are used to + populate HAProxy's ``frontend_http_extra`` and ``backend_http_extra`` for + the ``cloudkitty_api`` and ``cloudkitty_api_external`` listeners. The + defaults are set to one minute. |
