From b48d93e7fb488da12eaac4b747d0cb9b41a72328 Mon Sep 17 00:00:00 2001 From: Tom Hughes Date: Tue, 16 Jul 2013 09:20:13 +0100 Subject: [PATCH] Manage generation of users_agreed and users_disagreed --- .../default/replication-bin/users-agreed | 27 +++++++++++++++++++ cookbooks/planet/recipes/replication.rb | 8 ++++++ .../templates/default/replication.cron.erb | 1 + .../templates/default/users-agreed.conf.erb | 3 +++ 4 files changed, 39 insertions(+) create mode 100644 cookbooks/planet/files/default/replication-bin/users-agreed create mode 100644 cookbooks/planet/templates/default/users-agreed.conf.erb diff --git a/cookbooks/planet/files/default/replication-bin/users-agreed b/cookbooks/planet/files/default/replication-bin/users-agreed new file mode 100644 index 000000000..1aa0c1b6e --- /dev/null +++ b/cookbooks/planet/files/default/replication-bin/users-agreed @@ -0,0 +1,27 @@ +#!/bin/sh + +# DO NOT EDIT - This file is being maintained by Chef + +T=$(mktemp -d -t -p /var/tmp users.XXXXXXXXXX) + +export PGPASSFILE=/etc/replication/users-agreed.conf + +echo "# user IDs < 286582 who have agreed to the contributor terms. " > $T/users_agreed +echo "# any active user IDs >= 286582 would have agreed as part of the sign-up process." >> $T/users_agreed +psql -h db -U planetdiff -t -c "select id from users where id < 286582 and terms_agreed is not null order by id asc" openstreetmap >> $T/users_agreed + +psql -h db -U planetdiff -t -c "select id from users where terms_seen and terms_agreed is null order by id asc" openstreetmap > $T/users_disagreed + +if cmp -s "${T}/users_agreed" "/store/planet/users_agreed/users_agreed.txt"; then + : # do nothing +else + cp $T/users_agreed /store/planet/users_agreed/users_agreed.txt +fi + +if cmp -s "${T}/users_disagreed" "/store/planet/users_agreed/users_disagreed.txt"; then + : # do nothing +else + cp $T/users_disagreed /store/planet/users_agreed/users_disagreed.txt +fi + +rm -rf $T diff --git a/cookbooks/planet/recipes/replication.rb b/cookbooks/planet/recipes/replication.rb index c2055e4eb..28ca79a33 100644 --- a/cookbooks/planet/recipes/replication.rb +++ b/cookbooks/planet/recipes/replication.rb @@ -94,6 +94,14 @@ template "/etc/replication/changesets.conf" do variables :password => db_passwords["planetdiff"] end +template "/etc/replication/users-agreed.conf" do + source "users-agreed.conf.erb" + user "root" + group "planet" + mode 0640 + variables :password => db_passwords["planetdiff"] +end + directory "/var/lib/replication" do owner "planet" group "planet" diff --git a/cookbooks/planet/templates/default/replication.cron.erb b/cookbooks/planet/templates/default/replication.cron.erb index cb019c0fb..439de3983 100644 --- a/cookbooks/planet/templates/default/replication.cron.erb +++ b/cookbooks/planet/templates/default/replication.cron.erb @@ -10,4 +10,5 @@ MAILTO=brett@bretth.com MAILTO=zerebubuth@gmail.com +0 7 * * * planet /usr/local/bin/users-agreed * * * * * planet /usr/local/bin/replicate-changesets /etc/replication/changesets.conf diff --git a/cookbooks/planet/templates/default/users-agreed.conf.erb b/cookbooks/planet/templates/default/users-agreed.conf.erb new file mode 100644 index 000000000..c6dd2fffa --- /dev/null +++ b/cookbooks/planet/templates/default/users-agreed.conf.erb @@ -0,0 +1,3 @@ +# DO NOT EDIT - This file is being maintained by Chef + +db:5432:openstreetmap:planetdiff:<%= @password %> -- 2.43.2