Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -981,15 +981,17 @@ spec:
description: "threadCount defines the number of threads created
per HAProxy process. Creating more threads allows each ingress
controller pod to handle more connections, at the cost of more
system resources being used. If this field is empty, the IngressController
will use the default value. The current default is 4 threads,
but this may change in future releases. \n Setting this field
is generally not recommended. Increasing the number of HAProxy
system resources being used. HAProxy currently supports up to
64 threads. If this field is empty, the IngressController will
use the default value. The current default is 4 threads, but
this may change in future releases. \n Setting this field is
generally not recommended. Increasing the number of HAProxy
threads allows ingress controller pods to utilize more CPU time
under load, potentially starving other pods if set too high.
Reducing the number of threads may cause the ingress controller
to perform poorly."
format: int32
maximum: 64
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're changing a value from previously unbounded? What is the chance that this value is currently set higher than 64 in existing clusters?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The field is new in 4.8, but even if someone is running a 4.8 pre-release build and threadCound is set above 64, HAProxy exits with a fatal error and the router pods quickly end up in CrashLoopBackOff state, so it shouldn't be possible that a working cluster has threadCount set above 64.

minimum: 1
type: integer
type: object
Expand Down
8 changes: 5 additions & 3 deletions operator/v1/types_ingress.go
Original file line number Diff line number Diff line change
Expand Up @@ -1064,9 +1064,10 @@ type IngressControllerTuningOptions struct {

// threadCount defines the number of threads created per HAProxy process.
// Creating more threads allows each ingress controller pod to handle more
// connections, at the cost of more system resources being used. If this
// field is empty, the IngressController will use the default value. The
// current default is 4 threads, but this may change in future releases.
// connections, at the cost of more system resources being used. HAProxy
// currently supports up to 64 threads. If this field is empty, the
// IngressController will use the default value. The current default is 4
// threads, but this may change in future releases.
//
// Setting this field is generally not recommended. Increasing the number
// of HAProxy threads allows ingress controller pods to utilize more CPU
Expand All @@ -1076,6 +1077,7 @@ type IngressControllerTuningOptions struct {
//
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Minimum=1
// +kubebuilder:validation:Maximum=64
// +optional
ThreadCount int32 `json:"threadCount,omitempty"`
}
Expand Down
2 changes: 1 addition & 1 deletion 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.