Dzahn has submitted this change and it was merged.

Change subject: (bug 15434) Periodical run of currently disabled special pages
......................................................................


(bug 15434) Periodical run of currently disabled special pages

Stole mutante's refreshlinks class used for bug 16112.
The idea would be to update only one page per cluster at a time, two times per 
year.

* 1 UTC: servers less busy; doesn't overlap with any deployment window but is 
not too far from time used for some. 
https://wikitech.wikimedia.org/view/Deployments
* Same cluster/monthday syntax as per refreshlink, +10 days to avoid overlap.
* Each query page has its defined months.
** List from $wgDisableQueryPageUpdate, restored CamelCase in case 
updateSpecialPages.php cares.
** We're lucky because the disabled pages are 6 globally and 12 for en.wiki 
(since years ago).
** The 6 pages disabled only on en.wiki are left behind for now.

Ideally, I guess we should use Tuesday and Thursday of each week in each month.
s1 in the first Tue, s2 in the first Thu, s3 in the second Tue etc.
This way it would always be in worktime and never same day as MW bi-weekly 
deploy.
I've no idea how to do it, though. 
http://docs.puppetlabs.com/references/latest/type.html#cron

Change-Id: Ia5bd4c90f8be3d047f0752536170783eb6817072
---
M manifests/misc/maintenance.pp
M manifests/site.pp
2 files changed, 60 insertions(+), 0 deletions(-)

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



diff --git a/manifests/misc/maintenance.pp b/manifests/misc/maintenance.pp
index c8ec58d..7fce450 100644
--- a/manifests/misc/maintenance.pp
+++ b/manifests/misc/maintenance.pp
@@ -393,3 +393,61 @@
        }
 
 }
+
+class misc::maintenance::updatequerypages {
+        # Include this to add cron jobs calling updateSpecialPages.php on all 
clusters.
+
+        file { '/home/mwdeploy/updateSpecialPages':
+                ensure => directory,
+                owner => mwdeploy,
+                group => mwdeploy,
+                mode => 0664,
+        }
+
+        define updatequerypages::cronjob() {
+
+                $cluster = regsubst($name, '@.*', '\1')
+                $monthday = regsubst($name, '.*@', '\1')
+
+                Cron {
+                        user => mwdeploy,
+                        hour => 1,
+                        minute => 0,
+                        monthday => $monthday,
+                        ensure => present,
+                }
+
+                cron { "cron-updatequerypages-ancientpages-${name}":
+                        command => "/usr/local/bin/mwscriptwikiset 
updateSpecialPages.php ${cluster}.dblist --override --only=AncientPages > 
/home/mwdeploy/updateSpecialPages/${name}-AncientPages.log 2>&1",
+                        month => [1, 7]
+                }
+
+                cron { "cron-updatequerypages-deadendpages-${name}":
+                        command => "/usr/local/bin/mwscriptwikiset 
updateSpecialPages.php ${cluster}.dblist --override --only=DeadendPages > 
/home/mwdeploy/updateSpecialPages/${name}-DeadendPages.log 2>&1",
+                        month => [2, 8]
+                }
+
+                cron { "cron-updatequerypages-mostlinked-${name}":
+                        command => "/usr/local/bin/mwscriptwikiset 
updateSpecialPages.php ${cluster}.dblist --override --only=MostLinked > 
/home/mwdeploy/updateSpecialPages/${name}-MostLinked.log 2>&1",
+                        month => [3, 9]
+                }
+
+                cron { "cron-updatequerypages-mostrevisions-${name}":
+                        command => "/usr/local/bin/mwscriptwikiset 
updateSpecialPages.php ${cluster}.dblist --override --only=MostRevisions > 
/home/mwdeploy/updateSpecialPages/${name}-MostRevisions.log 2>&1",
+                        month => [4, 10]
+                }
+
+                cron { "cron-updatequerypages-wantedpages-${name}":
+                        command => "/usr/local/bin/mwscriptwikiset 
updateSpecialPages.php ${cluster}.dblist --override --only=WantedPages > 
/home/mwdeploy/updateSpecialPages/${name}-WantedPages.log 2>&1",
+                        month => [5, 11]
+                }
+
+                cron { "cron-updatequerypages-fewestrevisions-${name}":
+                        command => "/usr/local/bin/mwscriptwikiset 
updateSpecialPages.php ${cluster}.dblist --override --only=FewestRevisions > 
/home/mwdeploy/updateSpecialPages/${name}-FewestRevisions.log 2>&1",
+                        month => [6, 12]
+                }
+        }
+
+        # add cron jobs - usage: <cluster>@<day of month>
+        updatequerypages::cronjob { ['s1@11', 's2@12', 's3@13', 's4@14', 
's5@15', 's6@16', 's7@17']: }
+}
diff --git a/manifests/site.pp b/manifests/site.pp
index 02e91d0..ac3c45b 100644
--- a/manifests/site.pp
+++ b/manifests/site.pp
@@ -1173,6 +1173,8 @@
         admins::restricted,
         nrpe
 
+       # To be run against PMTPA slaves
+       class { misc::maintenance::updatequerypages: enabled => true }
 
     # These cron jobs were left behind for some reason:
 

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Ia5bd4c90f8be3d047f0752536170783eb6817072
Gerrit-PatchSet: 11
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Nemo bis <[email protected]>
Gerrit-Reviewer: Andrew Bogott <[email protected]>
Gerrit-Reviewer: ArielGlenn <[email protected]>
Gerrit-Reviewer: Asher <[email protected]>
Gerrit-Reviewer: Dzahn <[email protected]>
Gerrit-Reviewer: MZMcBride <[email protected]>
Gerrit-Reviewer: Nemo bis <[email protected]>
Gerrit-Reviewer: Pyoungmeister <[email protected]>
Gerrit-Reviewer: Reedy <[email protected]>
Gerrit-Reviewer: Tim Starling <[email protected]>
Gerrit-Reviewer: jenkins-bot

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

Reply via email to