BBlack has uploaded a new change for review.
https://gerrit.wikimedia.org/r/85120
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, 88 insertions(+), 0 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/operations/puppet
refs/changes/20/85120/1
diff --git a/manifests/role/cache.pp b/manifests/role/cache.pp
index f503e50..a9c3adf 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..5efeb1a
--- /dev/null
+++ b/modules/varnish/manifests/netmapper_update.pp
@@ -0,0 +1,46 @@
+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":
+ owner => "netmap",
+ group => "netmap",
+ ensure => directory,
+ 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: newchange
Gerrit-Change-Id: I1e95f9a348d2f7441963d0401a760b4f9e13ff5e
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: BBlack <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits