Giuseppe Lavagetto has uploaded a new change for review.

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

Change subject: deployment: make scap proxies configured in one place
......................................................................

deployment: make scap proxies configured in one place

* moved misc::deployment::scap_proxy to deployment::scap_proxy
* made dsh/group/scap-proxies configurable via a class variable
* use the same variable in mediawiki::common to determine if the server
  is a scap proxy

This way we can finally change things in one place only.

Change-Id: I22dd6d44a4574f679451a606fab7750e7345bb6c
Signed-off-by: Giuseppe Lavagetto <glavage...@wikimedia.org>
---
M hieradata/eqiad.yaml
M manifests/role/mediawiki.pp
M manifests/site.pp
A modules/deployment/manifests/scap_proxy.pp
D modules/dsh/files/group/scap-proxies
M modules/dsh/manifests/config.pp
A modules/dsh/templates/scap-proxies.erb
M modules/varnishkafka
8 files changed, 39 insertions(+), 26 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/64/174664/1

diff --git a/hieradata/eqiad.yaml b/hieradata/eqiad.yaml
index ddbdd9a..21d16f6 100644
--- a/hieradata/eqiad.yaml
+++ b/hieradata/eqiad.yaml
@@ -1,3 +1,11 @@
+# Scap proxy list
+#
+dsh::config::scap_proxies:
+  - "mw1010.eqiad.wmnet"
+  - "mw1070.eqiad.wmnet"
+  - "mw1161.eqiad.wmnet"
+  - "mw1201.eqiad.wmnet"
+
 mediawiki_memcached_servers:
   - '10.64.0.180:11211:1'
   - '10.64.0.181:11211:1'
diff --git a/manifests/role/mediawiki.pp b/manifests/role/mediawiki.pp
index dfa2632..b5b7b87 100644
--- a/manifests/role/mediawiki.pp
+++ b/manifests/role/mediawiki.pp
@@ -33,6 +33,11 @@
         check_command         => 'check_dsh_groups!mediawiki-installation',
         normal_check_interval => 60,
     }
+
+    $scap_proxies = hiera('dsh::config::scap_proxies',[])
+    if member($scap_proxies, $::fqdn) {
+        include deployment::scap_proxy
+    }
 }
 
 class role::mediawiki::webserver( $pool, $workers_limit = undef, 
$additional_pool = undef ) {
@@ -136,4 +141,3 @@
     }
 
 }
-
diff --git a/manifests/site.pp b/manifests/site.pp
index 298162a..b7bbb55 100644
--- a/manifests/site.pp
+++ b/manifests/site.pp
@@ -1966,10 +1966,6 @@
         $ganglia_aggregator = true
     }
 
-    if $::hostname == 'mw1010' {
-        include misc::deployment::scap_proxy
-    }
-
     include role::mediawiki::jobrunner
 }
 
@@ -1982,10 +1978,6 @@
 
     if $::hostname =~ /^mw10(1[78]|5[45])$/ {
         $ganglia_aggregator = true
-    }
-
-    if $::hostname == 'mw1070' {
-        include misc::deployment::scap_proxy
     }
 
     include role::mediawiki::appserver
@@ -2029,10 +2021,6 @@
 
     class {'::admin': groups => ['deployment']}
 
-    if $::hostname == 'mw1161' {
-        include misc::deployment::scap_proxy
-    }
-
     include role::mediawiki::appserver
 }
 
@@ -2041,10 +2029,6 @@
 
     class {'::admin': groups => ['deployment']}
     $cluster = 'api_appserver'
-    if $::hostname == 'mw1201' {
-        include misc::deployment::scap_proxy
-    }
-
     include role::mediawiki::appserver::api
 }
 
diff --git a/modules/deployment/manifests/scap_proxy.pp 
b/modules/deployment/manifests/scap_proxy.pp
new file mode 100644
index 0000000..2bd59bb
--- /dev/null
+++ b/modules/deployment/manifests/scap_proxy.pp
@@ -0,0 +1,13 @@
+# === Class deployment::scap_proxy
+#
+# Sets up a scap proxy server.
+class deployment::scap_proxy {
+    include rsync::server
+    include network::constants
+
+    rsync::server::module { 'common':
+        path        => '/srv/mediawiki',
+        read_only   => 'true',
+        hosts_allow => $::network::constants::mw_appserver_networks;
+    }
+}
diff --git a/modules/dsh/files/group/scap-proxies 
b/modules/dsh/files/group/scap-proxies
deleted file mode 100644
index 7dd383c..0000000
--- a/modules/dsh/files/group/scap-proxies
+++ /dev/null
@@ -1,8 +0,0 @@
-# eqiad row A
-mw1010.eqiad.wmnet
-# eqiad row B
-mw1070.eqiad.wmnet
-# eqiad row C
-mw1161.eqiad.wmnet
-# eqiad row D
-mw1201.eqiad.wmnet
diff --git a/modules/dsh/manifests/config.pp b/modules/dsh/manifests/config.pp
index 4498801..b9e1ed2 100644
--- a/modules/dsh/manifests/config.pp
+++ b/modules/dsh/manifests/config.pp
@@ -2,7 +2,7 @@
 #
 # Sets up dsh config files alone, without actually
 # setting up dsh. Useful primarily for monitoring
-class dsh::config {
+class dsh::config ($scap_proxies = []){
     file { '/etc/dsh':
         ensure => directory,
         owner  => 'root',
@@ -16,6 +16,14 @@
         source  => 'puppet:///modules/dsh/group',
         recurse => true,
     }
+
+    file { '/etc/dsh/group/scap-proxies':
+        content => template('dsh/scap-proxies.erb'),
+        owner   => 'root',
+        group   => 'root',
+        mode    => '0444',
+    }
+
     file { '/etc/dsh/dsh.conf':
         owner  => 'root',
         group  => 'root',
diff --git a/modules/dsh/templates/scap-proxies.erb 
b/modules/dsh/templates/scap-proxies.erb
new file mode 100644
index 0000000..a491629
--- /dev/null
+++ b/modules/dsh/templates/scap-proxies.erb
@@ -0,0 +1,4 @@
+# Scap proxies should typically be one for row where appservers are located.
+<% @scap_proxies.each do |k| -%>
+<%= k %>
+<% end -%>
diff --git a/modules/varnishkafka b/modules/varnishkafka
index f46966c..be96849 160000
--- a/modules/varnishkafka
+++ b/modules/varnishkafka
-Subproject commit f46966cd07ffd881877a72ab60c337238e68b071
+Subproject commit be96849c8d6d95d83de8a0d14a5b04f4573a89a6

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I22dd6d44a4574f679451a606fab7750e7345bb6c
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Giuseppe Lavagetto <glavage...@wikimedia.org>

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

Reply via email to