Skip to content

Commit

Permalink
OCPBUGS-43745: make generate-with-container
Browse files Browse the repository at this point in the history
  • Loading branch information
frobware committed Nov 19, 2024
1 parent 1d987ad commit b400d0e
Show file tree
Hide file tree
Showing 7 changed files with 310 additions and 18 deletions.
7 changes: 7 additions & 0 deletions openapi/generated_openapi/zz_generated.openapi.go

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

4 changes: 4 additions & 0 deletions openapi/openapi.json
Original file line number Diff line number Diff line change
Expand Up @@ -28417,6 +28417,10 @@
"description": "httpHeaders defines policy for HTTP headers.\n\nIf this field is empty, the default values are used.",
"$ref": "#/definitions/com.github.openshift.api.operator.v1.IngressControllerHTTPHeaders"
},
"idleConnectionTerminationPolicy": {
"description": "IdleConnectionTerminationPolicy maps directly to HAProxy's idle-close-on-response option and controls whether HAProxy keeps idle frontend connections open during a soft stop (router reload).\n\nAllowed values for this field are \"Immediate\" and \"Deferred\". The default value is \"Immediate\".\n\nWhen set to \"Immediate\", idle connections are closed immediately during router reloads. This ensures immediate propagation of route changes but may impact clients sensitive to connection resets.\n\nWhen set to \"Deferred\", HAProxy will maintain idle connections during a soft reload instead of closing them immediately. These connections remain open until any of the following occurs:\n\n - A new request is received on the connection, in which\n case HAProxy handles it in the old process and closes\n the connection after sending the response.\n\n - HAProxy's `timeout http-keep-alive` duration expires\n (300 seconds in OpenShift's configuration, not\n configurable).\n\n - The client's keep-alive timeout expires, causing the\n client to close the connection.\n\nSetting Deferred can help prevent errors in clients or load balancers that do not properly handle connection resets. Additionally, this option allows you to retain the pre-2.4 HAProxy behaviour: in HAProxy version 2.2 (OpenShift versions < 4.14), maintaining idle connections during a soft reload was the default behaviour, but starting with HAProxy 2.4, the default changed to closing idle connections immediately.\n\nImportant Consideration:\n\n - Using Deferred will result in temporary inconsistencies\n for the first request on each persistent connection\n after a route update and router reload. This request\n will be processed by the old HAProxy process using its\n old configuration. Subsequent requests will use the\n updated configuration.\n\nOperational Considerations:\n\n - Keeping idle connections open during reloads may lead\n to an accumulation of old HAProxy processes if\n connections remain idle for extended periods,\n especially in environments where frequent reloads\n occur.\n\n - Consider monitoring the number of HAProxy processes in\n the router pods when Deferred is set.\n\n - You may need to enable or adjust the\n `ingress.operator.openshift.io/hard-stop-after`\n duration (configured via an annotation on the\n IngressController resource) in environments with\n frequent reloads to prevent resource exhaustion.",
"type": "string"
},
"logging": {
"description": "logging defines parameters for what should be logged where. If this field is empty, operational logs are enabled but access logs are disabled.",
"$ref": "#/definitions/com.github.openshift.api.operator.v1.IngressControllerLogging"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1255,6 +1255,76 @@ spec:
type: string
type: object
type: object
idleConnectionTerminationPolicy:
default: Immediate
description: |-
IdleConnectionTerminationPolicy maps directly to HAProxy's
idle-close-on-response option and controls whether HAProxy
keeps idle frontend connections open during a soft stop
(router reload).
Allowed values for this field are "Immediate" and
"Deferred". The default value is "Immediate".
When set to "Immediate", idle connections are closed
immediately during router reloads. This ensures immediate
propagation of route changes but may impact clients
sensitive to connection resets.
When set to "Deferred", HAProxy will maintain idle
connections during a soft reload instead of closing them
immediately. These connections remain open until any of the
following occurs:
- A new request is received on the connection, in which
case HAProxy handles it in the old process and closes
the connection after sending the response.
- HAProxy's `timeout http-keep-alive` duration expires
(300 seconds in OpenShift's configuration, not
configurable).
- The client's keep-alive timeout expires, causing the
client to close the connection.
Setting Deferred can help prevent errors in clients or load
balancers that do not properly handle connection resets.
Additionally, this option allows you to retain the pre-2.4
HAProxy behaviour: in HAProxy version 2.2 (OpenShift
versions < 4.14), maintaining idle connections during a
soft reload was the default behaviour, but starting with
HAProxy 2.4, the default changed to closing idle
connections immediately.
Important Consideration:
- Using Deferred will result in temporary inconsistencies
for the first request on each persistent connection
after a route update and router reload. This request
will be processed by the old HAProxy process using its
old configuration. Subsequent requests will use the
updated configuration.
Operational Considerations:
- Keeping idle connections open during reloads may lead
to an accumulation of old HAProxy processes if
connections remain idle for extended periods,
especially in environments where frequent reloads
occur.
- Consider monitoring the number of HAProxy processes in
the router pods when Deferred is set.
- You may need to enable or adjust the
`ingress.operator.openshift.io/hard-stop-after`
duration (configured via an annotation on the
IngressController resource) in environments with
frequent reloads to prevent resource exhaustion.
enum:
- Immediate
- Deferred
type: string
logging:
description: |-
logging defines parameters for what should be logged where. If this
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1049,6 +1049,76 @@ spec:
type: string
type: object
type: object
idleConnectionTerminationPolicy:
default: Immediate
description: |-
IdleConnectionTerminationPolicy maps directly to HAProxy's
idle-close-on-response option and controls whether HAProxy
keeps idle frontend connections open during a soft stop
(router reload).
Allowed values for this field are "Immediate" and
"Deferred". The default value is "Immediate".
When set to "Immediate", idle connections are closed
immediately during router reloads. This ensures immediate
propagation of route changes but may impact clients
sensitive to connection resets.
When set to "Deferred", HAProxy will maintain idle
connections during a soft reload instead of closing them
immediately. These connections remain open until any of the
following occurs:
- A new request is received on the connection, in which
case HAProxy handles it in the old process and closes
the connection after sending the response.
- HAProxy's `timeout http-keep-alive` duration expires
(300 seconds in OpenShift's configuration, not
configurable).
- The client's keep-alive timeout expires, causing the
client to close the connection.
Setting Deferred can help prevent errors in clients or load
balancers that do not properly handle connection resets.
Additionally, this option allows you to retain the pre-2.4
HAProxy behaviour: in HAProxy version 2.2 (OpenShift
versions < 4.14), maintaining idle connections during a
soft reload was the default behaviour, but starting with
HAProxy 2.4, the default changed to closing idle
connections immediately.
Important Consideration:
- Using Deferred will result in temporary inconsistencies
for the first request on each persistent connection
after a route update and router reload. This request
will be processed by the old HAProxy process using its
old configuration. Subsequent requests will use the
updated configuration.
Operational Considerations:
- Keeping idle connections open during reloads may lead
to an accumulation of old HAProxy processes if
connections remain idle for extended periods,
especially in environments where frequent reloads
occur.
- Consider monitoring the number of HAProxy processes in
the router pods when Deferred is set.
- You may need to enable or adjust the
`ingress.operator.openshift.io/hard-stop-after`
duration (configured via an annotation on the
IngressController resource) in environments with
frequent reloads to prevent resource exhaustion.
enum:
- Immediate
- Deferred
type: string
logging:
description: |-
logging defines parameters for what should be logged where. If this
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1198,6 +1198,76 @@ spec:
type: string
type: object
type: object
idleConnectionTerminationPolicy:
default: Immediate
description: |-
IdleConnectionTerminationPolicy maps directly to HAProxy's
idle-close-on-response option and controls whether HAProxy
keeps idle frontend connections open during a soft stop
(router reload).
Allowed values for this field are "Immediate" and
"Deferred". The default value is "Immediate".
When set to "Immediate", idle connections are closed
immediately during router reloads. This ensures immediate
propagation of route changes but may impact clients
sensitive to connection resets.
When set to "Deferred", HAProxy will maintain idle
connections during a soft reload instead of closing them
immediately. These connections remain open until any of the
following occurs:
- A new request is received on the connection, in which
case HAProxy handles it in the old process and closes
the connection after sending the response.
- HAProxy's `timeout http-keep-alive` duration expires
(300 seconds in OpenShift's configuration, not
configurable).
- The client's keep-alive timeout expires, causing the
client to close the connection.
Setting Deferred can help prevent errors in clients or load
balancers that do not properly handle connection resets.
Additionally, this option allows you to retain the pre-2.4
HAProxy behaviour: in HAProxy version 2.2 (OpenShift
versions < 4.14), maintaining idle connections during a
soft reload was the default behaviour, but starting with
HAProxy 2.4, the default changed to closing idle
connections immediately.
Important Consideration:
- Using Deferred will result in temporary inconsistencies
for the first request on each persistent connection
after a route update and router reload. This request
will be processed by the old HAProxy process using its
old configuration. Subsequent requests will use the
updated configuration.
Operational Considerations:
- Keeping idle connections open during reloads may lead
to an accumulation of old HAProxy processes if
connections remain idle for extended periods,
especially in environments where frequent reloads
occur.
- Consider monitoring the number of HAProxy processes in
the router pods when Deferred is set.
- You may need to enable or adjust the
`ingress.operator.openshift.io/hard-stop-after`
duration (configured via an annotation on the
IngressController resource) in environments with
frequent reloads to prevent resource exhaustion.
enum:
- Immediate
- Deferred
type: string
logging:
description: |-
logging defines parameters for what should be logged where. If this
Expand Down
Loading

0 comments on commit b400d0e

Please sign in to comment.