K8s: Instead of probe to restart Distributor, adding event bus heartbeat to prevent steal connection #2995
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
User description
Thanks for contributing to the Docker-Selenium project!
A PR well described will help maintainers to quickly review and merge it
Before submitting your PR, please check our contributing guidelines, applied for this repository.
Avoid large PRs, help reviewers by making them as simple and short as possible.
Description
Disable the custom exec probe to restart the Distributor as a workaround if there is no Node able to register with the Distributor.
Now, [grid] Add event bus heartbeat to prevent steal connection - SeleniumHQ/selenium#16444
So, issue Distributor Requires Restart to Register New Nodes After Hours of Inactivity could be resolved.
Motivation and Context
Types of changes
Checklist
PR Type
Enhancement
Description
Add event bus heartbeat period configuration support across all Selenium Grid components
Enable
SE_EVENT_BUS_HEARTBEAT_PERIOD
environment variable in startup scriptsChange default component liveness probe from
exec
tohttpGet
in Helm chartsPrevent connection stealing by implementing heartbeat mechanism in event bus
Diagram Walkthrough
File Walkthrough
start-selenium-grid-eventbus.sh
Add event bus heartbeat period configuration
EventBus/start-selenium-grid-eventbus.sh
SE_EVENT_BUS_HEARTBEAT_PERIOD
environmentvariable
--eventbus-heartbeat-period
option to Selenium Grid startupcommand
start-selenium-grid-hub.sh
Add event bus heartbeat period configuration
Hub/start-selenium-grid-hub.sh
SE_EVENT_BUS_HEARTBEAT_PERIOD
environmentvariable
--eventbus-heartbeat-period
option to Selenium Grid startupcommand
start-selenium-standalone.sh
Add event bus heartbeat period configuration
Standalone/start-selenium-standalone.sh
SE_EVENT_BUS_HEARTBEAT_PERIOD
environmentvariable
--eventbus-heartbeat-period
option to Selenium Grid startupcommand
start-selenium-grid-docker.sh
Add event bus heartbeat period configuration
StandaloneDocker/start-selenium-grid-docker.sh
SE_EVENT_BUS_HEARTBEAT_PERIOD
environmentvariable
--eventbus-heartbeat-period
option to Selenium Grid startupcommand
CONFIGURATION.md
Update default component liveness probe documentation
charts/selenium-grid/CONFIGURATION.md
global.seleniumGrid.defaultComponentLivenessProbe
fromexec
tohttpGet
values.yaml
Change default component liveness probe method
charts/selenium-grid/values.yaml
defaultComponentLivenessProbe
default value fromexec
tohttpGet