Page MenuHomePhabricator

browsertests-VisualEditor-language-screenshot-os_x_10.10-firefox jenkins job failing
Closed, ResolvedPublic1 Story Points

Description

Example:

https://integration.wikimedia.org/ci/job/browsertests-VisualEditor-language-screenshot-os_x_10.10-firefox/LANGUAGE_SCREENSHOT_CODE=af,label=contintLabsSlave%20&&%20UbuntuTrusty/lastBuild/consoleFull

...
00:00:26.451       WrongPass (MediawikiApi::LoginError)
...
00:01:06.778       Throttled (MediawikiApi::LoginError)
...
00:01:06.925       No such file or directory - i18n/af.json (Errno::ENOENT)
...

Event Timeline

Amire80 created this task.Sep 4 2015, 10:30 AM
Amire80 assigned this task to zeljkofilipin.
Amire80 raised the priority of this task from to Normal.
Amire80 updated the task description. (Show Details)
Amire80 added subscribers: Amire80, zeljkofilipin.
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptSep 4 2015, 10:30 AM
hashar added a subscriber: hashar.Sep 4 2015, 10:33 AM

Can you please enhance the task by:

  • giving the job URL
  • a copy paste of the console that shows the failure
zeljkofilipin renamed this task from language screenshot jobs are failing to browsertests-VisualEditor-language-screenshot-os_x_10.10-firefox jenkins job failing.Sep 4 2015, 10:39 AM
zeljkofilipin updated the task description. (Show Details)
zeljkofilipin set Security to None.
zeljkofilipin moved this task from Inbox to In Progress on the Browser-Tests-Infrastructure board.

Yup seems the credentials are wrong :-( Apparently the username is LanguageScreenshotBot which is stored in Jenkins at https://integration.wikimedia.org/ci/credential-store/domain/browsertests/credential/LanguageScreenshotBot-at-beta.wmflabs.org/

Maybe the user account has been updated on beta cluster?

Elitre added a subscriber: Elitre.Sep 4 2015, 10:45 AM

@hashar: I think LanguageScreenshotBot is used only for uploading files to Commons. Selenium user is used for logging in via the browser. I have just checked, passwords have not changed recently.

Oh, looks like (at least the browser) uses Selenium user as username, but LanguageScreenshotBots password. Probably the same problem happens when logging in via the API.

Change 236019 had a related patch set uploaded (by Zfilipin):
WIP Fix language screenshot Jenkins job

https://gerrit.wikimedia.org/r/236019

Looks like a recent change to macro-browsertests.yaml broke this job. Setting username explicitly, like 236019 does, fixes the problem (jenkins job diff, console).

All WrongPass (MediawikiApi::LoginError) and Throttled (MediawikiApi::LoginError) errors are gone.

No such file or directory - i18n/af.json (Errno::ENOENT) error is still there, but that is to be expected, since the file is really missing from i18n folder.

Isn't the bug that the wrong password is used? As it shouldn't share a password used in CI with one that is used on a live site?

No, the problem is that Selenium user is used as username, but then LanguageScreenshotBots's password is used.

Change 236019 abandoned by Zfilipin:
Fix language screenshot Jenkins job

https://gerrit.wikimedia.org/r/236019

The problem is the job uses the LanguageScreenshotBot user name. That is set by environment variables from the Jenkins credentials store.

In change https://gerrit.wikimedia.org/r/#/c/226603/ @dduvall added to the macro:

-          export MEDIAWIKI_USER=`echo $MEDIAWIKI_CREDENTIALS | cut -f1 -d:`
-          export MEDIAWIKI_PASSWORD=`echo $MEDIAWIKI_CREDENTIALS | cut -f2- -d:`
-          export MEDIAWIKI_PASSWORD_VARIABLE='MEDIAWIKI_PASSWORD'
+
+          MEDIAWIKI_USER=`echo $MEDIAWIKI_CREDENTIALS | cut -f1 -d:`
+          MEDIAWIKI_PASSWORD=`echo $MEDIAWIKI_CREDENTIALS | cut -f2- -d:`
+
           set -x
 
+          MEDIAWIKI_API_URL=http://{mediawiki_url}/w/api.php
+          MEDIAWIKI_URL=http://{mediawiki_url}/wiki/
+
+          # Let test suites running mw-selenium 1.x use their own
+          # configuration for URLs and users, but export our settings for
+          # versions 0.x
+          if [ ! -f "{folder}/browser/environments.yml" ]; then
+              export MEDIAWIKI_API_URL
+              export MEDIAWIKI_URL
+              export MEDIAWIKI_USER
+          fi
+
+          # Export the MW user password regardless, as passwords are not kept
+          # in test suite configurations
+          export MEDIAWIKI_PASSWORD

The VisualEditor extension does have an environments.yml , thus we only export MEDIAWIKI_PASSWORD but the MEDIAWIKI_USER is not exported.

Thus we end up running the job with the username from the yaml file but the password still from the Jenkins credential store for user LanguageScreenshotBot.

I haven't looked why this change was done but it is a regression in how mediawiki_selenium is supposed to work. The precedence is supposed to be:

  1. load from yam.file
  2. override with env variable

Only seems to impact repos that have switched to mw-selenium 1.x.

Change 236540 had a related patch set uploaded (by Zfilipin):
WIP Fix WrongPass MediawikiApi::LoginError error for VisualEditor Jenkins job

https://gerrit.wikimedia.org/r/236540

236540 is the simplest fix for the problem, until I have some time to dig deeper.

The short term fix here is to simply revert the changes made in https://gerrit.wikimedia.org/r/#/c/226603/ but we should look at refactoring the JJB job into generic macros that will allow us to run the tests with and without specific user/URL parameters.

Change 236540 abandoned by Hashar:
WIP Fix WrongPass MediawikiApi::LoginError error for VisualEditor Jenkins job

Reason:
From last week meeting with Dan, we want to revert https://gerrit.wikimedia.org/r/#/c/226603/ or enhance it . See also my comment on T111510 #1613338

https://gerrit.wikimedia.org/r/236540

Change 240701 had a related patch set uploaded (by Zfilipin):
Revert "Let MW-Selenium 1.x use the local test suite configuration"

https://gerrit.wikimedia.org/r/240701

Change 240701 merged by jenkins-bot:
Revert "Let MW-Selenium 1.x use the local test suite configuration"

https://gerrit.wikimedia.org/r/240701

zeljkofilipin closed this task as Resolved.Sep 25 2015, 9:04 PM