Page MenuHomePhabricator

MediaWiki-Vagrant's "mobilefrontend" role fails to install MobileFrontend extension
Closed, ResolvedPublicBUG REPORT

Description

Setting up the mobilefrontend role on MediaWiki-Vagrant fails.

Steps to Reproduce:

  1. Create and launch a new MediaWiki-Vagrant instance
  2. vagrant enable-role mobilefrontend
  3. vagrant provision

Actual Results:

Puppet process errors out on something in MediaWiki's setup of the MinervaNeue skin saying that MobileFrontend is missing. No extensions/MobileFrontend is checked out.

==> default: Notice: /Stage[main]/Role::Mobilefrontend/Mediawiki::Wiki[mobile]/Exec[mobilewiki_setup]/returns: A dependency error was encountered while installing the extension "MinervaNeue": Could not find the registration file for the extension "MobileFrontend"
==> default: Notice: /Stage[main]/Role::Mobilefrontend/Mediawiki::Wiki[mobile]/Exec[mobilewiki_setup]/returns: [e7d37c39d2a8be74648bee7c] [no req]   Wikimedia\Services\ServiceDisabledException from line 423 of /vagrant/mediawiki/includes/libs/services/ServiceContainer.php: Service disabled: DBLoadBalancerFactory
==> default: Notice: /Stage[main]/Role::Mobilefrontend/Mediawiki::Wiki[mobile]/Exec[mobilewiki_setup]/returns: Backtrace:
==> default: Notice: /Stage[main]/Role::Mobilefrontend/Mediawiki::Wiki[mobile]/Exec[mobilewiki_setup]/returns: #0 /vagrant/mediawiki/includes/MediaWikiServices.php(590): Wikimedia\Services\ServiceContainer->getService(string)
==> default: Notice: /Stage[main]/Role::Mobilefrontend/Mediawiki::Wiki[mobile]/Exec[mobilewiki_setup]/returns: #1 /vagrant/mediawiki/maintenance/doMaintenance.php(123): MediaWiki\MediaWikiServices->getDBLoadBalancerFactory()
==> default: Notice: /Stage[main]/Role::Mobilefrontend/Mediawiki::Wiki[mobile]/Exec[mobilewiki_setup]/returns: #2 /vagrant/mediawiki/maintenance/install.php(195): require_once(string)
==> default: Notice: /Stage[main]/Role::Mobilefrontend/Mediawiki::Wiki[mobile]/Exec[mobilewiki_setup]/returns: #3 {main}
==> default: Error: /usr/local/bin/multiversion-install /vagrant/mediawiki --wiki mobilewiki --dbname mobilewiki --dbpass wikipassword --dbuser wikiadmin --pass vagrant --scriptpath /w --server http://mobile.wiki.local.wmftest.net:8080 --confpath /vagrant/settings.d/wikis/mobilewiki  mobilewiki Admin
==> default:  returned 255 instead of one of [0]
==> default: Error: /Stage[main]/Role::Mobilefrontend/Mediawiki::Wiki[mobile]/Exec[mobilewiki_setup]/returns: change from notrun to 0 failed: /usr/local/bin/multiversion-install /vagrant/mediawiki --wiki mobilewiki --dbname mobilewiki --dbpass wikipassword --dbuser wikiadmin --pass vagrant --scriptpath /w --server http://mobile.wiki.local.wmftest.net:8080 --confpath /vagrant/settings.d/wikis/mobilewiki  mobilewiki Admin
==> default:  returned 255 instead of one of [0]

Full output from vagrant:

Expected Results:

Both the MinervaNeue skin and MobileFrontend should be installed and working.

Additional information:

Tested on Linux host (Fedora 31), with VirtualBox provider and vagrant 2.2.6.

Workaround:

  • Manually check out extensions/MobileFrontend, then re-run vagrant provision?

This did not fully work for me at first as I got a secondary error setting up Selenium:

==> default: Notice: /Stage[main]/Browsertests/Mediawiki::User[Selenium_user]/Mediawiki::Maintenance[mediawiki_user_Selenium_user_wiki]/Exec[mediawiki_user_Selenium_user_wiki]/returns: [c5881376cb62d6346c944a75] [no req]   PasswordError from line 137 of /vagrant/mediawiki/maintenance/createAndPromote.php: The password entered is in a list of very commonly used passwords. Please choose a more unique password.
==> default: Notice: /Stage[main]/Browsertests/Mediawiki::User[Selenium_user]/Mediawiki::Maintenance[mediawiki_user_Selenium_user_wiki]/Exec[mediawiki_user_Selenium_user_wiki]/returns: Backtrace:
==> default: Notice: /Stage[main]/Browsertests/Mediawiki::User[Selenium_user]/Mediawiki::Maintenance[mediawiki_user_Selenium_user_wiki]/Exec[mediawiki_user_Selenium_user_wiki]/returns: #0 /vagrant/mediawiki/maintenance/doMaintenance.php(99): CreateAndPromote->execute()
==> default: Notice: /Stage[main]/Browsertests/Mediawiki::User[Selenium_user]/Mediawiki::Maintenance[mediawiki_user_Selenium_user_wiki]/Exec[mediawiki_user_Selenium_user_wiki]/returns: #1 /vagrant/mediawiki/maintenance/createAndPromote.php(162): require_once(string)
==> default: Notice: /Stage[main]/Browsertests/Mediawiki::User[Selenium_user]/Mediawiki::Maintenance[mediawiki_user_Selenium_user_wiki]/Exec[mediawiki_user_Selenium_user_wiki]/returns: #2 /var/www/w/MWScript.php(98): require_once(string)
==> default: Notice: /Stage[main]/Browsertests/Mediawiki::User[Selenium_user]/Mediawiki::Maintenance[mediawiki_user_Selenium_user_wiki]/Exec[mediawiki_user_Selenium_user_wiki]/returns: #3 {main}
==> default: Error: /usr/local/bin/mwscript createAndPromote.php                     --wiki='wiki' 'Selenium_user' 'vagrant' returned 1 instead of one of [0]

I adjusted the isValidPassword hack to apply to the Selenium user as well as Admin and re-ran vagrant provision and it seems to have worked.

Event Timeline

Yeah, looks like it's dying in the same place over on that one.

Change 570827 had a related patch set uploaded (by Gergő Tisza; owner: Gergő Tisza):
[mediawiki/vagrant@master] Always allow 'vagrant' as a MediaWiki password

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

Change 570829 had a related patch set uploaded (by Gergő Tisza; owner: Gergő Tisza):
[mediawiki/vagrant@master] Add missing dependency between MinervaNeue and MobileFrontend

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

Change 570829 merged by jenkins-bot:
[mediawiki/vagrant@master] Add missing dependency between MinervaNeue and MobileFrontend

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

Change 570827 merged by jenkins-bot:
[mediawiki/vagrant@master] Always allow 'vagrant' as a MediaWiki password

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