BBlack has submitted this change and it was merged.
Change subject: netmapper data sync stuff
......................................................................
netmapper data sync stuff
Change-Id: I1e95f9a348d2f7441963d0401a760b4f9e13ff5e
---
M manifests/role/cache.pp
A modules/varnish/files/netmapper_update.sh
A modules/varnish/manifests/netmapper_update.pp
3 files changed, 87 insertions(+), 0 deletions(-)
Approvals:
BBlack: Looks good to me, approved
jenkins-bot: Verified
diff --git a/manifests/role/cache.pp b/manifests/role/cache.pp
index f503e50..38b632a 100644
--- a/manifests/role/cache.pp
+++ b/manifests/role/cache.pp
@@ -955,6 +955,10 @@
include varnish::monitoring::ganglia::vhtcpd
+ varnish::netmapper_update {
+ 'zero.json': url =>
'http://meta.wikimedia.org/w/api.php?action=zeroconfig';
+ }
+
varnish::instance { "mobile-backend":
name => "",
vcl => "mobile-backend",
diff --git a/modules/varnish/files/netmapper_update.sh
b/modules/varnish/files/netmapper_update.sh
new file mode 100644
index 0000000..e310c24
--- /dev/null
+++ b/modules/varnish/files/netmapper_update.sh
@@ -0,0 +1,38 @@
+#!/bin/bash
+set -e
+set -o pipefail
+umask 022
+
+if [ $# -ne 2 ]; then
+ echo "Usage: $0 <filename> <URL>"
+ exit 99
+fi
+
+FN=$1
+URL=$2
+
+BASE_D='/var/netmapper'
+TEMP_D=`/bin/mktemp -dp "${BASE_D}"`
+TEMP_FN="${TEMP_D}/${FN}"
+FN_ABS="${BASE_D}/${FN}"
+
+function cleanup {
+ rm -f "$TEMP_FN"
+ rmdir "$TEMP_D"
+}
+trap cleanup EXIT
+
+wget -q --timeout 47 -O "$TEMP_FN" "$URL"
+
+# XXX After software is deployed:
+# /usr/bin/vnm_validate $TEMP_FN
+
+OLD_MD5=0
+NEW_MD5=`md5sum "$TEMP_FN" | cut -b 1-32`
+if [ -f "$FN_ABS" ]; then
+ OLD_MD5=`md5sum "$FN_ABS" | cut -b 1-32`
+fi
+
+if [ $OLD_MD5 != $NEW_MD5 ]; then
+ mv -f "$TEMP_FN" "$FN_ABS"
+fi
diff --git a/modules/varnish/manifests/netmapper_update.pp
b/modules/varnish/manifests/netmapper_update.pp
new file mode 100644
index 0000000..75965e9
--- /dev/null
+++ b/modules/varnish/manifests/netmapper_update.pp
@@ -0,0 +1,45 @@
+class varnish::netmapper_update_common {
+ group { 'netmap': ensure => present; }
+
+ user { 'netmap':
+ home => '/var/netmapper',
+ gid => 'netmap',
+ system => true,
+ managehome => false,
+ shell => '/bin/false',
+ require => Group['netmap'];
+ }
+
+ file { '/var/netmapper':
+ ensure => directory,
+ owner => 'netmap',
+ group => 'netmap',
+ require => User['netmap'],
+ mode => '0755';
+ }
+
+ file { '/usr/share/varnish/netmapper_update.sh':
+ source => "puppet:///modules/${module_name}/netmapper_update.sh",
+ mode => '0555';
+ }
+}
+
+define varnish::netmapper_update($url, $hour = '*', $minute = '*/10') {
+ require 'varnish::netmapper_update_common'
+
+ $cmd = "/usr/share/varnish/netmapper_update.sh \"${name}\" \"${url}\""
+
+ exec { "netmapper_update_${name}_initial":
+ user => 'netmap',
+ command => $cmd,
+ creates => "/var/netmapper/${name}",
+ before => Class[varnish::instance];
+ }
+
+ cron { "netmapper_update_${name}":
+ user => 'netmap',
+ command => $cmd,
+ hour => $hour,
+ minute => $minute;
+ }
+}
--
To view, visit https://gerrit.wikimedia.org/r/85120
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I1e95f9a348d2f7441963d0401a760b4f9e13ff5e
Gerrit-PatchSet: 4
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: BBlack <[email protected]>
Gerrit-Reviewer: BBlack <[email protected]>
Gerrit-Reviewer: jenkins-bot
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits