Ori.livneh has uploaded a new change for review.
https://gerrit.wikimedia.org/r/250173
Change subject: [WIP] Add clusterRequire
......................................................................
[WIP] Add clusterRequire
Change-Id: I1a3c0c0286b9a0051d1d60b08be13c9122f432a0
---
M multiversion/MWRealm.php
M tests/dbconfigTest.php
M wmf-config/CirrusSearch-common.php
M wmf-config/CommonSettings.php
M wmf-config/PoolCounterSettings-common.php
5 files changed, 19 insertions(+), 51 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/operations/mediawiki-config
refs/changes/73/250173/1
diff --git a/multiversion/MWRealm.php b/multiversion/MWRealm.php
index 1807be4..9c286ac 100644
--- a/multiversion/MWRealm.php
+++ b/multiversion/MWRealm.php
@@ -1,56 +1,20 @@
<?php
require_once( __DIR__ . '/MWWikiversions.php' );
-// Determine realm and datacenter we are on
-// $wmfRealm and $wmfDatacenter are used to vary configuration based on server
-// location. They should be provisioned by puppet in /etc/wikimedia-site and
-// /etc/wikimedia-realm.
-//
-// The possible values of $wmfRealm and $wmfDatacenter as of April 2015 are:
-// - labs + eqiad
-// - production + eqiad
-// - production + codfw
-global $wmfDatacenter, $wmfRealm;
-$wmfRealm = 'production';
-$wmfDatacenter = 'eqiad';
+global $wmfCluster, $wmfDatacenter, $wmfRealm;
-// Puppet provisions the realm in /etc/wikimedia-realm
-if( file_exists( '/etc/wikimedia-realm' ) ) {
- $wmfRealm = trim( file_get_contents( '/etc/wikimedia-realm' ) );
-}
-if( file_exists( '/etc/wikimedia-site' ) ) {
- $wmfDatacenter = trim( file_get_contents( '/etc/wikimedia-site' ) );
+$wmfCluster = trim( file_get_contents( '/etc/wikimedia-cluster' ) );
+if ( $wmfCluster === 'labs' ) {
+ $wmfRealm = 'labs';
+ $wmfDatacenter = 'eqiad';
+} else {
+ $wmfRealm = 'production';
+ $wmfDatacenter = $wmfCluster;
}
-// Validate settings
-switch( $wmfRealm ) {
-case 'labs':
- # Anything different from eqiad is wrong in labs
- $wmfDatacenter = 'eqiad';
- break;
-case 'production':
- if ( ! in_array( $wmfDatacenter, array( 'eqiad', 'codfw' ) ) ) {
- $wmfDatacenter = 'eqiad';
- }
- break;
-default:
- # Assume something vaguely resembling a default
- $wmfRealm = 'production';
- $wmfDatacenter = 'eqiad';
- break;
-}
-
-/**
- * Function to list all valid realm/datacenter pairs, for testing purposes.
- *
- * @return array List of realm-datacenter pairs
- */
-function listAllRealmsAndDatacenters() {
- return array(
- array( 'production', 'eqiad' ),
- array( 'production', 'codfw' ),
- array( 'labs', 'eqiad' ),
- );
+function clusterRequire( $fileName ) {
+ global $wmfCluster;
+ require_once sprintf( '%s-%s.php', substr( $fileName, 0, -4 ), $wmfCluster
);
}
/**
diff --git a/tests/dbconfigTest.php b/tests/dbconfigTest.php
index f02ab7b..d733018 100644
--- a/tests/dbconfigTest.php
+++ b/tests/dbconfigTest.php
@@ -13,7 +13,11 @@
class dbconfigTests extends PHPUnit_Framework_TestCase {
public static function provideRealmDatacenter() {
- return listAllRealmsAndDatacenters();
+ return array(
+ array( 'production', 'eqiad' ),
+ array( 'production', 'codfw' ),
+ array( 'labs', 'eqiad' ),
+ );
}
function loadDbFile( $realm, $datacenter ) {
diff --git a/wmf-config/CirrusSearch-common.php
b/wmf-config/CirrusSearch-common.php
index 44f2ddb..942094b 100644
--- a/wmf-config/CirrusSearch-common.php
+++ b/wmf-config/CirrusSearch-common.php
@@ -143,4 +143,4 @@
# - CirrusSearch-labs.php
# - CirrusSearch-production.php
#
-require( getRealmSpecificFilename( "$wmfConfigDir/CirrusSearch.php" ) );
+require "{$wmfConfigDir}/CirrusSearch-{$wmfRealm}.php";
diff --git a/wmf-config/CommonSettings.php b/wmf-config/CommonSettings.php
index fdb6afe..cab8fcf 100755
--- a/wmf-config/CommonSettings.php
+++ b/wmf-config/CommonSettings.php
@@ -834,7 +834,7 @@
if ( $wmgUseClusterJobqueue ) {
# Cluster-dependent files for job queue and job queue aggregator
- require( getRealmSpecificFilename( "$wmfConfigDir/jobqueue.php" ) );
+ clusterRequire( "$wmfConfigDir/jobqueue.php" );
}
if ( $wgDBname == 'nostalgiawiki' ) {
diff --git a/wmf-config/PoolCounterSettings-common.php
b/wmf-config/PoolCounterSettings-common.php
index ca4399e..0a94a9a 100644
--- a/wmf-config/PoolCounterSettings-common.php
+++ b/wmf-config/PoolCounterSettings-common.php
@@ -71,4 +71,4 @@
);
}
-require( getRealmSpecificFilename( "$wmfConfigDir/PoolCounterSettings.php" ) );
+clusterRequire( "$wmfConfigDir/PoolCounterSettings.php" );
--
To view, visit https://gerrit.wikimedia.org/r/250173
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I1a3c0c0286b9a0051d1d60b08be13c9122f432a0
Gerrit-PatchSet: 1
Gerrit-Project: operations/mediawiki-config
Gerrit-Branch: master
Gerrit-Owner: Ori.livneh <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits