Setting up the mobilefrontend role on MediaWiki-Vagrant fails.
Steps to Reproduce:
- Create and launch a new MediaWiki-Vagrant instance
- vagrant enable-role mobilefrontend
- 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.