New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add unsupported config override for maxconn #638
Add unsupported config override for maxconn #638
Conversation
* test/e2e/operator_test.go (waitForDeploymentEnvVar): Use the provided timeout parameter instead of a hard-coded value of 1 minute.
Specify a time unit suffix "s" for seconds in the value of the RELOAD_INTERVAL environment variable in router deployments. Omitting the time unit causes the following warning: router "msg"="invalid interval, using default" "default"=5 "interval"="5" "name"="RELOAD_INTERVAL" * pkg/operator/controller/ingress/deployment.go (desiredRouterDeployment): Add "s" time unit suffix to the reload interval. * pkg/operator/controller/ingress/deployment_test.go (TestDesiredRouterDeployment): * test/e2e/operator_test.go (TestReloadIntervalUnsupportedConfigOverride): Expect the time unit suffix.
error getting cluster version: Get "https://api.ci-op-3v7xm0xs-2945d.origin-ci-int-aws.dev.rhcloud.com:6443/apis/config.openshift.io/v1/clusterversions/version": dial tcp 52.200.26.31:6443: i/o timeout /retest |
Failure:
/retest |
/lgtm |
Looks like cluster is not stood up:
/retest |
/retest-required Please review the full test history for this PR and help us cut down flakes. |
1 similar comment
/retest-required Please review the full test history for this PR and help us cut down flakes. |
Add an unsupported config override for setting HAProxy's global maxconn setting. If the config override is unspecified, the current default of 20000 is used. If the config override has the value "-1", the maxconn setting is omitted so that HAProxy automatically detects a reasonable value based on the value of ulimit -n. * pkg/operator/controller/ingress/deployment.go (RouterMaxConnectionsEnvName): New const. (desiredRouterDeployment): Add unsupported config override for ROUTER_MAX_CONNECTIONS. * pkg/operator/controller/ingress/deployment_test.go (TestDesiredRouterDeployment): Verify that desiredRouterDeployment sets ROUTER_MAX_CONNECTIONS as expected. * test/e2e/operator_test.go (TestMaxConnectionsUnsupportedConfigOverride): Verify that the operator sets ROUTER_MAX_CONNECTIONS to the appropriate value based on the value specified in the unsupported configuration override if an override is specified.
When updating an ingresscontroller, do a get immediately before doing the update. This is a cleanup and should have no significant functional effect. * test/e2e/operator_test.go (TestProxyProtocolAPI) (TestLoadBalancingAlgorithmUnsupportedConfigOverride) (TestDynamicConfigManagerUnsupportedConfigOverride) (TestReloadIntervalUnsupportedConfigOverride): Get ingresscontroller immediately before updating it.
Working on a fix for this:
|
Ignore not-found errors when deleting client pods. These pods run and then exit, and it is possible that they get garbage collected before the test code deletes them, in which case it is expected that they be not found. * test/e2e/canary_test.go (TestCanaryRoute): * test/e2e/client_tls_test.go (TestClientTLS): * test/e2e/http_header_buffer_test.go (TestHTTPHeaderBufferSize): * test/e2e/http_header_name_case_adjustment_test.go (TestHeaderNameCaseAdjustment): * test/e2e/operator_test.go (TestHTTPHeaderCapture, TestHTTPCookieCapture) (TestUniqueIdHeader): Ignore not-found errors when deleting client pods.
e0519a0
to
8041f49
Compare
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: frobware, Miciah The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
This PR bundles (in logically separate commits) a fix to the reload interval override, a small fix to the E2E tests, and a new unsupported config override for
ROUTER_MAX_CONNECTIONS
.waitForDeploymentComplete
: Actually use timeout argtest/e2e/operator_test.go
(waitForDeploymentEnvVar
): Use the provided timeout parameter instead of a hard-coded value of 1 minute.Specify a time unit in
RELOAD_INTERVAL
Specify a time unit suffix "s" for seconds in the value of the
RELOAD_INTERVAL
environment variable in router deployments. Omitting the time unit causes the following warning:pkg/operator/controller/ingress/deployment.go
(desiredRouterDeployment
): Add "s" time unit suffix to the reload interval.pkg/operator/controller/ingress/deployment_test.go
(TestDesiredRouterDeployment
):test/e2e/operator_test.go
(TestReloadIntervalUnsupportedConfigOverride
): Expect the time unit suffix.Add unsupported config override for
maxconn
Add an unsupported config override for setting HAProxy's global
maxconn
setting. If the config override is unspecified, the current default of 20000 is used. If the config override has the value "-1", themaxconn
setting is omitted so that HAProxy automatically detects a reasonable value based on the value ofulimit -n
.pkg/operator/controller/ingress/deployment.go
(RouterMaxConnectionsEnvName
): New const.(
desiredRouterDeployment
): Add unsupported config override forROUTER_MAX_CONNECTIONS
.pkg/operator/controller/ingress/deployment_test.go
(TestDesiredRouterDeployment
): Verify thatdesiredRouterDeployment
setsROUTER_MAX_CONNECTIONS
as expected.test/e2e/operator_test.go
(TestMaxConnectionsUnsupportedConfigOverride
): Verify that the operator setsROUTER_MAX_CONNECTIONS
to the appropriate value based on the value specified in the unsupported configuration override if an override is specified.test/e2e
: Get ingresscontroller before updateWhen updating an ingresscontroller, do a get immediately before doing the update.
This is a cleanup and should have no significant functional effect.
test/e2e/operator_test.go
(TestProxyProtocolAPI
,TestLoadBalancingAlgorithmUnsupportedConfigOverride
,TestDynamicConfigManagerUnsupportedConfigOverride
,TestReloadIntervalUnsupportedConfigOverride
): Get ingresscontroller immediately before updating it.test/e2e
: Ignore some not-found errors on deleteIgnore not-found errors when deleting client pods. These pods run and then exit, and it is possible that they get garbage collected before the test code deletes them, in which case it is expected that they be not found.
test/e2e/canary_test.go
(TestCanaryRoute
):test/e2e/client_tls_test.go
(TestClientTLS
):test/e2e/http_header_buffer_test.go
(TestHTTPHeaderBufferSize
):test/e2e/http_header_name_case_adjustment_test.go
(TestHeaderNameCaseAdjustment
):test/e2e/operator_test.go
(TestHTTPHeaderCapture
,TestHTTPCookieCapture
,TestUniqueIdHeader
): Ignore not-found errors when deleting client pods.Setting a config override of
maxConnections: -1
requires openshift/router#304 to work properly.