Skip to content

[🐛 Bug]: Upgrading selenium from 4.29.0 to 4.31.0 but its failing #2782

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

Open
venkat-enable opened this issue Apr 14, 2025 · 7 comments
Open

Comments

@venkat-enable
Copy link

What happened?

Upgrading seleniumgrid from 4.29.0 to 4.31.0 but its failing using helm templates so reverted to 4.29.0, could you please help on this

https://artifacthub.io/packages/helm/selenium-grid/selenium-grid/0.42.0?modal=install

Errors:

kubectl logs keda-operator-67b84db4fd-7lvfk -n testing
unknown flag: --enable-webhook-patching
Usage of /keda:
--ca-dir stringArray Directory with CA certificates for scalers to authenticate TLS connections. Can be specified multiple times. Defaults to /custom/ca (default [/custom/ca])
--cert-dir string Webhook certificates dir to use. Defaults to /certs (default "/certs")
--cert-secret-name string KEDA certificates secret name. Defaults to kedaorg-certs (default "kedaorg-certs")
--disable-compression Disable response compression for k8s restAPI in client-go. (default true)
--enable-cert-rotation enable automatic generation and rotation of TLS certificates/keys
--enable-opentelemetry-metrics Enable the opentelemetry metric of keda-operator.
--enable-prometheus-metrics Enable the prometheus metric of keda-operator. (default true)
--ginkgo.always-emit-ginkgo-writer [DEPRECATED] - use -v instead, or one of Ginkgo's machine-readable report formats to get GinkgoWriter output for passing specs.
--ginkgo.debug [DEPRECATED]
--ginkgo.dry-run If set, ginkgo will walk the test hierarchy without actually running anything. Best paired with -v.
--ginkgo.dryRun [DEPRECATED] use --ginkgo.dry-run instead
--ginkgo.fail-fast If set, ginkgo will stop running a test suite after a failure occurs.
--ginkgo.fail-on-empty If set, ginkgo will mark the test suite as failed if no specs are run.
--ginkgo.fail-on-pending If set, ginkgo will mark the test suite as failed if any specs are pending.
--ginkgo.failFast [DEPRECATED] use --ginkgo.fail-fast instead
--ginkgo.failOnPending [DEPRECATED] use --ginkgo.fail-on-pending instead
--ginkgo.flake-attempts int Make up to this many attempts to run each spec. If any of the attempts succeed, the suite will not be failed.
--ginkgo.flakeAttempts int [DEPRECATED] use --ginkgo.flake-attempts instead
--ginkgo.focus stringSliceVar If set, ginkgo will only run specs that match this regular expression. Can be specified multiple times, values are ORed.
--ginkgo.focus-file stringSliceVar If set, ginkgo will only run specs in matching files. Can be specified multiple times, values are ORed.
--ginkgo.force-newlines If set, default reporter will ensure a newline appears after each test.
--ginkgo.github-output If set, default reporter prints easier to manage output in Github Actions.
--ginkgo.grace-period duration When interrupted, Ginkgo will wait for GracePeriod for the current running node to exit before moving on to the next one. (default 30s)
--ginkgo.json-report string If set, Ginkgo will generate a JSON-formatted test report at the specified location.
--ginkgo.junit-report string If set, Ginkgo will generate a conformant junit test report in the specified file.
--ginkgo.label-filter string If set, ginkgo will only run specs with labels that match the label-filter. The passed-in expression can include boolean operations (!, &&, ||, ','), groupings via '()', and regular expressions '/regexp/'. e.g. '(cat || dog) && !fruit'
--ginkgo.no-color If set, suppress color output in default reporter. You can also set the environment variable GINKGO_NO_COLOR=TRUE
--ginkgo.noColor [DEPRECATED] use --ginkgo.no-color instead
--ginkgo.noisyPendings [DEPRECATED]
--ginkgo.noisySkippings [DEPRECATED]
--ginkgo.output-interceptor-mode string If set, ginkgo will use the specified output interception strategy when running in parallel. Defaults to dup on unix and swap on windows.
--ginkgo.parallel.host string The address for the server that will synchronize the processes.
--ginkgo.parallel.process int This worker process's (one-indexed) process number. For running specs in parallel. (default 1)
--ginkgo.parallel.total int The total number of worker processes. For running specs in parallel. (default 1)
--ginkgo.poll-progress-after duration Emit node progress reports periodically if node hasn't completed after this duration. (default 0s)
--ginkgo.poll-progress-interval duration The rate at which to emit node progress reports after poll-progress-after has elapsed. (default 0s)
--ginkgo.progress [DEPRECATED] . The functionality provided by --progress was confusing and is no longer needed. Use --show-node-events instead to see node entry and exit events included in the timeline of failed and verbose specs. Or you can run with -vv to always see all node events. Lastly, --poll-progress-after and the PollProgressAfter decorator now provide a better mechanism for debugging specs that tend to get stuck.
--ginkgo.randomize-all If set, ginkgo will randomize all specs together. By default, ginkgo only randomizes the top level Describe, Context and When containers.
--ginkgo.randomizeAllSpecs [DEPRECATED] use --ginkgo.randomize-all instead
--ginkgo.regexScansFilePath [DEPRECATED]
--ginkgo.reportFile string [DEPRECATED] use --ginkgo.junit-report instead
--ginkgo.seed int The seed used to randomize the spec suite. (default 1744607775)
--ginkgo.show-node-events If set, default reporter prints node > Enter and < Exit events when specs fail
--ginkgo.silence-skips If set, default reporter will not print out skipped tests.
--ginkgo.skip stringSliceVar If set, ginkgo will only run specs that do not match this regular expression. Can be specified multiple times, values are ORed.
--ginkgo.skip-file stringSliceVar If set, ginkgo will skip specs in matching files. Can be specified multiple times, values are ORed.
--ginkgo.slow-spec-threshold duration [DEPRECATED] --slow-spec-threshold has been deprecated and will be removed in a future version of Ginkgo. This feature has proved to be more noisy than useful. You can use --poll-progress-after, instead, to get more actionable feedback about potentially slow specs and understand where they might be getting stuck. (default 0s)
--ginkgo.slowSpecThreshold float [DEPRECATED] use --slow-spec-threshold instead and pass in a duration string (e.g. '5s', not '5.0')
--ginkgo.source-root stringSliceVar The location to look for source code when generating progress reports. You can pass multiple --source-root flags.
--ginkgo.succinct If set, default reporter prints out a very succinct report
--ginkgo.teamcity-report string If set, Ginkgo will generate a Teamcity-formatted test report at the specified location.
--ginkgo.timeout duration Test suite fails if it does not complete within the specified timeout. (default 1h0m0s)
--ginkgo.trace If set, default reporter prints out the full stack trace when a failure occurs
--ginkgo.v If set, emits more output including GinkgoWriter contents.
--ginkgo.vv If set, emits with maximal verbosity - includes skipped and pending tests.
--health-probe-bind-address string The address the probe endpoint binds to. (default ":8081")
--k8s-cluster-domain string Kubernetes cluster domain. Defaults to cluster.local (default "cluster.local")
--k8s-cluster-name string k8s cluster name. Defaults to kubernetes-default (default "kubernetes-default")
--kube-api-burst int Set the burst for throttling requests sent to the apiserver (default 30)
--kube-api-qps float32 Set the QPS rate for throttling requests sent to the apiserver (default 20)
--kubeconfig string Paths to a kubeconfig. Only required if out-of-cluster.
--leader-elect Enable leader election for controller manager. Enabling this will ensure there is only one active controller manager.
--metrics-bind-address string The address the prometheus metric endpoint binds to. (default ":8080")
--metrics-server-service-name string Metrics server service name. Defaults to keda-metrics-apiserver (default "keda-metrics-apiserver")
--metrics-service-bind-address string The address the gRPRC Metrics Service endpoint binds to. (default ":9666")
--operator-service-name string Operator service name. Defaults to keda-operator (default "keda-operator")
--profiling-bind-address string The address the profiling would be exposed on.
--validating-webhook-name string ValidatingWebhookConfiguration name. Defaults to keda-admission (default "keda-admission")
--webhooks-service-name string Webhook service name. Defaults to keda-admission-webhooks (default "keda-admission-webhooks")
--zap-devel Development Mode defaults(encoder=consoleEncoder,logLevel=Debug,stackTraceLevel=Warn). Production Mode defaults(encoder=jsonEncoder,logLevel=Info,stackTraceLevel=Error)
--zap-encoder encoder Zap log encoding (one of 'json' or 'console') (default )
--zap-log-level level Zap Level to configure the verbosity of logging. Can be one of 'debug', 'info', 'error', or any integer value > 0 which corresponds to custom debug levels of increasing verbosity (default )
--zap-stacktrace-level level Zap Level at and above which stacktraces are captured (one of 'info', 'error', 'panic').
--zap-time-encoding time-encoding Zap time encoding (one of 'epoch', 'millis', 'nano', 'iso8601', 'rfc3339' or 'rfc3339nano'). Defaults to 'epoch'. (default )
unknown flag: --enable-webhook-patching

