Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions charts/selenium-grid/CONFIGURATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ A Helm chart for creating a Selenium Grid Server in Kubernetes
| global.seleniumGrid.updateStrategy.rollingUpdate | object | `{"maxSurge":1,"maxUnavailable":0}` | Specify for strategy RollingUpdate |
| global.seleniumGrid.affinity | object | `{}` | Specify affinity for all components, can be overridden individually |
| global.seleniumGrid.topologySpreadConstraints | list | `[]` | Specify topologySpreadConstraints for all components, can be overridden individually |
| global.seleniumGrid.sessionRequestTimeout | int | `300` | Timeout in seconds. A new incoming session request is added to the queue. Requests sitting in the queue for longer than the configured time will timeout. |
| global.seleniumGrid.nodeMaxSessions | int | `1` | Specify number of max sessions per node. Can be overridden by individual component (this is also set to scaler trigger parameter `nodeMaxSessions` if `autoscaling` is enabled) |
| global.seleniumGrid.nodeDrainAfterSessionCount | int | `0` | Set number of sessions will be executed in a Node before detaching it from Hub and shutting it down |
| global.seleniumGrid.nodeEnableManagedDownloads | bool | `true` | This causes the Node to auto manage files downloaded for a given session on the Node (https://www.selenium.dev/documentation/webdriver/drivers/remote_webdriver/#enable-downloads-in-the-grid) |
Expand Down Expand Up @@ -300,6 +301,7 @@ A Helm chart for creating a Selenium Grid Server in Kubernetes
| components.sessionQueue.imageTag | string | `nil` | Session Queue image tag (this overwrites global.seleniumGrid.imageTag parameter) |
| components.sessionQueue.imagePullPolicy | string | `"IfNotPresent"` | Image pull policy (see https://kubernetes.io/docs/concepts/containers/images/#updating-images) |
| components.sessionQueue.imagePullSecret | string | `""` | Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) |
| components.sessionQueue.sessionRequestTimeout | string | `""` | Override global sessionRequestTimeout |
| components.sessionQueue.extraEnvironmentVariables | list | `[]` | Specify extra environment variables for Session Queue |
| components.sessionQueue.extraEnvFrom | list | `[]` | Specify extra environment variables from ConfigMap and Secret for Session Queue |
| components.sessionQueue.affinity | object | `{}` | Specify affinity for Session Queue pods, this overwrites global.seleniumGrid.affinity parameter |
Expand Down Expand Up @@ -331,6 +333,7 @@ A Helm chart for creating a Selenium Grid Server in Kubernetes
| hub.annotations | object | `{}` | Custom annotations for Selenium Hub pods |
| hub.labels | object | `{}` | Custom labels for Selenium Hub pods |
| hub.disableUI | bool | `false` | Disable the Grid UI |
| hub.sessionRequestTimeout | string | `""` | Override global sessionRequestTimeout |
| hub.newSessionThreadPoolSize | string | `nil` | Configure fixed-sized thread pool for the Distributor to create new sessions as it consumes new session requests from the queue |
| hub.publishPort | int | `4442` | Port where events are published |
| hub.publishNodePort | int | `31442` | NodePort exposed where events are published |
Expand Down
3 changes: 3 additions & 0 deletions charts/selenium-grid/templates/hub-deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,9 @@ spec:
- name: SE_DISTRIBUTOR_SLOT_SELECTOR
value: {{ include "seleniumGrid.autoscaling.distributor.slotSelector" $ | quote }}
{{- end }}
{{- $sessionRequestTimeout := default $.Values.global.seleniumGrid.sessionRequestTimeout $.Values.hub.sessionRequestTimeout | int64 }}
- name: SE_SESSION_REQUEST_TIMEOUT
value: {{ $sessionRequestTimeout | quote }}
{{- with .Values.hub.extraEnvironmentVariables }}
{{- tpl (toYaml .) $ | nindent 12 }}
{{- end }}
Expand Down
3 changes: 3 additions & 0 deletions charts/selenium-grid/templates/session-queue-deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,9 @@ spec:
fieldPath: status.podIP
- name: SE_SESSION_QUEUE_PORT
value: {{ .Values.components.sessionQueue.port | quote }}
{{- $sessionRequestTimeout := default $.Values.global.seleniumGrid.sessionRequestTimeout $.Values.components.sessionQueue.sessionRequestTimeout | int64 }}
- name: SE_SESSION_REQUEST_TIMEOUT
value: {{ $sessionRequestTimeout | quote }}
{{- with .Values.components.extraEnvironmentVariables }}
{{- tpl (toYaml .) $ | nindent 12 }}
{{- end }}
Expand Down
6 changes: 6 additions & 0 deletions charts/selenium-grid/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,8 @@ global:
# topologyKey: kubernetes.io/hostname
# whenUnsatisfiable: DoNotSchedule
# Note: If not define labelSelector, it will be added automatically based on "app" label in each component
# -- Timeout in seconds. A new incoming session request is added to the queue. Requests sitting in the queue for longer than the configured time will timeout.
sessionRequestTimeout: 300
# -- Specify number of max sessions per node. Can be overridden by individual component (this is also set to scaler trigger parameter `nodeMaxSessions` if `autoscaling` is enabled)
nodeMaxSessions: 1
# Noted: In case of autoscaling enabled, with scaling type `job`, Node will be drained following `nodeMaxSessions` by default
Expand Down Expand Up @@ -756,6 +758,8 @@ components:
imagePullPolicy: IfNotPresent
# -- Image pull secret (see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/)
imagePullSecret: ""
# -- Override global sessionRequestTimeout
sessionRequestTimeout: ""

# -- Specify extra environment variables for Session Queue
extraEnvironmentVariables: []
Expand Down Expand Up @@ -849,6 +853,8 @@ hub:
labels: {}
# -- Disable the Grid UI
disableUI: false
# -- Override global sessionRequestTimeout
sessionRequestTimeout: ""
# -- Configure fixed-sized thread pool for the Distributor to create new sessions as it consumes new session requests from the queue
newSessionThreadPoolSize:
# -- Port where events are published
Expand Down
3 changes: 1 addition & 2 deletions tests/charts/ci/base-auth-ingress-values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ global:
seleniumGrid:
logLevel: INFO
stdoutProbeLog: true
sessionRequestTimeout: 800

serverConfigMap:
env:
Expand All @@ -19,8 +20,6 @@ isolateComponents: true

hub:
extraEnvironmentVariables: &extraEnvironmentVariables
- name: SE_SESSION_REQUEST_TIMEOUT
value: "800"
- name: SE_SESSION_RETRY_INTERVAL
value: "5"
- name: SE_HEALTHCHECK_INTERVAL
Expand Down
Loading