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

Reply via email to