error in events

88s Warning FailedMount pod/selenium-grid-selenium-patch-scaledobjects-deletion-zswxg MountVolume.SetUp failed for volume "cleanup-script" : object "testing"/"selenium-grid-selenium-patch-scaledobjects-finalizers" not registered

Command used to start Selenium Grid with Docker (or Kubernetes)

I used below helm template

helm install my-selenium-grid selenium-grid/selenium-grid --version 0.42.0

Relevant log output

Upgrading seleniumgrid  from 4.29.0 to 4.31.0 but its failing using helm templates so reverted to 4.29.0, could you please help on this

https://artifacthub.io/packages/helm/selenium-grid/selenium-grid/0.42.0?modal=install

Errors:

kubectl logs keda-operator-67b84db4fd-7lvfk -n testing
unknown flag: --enable-webhook-patching
Usage of /keda:
      --ca-dir stringArray                       Directory with CA certificates for scalers to authenticate TLS connections. Can be specified multiple times. Defaults to /custom/ca (default [/custom/ca])
      --cert-dir string                          Webhook certificates dir to use. Defaults to /certs (default "/certs")
      --cert-secret-name string                  KEDA certificates secret name. Defaults to kedaorg-certs (default "kedaorg-certs")
      --disable-compression                      Disable response compression for k8s restAPI in client-go.  (default true)
      --enable-cert-rotation                     enable automatic generation and rotation of TLS certificates/keys
      --enable-opentelemetry-metrics             Enable the opentelemetry metric of keda-operator.
      --enable-prometheus-metrics                Enable the prometheus metric of keda-operator. (default true)
      --ginkgo.always-emit-ginkgo-writer         [DEPRECATED]  - use -v instead, or one of Ginkgo's machine-readable report formats to get GinkgoWriter output for passing specs.
      --ginkgo.debug                             [DEPRECATED]
      --ginkgo.dry-run                           If set, ginkgo will walk the test hierarchy without actually running anything.  Best paired with -v.
      --ginkgo.dryRun                            [DEPRECATED] use --ginkgo.dry-run instead
      --ginkgo.fail-fast                         If set, ginkgo will stop running a test suite after a failure occurs.
      --ginkgo.fail-on-empty                     If set, ginkgo will mark the test suite as failed if no specs are run.
      --ginkgo.fail-on-pending                   If set, ginkgo will mark the test suite as failed if any specs are pending.
      --ginkgo.failFast                          [DEPRECATED] use --ginkgo.fail-fast instead
      --ginkgo.failOnPending                     [DEPRECATED] use --ginkgo.fail-on-pending instead
      --ginkgo.flake-attempts int                Make up to this many attempts to run each spec. If any of the attempts succeed, the suite will not be failed.
      --ginkgo.flakeAttempts int                 [DEPRECATED] use --ginkgo.flake-attempts instead
      --ginkgo.focus stringSliceVar              If set, ginkgo will only run specs that match this regular expression. Can be specified multiple times, values are ORed.
      --ginkgo.focus-file stringSliceVar         If set, ginkgo will only run specs in matching files. Can be specified multiple times, values are ORed.
      --ginkgo.force-newlines                    If set, default reporter will ensure a newline appears after each test.
      --ginkgo.github-output                     If set, default reporter prints easier to manage output in Github Actions.
      --ginkgo.grace-period duration             When interrupted, Ginkgo will wait for GracePeriod for the current running node to exit before moving on to the next one. (default 30s)
      --ginkgo.json-report string                If set, Ginkgo will generate a JSON-formatted test report at the specified location.
      --ginkgo.junit-report string               If set, Ginkgo will generate a conformant junit test report in the specified file.
      --ginkgo.label-filter string               If set, ginkgo will only run specs with labels that match the label-filter.  The passed-in expression can include boolean operations (!, &&, ||, ','), groupings via '()', and regular expressions '/regexp/'.  e.g. '(cat || dog) && !fruit'
      --ginkgo.no-color                          If set, suppress color output in default reporter.  You can also set the environment variable GINKGO_NO_COLOR=TRUE
      --ginkgo.noColor                           [DEPRECATED] use --ginkgo.no-color instead
      --ginkgo.noisyPendings                     [DEPRECATED]
      --ginkgo.noisySkippings                    [DEPRECATED]
      --ginkgo.output-interceptor-mode string    If set, ginkgo will use the specified output interception strategy when running in parallel.  Defaults to dup on unix and swap on windows.
      --ginkgo.parallel.host string              The address for the server that will synchronize the processes.
      --ginkgo.parallel.process int              This worker process's (one-indexed) process number.  For running specs in parallel. (default 1)
      --ginkgo.parallel.total int                The total number of worker processes.  For running specs in parallel. (default 1)
      --ginkgo.poll-progress-after duration      Emit node progress reports periodically if node hasn't completed after this duration. (default 0s)
      --ginkgo.poll-progress-interval duration   The rate at which to emit node progress reports after poll-progress-after has elapsed. (default 0s)
      --ginkgo.progress                          [DEPRECATED] .  The functionality provided by --progress was confusing and is no longer needed.  Use --show-node-events instead to see node entry and exit events included in the timeline of failed and verbose specs.  Or you can run with -vv to always see all node events.  Lastly, --poll-progress-after and the PollProgressAfter decorator now provide a better mechanism for debugging specs that tend to get stuck.
      --ginkgo.randomize-all                     If set, ginkgo will randomize all specs together.  By default, ginkgo only randomizes the top level Describe, Context and When containers.
      --ginkgo.randomizeAllSpecs                 [DEPRECATED] use --ginkgo.randomize-all instead
      --ginkgo.regexScansFilePath                [DEPRECATED]
      --ginkgo.reportFile string                 [DEPRECATED] use --ginkgo.junit-report instead
      --ginkgo.seed int                          The seed used to randomize the spec suite. (default 1744607775)
      --ginkgo.show-node-events                  If set, default reporter prints node > Enter and < Exit events when specs fail
      --ginkgo.silence-skips                     If set, default reporter will not print out skipped tests.
      --ginkgo.skip stringSliceVar               If set, ginkgo will only run specs that do not match this regular expression. Can be specified multiple times, values are ORed.
      --ginkgo.skip-file stringSliceVar          If set, ginkgo will skip specs in matching files. Can be specified multiple times, values are ORed.
      --ginkgo.slow-spec-threshold duration      [DEPRECATED] --slow-spec-threshold has been deprecated and will be removed in a future version of Ginkgo.  This feature has proved to be more noisy than useful.  You can use --poll-progress-after, instead, to get more actionable feedback about potentially slow specs and understand where they might be getting stuck. (default 0s)
      --ginkgo.slowSpecThreshold float           [DEPRECATED] use --slow-spec-threshold instead and pass in a duration string (e.g. '5s', not '5.0')
      --ginkgo.source-root stringSliceVar        The location to look for source code when generating progress reports.  You can pass multiple --source-root flags.
      --ginkgo.succinct                          If set, default reporter prints out a very succinct report
      --ginkgo.teamcity-report string            If set, Ginkgo will generate a Teamcity-formatted test report at the specified location.
      --ginkgo.timeout duration                  Test suite fails if it does not complete within the specified timeout. (default 1h0m0s)
      --ginkgo.trace                             If set, default reporter prints out the full stack trace when a failure occurs
      --ginkgo.v                                 If set, emits more output including GinkgoWriter contents.
      --ginkgo.vv                                If set, emits with maximal verbosity - includes skipped and pending tests.
      --health-probe-bind-address string         The address the probe endpoint binds to. (default ":8081")
      --k8s-cluster-domain string                Kubernetes cluster domain. Defaults to cluster.local (default "cluster.local")
      --k8s-cluster-name string                  k8s cluster name. Defaults to kubernetes-default (default "kubernetes-default")
      --kube-api-burst int                       Set the burst for throttling requests sent to the apiserver (default 30)
      --kube-api-qps float32                     Set the QPS rate for throttling requests sent to the apiserver (default 20)
      --kubeconfig string                        Paths to a kubeconfig. Only required if out-of-cluster.
      --leader-elect                             Enable leader election for controller manager. Enabling this will ensure there is only one active controller manager.
      --metrics-bind-address string              The address the prometheus metric endpoint binds to. (default ":8080")
      --metrics-server-service-name string       Metrics server service name. Defaults to keda-metrics-apiserver (default "keda-metrics-apiserver")
      --metrics-service-bind-address string      The address the gRPRC Metrics Service endpoint binds to. (default ":9666")
      --operator-service-name string             Operator service name. Defaults to keda-operator (default "keda-operator")
      --profiling-bind-address string            The address the profiling would be exposed on.
      --validating-webhook-name string           ValidatingWebhookConfiguration name. Defaults to keda-admission (default "keda-admission")
      --webhooks-service-name string             Webhook service name. Defaults to keda-admission-webhooks (default "keda-admission-webhooks")
      --zap-devel                                Development Mode defaults(encoder=consoleEncoder,logLevel=Debug,stackTraceLevel=Warn). Production Mode defaults(encoder=jsonEncoder,logLevel=Info,stackTraceLevel=Error)
      --zap-encoder encoder                      Zap log encoding (one of 'json' or 'console') (default )
      --zap-log-level level                      Zap Level to configure the verbosity of logging. Can be one of 'debug', 'info', 'error', or any integer value > 0 which corresponds to custom debug levels of increasing verbosity (default )
      --zap-stacktrace-level level               Zap Level at and above which stacktraces are captured (one of 'info', 'error', 'panic').
      --zap-time-encoding time-encoding          Zap time encoding (one of 'epoch', 'millis', 'nano', 'iso8601', 'rfc3339' or 'rfc3339nano'). Defaults to 'epoch'. (default )
