Last modified: 2013-01-15 10:21:49 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T41082, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 39082 - Add support for deploying per-datacenter config variances
Add support for deploying per-datacenter config variances
Status: RESOLVED FIXED
Product: Wikimedia
Classification: Unclassified
Site requests (Other open bugs)
unspecified
All All
: Highest normal (vote)
: ---
Assigned To: Antoine "hashar" Musso (WMF)
:
Depends on:
Blocks: 39106
  Show dependency treegraph
 
Reported: 2012-08-06 19:06 UTC by Asher Feldman
Modified: 2013-01-15 10:21 UTC (History)
10 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments

Description Asher Feldman 2012-08-06 19:06:17 UTC
Once apaches are up in eqiad, we need the ability to deploy different versions of certain mediawiki config files to hosts in each datacenter.

For example, files such as db.php or mc.php could be split in db.php-eqiad, db.php-pmtpa, mc.php-eqiad, mc.php-pmtpa. 

When running a scap, the right version should be copied to hosts in the intended datacenter.  The same support should be in scripts such as sync-file, where "sync-file wmf-config/mc.php" would recognize mc.php has dc variants, and deploy both versions of the file.

An alternate option would be to make mediawiki itself datacenter aware, and have arrays like $wgMemCachedServers = { 0 => '10.xxx', ..  } become $wgMemCachedServers = { 'pmtpa' => { 0 => '10.xxx', .. }, 'eqiad' => { 0 => , '10.xxx', .. } }.
Comment 1 Chad H. 2012-08-07 18:32:09 UTC
Way back when, we varied config based on $cluster, but that's kind of a PITA...so I like the idea of doing cluster-specific config instead.

Yeah, this was back in the yaseo days ;-)
Comment 2 Tim Starling 2012-08-08 01:11:04 UTC
This is already done, isn't it? Antoine set it up to support labs, using the same method we used for yaseo. We have db-wmflabs.php, mc-wmflabs.php, CommonSettings-wmflabs.php, etc. 

The new configuration setup has two axes: realm and cluster. Realm is for labs/production, cluster is for pmtpa/eqiad. The realm is configured with /etc/wikimedia-realm. When we had yaseo, the cluster was configured with /etc/wikimedia-cluster, and I assume we'll be doing that again once we have more than one cluster.
Comment 3 Andre Klapper 2012-10-23 18:21:52 UTC
Chad / Asher: What is the actual status on this, as Tim implies that this might be already done? Do you agree?
(Setting tentative "High" priority as it's blocking bug 39106 which also has high priority.)
Comment 4 Asher Feldman 2012-10-23 22:21:36 UTC
It isn't clear to me that it is, as I don't think the current production deploy scripts actually support the new configuration setup.  We now have mw servers up in eqiad, I think actively deploying an eqiad specific config to them is the measure of completion.
Comment 5 Antoine "hashar" Musso (WMF) 2012-10-30 14:43:30 UTC
https://gerrit.wikimedia.org/r/30784 brings back to life /etc/wikimedia-cluster which has been dropped out of the debian package wikimedia-base.  That would let us detect on which cluster we are running.
Comment 6 Antoine "hashar" Musso (WMF) 2012-10-30 15:02:09 UTC
File /etc/wikimedia-cluster has been renamed to /etc/wikimedia-site . Gerrit change #30784 has been merged it and thus the file should be available soon on all servers.
Comment 7 Brad Jorsch 2012-10-30 16:05:38 UTC
Gerrit change #30792 adjusts wmf-config to read the datacenter from /etc/wikimedia-site, and changes the various switches to either vary based on realm (labs/production) or add a case for eqiad. It also renames the variable $cluster to $datacenter, based on IRC discussion.
Comment 8 Brad Jorsch 2012-11-07 21:04:32 UTC
After looking at bug 41133, it looks like it's best to fix things for both bugs all at once. So the change above is now abandoned, and the new fix for this bug is spread across two changesets:

Gerrit change #32167 has the changes to operations/mediawiki-config
Gerrit change #32168 has the changes to operations/mediawiki-multiversion
Comment 9 Andre Klapper 2012-12-05 13:51:25 UTC
I'm bumping this to highest priority as bug 39082 (blocked by this) has also highest priority.
Comment 10 Rob Lanphier 2012-12-12 18:30:18 UTC
I believe this is waiting for review by Antoine, so assigning to him.
Comment 11 Antoine "hashar" Musso (WMF) 2012-12-21 09:29:07 UTC
I forgot to update. This is still a work in progress, a few changes have been deployed such as updating the WikimediaMaintenance extension and getting rid of the legacy $cluster variable.
Comment 12 Antoine "hashar" Musso (WMF) 2013-01-07 18:25:45 UTC
Tim has merged the remaining changes, I guess it is more or less fixed.
Comment 13 Antoine "hashar" Musso (WMF) 2013-01-10 20:11:08 UTC
I have checked with Brad, there is no point in keeping this around. The remaining changes have been deployed in production and beta. Both sites are still up so that is a work for me.

There must be some minor glitches remaining, will open bug as we encounter them.
Comment 14 Asher Feldman 2013-01-11 01:16:56 UTC
How do I use the new system to specific pmtpa and eqiad specific configuration, such as for memcached?  Is there documentation anywhere? 

I don't see anything cluster specific in the prod wmf-config files, so while the code may be in prod, I don't think it has actually been tested there yet.  I'm reopening this until it has been demonstrated in production.
Comment 15 Antoine "hashar" Musso (WMF) 2013-01-14 18:11:30 UTC
I have added some documentation with  https://gerrit.wikimedia.org/r/43849
Comment 16 Antoine "hashar" Musso (WMF) 2013-01-15 10:21:49 UTC
The doc change has been merged.

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links