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 <[email protected]>
Gerrit-Reviewer: Alexandros Kosiaris <[email protected]>
Gerrit-Reviewer: Jcrespo <[email protected]>
Gerrit-Reviewer: MaxSem <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits