canonical / canonical/haproxy-operator

Allow relating applications to specify timeouts per frontend/backend

Open
#466 3 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Python
Stars
4
Forks
12
Avg merge
1d 8h
Merged PRs (30d)
22

Description

### Enhancement Proposal

Currently, the HAProxy charm is setting default timeouts that apply to all backend/frontends. While this is ok, there is chance some applications require extended timeouts. For example, the default timeout server is 5 minutes. However, this is not enough for MAAS (maas-region charm). Some MAAS APIs have slow responses either because of performance (machine listing) or due to waiting for machine power operations to succeed before returning the response to the user.

For these applications, it makes a lot of sense to be able to specify in the relation databag specific timeouts that can be applied to the relevant frontend/backend of HAProxy.

For maas-region charm in particular, there is an immediate need for `timeout server` which should be set at least to 15 minutes (900s)

A list of all available timeouts can be found in the HAProxy configuration docs and also in the attached screenshot: https://www.haproxy.com/documentation/haproxy-configuration-manual/latest/

Image

### Impact

High (The feature has short-term technical value)

### Impact Rationale

The non-existence of such option, can block charmed MAAS deployments when enlisting machines and require manual patching of the HAProxy template (see linked issue in the comments)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.