From 4671869eb6e93a02e4a58aac3e70ce78054a4a8d Mon Sep 17 00:00:00 2001 From: Viet Nguyen Duc Date: Tue, 20 Feb 2024 08:17:34 +0700 Subject: [PATCH] update: add separate ENV vars for component configs (#2140) * update: add separate ENV vars for Node configs * update: add separate ENV var for Distributor healthcheck-interval --------- Signed-off-by: Viet Nguyen Duc --- .gitignore | 1 + Distributor/Dockerfile | 2 ++ Distributor/start-selenium-grid-distributor.sh | 1 + Hub/Dockerfile | 2 ++ Hub/start-selenium-grid-hub.sh | 1 + NodeBase/Dockerfile | 2 ++ NodeBase/start-selenium-node.sh | 10 ++++++++++ Standalone/Dockerfile | 2 ++ Standalone/start-selenium-standalone.sh | 11 +++++++++++ .../charts/ci/DeploymentAutoscaling-values.yaml | 4 ++++ tests/charts/ci/JobAutoscaling-values.yaml | 4 ++++ tests/charts/ci/base-auth-ingress-values.yaml | 12 ++++++++++++ tests/charts/ci/base-tracing-values.yaml | 17 ----------------- tests/charts/make/chart_test.sh | 1 - 14 files changed, 52 insertions(+), 18 deletions(-) delete mode 100644 tests/charts/ci/base-tracing-values.yaml diff --git a/.gitignore b/.gitignore index f77615fd4..987a2438f 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ tmp/ *_image/ node_modules/ .idea/ +*.iml # Sed backup files. *-e # Vim swap files. diff --git a/Distributor/Dockerfile b/Distributor/Dockerfile index 7ddae88b6..e4045804a 100644 --- a/Distributor/Dockerfile +++ b/Distributor/Dockerfile @@ -21,5 +21,7 @@ COPY selenium-grid-distributor.conf /etc/supervisor/conf.d/ ENV SE_SESSION_REQUEST_TIMEOUT 300 # In seconds, maps to "--session-retry-interval" ENV SE_SESSION_RETRY_INTERVAL 15 +# In seconds, maps to "--healthcheck-interval" +ENV SE_HEALTHCHECK_INTERVAL 120 ENV SE_OTEL_SERVICE_NAME "selenium-distributor" diff --git a/Distributor/start-selenium-grid-distributor.sh b/Distributor/start-selenium-grid-distributor.sh index a012ab609..75c4b0cac 100755 --- a/Distributor/start-selenium-grid-distributor.sh +++ b/Distributor/start-selenium-grid-distributor.sh @@ -130,6 +130,7 @@ java ${JAVA_OPTS:-$SE_JAVA_OPTS} \ --subscribe-events tcp://"${SE_EVENT_BUS_HOST}":"${SE_EVENT_BUS_SUBSCRIBE_PORT}" \ --session-request-timeout ${SE_SESSION_REQUEST_TIMEOUT} \ --session-retry-interval ${SE_SESSION_RETRY_INTERVAL} \ + --healthcheck-interval ${SE_HEALTHCHECK_INTERVAL} \ --bind-host ${SE_BIND_HOST} \ --bind-bus false \ ${HOST_CONFIG} \ diff --git a/Hub/Dockerfile b/Hub/Dockerfile index aefc63bdf..b6312ca3e 100644 --- a/Hub/Dockerfile +++ b/Hub/Dockerfile @@ -18,6 +18,8 @@ EXPOSE 4444 ENV SE_SESSION_REQUEST_TIMEOUT 300 # In seconds, maps to "--session-retry-interval" ENV SE_SESSION_RETRY_INTERVAL 15 +# In seconds, maps to "--healthcheck-interval" +ENV SE_HEALTHCHECK_INTERVAL 120 # Boolean value, maps "--relax-checks" ENV SE_RELAX_CHECKS true diff --git a/Hub/start-selenium-grid-hub.sh b/Hub/start-selenium-grid-hub.sh index 8a295e550..7397db0d0 100755 --- a/Hub/start-selenium-grid-hub.sh +++ b/Hub/start-selenium-grid-hub.sh @@ -99,6 +99,7 @@ java ${JAVA_OPTS:-$SE_JAVA_OPTS} \ ${EXTRA_LIBS} hub \ --session-request-timeout ${SE_SESSION_REQUEST_TIMEOUT} \ --session-retry-interval ${SE_SESSION_RETRY_INTERVAL} \ + --healthcheck-interval ${SE_HEALTHCHECK_INTERVAL} \ --relax-checks ${SE_RELAX_CHECKS} \ --bind-host ${SE_BIND_HOST} \ --config /opt/selenium/config.toml \ diff --git a/NodeBase/Dockerfile b/NodeBase/Dockerfile index 4567f1516..90e45298e 100644 --- a/NodeBase/Dockerfile +++ b/NodeBase/Dockerfile @@ -195,6 +195,8 @@ ENV SE_NODE_MAX_SESSIONS 1 ENV SE_NODE_SESSION_TIMEOUT 300 # As boolean, maps to "override-max-sessions" ENV SE_NODE_OVERRIDE_MAX_SESSIONS false +# As integer, maps to "--heartbeat-period" in seconds +ENV SE_NODE_HEARTBEAT_PERIOD 30 # Following line fixes https://github.com/SeleniumHQ/docker-selenium/issues/87 ENV DBUS_SESSION_BUS_ADDRESS=/dev/null diff --git a/NodeBase/start-selenium-node.sh b/NodeBase/start-selenium-node.sh index 4b90810d2..cf622f752 100755 --- a/NodeBase/start-selenium-node.sh +++ b/NodeBase/start-selenium-node.sh @@ -51,6 +51,16 @@ if [ ! -z "$SE_NODE_REGISTER_PERIOD" ]; then SE_OPTS="$SE_OPTS --register-period ${SE_NODE_REGISTER_PERIOD}" fi +if [ ! -z "$SE_NODE_REGISTER_CYCLE" ]; then + echo "Appending Selenium options: --register-cycle ${SE_NODE_REGISTER_CYCLE}" + SE_OPTS="$SE_OPTS --register-cycle ${SE_NODE_REGISTER_CYCLE}" +fi + +if [ ! -z "$SE_NODE_HEARTBEAT_PERIOD" ]; then + echo "Appending Selenium options: --heartbeat-period ${SE_NODE_HEARTBEAT_PERIOD}" + SE_OPTS="$SE_OPTS --heartbeat-period ${SE_NODE_HEARTBEAT_PERIOD}" +fi + if [ ! -z "$SE_LOG_LEVEL" ]; then echo "Appending Selenium options: --log-level ${SE_LOG_LEVEL}" SE_OPTS="$SE_OPTS --log-level ${SE_LOG_LEVEL}" diff --git a/Standalone/Dockerfile b/Standalone/Dockerfile index d7482b7fe..fd4311c2f 100644 --- a/Standalone/Dockerfile +++ b/Standalone/Dockerfile @@ -24,6 +24,8 @@ COPY --chown="${SEL_UID}:${SEL_GID}" generate_config /opt/bin/generate_config ENV SE_SESSION_REQUEST_TIMEOUT 300 # In seconds, maps to "--session-retry-interval" ENV SE_SESSION_RETRY_INTERVAL 15 +# In seconds, maps to "--healthcheck-interval" +ENV SE_HEALTHCHECK_INTERVAL 120 # Boolean value, maps "--relax-checks" ENV SE_RELAX_CHECKS true diff --git a/Standalone/start-selenium-standalone.sh b/Standalone/start-selenium-standalone.sh index 25bc14ca7..79f81f3ca 100755 --- a/Standalone/start-selenium-standalone.sh +++ b/Standalone/start-selenium-standalone.sh @@ -26,6 +26,16 @@ if [ ! -z "$SE_NODE_REGISTER_PERIOD" ]; then SE_OPTS="$SE_OPTS --register-period ${SE_NODE_REGISTER_PERIOD}" fi +if [ ! -z "$SE_NODE_REGISTER_CYCLE" ]; then + echo "Appending Selenium options: --register-cycle ${SE_NODE_REGISTER_CYCLE}" + SE_OPTS="$SE_OPTS --register-cycle ${SE_NODE_REGISTER_CYCLE}" +fi + +if [ ! -z "$SE_NODE_HEARTBEAT_PERIOD" ]; then + echo "Appending Selenium options: --heartbeat-period ${SE_NODE_HEARTBEAT_PERIOD}" + SE_OPTS="$SE_OPTS --heartbeat-period ${SE_NODE_HEARTBEAT_PERIOD}" +fi + if [ ! -z "$SE_LOG_LEVEL" ]; then echo "Appending Selenium options: --log-level ${SE_LOG_LEVEL}" SE_OPTS="$SE_OPTS --log-level ${SE_LOG_LEVEL}" @@ -106,6 +116,7 @@ java ${JAVA_OPTS:-$SE_JAVA_OPTS} \ ${EXTRA_LIBS} standalone \ --session-request-timeout ${SE_SESSION_REQUEST_TIMEOUT} \ --session-retry-interval ${SE_SESSION_RETRY_INTERVAL} \ + --healthcheck-interval ${SE_HEALTHCHECK_INTERVAL} \ --bind-host ${SE_BIND_HOST} \ --config /opt/selenium/config.toml \ ${SUB_PATH_CONFIG} \ diff --git a/tests/charts/ci/DeploymentAutoscaling-values.yaml b/tests/charts/ci/DeploymentAutoscaling-values.yaml index f249d96b2..230eb95cf 100644 --- a/tests/charts/ci/DeploymentAutoscaling-values.yaml +++ b/tests/charts/ci/DeploymentAutoscaling-values.yaml @@ -45,6 +45,10 @@ chromeNode: value: "1080" - name: TZ value: "Asia/Saigon" + - name: SE_NODE_REGISTER_PERIOD + value: "800" + - name: SE_NODE_REGISTER_CYCLE + value: "3" readinessProbe: enabled: &readinessProbe true livenessProbe: diff --git a/tests/charts/ci/JobAutoscaling-values.yaml b/tests/charts/ci/JobAutoscaling-values.yaml index cee4844e1..c6eabfd5d 100644 --- a/tests/charts/ci/JobAutoscaling-values.yaml +++ b/tests/charts/ci/JobAutoscaling-values.yaml @@ -23,6 +23,10 @@ chromeNode: value: "1080" - name: TZ value: "Asia/Saigon" + - name: SE_NODE_REGISTER_PERIOD + value: "800" + - name: SE_NODE_REGISTER_CYCLE + value: "3" readinessProbe: enabled: &readinessProbe false livenessProbe: diff --git a/tests/charts/ci/base-auth-ingress-values.yaml b/tests/charts/ci/base-auth-ingress-values.yaml index 5efe3c104..6432880bd 100644 --- a/tests/charts/ci/base-auth-ingress-values.yaml +++ b/tests/charts/ci/base-auth-ingress-values.yaml @@ -26,9 +26,21 @@ isolateComponents: true hub: subPath: *gridAppRoot + extraEnvironmentVariables: &extraEnvironmentVariables + - name: SE_SESSION_REQUEST_TIMEOUT + value: "800" + - name: SE_SESSION_RETRY_INTERVAL + value: "5" + - name: SE_HEALTHCHECK_INTERVAL + value: "5" + - name: SE_REJECT_UNSUPPORTED_CAPS + value: "false" + - name: SE_OPTS + value: "--max-threads 12" components: subPath: *gridAppRoot + extraEnvironmentVariables: *extraEnvironmentVariables ingress-nginx: enabled: true diff --git a/tests/charts/ci/base-tracing-values.yaml b/tests/charts/ci/base-tracing-values.yaml deleted file mode 100644 index cbbf57a76..000000000 --- a/tests/charts/ci/base-tracing-values.yaml +++ /dev/null @@ -1,17 +0,0 @@ -hub: - extraEnvironmentVariables: - - name: SE_SESSION_REQUEST_TIMEOUT - value: "800" - - name: SE_SESSION_RETRY_INTERVAL - value: "5" - - name: SE_REJECT_UNSUPPORTED_CAPS - value: "false" - -components: - extraEnvironmentVariables: - - name: SE_SESSION_REQUEST_TIMEOUT - value: "800" - - name: SE_SESSION_RETRY_INTERVAL - value: "5" - - name: SE_REJECT_UNSUPPORTED_CAPS - value: "false" diff --git a/tests/charts/make/chart_test.sh b/tests/charts/make/chart_test.sh index f16fd1160..033ce7a72 100755 --- a/tests/charts/make/chart_test.sh +++ b/tests/charts/make/chart_test.sh @@ -83,7 +83,6 @@ fi HELM_COMMAND_SET_BASE_VALUES=" \ --values ${TEST_VALUES_PATH}/base-auth-ingress-values.yaml \ ---values ${TEST_VALUES_PATH}/base-tracing-values.yaml \ --values ${RECORDER_VALUES_FILE} \ --values ${TEST_VALUES_PATH}/base-resources-values.yaml \ "