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