unknown flag: --enable-webhook-patching

error in events

88s         Warning   FailedMount                         pod/selenium-grid-selenium-patch-scaledobjects-deletion-zswxg                                MountVolume.SetUp failed for volume "cleanup-script" : object "testing"/"selenium-grid-selenium-patch-scaledobjects-finalizers" not registered

Operating System

GKE

Docker Selenium version (image tag)

latest

Selenium Grid chart version (chart version)

0.42.0

Copy link

@venkat-enable, thank you for creating this issue. We will troubleshoot it as soon as we can.


Info for maintainers

Triage this issue by using labels.

If information is missing, add a helpful comment and then I-issue-template label.

If the issue is a question, add the I-question label.

If the issue is valid but there is no time to troubleshoot it, consider adding the help wanted label.

If the issue requires changes or fixes from an external project (e.g., ChromeDriver, GeckoDriver, MSEdgeDriver, W3C), add the applicable G-* label, and it will provide the correct link and auto-close the issue.

After troubleshooting the issue, please add the R-awaiting answer label.

Thank you!

@VietND96
Copy link
Member

I think it relies on your deployment tool is being used

kubectl logs keda-operator-67b84db4fd-7lvfk -n testing
unknown flag: --enable-webhook-patching

Do you know how this flag is inserted to KEDA component?

@venkat-enable
Copy link
Author

@VietND96 I am not sure from where its taking, I used helm below helm chart

https://artifacthub.io/packages/helm/selenium-grid/selenium-grid/0.42.0

@VietND96
Copy link
Member

I just looked around, looks like issue in KEDA chart kedacore/charts#717

@VietND96
Copy link
Member

But wait, did you use all default chart values as helm install my-selenium-grid selenium-grid/selenium-grid --version 0.42.0 or use your custom values also? If yes, please share it. Since this tag is not found if KEDA image < version 2.12.1

@venkat-enable
Copy link
Author

venkat-enable commented Apr 15, 2025

Please find below

Image Image

@venkat-enable
Copy link
Author

any update please ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants