Page MenuHomePhabricator

Figure out how to pass round trip testing specific config via LocalSettings.php
Closed, ResolvedPublic0 Estimated Story Points

Description

Parsoid/JS has a custom config for roundtrip testing on scandium. For Parsoid/PHP, these custom settings (linting, metrics, logging, rt test mode) would come via LocalSettings.php. We need to figure out where these settings live.

Event Timeline

ssastry triaged this task as High priority.Jul 30 2019, 4:42 PM
ssastry created this task.

Presumably we can have a custom local settings file with overrides in the parsoid repo which puppet / scap can merge into the defaults local setting file? @Jdforrester-WMF @Tgr @thcipriani .. can one of you shed some light on this? Even a pointer to a wiki page is sufficient.

There's no such thing as LocalSettings.php in production, it's provided via the mediawiki-config repo, but that requires a given server to be part of the production appserver set-up (even if not serving traffic). FWICT, that's not how you're planning to proceed?

For production, for sure, we will go the mediawiki-config route. But, presumably that config will install a LocalSettings.php file, right?

The question is more about rt-testing which needs to override some settings from that config without needing to hack it into the mediawiki-config repo.

The question is more about rt-testing which needs to override some settings from that config without needing to hack it into the mediawiki-config repo.

OK, so if you're building a non-puppeted manual MW server doing it's own thing I don't know what you'd do. There's no support for trying to do this kind of thing in prod.

The question is more about rt-testing which needs to override some settings from that config without needing to hack it into the mediawiki-config repo.

OK, so if you're building a non-puppeted manual MW server doing it's own thing I don't know what you'd do. There's no support for trying to do this kind of thing in prod.

Ok, we can probably temporarily hack it for the immediate term then. But, beyond that .. for sustained rt testing preceding Parsoid/PHP deployments to production, we'll need to figure out a non-hacky solution, so I'll keep this ticket open.

scandium uses the parsoid::testing puppet role. I guess you could create LocalSettings.php from there (and make it redirect to some file in the Parsoid repo, to avoid having to make a puppet patch for every change).

scandium uses the parsoid::testing puppet role. I guess you could create LocalSettings.php from there (and make it redirect to some file in the Parsoid repo, to avoid having to make a puppet patch for every change).

Why would we need to make a puppet patch for every change? The LocalSettings.php contents won't change.

Change 528591 had a related patch set uploaded (by Subramanya Sastry; owner: Subramanya Sastry):
[operations/mediawiki-config@master] WIP: Add conditional loading of Parsoid/PHP as an extension

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

Assuming https://gerrit.wikimedia.org/r/c/operations/mediawiki-config/+/528591 passes muster, we should create the appropriate RTTestSettings.php file and add it to the parsoid repo.

Change 528591 merged by jenkins-bot:
[operations/mediawiki-config@master] Add conditional loading of Parsoid/PHP as an extension

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

Change 529432 had a related patch set uploaded (by Subramanya Sastry; owner: Subramanya Sastry):
[mediawiki/services/parsoid@master] Add a RTTestSettings.php config override

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

Change 529432 merged by jenkins-bot:
[mediawiki/services/parsoid@master] Add a RTTestSettings.php config override

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

ssastry claimed this task.