Tim Landscheidt has uploaded a new change for review.

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


Change subject: WIP: Puppetize aliases and NAT for LabsDB replica servers
......................................................................

WIP: Puppetize aliases and NAT for LabsDB replica servers

Change-Id: Ica4e23cfd407348d7553ab5da9eaab088dabc751
---
M manifests/role/db.pp
1 file changed, 528 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/10/107010/1

diff --git a/manifests/role/db.pp b/manifests/role/db.pp
index 987123c..9f7514a 100644
--- a/manifests/role/db.pp
+++ b/manifests/role/db.pp
@@ -94,6 +94,534 @@
     }
 }
 
+class role::labsdb::client {
+    system::role {"role::db::client": description => "LabsDB client" }
+
+    # TODO: DRY; this list is (should) already be maintained somewhere.
+    # TODO: Using static IP addresses for the LabsDB servers seems bad(TM).
+    host { 's1.labsdb':
+        ip => '192.168.99.1',
+        host_aliases => [ 'enwiki.labsdb' ];
+    }
+
+    host { 's2.labsdb':
+        ip => '192.168.99.2',
+
+        host_aliases => [ 'bgwiki.labsdb', 'bgwiktionary.labsdb',
+                          'cswiki.labsdb', 'enwikiquote.labsdb',
+                          'enwiktionary.labsdb', 'eowiki.labsdb',
+                          'fiwiki.labsdb', 'idwiki.labsdb',
+                          'itwiki.labsdb', 'nlwiki.labsdb',
+                          'nowiki.labsdb', 'plwiki.labsdb',
+                          'ptwiki.labsdb', 'svwiki.labsdb',
+                          'thwiki.labsdb', 'trwiki.labsdb',
+                          'zhwiki.labsdb' ];
+    }
+
+    host { 's3.labsdb':
+        ip => '192.168.99.3',
+        host_aliases => [ 'aawiki.labsdb', 'aawikibooks.labsdb',
+                          'aawiktionary.labsdb', 'abwiki.labsdb',
+                          'abwiktionary.labsdb', 'acewiki.labsdb',
+                          'advisorywiki.labsdb', 'afwiki.labsdb',
+                          'afwikibooks.labsdb', 'afwikiquote.labsdb',
+                          'afwiktionary.labsdb', 'akwiki.labsdb',
+                          'akwikibooks.labsdb', 'akwiktionary.labsdb',
+                          'alswiki.labsdb', 'alswikibooks.labsdb',
+                          'alswikiquote.labsdb',
+                          'alswiktionary.labsdb', 'amwiki.labsdb',
+                          'amwikiquote.labsdb', 'amwiktionary.labsdb',
+                          'angwiki.labsdb', 'angwikibooks.labsdb',
+                          'angwikiquote.labsdb',
+                          'angwikisource.labsdb',
+                          'angwiktionary.labsdb', 'anwiki.labsdb',
+                          'anwiktionary.labsdb', 'arcwiki.labsdb',
+                          'arwikibooks.labsdb', 'arwikimedia.labsdb',
+                          'arwikinews.labsdb', 'arwikiquote.labsdb',
+                          'arwikisource.labsdb',
+                          'arwikiversity.labsdb',
+                          'arwiktionary.labsdb', 'arzwiki.labsdb',
+                          'astwiki.labsdb', 'astwikibooks.labsdb',
+                          'astwikiquote.labsdb',
+                          'astwiktionary.labsdb', 'aswiki.labsdb',
+                          'aswikibooks.labsdb', 'aswikisource.labsdb',
+                          'aswiktionary.labsdb', 'avwiki.labsdb',
+                          'avwiktionary.labsdb', 'aywiki.labsdb',
+                          'aywikibooks.labsdb', 'aywiktionary.labsdb',
+                          'azwiki.labsdb', 'azwikibooks.labsdb',
+                          'azwikiquote.labsdb', 'azwikisource.labsdb',
+                          'azwiktionary.labsdb', 'barwiki.labsdb',
+                          'bat_smgwiki.labsdb', 'bawiki.labsdb',
+                          'bawikibooks.labsdb', 'bclwiki.labsdb',
+                          'bdwikimedia.labsdb', 'be_x_oldwiki.labsdb',
+                          'betawikiversity.labsdb', 'bewiki.labsdb',
+                          'bewikibooks.labsdb', 'bewikimedia.labsdb',
+                          'bewikiquote.labsdb', 'bewikisource.labsdb',
+                          'bewiktionary.labsdb', 'bgwikibooks.labsdb',
+                          'bgwikinews.labsdb', 'bgwikiquote.labsdb',
+                          'bgwikisource.labsdb', 'bhwiki.labsdb',
+                          'bhwiktionary.labsdb', 'biwiki.labsdb',
+                          'biwikibooks.labsdb', 'biwiktionary.labsdb',
+                          'bjnwiki.labsdb', 'bmwiki.labsdb',
+                          'bmwikibooks.labsdb', 'bmwikiquote.labsdb',
+                          'bmwiktionary.labsdb', 'bnwiki.labsdb',
+                          'bnwikibooks.labsdb', 'bnwikisource.labsdb',
+                          'bnwiktionary.labsdb', 'bowiki.labsdb',
+                          'bowikibooks.labsdb', 'bowiktionary.labsdb',
+                          'bpywiki.labsdb', 'brwiki.labsdb',
+                          'brwikimedia.labsdb', 'brwikiquote.labsdb',
+                          'brwikisource.labsdb',
+                          'brwiktionary.labsdb', 'bswiki.labsdb',
+                          'bswikibooks.labsdb', 'bswikinews.labsdb',
+                          'bswikiquote.labsdb', 'bswikisource.labsdb',
+                          'bswiktionary.labsdb', 'bugwiki.labsdb',
+                          'bxrwiki.labsdb', 'cawikibooks.labsdb',
+                          'cawikinews.labsdb', 'cawikiquote.labsdb',
+                          'cawikisource.labsdb',
+                          'cawiktionary.labsdb', 'cbk_zamwiki.labsdb',
+                          'cdowiki.labsdb', 'cebwiki.labsdb',
+                          'cewiki.labsdb', 'chowiki.labsdb',
+                          'chrwiki.labsdb', 'chrwiktionary.labsdb',
+                          'chwiki.labsdb', 'chwikibooks.labsdb',
+                          'chwiktionary.labsdb', 'chywiki.labsdb',
+                          'ckbwiki.labsdb', 'cowiki.labsdb',
+                          'cowikibooks.labsdb', 'cowikimedia.labsdb',
+                          'cowikiquote.labsdb', 'cowiktionary.labsdb',
+                          'crhwiki.labsdb', 'crwiki.labsdb',
+                          'crwikiquote.labsdb', 'crwiktionary.labsdb',
+                          'csbwiki.labsdb', 'csbwiktionary.labsdb',
+                          'cswikibooks.labsdb', 'cswikinews.labsdb',
+                          'cswikiquote.labsdb', 'cswikisource.labsdb',
+                          'cswikiversity.labsdb',
+                          'cswiktionary.labsdb', 'cuwiki.labsdb',
+                          'cvwiki.labsdb', 'cvwikibooks.labsdb',
+                          'cywiki.labsdb', 'cywikibooks.labsdb',
+                          'cywikiquote.labsdb', 'cywikisource.labsdb',
+                          'cywiktionary.labsdb', 'dawiki.labsdb',
+                          'dawikibooks.labsdb', 'dawikiquote.labsdb',
+                          'dawikisource.labsdb',
+                          'dawiktionary.labsdb', 'dewikibooks.labsdb',
+                          'dewikinews.labsdb', 'dewikiquote.labsdb',
+                          'dewikisource.labsdb',
+                          'dewikiversity.labsdb',
+                          'dewikivoyage.labsdb',
+                          'dewiktionary.labsdb', 'diqwiki.labsdb',
+                          'dkwikimedia.labsdb', 'donatewiki.labsdb',
+                          'dsbwiki.labsdb', 'dvwiki.labsdb',
+                          'dvwiktionary.labsdb', 'dzwiki.labsdb',
+                          'dzwiktionary.labsdb', 'eewiki.labsdb',
+                          'elwiki.labsdb', 'elwikibooks.labsdb',
+                          'elwikinews.labsdb', 'elwikiquote.labsdb',
+                          'elwikisource.labsdb',
+                          'elwikiversity.labsdb',
+                          'elwikivoyage.labsdb',
+                          'elwiktionary.labsdb', 'emlwiki.labsdb',
+                          'enwikibooks.labsdb', 'enwikinews.labsdb',
+                          'enwikisource.labsdb',
+                          'enwikiversity.labsdb',
+                          'enwikivoyage.labsdb', 'eowikibooks.labsdb',
+                          'eowikinews.labsdb', 'eowikiquote.labsdb',
+                          'eowikisource.labsdb',
+                          'eowiktionary.labsdb', 'eswikibooks.labsdb',
+                          'eswikinews.labsdb', 'eswikiquote.labsdb',
+                          'eswikisource.labsdb',
+                          'eswikiversity.labsdb',
+                          'eswikivoyage.labsdb',
+                          'eswiktionary.labsdb', 'etwiki.labsdb',
+                          'etwikibooks.labsdb', 'etwikimedia.labsdb',
+                          'etwikiquote.labsdb', 'etwikisource.labsdb',
+                          'etwiktionary.labsdb', 'euwiki.labsdb',
+                          'euwikibooks.labsdb', 'euwikiquote.labsdb',
+                          'euwiktionary.labsdb', 'extwiki.labsdb',
+                          'fawikibooks.labsdb', 'fawikinews.labsdb',
+                          'fawikiquote.labsdb', 'fawikisource.labsdb',
+                          'fawiktionary.labsdb', 'ffwiki.labsdb',
+                          'fiu_vrowiki.labsdb', 'fiwikibooks.labsdb',
+                          'fiwikimedia.labsdb', 'fiwikinews.labsdb',
+                          'fiwikiquote.labsdb', 'fiwikisource.labsdb',
+                          'fiwikiversity.labsdb',
+                          'fiwiktionary.labsdb', 'fjwiki.labsdb',
+                          'fjwiktionary.labsdb',
+                          'foundationwiki.labsdb', 'fowiki.labsdb',
+                          'fowikisource.labsdb',
+                          'fowiktionary.labsdb', 'frpwiki.labsdb',
+                          'frrwiki.labsdb', 'frwikibooks.labsdb',
+                          'frwikinews.labsdb', 'frwikiquote.labsdb',
+                          'frwikisource.labsdb',
+                          'frwikiversity.labsdb',
+                          'frwikivoyage.labsdb', 'furwiki.labsdb',
+                          'fywiki.labsdb', 'fywikibooks.labsdb',
+                          'fywiktionary.labsdb', 'gagwiki.labsdb',
+                          'ganwiki.labsdb', 'gawiki.labsdb',
+                          'gawikibooks.labsdb', 'gawikiquote.labsdb',
+                          'gawiktionary.labsdb', 'gdwiki.labsdb',
+                          'gdwiktionary.labsdb', 'glkwiki.labsdb',
+                          'glwiki.labsdb', 'glwikibooks.labsdb',
+                          'glwikiquote.labsdb', 'glwikisource.labsdb',
+                          'glwiktionary.labsdb', 'gnwiki.labsdb',
+                          'gnwikibooks.labsdb', 'gnwiktionary.labsdb',
+                          'gotwiki.labsdb', 'gotwikibooks.labsdb',
+                          'guwiki.labsdb', 'guwikibooks.labsdb',
+                          'guwikiquote.labsdb', 'guwikisource.labsdb',
+                          'guwiktionary.labsdb', 'gvwiki.labsdb',
+                          'gvwiktionary.labsdb', 'hakwiki.labsdb',
+                          'hawiki.labsdb', 'hawiktionary.labsdb',
+                          'hawwiki.labsdb', 'hewikibooks.labsdb',
+                          'hewikinews.labsdb', 'hewikiquote.labsdb',
+                          'hewikisource.labsdb',
+                          'hewikivoyage.labsdb',
+                          'hewiktionary.labsdb', 'hifwiki.labsdb',
+                          'hiwiki.labsdb', 'hiwikibooks.labsdb',
+                          'hiwikiquote.labsdb', 'hiwiktionary.labsdb',
+                          'howiki.labsdb', 'hrwiki.labsdb',
+                          'hrwikibooks.labsdb', 'hrwikiquote.labsdb',
+                          'hrwikisource.labsdb',
+                          'hrwiktionary.labsdb', 'hsbwiki.labsdb',
+                          'hsbwiktionary.labsdb', 'htwiki.labsdb',
+                          'htwikisource.labsdb', 'huwikibooks.labsdb',
+                          'huwikinews.labsdb', 'huwikiquote.labsdb',
+                          'huwikisource.labsdb',
+                          'huwiktionary.labsdb', 'hywiki.labsdb',
+                          'hywikibooks.labsdb', 'hywikiquote.labsdb',
+                          'hywikisource.labsdb',
+                          'hywiktionary.labsdb', 'hzwiki.labsdb',
+                          'iawiki.labsdb', 'iawikibooks.labsdb',
+                          'iawiktionary.labsdb', 'idwikibooks.labsdb',
+                          'idwikiquote.labsdb', 'idwikisource.labsdb',
+                          'idwiktionary.labsdb', 'iewiki.labsdb',
+                          'iewikibooks.labsdb', 'iewiktionary.labsdb',
+                          'igwiki.labsdb', 'iiwiki.labsdb',
+                          'ikwiki.labsdb', 'ikwiktionary.labsdb',
+                          'ilowiki.labsdb', 'incubatorwiki.labsdb',
+                          'iowiki.labsdb', 'iowiktionary.labsdb',
+                          'iswiki.labsdb', 'iswikibooks.labsdb',
+                          'iswikiquote.labsdb', 'iswikisource.labsdb',
+                          'iswiktionary.labsdb', 'itwikibooks.labsdb',
+                          'itwikinews.labsdb', 'itwikiquote.labsdb',
+                          'itwikisource.labsdb',
+                          'itwikiversity.labsdb',
+                          'itwikivoyage.labsdb',
+                          'itwiktionary.labsdb', 'iuwiki.labsdb',
+                          'iuwiktionary.labsdb', 'jawikibooks.labsdb',
+                          'jawikinews.labsdb', 'jawikiquote.labsdb',
+                          'jawikisource.labsdb',
+                          'jawikiversity.labsdb',
+                          'jawiktionary.labsdb', 'jbowiki.labsdb',
+                          'jbowiktionary.labsdb', 'jvwiki.labsdb',
+                          'jvwiktionary.labsdb', 'kaawiki.labsdb',
+                          'kabwiki.labsdb', 'kawiki.labsdb',
+                          'kawikibooks.labsdb', 'kawikiquote.labsdb',
+                          'kawiktionary.labsdb', 'kbdwiki.labsdb',
+                          'kgwiki.labsdb', 'kiwiki.labsdb',
+                          'kjwiki.labsdb', 'kkwiki.labsdb',
+                          'kkwikibooks.labsdb', 'kkwikiquote.labsdb',
+                          'kkwiktionary.labsdb', 'klwiki.labsdb',
+                          'klwiktionary.labsdb', 'kmwiki.labsdb',
+                          'kmwikibooks.labsdb', 'kmwiktionary.labsdb',
+                          'knwiki.labsdb', 'knwikibooks.labsdb',
+                          'knwikiquote.labsdb', 'knwikisource.labsdb',
+                          'knwiktionary.labsdb', 'koiwiki.labsdb',
+                          'kowikibooks.labsdb', 'kowikinews.labsdb',
+                          'kowikiquote.labsdb', 'kowikisource.labsdb',
+                          'kowikiversity.labsdb',
+                          'kowiktionary.labsdb', 'krcwiki.labsdb',
+                          'krwiki.labsdb', 'krwikiquote.labsdb',
+                          'kshwiki.labsdb', 'kswiki.labsdb',
+                          'kswikibooks.labsdb', 'kswikiquote.labsdb',
+                          'kswiktionary.labsdb', 'kuwiki.labsdb',
+                          'kuwikibooks.labsdb', 'kuwikiquote.labsdb',
+                          'kuwiktionary.labsdb', 'kvwiki.labsdb',
+                          'kwwiki.labsdb', 'kwwikiquote.labsdb',
+                          'kwwiktionary.labsdb', 'kywiki.labsdb',
+                          'kywikibooks.labsdb', 'kywikiquote.labsdb',
+                          'kywiktionary.labsdb', 'ladwiki.labsdb',
+                          'lawiki.labsdb', 'lawikibooks.labsdb',
+                          'lawikiquote.labsdb', 'lawikisource.labsdb',
+                          'lawiktionary.labsdb', 'lbewiki.labsdb',
+                          'lbwiki.labsdb', 'lbwikibooks.labsdb',
+                          'lbwikiquote.labsdb', 'lbwiktionary.labsdb',
+                          'lezwiki.labsdb', 'lgwiki.labsdb',
+                          'lijwiki.labsdb', 'liwiki.labsdb',
+                          'liwikibooks.labsdb', 'liwikiquote.labsdb',
+                          'liwikisource.labsdb',
+                          'liwiktionary.labsdb', 'lmowiki.labsdb',
+                          'lnwiki.labsdb', 'lnwikibooks.labsdb',
+                          'lnwiktionary.labsdb', 'loginwiki.labsdb',
+                          'lowiki.labsdb', 'lowiktionary.labsdb',
+                          'ltgwiki.labsdb', 'ltwiki.labsdb',
+                          'ltwikibooks.labsdb', 'ltwikiquote.labsdb',
+                          'ltwikisource.labsdb',
+                          'ltwiktionary.labsdb', 'lvwiki.labsdb',
+                          'lvwikibooks.labsdb', 'lvwiktionary.labsdb',
+                          'map_bmswiki.labsdb', 'mdfwiki.labsdb',
+                          'mediawikiwiki.labsdb', 'mgwiki.labsdb',
+                          'mgwikibooks.labsdb', 'mgwiktionary.labsdb',
+                          'mhrwiki.labsdb', 'mhwiki.labsdb',
+                          'mhwiktionary.labsdb', 'minwiki.labsdb',
+                          'miwiki.labsdb', 'miwikibooks.labsdb',
+                          'miwiktionary.labsdb', 'mkwiki.labsdb',
+                          'mkwikibooks.labsdb', 'mkwikimedia.labsdb',
+                          'mkwikisource.labsdb',
+                          'mkwiktionary.labsdb', 'mlwiki.labsdb',
+                          'mlwikibooks.labsdb', 'mlwikiquote.labsdb',
+                          'mlwikisource.labsdb',
+                          'mlwiktionary.labsdb', 'mnwiki.labsdb',
+                          'mnwikibooks.labsdb', 'mnwiktionary.labsdb',
+                          'mowiki.labsdb', 'mowiktionary.labsdb',
+                          'mrjwiki.labsdb', 'mrwiki.labsdb',
+                          'mrwikibooks.labsdb', 'mrwikiquote.labsdb',
+                          'mrwikisource.labsdb',
+                          'mrwiktionary.labsdb', 'mswiki.labsdb',
+                          'mswikibooks.labsdb', 'mswiktionary.labsdb',
+                          'mtwiki.labsdb', 'mtwiktionary.labsdb',
+                          'muswiki.labsdb', 'mwlwiki.labsdb',
+                          'mxwikimedia.labsdb', 'myvwiki.labsdb',
+                          'mywiki.labsdb', 'mywikibooks.labsdb',
+                          'mywiktionary.labsdb', 'mznwiki.labsdb',
+                          'nahwiki.labsdb', 'nahwikibooks.labsdb',
+                          'nahwiktionary.labsdb', 'napwiki.labsdb',
+                          'nawiki.labsdb', 'nawikibooks.labsdb',
+                          'nawikiquote.labsdb', 'nawiktionary.labsdb',
+                          'nds_nlwiki.labsdb', 'ndswiki.labsdb',
+                          'ndswikibooks.labsdb',
+                          'ndswikiquote.labsdb',
+                          'ndswiktionary.labsdb', 'newiki.labsdb',
+                          'newikibooks.labsdb', 'newiktionary.labsdb',
+                          'newwiki.labsdb', 'ngwiki.labsdb',
+                          'nlwikibooks.labsdb', 'nlwikimedia.labsdb',
+                          'nlwikinews.labsdb', 'nlwikiquote.labsdb',
+                          'nlwikisource.labsdb',
+                          'nlwikivoyage.labsdb',
+                          'nlwiktionary.labsdb', 'nnwiki.labsdb',
+                          'nnwikiquote.labsdb', 'nnwiktionary.labsdb',
+                          'nostalgiawiki.labsdb', 'novwiki.labsdb',
+                          'nowikibooks.labsdb', 'nowikimedia.labsdb',
+                          'nowikinews.labsdb', 'nowikiquote.labsdb',
+                          'nowikisource.labsdb',
+                          'nowiktionary.labsdb', 'nrmwiki.labsdb',
+                          'nsowiki.labsdb', 'nvwiki.labsdb',
+                          'nycwikimedia.labsdb', 'nywiki.labsdb',
+                          'nzwikimedia.labsdb', 'ocwiki.labsdb',
+                          'ocwikibooks.labsdb', 'ocwiktionary.labsdb',
+                          'omwiki.labsdb', 'omwiktionary.labsdb',
+                          'orwiki.labsdb', 'orwiktionary.labsdb',
+                          'oswiki.labsdb', 'outreachwiki.labsdb',
+                          'pa_uswikimedia.labsdb', 'pagwiki.labsdb',
+                          'pamwiki.labsdb', 'papwiki.labsdb',
+                          'pawiki.labsdb', 'pawikibooks.labsdb',
+                          'pawiktionary.labsdb', 'pcdwiki.labsdb',
+                          'pdcwiki.labsdb', 'pflwiki.labsdb',
+                          'pihwiki.labsdb', 'piwiki.labsdb',
+                          'piwiktionary.labsdb', 'plwikibooks.labsdb',
+                          'plwikimedia.labsdb', 'plwikinews.labsdb',
+                          'plwikiquote.labsdb', 'plwikisource.labsdb',
+                          'plwikivoyage.labsdb',
+                          'plwiktionary.labsdb', 'pmswiki.labsdb',
+                          'pnbwiki.labsdb', 'pnbwiktionary.labsdb',
+                          'pntwiki.labsdb', 'pswiki.labsdb',
+                          'pswikibooks.labsdb', 'pswiktionary.labsdb',
+                          'ptwikibooks.labsdb', 'ptwikinews.labsdb',
+                          'ptwikiquote.labsdb', 'ptwikisource.labsdb',
+                          'ptwikiversity.labsdb',
+                          'ptwikivoyage.labsdb',
+                          'ptwiktionary.labsdb', 'qualitywiki.labsdb',
+                          'quwiki.labsdb', 'quwikibooks.labsdb',
+                          'quwikiquote.labsdb', 'quwiktionary.labsdb',
+                          'rmwiki.labsdb', 'rmwikibooks.labsdb',
+                          'rmwiktionary.labsdb', 'rmywiki.labsdb',
+                          'rnwiki.labsdb', 'rnwiktionary.labsdb',
+                          'roa_rupwiki.labsdb',
+                          'roa_rupwiktionary.labsdb',
+                          'roa_tarawiki.labsdb', 'rowikibooks.labsdb',
+                          'rowikinews.labsdb', 'rowikiquote.labsdb',
+                          'rowikisource.labsdb',
+                          'rowikivoyage.labsdb',
+                          'rowiktionary.labsdb', 'rswikimedia.labsdb',
+                          'ruewiki.labsdb', 'ruwikibooks.labsdb',
+                          'ruwikimedia.labsdb', 'ruwikinews.labsdb',
+                          'ruwikiquote.labsdb', 'ruwikisource.labsdb',
+                          'ruwikiversity.labsdb',
+                          'ruwikivoyage.labsdb',
+                          'ruwiktionary.labsdb', 'rwwiki.labsdb',
+                          'rwwiktionary.labsdb', 'sahwiki.labsdb',
+                          'sahwikisource.labsdb', 'sawiki.labsdb',
+                          'sawikibooks.labsdb', 'sawikiquote.labsdb',
+                          'sawikisource.labsdb',
+                          'sawiktionary.labsdb', 'scnwiki.labsdb',
+                          'scnwiktionary.labsdb', 'scowiki.labsdb',
+                          'scwiki.labsdb', 'scwiktionary.labsdb',
+                          'sdwiki.labsdb', 'sdwikinews.labsdb',
+                          'sdwiktionary.labsdb', 'sewiki.labsdb',
+                          'sewikibooks.labsdb', 'sewikimedia.labsdb',
+                          'sgwiki.labsdb', 'sgwiktionary.labsdb',
+                          'shwiki.labsdb', 'shwiktionary.labsdb',
+                          'simplewiki.labsdb',
+                          'simplewikibooks.labsdb',
+                          'simplewikiquote.labsdb',
+                          'simplewiktionary.labsdb', 'siwiki.labsdb',
+                          'siwikibooks.labsdb', 'siwiktionary.labsdb',
+                          'skwiki.labsdb', 'skwikibooks.labsdb',
+                          'skwikiquote.labsdb', 'skwikisource.labsdb',
+                          'skwiktionary.labsdb', 'slwiki.labsdb',
+                          'slwikibooks.labsdb', 'slwikiquote.labsdb',
+                          'slwikisource.labsdb',
+                          'slwikiversity.labsdb',
+                          'slwiktionary.labsdb', 'smwiki.labsdb',
+                          'smwiktionary.labsdb', 'snwiki.labsdb',
+                          'snwiktionary.labsdb', 'sourceswiki.labsdb',
+                          'sowiki.labsdb', 'sowiktionary.labsdb',
+                          'specieswiki.labsdb', 'sqwiki.labsdb',
+                          'sqwikibooks.labsdb', 'sqwikinews.labsdb',
+                          'sqwikiquote.labsdb', 'sqwiktionary.labsdb',
+                          'srnwiki.labsdb', 'srwiki.labsdb',
+                          'srwikibooks.labsdb', 'srwikinews.labsdb',
+                          'srwikiquote.labsdb', 'srwikisource.labsdb',
+                          'srwiktionary.labsdb', 'sswiki.labsdb',
+                          'sswiktionary.labsdb', 'stqwiki.labsdb',
+                          'strategywiki.labsdb', 'stwiki.labsdb',
+                          'stwiktionary.labsdb', 'suwiki.labsdb',
+                          'suwikibooks.labsdb', 'suwikiquote.labsdb',
+                          'suwiktionary.labsdb', 'svwikibooks.labsdb',
+                          'svwikinews.labsdb', 'svwikiquote.labsdb',
+                          'svwikisource.labsdb',
+                          'svwikiversity.labsdb',
+                          'svwikivoyage.labsdb',
+                          'svwiktionary.labsdb', 'swwiki.labsdb',
+                          'swwikibooks.labsdb', 'swwiktionary.labsdb',
+                          'szlwiki.labsdb', 'tawiki.labsdb',
+                          'tawikibooks.labsdb', 'tawikinews.labsdb',
+                          'tawikiquote.labsdb', 'tawikisource.labsdb',
+                          'tawiktionary.labsdb', 'tenwiki.labsdb',
+                          'test2wiki.labsdb', 'testwiki.labsdb',
+                          'testwikidatawiki.labsdb', 'tetwiki.labsdb',
+                          'tewiki.labsdb', 'tewikibooks.labsdb',
+                          'tewikiquote.labsdb', 'tewikisource.labsdb',
+                          'tewiktionary.labsdb', 'tgwiki.labsdb',
+                          'tgwikibooks.labsdb', 'tgwiktionary.labsdb',
+                          'thwikibooks.labsdb', 'thwikinews.labsdb',
+                          'thwikiquote.labsdb', 'thwikisource.labsdb',
+                          'thwiktionary.labsdb', 'tiwiki.labsdb',
+                          'tiwiktionary.labsdb', 'tkwiki.labsdb',
+                          'tkwikibooks.labsdb', 'tkwikiquote.labsdb',
+                          'tkwiktionary.labsdb', 'tlwiki.labsdb',
+                          'tlwikibooks.labsdb', 'tlwiktionary.labsdb',
+                          'tnwiki.labsdb', 'tnwiktionary.labsdb',
+                          'towiki.labsdb', 'towiktionary.labsdb',
+                          'tpiwiki.labsdb', 'tpiwiktionary.labsdb',
+                          'trwikibooks.labsdb', 'trwikimedia.labsdb',
+                          'trwikinews.labsdb', 'trwikiquote.labsdb',
+                          'trwikisource.labsdb',
+                          'trwiktionary.labsdb', 'tswiki.labsdb',
+                          'tswiktionary.labsdb', 'ttwiki.labsdb',
+                          'ttwikibooks.labsdb', 'ttwikiquote.labsdb',
+                          'ttwiktionary.labsdb', 'tumwiki.labsdb',
+                          'twwiki.labsdb', 'twwiktionary.labsdb',
+                          'tyvwiki.labsdb', 'tywiki.labsdb',
+                          'uawikimedia.labsdb', 'udmwiki.labsdb',
+                          'ugwiki.labsdb', 'ugwikibooks.labsdb',
+                          'ugwikiquote.labsdb', 'ugwiktionary.labsdb',
+                          'ukwikibooks.labsdb', 'ukwikimedia.labsdb',
+                          'ukwikinews.labsdb', 'ukwikiquote.labsdb',
+                          'ukwikisource.labsdb',
+                          'ukwikivoyage.labsdb',
+                          'ukwiktionary.labsdb', 'urwiki.labsdb',
+                          'urwikibooks.labsdb', 'urwikiquote.labsdb',
+                          'urwiktionary.labsdb',
+                          'usabilitywiki.labsdb', 'uzwiki.labsdb',
+                          'uzwikibooks.labsdb', 'uzwikiquote.labsdb',
+                          'uzwiktionary.labsdb', 'vecwiki.labsdb',
+                          'vecwikisource.labsdb',
+                          'vecwiktionary.labsdb', 'vepwiki.labsdb',
+                          'vewiki.labsdb', 'vewikimedia.labsdb',
+                          'viwikibooks.labsdb', 'viwikiquote.labsdb',
+                          'viwikisource.labsdb',
+                          'viwikivoyage.labsdb',
+                          'viwiktionary.labsdb', 'vlswiki.labsdb',
+                          'votewiki.labsdb', 'vowiki.labsdb',
+                          'vowikibooks.labsdb', 'vowikiquote.labsdb',
+                          'vowiktionary.labsdb', 'warwiki.labsdb',
+                          'wawiki.labsdb', 'wawikibooks.labsdb',
+                          'wawiktionary.labsdb',
+                          'wikimania2005wiki.labsdb',
+                          'wikimania2006wiki.labsdb',
+                          'wikimania2007wiki.labsdb',
+                          'wikimania2008wiki.labsdb',
+                          'wikimania2009wiki.labsdb',
+                          'wikimania2010wiki.labsdb',
+                          'wikimania2011wiki.labsdb',
+                          'wikimania2012wiki.labsdb',
+                          'wikimania2013wiki.labsdb',
+                          'wikimania2014wiki.labsdb', 'wowiki.labsdb',
+                          'wowikiquote.labsdb', 'wowiktionary.labsdb',
+                          'wuuwiki.labsdb', 'xalwiki.labsdb',
+                          'xhwiki.labsdb', 'xhwikibooks.labsdb',
+                          'xhwiktionary.labsdb', 'xmfwiki.labsdb',
+                          'yiwiki.labsdb', 'yiwikisource.labsdb',
+                          'yiwiktionary.labsdb', 'yowiki.labsdb',
+                          'yowikibooks.labsdb', 'yowiktionary.labsdb',
+                          'zawiki.labsdb', 'zawikibooks.labsdb',
+                          'zawikiquote.labsdb', 'zawiktionary.labsdb',
+                          'zeawiki.labsdb', 'zh_classicalwiki.labsdb',
+                          'zh_min_nanwiki.labsdb',
+                          'zh_min_nanwikibooks.labsdb',
+                          'zh_min_nanwikiquote.labsdb',
+                          'zh_min_nanwikisource.labsdb',
+                          'zh_min_nanwiktionary.labsdb',
+                          'zh_yuewiki.labsdb', 'zhwikibooks.labsdb',
+                          'zhwikinews.labsdb', 'zhwikiquote.labsdb',
+                          'zhwikisource.labsdb',
+                          'zhwiktionary.labsdb', 'zuwiki.labsdb',
+                          'zuwikibooks.labsdb', 'zuwiktionary.labsdb'
+                          ];
+    }
+
+    host { 's4.labsdb':
+        ip => '192.168.99.4',
+        host_aliases => [ 'commonswiki.labsdb' ];
+    }
+
+    host { 's5.labsdb':
+        ip => '192.168.99.5',
+        host_aliases => [ 'dewiki.labsdb', 'wikidatawiki.labsdb' ];
+    }
+
+    host { 's6.labsdb':
+        ip => '192.168.99.6',
+        host_aliases => [ 'frwiki.labsdb', 'jawiki.labsdb',
+                          'ruwiki.labsdb' ];
+    }
+
+    host { 's7.labsdb':
+        ip => '192.168.99.7',
+        host_aliases => [ 'arwiki.labsdb', 'cawiki.labsdb',
+                          'centralauth.labsdb', 'eswiki.labsdb',
+                          'fawiki.labsdb', 'frwiktionary.labsdb',
+                          'hewiki.labsdb', 'huwiki.labsdb',
+                          'kowiki.labsdb', 'metawiki.labsdb',
+                          'rowiki.labsdb', 'ukwiki.labsdb',
+                          'viwiki.labsdb' ];
+    }
+
+    ferm::rule { 'labsdb-client-nat':
+        domain => 'ip',
+        table => 'nat',
+        chain => 'OUTPUT',
+        desc => 'Forward connections to DB aliases to actual LabsDB servers',
+        rule => 'proto tcp dport 3306 {
+            daddr 192.168.99.1/32 DNAT to 10.64.20.12:3306;
+            daddr 192.168.99.2/32 DNAT to 10.64.37.4:3306;
+            daddr 192.168.99.3/32 DNAT to 10.64.37.5:3306;
+            daddr 192.168.99.4/32 DNAT to 10.64.37.4:3307;
+            daddr 192.168.99.5/32 DNAT to 10.64.37.4:3308;
+            daddr 192.168.99.6/32 DNAT to 10.64.37.5:3307;
+            daddr 192.168.99.7/32 DNAT to 10.64.37.5:3308;
+        }';
+    }
+    # FIXME: ferm::rule is a virtual ressource at the moment, so we
+    # must probably realize it ourselves?!
+    realize Ferm::Rule['labsdb-client-nat]'
+}
+
 class role::labsdb::manager {
     package { ["python-mysqldb", "python-yaml"]:
         ensure => present;

-- 
To view, visit https://gerrit.wikimedia.org/r/107010
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ica4e23cfd407348d7553ab5da9eaab088dabc751
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Tim Landscheidt <t...@tim-landscheidt.de>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to