test.wikipedia.org

From Wikitech
Revision as of 22:17, 24 December 2012 by Krinkle (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

test.wikipedia.org is a special wiki runs off the deployment source (The "wikipedia" home directory on NFS, as operated from fenari) as opposed to the deployed code that is synchronized across the apache clusters.

Purpose

Basically, testwiki is intended primarily for short-term testing of code right before you push it to the rest of the wikis, or long-term testing of configuration options or extensions that aren't enabled by default. It is possible at any time that someone may come along behind you after you have made a change to one of the files in /home/wikipedia/common (which you intended only to test on testwiki) and sync-common it to all of the apaches. Horrors! So, long-term changes should go into a block wrapped in an if ( $wgDBname === 'testwiki' ) (to prevent them from accidentally being synchronized to all servers!). Short term changes (anything not committed to the git repo) should either be committed and rolled out, or reverted as soon as possible.

Details

As of June 2012, test.wikipedia.org runs off of the files in /home/wikipedia/common from NFS (see also MediaWiki deployment setup). That is different from the servers for all other wikis. Normal apaches run from the local copy in /usr/local/apache/common. They also don't have NFS mounted.

The load balancer redirects traffic intended for test.wikipedia.org to one dedicated apache (srv193, as of June 2012). That server uses the puppet class applicationserver::home (which makes sure /home/wikipedia is mounted from NFS.

We deploy from the home directory (from fenari) to the apaches using one of the various sync scripts.

The most important parts of /home/wikipedia/common are the php-* directories which contain the installations of the MediaWiki software (which themselves are checkouts of wmf/* branches from the mediawiki/core repository.

In May 2012, all of /home/wikipedia/common (except for the MediaWiki installs in php-*) has been made public in the operations/mediawiki-config repository (previously it was in a private repo, which still exists but now only contains private files, such as passwords).


TODO : how does Apache use /home/wikipedia instead of /usr/local ? Puppet: user home directories are not managed by puppet. If test.wikipedia gets moved to a new host, change the stanza in sites.pp on our puppet server to reflect the new location.


See also

Personal tools
Namespaces

Variants
Actions
Navigation
Ops documentation
Wiki
Toolbox