SeleniumHQ / SeleniumHQ/docker-selenium

[🐛 Bug]: Deleting the node via CuRL command respawns a new node - Kubernetes

Open
#2,250 9 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

needs-triaging
Dominant language
Go
Stars
8.7k
Forks
2.5k
Avg merge
10h 16m
Merged PRs (30d)
20

Description

What happened?
Context:

I'm trying to delete the node attach to the grid via below curl command
cURL --request DELETE 'http://<Grid Endpoint>/se/grid/distributor/node/<Node-ID>' --header 'X-REGISTRATION-SECRET;'

above command gets executed successfully and the specific node disappears from the Grid UI as well from the below response for few seconds but again, gets created after a while.
cURL GET 'https://<Grid Endpoint>/sandbox_qlabv2/status'

When checked on the pod log show as below every node deleting triggered

image

Alternatively

Is there any way to identify to which Selenium Grid node id is the current browser pod created is mapped to?

Command used to start Selenium Grid with Docker (or Kubernetes)
Configured on Kubernetes
Relevant log output
Starting Selenium Grid Node...
2024-05-06 05:10:34,263 INFO success: xvfb entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2024-05-06 05:10:34,263 INFO success: vnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2024-05-06 05:10:34,264 INFO success: novnc entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
05:10:35.857 INFO [LoggingOptions.configureLogEncoding] - Using the system default encoding
05:10:35.952 INFO [OpenTelemetryTracer.createTracer] - Using OpenTelemetry for tracing
05:10:36.648 INFO [UnboundZmqEventBus.<init>] - Connecting to tcp://selenium-hub:4442 and tcp://selenium-hub:4443
05:10:36.961 INFO [UnboundZmqEventBus.<init>] - Sockets created
05:10:38.043 INFO [UnboundZmqEventBus.<init>] - Event bus ready
05:10:38.569 INFO [NodeServer.createHandlers] - Reporting self as: http://100.68.38.40:5555
05:10:38.681 INFO [NodeOptions.getSessionFactories] - Detected 1 available processors
05:10:38.983 INFO [NodeOptions.report] - Adding chrome for {"browserName": "chrome","browserVersion": "124.0","goog:chromeOptions": {"binary": "\u002fusr\u002fbin\u002fgoogle-chrome"},"platformName": "linux","se:noVncPort": 7900,"se:vncEnabled": true} 1 times
05:10:39.149 INFO [Node.<init>] - Binding additional locator mechanisms: relative
05:10:40.051 INFO [NodeServer$1.start] - Starting registration process for Node http://100.68.38.40:5555
05:10:40.056 INFO [NodeServer.execute] - Started Selenium node 4.20.0 (revision 866c76ca80): http://100.68.38.40:5555
05:10:40.157 INFO [NodeServer$1.lambda$start$1] - Sending registration event...
05:10:40.867 INFO [NodeServer.lambda$createHandlers$2] - Node has been added
05:13:04.360 INFO [LocalNode.newSession] - Session created by the Node. Id: 0eac8cd13d41a67fc21c75afa7c120ca, Caps: Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 124.0.6367.118, chrome: {chromedriverVersion: 124.0.6367.91 (51df0e5e17a8..., userDataDir: /tmp/.org.chromium.Chromium...}, fedcm:accounts: true, goog:chromeOptions: {debuggerAddress: localhost:44019}, networkConnectionEnabled: false, pageLoadStrategy: normal, platformName: linux, proxy: Proxy(), se:bidiEnabled: false, se:cdp: wss://perfplatform.cloud.sy..., se:cdpVersion: 124.0.6367.118, se:name: testQLabV2_2024/05/06 10:42..., se:vnc: wss://perfplatform.cloud.sy..., se:vncEnabled: true, se:vncLocalAddress: ws://100.68.38.40:7900, setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:extension:credBlob: true, webauthn:extension:largeBlob: true, webauthn:extension:minPinLength: true, webauthn:extension:prf: true, webauthn:virtualAuthenticators: true}
05:13:17.070 INFO [SessionSlot.stop] - Stopping session 0eac8cd13d41a67fc21c75afa7c120ca
05:40:39.370 INFO [NodeServer.lambda$createHandlers$2] - Node has been added
05:41:09.378 INFO [NodeServer.lambda$createHandlers$2] - Node has been added
05:44:09.365 INFO [NodeServer.lambda$createHandlers$2] - Node has been added
05:45:39.367 INFO [NodeServer.lambda$createHandlers$2] - Node has been added
05:47:39.365 INFO [NodeServer.lambda$createHandlers$2] - Node has been added
05:48:39.364 INFO [NodeServer.lambda$createHandlers$2] - Node has been added
05:58:39.364 INFO [NodeServer.lambda$createHandlers$2] - Node has been added
06:25:39.367 INFO [NodeServer.lambda$createHandlers$2] - Node has been added
06:26:09.364 INFO [NodeServer.lambda$createHandlers$2] - Node has been added
06:27:39.363 INFO [NodeServer.lambda$createHandlers$2] - Node has been added
Operating System

Kubernetes - EKS

Docker Selenium version (image tag)

4.17.0

Selenium Grid chart version (chart version)

NA

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the DELETE request against the Grid distributor node endpoint and inspect the Kubernetes pod logs and workload configuration. Trace which Kubernetes component or controller recreates the Selenium node after deletion, and verify whether the behavior is expected or unintended. Done means identifying the respawn source and providing a confirmed fix or documented deletion procedure.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, kubernetes
Domain
devops, distributed-systems, infrastructure
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.