Bug 1914926 - webdriver-manager pulls incorrect version of ChomeDriver due to a bug
Summary: webdriver-manager pulls incorrect version of ChomeDriver due to a bug
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Management Console
Version: 4.7
Hardware: Unspecified
OS: Unspecified
unspecified
low
Target Milestone: ---
: 4.7.0
Assignee: Robb Hamilton
QA Contact: Yadan Pei
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-01-11 13:53 UTC by Robb Hamilton
Modified: 2021-02-24 15:52 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: No Doc Update
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-02-24 15:51:51 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github openshift console pull 7792 0 None closed Bug 1914926: Upgrade Protractor to pick up webdriver-manager fix for… 2021-01-18 03:31:06 UTC
Red Hat Product Errata RHSA-2020:5633 0 None None None 2021-02-24 15:52:13 UTC

Description Robb Hamilton 2021-01-11 13:53:23 UTC
See https://github.com/angular/webdriver-manager/issues/476

Comment 2 Yadan Pei 2021-01-18 08:53:26 UTC
1. clone console repo

2. cd yarn & yarn install

3. Check protractor version

$ yarn list | grep -i protractor
warning Resolution field "jquery.1" is incompatible with requested version "jquery@~3.4.1"                                   
warning Resolution field "victory-shared-events.8" is incompatible with requested version "victory-shared-events@^35.3.1"   
warning Resolution field "victory-shared-events.8" is incompatible with requested version "victory-shared-events@^35.3.1"   
warning Resolution field "victory-shared-events.8" is incompatible with requested version "victory-shared-events@^35.3.1"   
warning Resolution field "victory-shared-events.8" is incompatible with requested version "victory-shared-events@^35.3.1"   
warning Resolution field "jquery.1" is incompatible with requested version "jquery@~3.4.1"                                   
warning Resolution field "minimist.5" is incompatible with requested version "minimist.8"                                
warning Resolution field "minimist.5" is incompatible with requested version "minimist.8"                                
warning Resolution field "minimist.5" is incompatible with requested version "minimist@~0.0.1"                               
├─ protractor-fail-fast.0
├─ protractor-jasmine2-screenshot-reporter.0
├─ protractor.4

4. update webdriver-manager
[yapei@New_Mac frontend]$ yarn run webdriver-update
yarn run v1.22.10
$ webdriver-manager update
[16:43:34] I/file_manager - creating folder /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/webdriver-manager/selenium
[16:43:34] I/config_source - curl -o/Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/webdriver-manager/selenium/standalone-response.xml https://selenium-release.storage.googleapis.com/
[16:43:34] I/config_source - curl -o/Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/webdriver-manager/selenium/chrome-response.xml https://chromedriver.storage.googleapis.com/
[16:43:34] I/config_source - curl -o/Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/webdriver-manager/selenium/gecko-response.json https://api.github.com/repos/mozilla/geckodriver/releases
[16:43:37] I/downloader - curl -o/Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/webdriver-manager/selenium/chromedriver_87.0.4280.88.zip https://chromedriver.storage.googleapis.com/87.0.4280.88/chromedriver_mac64.zip
[16:43:37] I/downloader - curl -o/Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/webdriver-manager/selenium/selenium-server-standalone-3.141.59.jar https://selenium-release.storage.googleapis.com/3.141/selenium-server-standalone-3.141.59.jar
[16:43:58] I/update - chromedriver: unzipping chromedriver_87.0.4280.88.zip
[16:43:59] I/update - chromedriver: setting permissions to 0755 for /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/webdriver-manager/selenium/chromedriver_87.0.4280.88
[16:46:03] I/downloader - curl -o/Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/webdriver-manager/selenium/geckodriver-v0.29.0.tar.gz https://github.com/mozilla/geckodriver/releases/download/v0.29.0/geckodriver-v0.29.0-macos.tar.gz
[16:46:07] I/update - geckodriver: unzipping geckodriver-v0.29.0.tar.gz
[16:46:07] I/update - geckodriver: setting permissions to 0755 for /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/webdriver-manager/selenium/geckodriver-v0.29.0
✨  Done in 153.40s.

5. run integration tests

