Jcrespo has submitted this change and it was merged.

Change subject: role::maps::master: Import waterlines on init and then weekly
......................................................................


role::maps::master: Import waterlines on init and then weekly

Change-Id: Id2f35738fa2f4b1d6451134e06cf199bce5b69d6
---
M manifests/role/maps.pp
A modules/osm/manifests/import_waterlines.pp
M modules/osm/manifests/init.pp
A modules/osm/templates/import_waterlines.erb
4 files changed, 63 insertions(+), 0 deletions(-)

Approvals:
  Jcrespo: Verified; Looks good to me, approved



diff --git a/manifests/role/maps.pp b/manifests/role/maps.pp
index 139b3c2..b0c0cf4 100644
--- a/manifests/role/maps.pp
+++ b/manifests/role/maps.pp
@@ -5,6 +5,7 @@
     include ::postgresql::master
     include ::postgresql::postgis
     include ::osm
+    include ::osm::import_waterlines
     include ::cassandra
     include ::role::kartotherian
     if $::realm == 'production' {
diff --git a/modules/osm/manifests/import_waterlines.pp 
b/modules/osm/manifests/import_waterlines.pp
new file mode 100644
index 0000000..1302f96
--- /dev/null
+++ b/modules/osm/manifests/import_waterlines.pp
@@ -0,0 +1,38 @@
+# Definition: osm::import_waterlines
+#
+# Sets up waterlines
+# Parameters:
+#    * database - postgres database name
+#    * proxy - web proxy used for downloading shapefiles
+class osm::import_waterlines (
+    $database = 'gis',
+    $proxy = 'webproxy.eqiad.wmnet:8080'
+) {
+    file { '/usr/local/bin/import_waterlines':
+        ensure  => present,
+        owner   => 'root',
+        group   => 'root',
+        mode    => 0555,
+        content => template( 'osm/import_waterlines.erb' ),
+    }
+
+    # Check if database exists
+    $shapeline_exists = "/usr/bin/psql -d ${database} --tuples-only -c 
\'SELECT table_name FROM information_schema.tables;\' | /bin/grep 
\'water_polygons\'"
+
+    exec { 'import_waterlines':
+        command     => '/usr/local/bin/import_waterlines',
+        user        => 'postgres',
+        unless      => $shapeline_exists,
+        refreshonly => true,
+    }
+
+    cron { 'import_waterlines':
+        ensure  => present,
+        hour    => 17,
+        minute  => 0,
+        weekday => 'Tue',
+        user    => 'postgres',
+        command => '/usr/local/bin/import_waterlines',
+        require => [File['/usr/local/bin/import_waterlines'], Class['osm']],
+    }
+}
diff --git a/modules/osm/manifests/init.pp b/modules/osm/manifests/init.pp
index 8512ed1..f4c45c7 100644
--- a/modules/osm/manifests/init.pp
+++ b/modules/osm/manifests/init.pp
@@ -7,4 +7,11 @@
         ]:
         ensure => $ensure,
     }
+
+    file { '/srv/downloads':
+        ensure => 'directory',
+        owner => 'postgres',
+        group => 'postgres',
+        mode => 0755,
+    }
 }
diff --git a/modules/osm/templates/import_waterlines.erb 
b/modules/osm/templates/import_waterlines.erb
new file mode 100644
index 0000000..c19a4db
--- /dev/null
+++ b/modules/osm/templates/import_waterlines.erb
@@ -0,0 +1,17 @@
+#!/bin/bash
+
+set -e
+cd /srv/downloads
+curl -O -x <%= @proxy %> 
http://data.openstreetmapdata.com/water-polygons-split-3857.zip
+unzip water-polygons-split-3857.zip
+rm water-polygons-split-3857.zip
+shp2pgsql -d -s 3857:900913 -g way 
water-polygons-split-3857/water_polygons.shp water_polygons_tmp | psql <%= 
@database %>
+rm -rf water-polygons-split-3857
+
+echo "
+  ALTER TABLE water_polygons_tmp OWNER TO osmimporter;
+
+  BEGIN;
+  DROP TABLE IF EXISTS water_polygons;
+  ALTER TABLE water_polygons_tmp RENAME TO water_polygons;
+  COMMIT;" | psql <%= @database %>

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Id2f35738fa2f4b1d6451134e06cf199bce5b69d6
Gerrit-PatchSet: 5
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: MaxSem <maxsem.w...@gmail.com>
Gerrit-Reviewer: Alexandros Kosiaris <akosia...@wikimedia.org>
Gerrit-Reviewer: Jcrespo <jcre...@wikimedia.org>
Gerrit-Reviewer: MaxSem <maxsem.w...@gmail.com>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to