Skip to content

Commit

Permalink
Merge pull request #1127 from candita/NE-585-HealthCheckInterval
Browse files Browse the repository at this point in the history
NE-585 Make ROUTER_BACKEND_CHECK_INTERVAL configurable
  • Loading branch information
openshift-merge-robot authored Mar 23, 2022
2 parents 9c4998a + af97225 commit c20887a
Show file tree
Hide file tree
Showing 4 changed files with 46 additions and 0 deletions.
18 changes: 18 additions & 0 deletions operator/v1/0000_50_ingress-operator_00-ingresscontroller.crd.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1126,6 +1126,24 @@ spec:
format: int32
minimum: 4096
type: integer
healthCheckInterval:
description: "healthCheckInterval defines how long the router
waits between two consecutive health checks on its configured
backends. This value is applied globally as a default for all
routes, but may be overridden per-route by the route annotation
\"router.openshift.io/haproxy.health.check.interval\". \n Setting
this to less than 5s can cause excess traffic due to too frequent
TCP health checks and accompanying SYN packet storms. Alternatively,
setting this too high can result in increased latency, due to
backend servers that are no longer available, but haven't yet
been detected as such. \n An empty or zero healthCheckInterval
means no opinion and IngressController chooses a default, which
is subject to change over time. Currently the default healthCheckInterval
value is 5s. \n Currently the minimum allowed value is 1s and
the maximum allowed value is 2147483647ms (24.85 days). Both
are subject to change over time."
format: duration
type: string
serverFinTimeout:
description: "serverFinTimeout defines how long a connection will
be held open while waiting for the server/backend response to
Expand Down
22 changes: 22 additions & 0 deletions operator/v1/types_ingress.go
Original file line number Diff line number Diff line change
Expand Up @@ -1306,6 +1306,28 @@ type IngressControllerTuningOptions struct {
// +kubebuilder:validation:Format=duration
// +optional
TLSInspectDelay *metav1.Duration `json:"tlsInspectDelay,omitempty"`

// healthCheckInterval defines how long the router waits between two consecutive
// health checks on its configured backends. This value is applied globally as
// a default for all routes, but may be overridden per-route by the route annotation
// "router.openshift.io/haproxy.health.check.interval".
//
// Setting this to less than 5s can cause excess traffic due to too frequent
// TCP health checks and accompanying SYN packet storms. Alternatively, setting
// this too high can result in increased latency, due to backend servers that are no
// longer available, but haven't yet been detected as such.
//
// An empty or zero healthCheckInterval means no opinion and IngressController chooses
// a default, which is subject to change over time.
// Currently the default healthCheckInterval value is 5s.
//
// Currently the minimum allowed value is 1s and the maximum allowed value is
// 2147483647ms (24.85 days). Both are subject to change over time.
//
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Format=duration
// +optional
HealthCheckInterval *metav1.Duration `json:"healthCheckInterval,omitempty"`
}

// HTTPEmptyRequestsPolicy indicates how HTTP connections for which no request
Expand Down
5 changes: 5 additions & 0 deletions operator/v1/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions operator/v1/zz_generated.swagger_doc_generated.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit c20887a

Please sign in to comment.