[yapei@New_Mac frontend]$ yarn run test-protractor-openshift
yarn run v1.22.10
$ yarn test-protractor-suite --suite crud --params.openshift true
$ yarn ts-node ./node_modules/.bin/protractor integration-tests/protractor.conf.ts --suite crud --params.openshift true
$ ts-node -O '{"module":"commonjs"}' ./node_modules/.bin/protractor integration-tests/protractor.conf.ts --suite crud --params.openshift true
Report destination:   gui_test_screenshots/protractor-report.html
[16:49:22] I/launcher - Running 1 instances of WebDriver
[16:49:22] I/direct - Using ChromeDriver directly...

>> Executing 46 defined specs...

Test Suites & Specs:

1) Create a test namespace
   ✖ creates test namespace if necessary (1 failure)

2) Kubernetes resource CRUD operations

   3) Editing labels
      • displays modal for editing resource instance labels
      • updates the resource instance labels
      • sees if label links still work

4) Interacting with the create secret forms

   5) Webhook secret
      • creates webhook secret
      • check for created webhook secret value
      • edits webhook secret
      • check for edited webhook secret value
      • deletes the webhook secret

   6) Basic source secrets
      • creates basic source secret
      • check for created basic source secret values
      • edits basic source secret
      • check for edited basic source secret values
      • deletes the basic source secret

   7) SSH source secrets
      • creates SSH source secret
      • check for created SSH source secret values
      • edits SSH source secret
      • check for edited SSH source secret values
      • deletes the SSH source secret

   8) Registry credentials image secrets
      • creates registry credentials image secret
      • check for created registry credentials image secret values
      • edits registry credentials image secret
      • check for edited registry credentials image secret value
      • deletes the registry credentials image secret

   9) Upload configuration file image secret
      • creates image secret by uploading configuration file
      • check for created image secret values from uploaded configuration file
      • deletes the image secret created from uploaded configuration file

   10) Key/Value secrets
      • creates Key/Value secret
      • check for created Key/Value secret values
      • edits Key/Value secret
      • check for edited Key/Value secret values
      • deletes the Key/Value secret

11) Add Secret to Workloads

   12) Add Secret to Workloads as Enviroment Variables
      • Add Secret to Deployment as Env

   13) Add Secret to Workloads as Volume
      • Add Secret to Deployment as Vol

14) Filtering
   • filters Pod from object detail
   • filters invalid Pod from object detail
   • filters from Pods list
   • CONSOLE-1503 - searches for object by label
   • searches for pod by label and filtering by name
   • searches for object by label using by other kind of workload

15) Interacting with the environment variable editor

   16) When a variable is added
      • shows the correct variables

   17) When a variable is deleted
      • does not show any variables

   18) When a variable is added from a config map
      • shows the correct variables

   19) When a variable is deleted from a config map
      • shows the correct variables

   20) When a variable is added from a secret
      • shows the correct variables

   21) When a variable is deleted from a secret
      • shows the correct variables

>> Done!


Failed Specs:

