Page MenuHomePhabricator

Vagrant mediawiki::maintenance resource broken by new maintenance script output
Closed, ResolvedPublicBUG REPORT

Description

Got this when provisioning the centralauth role on a fresh box:

==> default: Notice: /Stage[main]/Role::Antispoof/Mediawiki::Maintenance[populate_spoofuser]/Exec[populate_spoofuser]/returns: -----------------------------------------------------------------
==> default: Notice: /Stage[main]/Role::Antispoof/Mediawiki::Maintenance[populate_spoofuser]/Exec[populate_spoofuser]/returns: *******************************************************************************
==> default: Notice: /Stage[main]/Role::Antispoof/Mediawiki::Maintenance[populate_spoofuser]/Exec[populate_spoofuser]/returns: -----------------------------------------------------------------
==> default: Notice: /Stage[main]/Role::Antispoof/Mediawiki::Maintenance[populate_spoofuser]/Exec[populate_spoofuser]/returns: Database ******************************************************************************* not configured
==> default: Notice: /Stage[main]/Role::Antispoof/Mediawiki::Maintenance[populate_spoofuser]/Exec[populate_spoofuser]/returns: -----------------------------------------------------------------
==> default: Notice: /Stage[main]/Role::Antispoof/Mediawiki::Maintenance[populate_spoofuser]/Exec[populate_spoofuser]/returns: NOTE:
==> default: Notice: /Stage[main]/Role::Antispoof/Mediawiki::Maintenance[populate_spoofuser]/Exec[populate_spoofuser]/returns: -----------------------------------------------------------------
==> default: Notice: /Stage[main]/Role::Antispoof/Mediawiki::Maintenance[populate_spoofuser]/Exec[populate_spoofuser]/returns: Database NOTE: not configured
==> default: Notice: /Stage[main]/Role::Antispoof/Mediawiki::Maintenance[populate_spoofuser]/Exec[populate_spoofuser]/returns: -----------------------------------------------------------------
==> default: Notice: /Stage[main]/Role::Antispoof/Mediawiki::Maintenance[populate_spoofuser]/Exec[populate_spoofuser]/returns: Do
==> default: Notice: /Stage[main]/Role::Antispoof/Mediawiki::Maintenance[populate_spoofuser]/Exec[populate_spoofuser]/returns: -----------------------------------------------------------------
==> default: Notice: /Stage[main]/Role::Antispoof/Mediawiki::Maintenance[populate_spoofuser]/Exec[populate_spoofuser]/returns: Database Do not configured
==> default: Notice: /Stage[main]/Role::Antispoof/Mediawiki::Maintenance[populate_spoofuser]/Exec[populate_spoofuser]/returns: -----------------------------------------------------------------
==> default: Notice: /Stage[main]/Role::Antispoof/Mediawiki::Maintenance[populate_spoofuser]/Exec[populate_spoofuser]/returns: not
...
...
==> default: Notice: /Stage[main]/Role::Centralauth/Mediawiki::Maintenance[Pass 0 of CentralAuth]/Exec[Pass 0 of CentralAuth]/returns: /bin/sed: -e expression #1, char 17: unknown option to `s'
==> default: Notice: /Stage[main]/Role::Centralauth/Mediawiki::Maintenance[Pass 0 of CentralAuth]/Exec[Pass 0 of CentralAuth]/returns: Database maintenance/run.php not configured
...
...
==> default: Notice: /Stage[main]/Role::Centralauth/Mediawiki::Maintenance[Pass 0 of CentralAuth]/Exec[Pass 0 of CentralAuth]/returns: wiki:  
==> default: Notice: /Stage[main]/Role::Centralauth/Mediawiki::Maintenance[Pass 0 of CentralAuth]/Exec[Pass 0 of CentralAuth]/returns: wiki:  *******************************************************************************
==> default: Notice: /Stage[main]/Role::Centralauth/Mediawiki::Maintenance[Pass 0 of CentralAuth]/Exec[Pass 0 of CentralAuth]/returns: wiki:  NOTE: Do not run maintenance scripts directly, use maintenance/run.php instead!
==> default: Notice: /Stage[main]/Role::Centralauth/Mediawiki::Maintenance[Pass 0 of CentralAuth]/Exec[Pass 0 of CentralAuth]/returns: wiki:        Running scripts directly has been deprecated in MediaWiki 1.40.
==> default: Notice: /Stage[main]/Role::Centralauth/Mediawiki::Maintenance[Pass 0 of CentralAuth]/Exec[Pass 0 of CentralAuth]/returns: wiki:        It may not work for some (or any) scripts in the future.
==> default: Notice: /Stage[main]/Role::Centralauth/Mediawiki::Maintenance[Pass 0 of CentralAuth]/Exec[Pass 0 of CentralAuth]/returns: wiki:  *******************************************************************************
==> default: Notice: /Stage[main]/Role::Centralauth/Mediawiki::Maintenance[Pass 0 of CentralAuth]/Exec[Pass 0 of CentralAuth]/returns: wiki:  
==> default: Notice: /Stage[main]/Role::Centralauth/Mediawiki::Maintenance[Pass 0 of CentralAuth]/Exec[Pass 0 of CentralAuth]/returns: wiki:  CentralAuth migration pass 0:
==> default: Notice: /Stage[main]/Role::Centralauth/Mediawiki::Maintenance[Pass 0 of CentralAuth]/Exec[Pass 0 of CentralAuth]/returns: wiki:  wiki preparing migration data...
==> default: Notice: /Stage[main]/Role::Centralauth/Mediawiki::Maintenance[Pass 0 of CentralAuth]/Exec[Pass 0 of CentralAuth]/returns: wiki:  wiki 3 (100.0%) done in 0.1 secs (50.485 accounts/sec).
==> default: Notice: /Stage[main]/Role::Centralauth/Mediawiki::Maintenance[Pass 0 of CentralAuth]/Exec[Pass 0 of CentralAuth]/returns: wiki:  done.
==> default: Notice: /Stage[main]/Role::Centralauth/Mediawiki::Maintenance[Pass 0 of CentralAuth]/Exec[Pass 0 of CentralAuth]/returns: 99 wikis failed.

Something goes horribly wrong with output parsing. I think the maintenance script actually succeeds, it just produces an unexpected warning that breaks some logic that expects DB names.

(It would be nice if maintenance scripts offered machine-readable output, but I suppose that's a larger issue.)

Event Timeline

Vagrant needs updating on how the maintenance scripts are called, like with quibble, see T326333 for quibble (and some ideas)

machine-readable output would not help when the way how to call the script changed.

Tgr claimed this task.

This was fixed in core, although yes, we should probably make use of run.php.