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