ArielGlenn has submitted this change and it was merged.

Change subject: puppetize generation of media lists cron job on snapshot hosts
......................................................................


puppetize generation of media lists cron job on snapshot hosts

Change-Id: I8ae60f11eb9768a329bd4e19969b44ec3317bc09
---
M manifests/role/snapshot.pp
A modules/snapshot/manifests/mediaperprojectlists.pp
A modules/snapshot/templates/create-media-per-project-lists.sh.erb
3 files changed, 74 insertions(+), 0 deletions(-)

Approvals:
  ArielGlenn: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/manifests/role/snapshot.pp b/manifests/role/snapshot.pp
index 0c692dd..fa97791 100644
--- a/manifests/role/snapshot.pp
+++ b/manifests/role/snapshot.pp
@@ -28,6 +28,10 @@
         enable => true,
         user   => 'datasets',
     }
+    class { 'snapshot::mediaperprojectlists':
+        enable => true,
+        user   => 'datasets',
+    }
 }
 
 class role::snapshot::cron::secondary {
@@ -51,4 +55,8 @@
         enable => false,
         user   => 'datasets',
     }
+    class { 'snapshot::mediaperprojectlists':
+        enable => false,
+        user   => 'datasets',
+    }
 }
diff --git a/modules/snapshot/manifests/mediaperprojectlists.pp 
b/modules/snapshot/manifests/mediaperprojectlists.pp
new file mode 100644
index 0000000..ba88f1c
--- /dev/null
+++ b/modules/snapshot/manifests/mediaperprojectlists.pp
@@ -0,0 +1,37 @@
+class snapshot::mediaperprojectlists(
+    $enable = true,
+    $user   = undef,
+) {
+    include snapshot::dirs
+
+    if ($enable) {
+        $ensure = 'present'
+    }
+    else {
+        $ensure = 'absent'
+    }
+
+    system::role { 'snapshot::mediaperprojectlists':
+        ensure      => $ensure,
+        description => 'producer of weekly lists of media per project'
+    }
+
+    file { '/usr/local/bin/create-media-per-project-lists.sh':
+        ensure  => 'present',
+        path    => '/usr/local/bin/create-media-per-project-lists.sh',
+        mode    => '0755',
+        owner   => $user,
+        group   => root,
+        content => template('snapshot/create-media-per-project-lists.sh.erb'),
+    }
+
+    cron { 'list-media-per-project':
+        ensure      => $ensure,
+        environment => '[email protected]',
+        user        => $user,
+        command     => '/usr/local/bin/create-media-per-project-lists.sh',
+        minute      => '10',
+        hour        => '11',
+        weekday     => '7',
+    }
+}
diff --git a/modules/snapshot/templates/create-media-per-project-lists.sh.erb 
b/modules/snapshot/templates/create-media-per-project-lists.sh.erb
new file mode 100755
index 0000000..c7ae8ed
--- /dev/null
+++ b/modules/snapshot/templates/create-media-per-project-lists.sh.erb
@@ -0,0 +1,29 @@
+#!/bin/bash
+
+#############################################################
+# This file is maintained by puppet!
+# puppet:///modules/snapshot/create-media-per-project-lists.sh.erb
+#############################################################
+
+DATE=`/bin/date '+%Y%m%d'`
+outputdir="<%= scope.lookupvar('snapshot::dirs::datadir') 
-%>/public/other/imageinfo/$DATE"
+wqdir="<%= scope.lookupvar('snapshot::dirs::wikiqueriesdir') %>"
+errors=0
+
+python "$wqdir/listmediaperproject.py" --outputdir "$outputdir" \
+       --remotereponame commonswiki --wqpath "$wqdir/confs/wikiqueries.py" \
+       --wqconfig "$wqdir/wq.conf.media" --nooverwrite --localonly
+if [ $? -ne 0 ]; then
+    echo "failed sql dump of image tables"
+    errors=1
+fi
+
+python "$wqdir/listmediaperproject.py" --outputdir "$outputdir" \
+       --remotereponame commonswiki --wqpath "$wqdir/confs/wikiqueries.py" \
+       --wqconfig "$wqdir/wq.conf.media" --nooverwrite --remoteonly
+if [ $? -ne 0 ]; then
+    echo "failed sql dump of globalimagelink tables"
+    errors=1
+fi
+
+exit $errors

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I8ae60f11eb9768a329bd4e19969b44ec3317bc09
Gerrit-PatchSet: 2
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: ArielGlenn <[email protected]>
Gerrit-Reviewer: ArielGlenn <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to