MaxSem has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/60879


Change subject: Restore the ability to use misc::maintenance classes without 
parameters
......................................................................

Restore the ability to use misc::maintenance classes without parameters

Broken by https://gerrit.wikimedia.org/r/#/c/55155/
Needed by labs

Change-Id: Ifee40ef68e9e43e3161c03ef86e6044f5a611ff5
---
M manifests/misc/maintenance.pp
1 file changed, 90 insertions(+), 110 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/79/60879/1

diff --git a/manifests/misc/maintenance.pp b/manifests/misc/maintenance.pp
index 712dba3..0dc59eb 100644
--- a/manifests/misc/maintenance.pp
+++ b/manifests/misc/maintenance.pp
@@ -2,34 +2,37 @@
 
 # mw maintenance/batch hosts
 
-class misc::maintenance::foundationwiki( $enabled = inline_template("<%= 
$::site == $::primary_site  %>") ) {
-
-       system_role { "misc::maintenance::foundationwiki": description => "Misc 
- Maintenance Server: foundationwiki" }
-
-       cron { 'updatedays':
-               user => apache,
-               minute => '*/15',
-               command => '/usr/local/bin/mwscript 
extensions/ContributionReporting/PopulateFundraisingStatistics.php 
foundationwiki --op updatedays > 
/tmp/PopulateFundraisingStatistics-updatedays.log',
-               ensure => $enabled ?{
-                       true => present,
-                       false => absent,
-                       default => absent
-               };
-       }
-
-       cron { 'populatefundraisers':
-               user => apache,
-               minute => 5,
-               command => '/usr/local/bin/mwscript 
extensions/ContributionReporting/PopulateFundraisingStatistics.php 
foundationwiki --op populatefundraisers > 
/tmp/PopulateFundraisingStatistics-populatefundraisers.log',
-               ensure => $enabled ?{
-                       true => present,
-                       false => absent,
-                       default => absent
-               };
+class misc::maintenance {
+       $default_ensure = $::mw_primary ? {
+               $::site => present,
+               default => absent
        }
 }
 
-class misc::maintenance::refreshlinks( $enabled = inline_template("<%= $::site 
== $::primary_site  %>") ) {
+class misc::maintenance::foundationwiki( $enabled = undef ) {
+
+       system_role { "misc::maintenance::foundationwiki": description => "Misc 
- Maintenance Server: foundationwiki" }
+
+       $ensure = $enabled ? {
+               true => present,
+               false => absent,
+               default => $misc::maintenance::default_ensure
+       }
+       cron {
+               'updatedays':
+                       user => apache,
+                       minute => '*/15',
+                       command => '/usr/local/bin/mwscript 
extensions/ContributionReporting/PopulateFundraisingStatistics.php 
foundationwiki --op updatedays > 
/tmp/PopulateFundraisingStatistics-updatedays.log',
+                       ensure => $ensure;
+               'populatefundraisers':
+                       user => apache,
+                       minute => 5,
+                       command => '/usr/local/bin/mwscript 
extensions/ContributionReporting/PopulateFundraisingStatistics.php 
foundationwiki --op populatefundraisers > 
/tmp/PopulateFundraisingStatistics-populatefundraisers.log',
+                       ensure => $ensure;
+       }
+}
+
+class misc::maintenance::refreshlinks( $enabled = undef ) {
 
        require mediawiki
 
@@ -56,7 +59,7 @@
                        ensure => $cronenabled ?{
                                true => present,
                                false => absent,
-                               default => absent
+                               default => $misc::maintenance::default_ensure
                        };
                }
        }
@@ -65,39 +68,41 @@
        cronjob { ['s2@2', 's3@3', 's4@4', 's5@5', 's6@6', 's7@7']: }
 }
 
-class misc::maintenance::pagetriage( $enabled = inline_template("<%= $::site 
== $::primary_site  %>") ) {
+class misc::maintenance::pagetriage( $enabled = undef ) {
 
        system_role { "misc::maintenance::pagetriage": description => "Misc - 
Maintenance Server: pagetriage extension" }
 
-       cron { 'pagetriage_cleanup_en':
-               user => apache,
-               minute => 55,
-               hour => 20,
-               monthday => '*/2',
-               command => '/usr/local/bin/mwscript 
extensions/PageTriage/cron/updatePageTriageQueue.php enwiki > 
/tmp/updatePageTriageQueue.en.log',
-               ensure => $enabled ?{
-                       true => present,
-                       false => absent,
-                       default => absent
-               };
+       $ensure = $enabled ?{
+               true => present,
+               false => absent,
+               default => $misc::maintenance::default_ensure
        }
 
-       cron { 'pagetriage_cleanup_testwiki':
-               user => apache,
-               minute => 55,
-               hour => 14,
-               monthday => '*/2',
-               command => '/usr/local/bin/mwscript 
extensions/PageTriage/cron/updatePageTriageQueue.php testwiki > 
/tmp/updatePageTriageQueue.test.log',
-               ensure => $enabled ?{
-                       true => present,
-                       false => absent,
-                       default => absent
-               };
+       cron {
+               'pagetriage_cleanup_en':
+                       user => apache,
+                       minute => 55,
+                       hour => 20,
+                       monthday => '*/2',
+                       command => '/usr/local/bin/mwscript 
extensions/PageTriage/cron/updatePageTriageQueue.php enwiki > 
/tmp/updatePageTriageQueue.en.log',
+               'pagetriage_cleanup_testwiki':
+                       user => apache,
+                       minute => 55,
+                       hour => 14,
+                       monthday => '*/2',
+                       command => '/usr/local/bin/mwscript 
extensions/PageTriage/cron/updatePageTriageQueue.php testwiki > 
/tmp/updatePageTriageQueue.test.log',
+                       ensure => $ensure;
        }
 }
 
-class misc::maintenance::translationnotifications( $enabled = 
inline_template("<%= $::site == $::primary_site  %>") ) {
+class misc::maintenance::translationnotifications( $enabled = undef ) {
        require misc::deployment::scripts
+
+       $ensure = $enabled ?{
+               true => present,
+               false => absent,
+               default => $misc::maintenance::default_ensure
+       }
 
        # Should there be crontab entry for each wiki,
        # or just one which runs the scripts which iterates over
@@ -109,23 +114,14 @@
                        weekday => 1, # Monday
                        hour => 10,
                        minute => 0,
-                       ensure => $enabled ?{
-                               true => present,
-                               false => absent,
-                               default => absent
-                       };
-
+                       ensure => $ensure;
                translationnotifications-mediawikiwiki:
                        command => "/usr/local/bin/mwscript 
extensions/TranslationNotifications/scripts/DigestEmailer.php --wiki 
mediawikiwiki 2>&1 >> /var/log/translationnotifications/digests.log",
                        user => l10nupdate, # which user?
                        weekday => 1, # Monday
                        hour => 10,
                        minute => 5,
-                       ensure => $enabled ?{
-                               true => present,
-                               false => absent,
-                               default => absent
-                       };
+                       ensure => $ensure;
        }
 
        file {
@@ -140,7 +136,7 @@
        }
 }
 
-class misc::maintenance::tor_exit_node( $enabled = inline_template("<%= 
$::site == $::primary_site  %>") ) {
+class misc::maintenance::tor_exit_node( $enabled = undef ) {
        cron {
                tor_exit_node_update:
                        command => "php 
/usr/local/apache/common/multiversion/MWScript.php 
extensions/TorBlock/loadExitNodes.php aawiki --force > /dev/null",
@@ -149,12 +145,12 @@
                        ensure => $enabled ?{
                                true => present,
                                false => absent,
-                               default => absent
+                               default => $misc::maintenance::default_ensure
                        };
        }
 }
 
-class misc::maintenance::echo_mail_batch( $enabled = inline_template("<%= 
$::site == $::primary_site  %>") ) {
+class misc::maintenance::echo_mail_batch( $enabled = undef ) {
        cron {
                echo_mail_batch:
                        command => "/usr/local/bin/foreachwikiindblist 
/usr/local/apache/common/echowikis.dblist 
extensions/Echo/processEchoEmailBatch.php",
@@ -164,12 +160,12 @@
                        ensure => $enabled ?{
                                true => present,
                                false => absent,
-                               default => absent
+                               default => $misc::maintenance::default_ensure
                        };
        }
 }
 
-class misc::maintenance::update_flaggedrev_stats( $enabled = 
inline_template("<%= $::site == $::primary_site  %>") ) {
+class misc::maintenance::update_flaggedrev_stats( $enabled = undef ) {
        file {
                
"/usr/local/apache/common/php/extensions/FlaggedRevs/maintenance/wikimedia-periodic-update.sh":
                        source => 
"puppet:///files/misc/scripts/wikimedia-periodic-update.sh",
@@ -188,12 +184,12 @@
                        ensure => $enabled ?{
                                true => present,
                                false => absent,
-                               default => absent
+                               default => $misc::maintenance::default_ensure
                        };
        }
 }
 
-class misc::maintenance::cleanup_upload_stash( $enabled = inline_template("<%= 
$::site == $::primary_site  %>") ) {
+class misc::maintenance::cleanup_upload_stash( $enabled = undef ) {
        cron {
                cleanup_upload_stash:
                        command => "/usr/local/bin/foreachwiki 
maintenance/cleanupUploadStash.php > /dev/null",
@@ -203,12 +199,12 @@
                        ensure => $enabled ?{
                                true => present,
                                false => absent,
-                               default => absent
+                               default => $misc::maintenance::default_ensure
                        };
        }
 }
 
-class misc::maintenance::update_special_pages( $enabled = inline_template("<%= 
$::site == $::primary_site  %>") ) {
+class misc::maintenance::update_special_pages( $enabled = undef ) {
        cron {
                update_special_pages:
                        command => "flock -n /var/lock/update-special-pages 
/usr/local/bin/update-special-pages > 
/home/wikipedia/logs/norotate/updateSpecialPages.log 2>&1",
@@ -219,7 +215,7 @@
                        ensure => $enabled ?{
                                true => present,
                                false => absent,
-                               default => absent
+                               default => $misc::maintenance::default_ensure
                        };
                update_special_pages_small:
                        ensure => absent;
@@ -237,51 +233,37 @@
        }
 }
 
-class misc::maintenance::wikidata( $enabled = inline_template("<%= $::site == 
$::primary_site  %>") ) {
+class misc::maintenance::wikidata( $enabled = undef ) {
+       $ensure = $enabled ?{
+               true => present,
+               false => absent,
+               default => $misc::maintenance::default_ensure
+       }
+
        cron {
                wikibase-repo-prune:
                        command => "/usr/local/bin/mwscript 
extensions/Wikibase/repo/maintenance/pruneChanges.php --wiki wikidatawiki 
--number-of-days=3 2>&1 >> /var/log/wikidata/prune.log",
                        user => mwdeploy,
                        minute => [0,15,30,45],
-                       ensure => $enabled ?{
-                               true => present,
-                               false => absent,
-                               default => absent
-                       };
-       }
+                       ensure => $ensure;
 
-       # Run the dispatcher script every 5 minutes
-       # This handles inserting jobs into client job queue, which then process 
the changes
-       cron {
+               # Run the dispatcher script every 5 minutes
+               # This handles inserting jobs into client job queue, which then 
process the changes
                wikibase-dispatch-changes:
                        command => "/usr/local/bin/mwscript 
extensions/Wikibase/lib/maintenance/dispatchChanges.php --wiki wikidatawiki 
--max-time 900 --batch-size 200 --dispatch-interval 30 2>&1 >> 
/var/log/wikidata/dispatcher.log",
                        user => mwdeploy,
                        minute => "*/5",
-                       ensure => $enabled ?{
-                               true => present,
-                               false => absent,
-                               default => absent
-                       };
-       }
+                       ensure => $ensure;
 
-    cron {
         wikibase-dispatch-changes2:
                        command => "/usr/local/bin/mwscript 
extensions/Wikibase/lib/maintenance/dispatchChanges.php --wiki wikidatawiki 
--max-time 900 --batch-size 200 --dispatch-interval 30 2>&1 >> 
/var/log/wikidata/dispatcher2.log",
                        user => mwdeploy,
                        minute => "*/5",
-                       ensure => $enabled ?{
-                               true => present,
-                               false => absent,
-                               default => absent
-                       };
-       }
+                       ensure => $ensure;
 
-       cron {
                wikibase-poll-test2:
                        ensure => absent;
-       }
 
-       cron {
                wikibase-poll-huwiki:
                        ensure => absent;
        }
@@ -298,7 +280,7 @@
        }
 }
 
-class misc::maintenance::parsercachepurging( $enabled = inline_template("<%= 
$::site == $::primary_site  %>") ) {
+class misc::maintenance::parsercachepurging( $enabled = undef ) {
 
        system_role { "misc::maintenance::parsercachepurging": description => 
"Misc - Maintenance Server: parser cache purging" }
 
@@ -312,13 +294,13 @@
                ensure => $enabled ?{
                        true => present,
                        false => absent,
-                       default => absent
+                       default => $misc::maintenance::default_ensure
                };
        }
 
 }
 
-class misc::maintenance::geodata( $enabled = inline_template("<%= $::site == 
$::primary_site  %>") ) {
+class misc::maintenance::geodata( $enabled = undef ) {
        file {
                "/usr/local/bin/update-geodata":
                        ensure => present,
@@ -330,26 +312,24 @@
                        mode => 0555;
        }
 
+       $ensure = $enabled ?{
+               true => present,
+               false => absent,
+               default => $misc::maintenance::default_ensure
+       }
+
        cron {
                "update-geodata":
                        command => "/usr/local/bin/update-geodata >/dev/null",
                        user => apache,
                        minute => "*/30",
-                       ensure => $enabled ?{
-                               true => present,
-                               false => absent,
-                               default => absent
-                       };
+                       ensure => $ensure;
                "clear-killlist":
                        command => "/usr/local/bin/clear-killlist >/dev/null",
                        user => apache,
                        hour => 8,
                        minute => 45,
-                       ensure => $enabled ?{
-                               true => present,
-                               false => absent,
-                               default => absent
-                       };
+                       ensure => $ensure;
        }
 }
 

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ifee40ef68e9e43e3161c03ef86e6044f5a611ff5
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: MaxSem <[email protected]>

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

Reply via email to