1) Create a test namespace : creates test namespace if necessary
   WebDriverError: unknown error: net::ERR_CONNECTION_REFUSED
     (Session info: headless chrome=87.0.4280.141)
     (Driver info: chromedriver=87.0.4280.88 (89e2380a3e36c3464b5dd1302349b1382549290d-refs/branch-heads/4280@{#1761}),platform=Mac OS X 10.13.6 x86_64)
       at Object.checkLegacyResponse /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/selenium-webdriver/lib/error.js:546:15
       at parseHttpResponse /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/selenium-webdriver/lib/http.js:509:13
       at /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/selenium-webdriver/lib/http.js:441:30
       at processTicksAndRejections internal/process/task_queues.js:93:5
   
   From: Task: WebDriver.navigate().tohttp://localhost:9000/k8s/cluster/projects
       at Driver.schedule /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/selenium-webdriver/lib/webdriver.js:807:17
       at Navigation.to /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/selenium-webdriver/lib/webdriver.js:1133:25
       at Driver.get /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/selenium-webdriver/lib/webdriver.js:988:28
       at ProtractorBrowser.get /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/protractor/built/browser.js:655:32
       at /Users/yapei/go/src/github.com/openshift/console/frontend/integration-tests/tests/base.scenario.ts:20:36
       at Generator.next <anonymous>:null:null
       at /Users/yapei/go/src/github.com/openshift/console/frontend/integration-tests/tests/base.scenario.ts:8:71
       at new Promise <anonymous>:null:null
       at __awaiter /Users/yapei/go/src/github.com/openshift/console/frontend/integration-tests/tests/base.scenario.ts:4:12
       at UserContext.<anonymous> /Users/yapei/go/src/github.com/openshift/console/frontend/integration-tests/tests/base.scenario.ts:17:53
       at /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/jasminewd2/index.js:112:25
       at new ManagedPromise /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/selenium-webdriver/lib/promise.js:1077:7
       at ControlFlow.promise /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/selenium-webdriver/lib/promise.js:2505:12
       at schedulerExecute /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/jasminewd2/index.js:95:18
       at TaskQueue.execute_ /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/selenium-webdriver/lib/promise.js:3084:14
       at TaskQueue.executeNext_ /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/selenium-webdriver/lib/promise.js:3067:27
       at /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/selenium-webdriver/lib/promise.js:2927:27
       at /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/selenium-webdriver/lib/promise.js:668:7
       at processTicksAndRejections internal/process/task_queues.js:93:5
   
   From: Task: Run it"creates test namespace if necessary" in control flow
       at UserContext.<anonymous> /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/jasminewd2/index.js:94:19
       at Jasmine.execute /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/jasmine/lib/jasmine.js:200:12
       at /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/protractor/built/frameworks/jasmine.js:132:15
       at Function.promise /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/q/q.js:682:9
       at /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/protractor/built/frameworks/jasmine.js:104:14
       at _fulfilled /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/q/q.js:834:54
       at /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/q/q.js:863:30
       at Promise.promise.promiseDispatch /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/q/q.js:796:13
       at /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/q/q.js:556:49
       at runSingle /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/q/q.js:137:13
       at flush /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/q/q.js:125:13
       at processTicksAndRejections internal/process/task_queues.js:75:11
   
   From asynchronous test: 
   Error
       at Suite.<anonymous> /Users/yapei/go/src/github.com/openshift/console/frontend/integration-tests/tests/base.scenario.ts:17:5
       at Env.<anonymous> /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/jasmine-fail-fast/dist/jasmine-fail-fast.js:57:26
       at Env.wrapper [as describe] /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/jasmine-fail-fast/node_modules/lodash/index.js:3592:19
       at Object.<anonymous> /Users/yapei/go/src/github.com/openshift/console/frontend/integration-tests/tests/base.scenario.ts:16:1
       at Module._compile internal/modules/cjs/loader.js:959:30
       at Module.m._compile /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/ts-node/dist/index.js:234:29
       at Module._extensions..js internal/modules/cjs/loader.js:995:10
       at Object.require.extensions.<computed> [as .ts] /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/ts-node/dist/index.js:236:16
       at Module.load /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/coffeescript/lib/coffee-script/register.js:45:36
       at Function.Module._load internal/modules/cjs/loader.js:727:14
       at Module.require internal/modules/cjs/loader.js:852:19
       at require internal/modules/cjs/helpers.js:74:18
       at /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/jasmine/lib/jasmine.js:93:5
       at Array.forEach <anonymous>:null:null
       at Jasmine.loadSpecs /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/jasmine/lib/jasmine.js:92:18
       at Jasmine.execute /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/jasmine/lib/jasmine.js:197:8
       at /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/protractor/built/frameworks/jasmine.js:132:15
       at Function.promise /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/q/q.js:682:9
       at /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/protractor/built/frameworks/jasmine.js:104:14
       at _fulfilled /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/q/q.js:834:54
       at /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/q/q.js:863:30
       at Promise.promise.promiseDispatch /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/q/q.js:796:13
       at /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/q/q.js:556:49
       at runSingle /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/q/q.js:137:13
       at flush /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/q/q.js:125:13
       at processTicksAndRejections internal/process/task_queues.js:75:11
   

Summary:

Suites:  21 of 21
Specs:   1 of 46 (45 disabled)
Expects: 1 (1 failure)
Finished in 1.017 seconds

Last browser URL:  http://localhost:9000/k8s/cluster/projects
[16:49:30] I/launcher - 0 instance(s) of WebDriver still running
[16:49:30] I/launcher - chrome #01 failed 1 test(s)
[16:49:30] I/launcher - overall: 1 failed spec(s)
Closing report
[16:49:30] E/launcher - Process exited with error code 1
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.


But I see a WebDriverError:
   WebDriverError: unknown error: net::ERR_CONNECTION_REFUSED
     (Session info: headless chrome=87.0.4280.141)
     (Driver info: chromedriver=87.0.4280.88 (89e2380a3e36c3464b5dd1302349b1382549290d-refs/branch-heads/4280@{#1761}),platform=Mac OS X 10.13.6 x86_64)
       at Object.checkLegacyResponse /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/selenium-webdriver/lib/error.js:546:15
       at parseHttpResponse /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/selenium-webdriver/lib/http.js:509:13
       at /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/selenium-webdriver/lib/http.js:441:30
       at processTicksAndRejections internal/process/task_queues.js:93:5
   
   From: Task: WebDriver.navigate().tohttp://localhost:9000/k8s/cluster/projects
       at Driver.schedule /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/selenium-webdriver/lib/webdriver.js:807:17

@rhamilto

Could you help confirm if it is correct?

Comment 3 Robb Hamilton 2021-01-18 12:57:36 UTC
Hi, Ya Dan.  There are platform-specific commands to update webdriver.  For MacOS, use `yarn webdriver-update-macos`.  Please let me know if that does not resolve your issue.  It is working for me.

Comment 4 Yadan Pei 2021-01-19 01:58:03 UTC
Thanks Robb, I've verified that it's working for me too 


[yapei@New_Mac frontend]$ yarn webdriver-update-macos
yarn run v1.22.10
$ CHROME_VERSION=$(/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --version) && yarn webdriver-update --versions.chrome="${CHROME_VERSION}"
$ webdriver-manager update '--versions.chrome=Google Chrome 87.0.4280.141 '
[09:24:45] I/config_source - curl -o/Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/webdriver-manager/selenium/standalone-response.xml https://selenium-release.storage.googleapis.com/
[09:24:45] I/config_source - curl -o/Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/webdriver-manager/selenium/chrome-response.xml https://chromedriver.storage.googleapis.com/
[09:24:45] I/config_source - curl -o/Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/webdriver-manager/selenium/gecko-response.json https://api.github.com/repos/mozilla/geckodriver/releases
[09:24:48] I/downloader - curl -o/Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/webdriver-manager/selenium/chromedriver_Google Chrome 87.0.4280.141 .zip https://chromedriver.storage.googleapis.com/87.0.4280.88/chromedriver_mac64.zip
[09:24:48] I/update - selenium standalone: file exists /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/webdriver-manager/selenium/selenium-server-standalone-3.141.59.jar
[09:24:48] I/update - selenium standalone: selenium-server-standalone-3.141.59.jar up to date
[09:24:59] I/update - chromedriver: unzipping chromedriver_Google Chrome 87.0.4280.141 .zip
[09:25:00] I/update - chromedriver: setting permissions to 0755 for /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/webdriver-manager/selenium/chromedriver_Google Chrome 87.0.4280.141 
[09:26:33] I/update - geckodriver: file exists /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/webdriver-manager/selenium/geckodriver-v0.29.0.tar.gz
[09:26:33] I/update - geckodriver: unzipping geckodriver-v0.29.0.tar.gz
[09:26:33] I/update - geckodriver: setting permissions to 0755 for /Users/yapei/go/src/github.com/openshift/console/frontend/node_modules/webdriver-manager/selenium/geckodriver-v0.29.0
[09:26:33] I/update - geckodriver: geckodriver-v0.29.0 up to date
✨  Done in 108.67s.


[yapei@New_Mac frontend]$ yarn run test-protractor-openshift
yarn run v1.22.10
$ yarn test-protractor-
suite --suite crud --params.openshift true
$ yarn ts-node ./node_modules/.bin/protractor integration-tests/protractor.conf.ts --suite crud --params.openshift true
$ ts-node -O '{"module":"commonjs"}' ./node_modules/.bin/protractor integration-tests/protractor.conf.ts --suite crud --params.openshift true
Report destination:   gui_test_screenshots/protractor-report.html
[09:55:53] I/launcher - Running 1 instances of WebDriver
[09:55:53] I/direct - Using ChromeDriver directly...

>> Executing 46 defined specs...

Test Suites & Specs:

1) Create a test namespace
   ✔ creates test namespace if necessary

2) Kubernetes resource CRUD operations


Moving to VERIFIED

Comment 7 errata-xmlrpc 2021-02-24 15:51:51 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Moderate: OpenShift Container Platform 4.7.0 security, bug fix, and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2020:5633


Note You need to log in before you can comment on or make changes to this bug.