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

Reply via email to