jenkins-bot has submitted this change and it was merged. Change subject: Emit mediawiki-ready Upstart event ......................................................................
Emit mediawiki-ready Upstart event Events emitted by upstart-file-bridge and mountall don't seem to be reliable, so do a busy-loop instead, as suggested by: <http://upstart.ubuntu.com/cookbook/#run-a-job-when-a-file-or-directory-is-created-deleted>. Use the event as a way of starting Upstart services that are dependent on MediaWiki at the right time. Change-Id: I09f0e44fb23e6ed6534124b18c6126488401fcf7 --- M puppet/manifests/base.pp M puppet/modules/mediawiki/files/jobrunner.conf M puppet/modules/mediawiki/manifests/init.pp M puppet/modules/mediawiki/manifests/jobrunner.pp A puppet/modules/mediawiki/templates/mediawiki-bridge.conf.erb 5 files changed, 28 insertions(+), 8 deletions(-) Approvals: Ori.livneh: Looks good to me, approved jenkins-bot: Verified diff --git a/puppet/manifests/base.pp b/puppet/manifests/base.pp index 3495d57..a25a48d 100644 --- a/puppet/manifests/base.pp +++ b/puppet/manifests/base.pp @@ -31,7 +31,7 @@ Exec { logoutput => on_failure, timeout => 900, - path => [ '/bin', '/usr/bin', '/usr/local/bin', '/usr/sbin/' ], + path => [ '/bin', '/sbin', '/usr/bin', '/usr/local/bin', '/usr/sbin' ], } Service { diff --git a/puppet/modules/mediawiki/files/jobrunner.conf b/puppet/modules/mediawiki/files/jobrunner.conf index e40bdd1..52925a0 100644 --- a/puppet/modules/mediawiki/files/jobrunner.conf +++ b/puppet/modules/mediawiki/files/jobrunner.conf @@ -1,7 +1,7 @@ # jobrunner -- Continuously process a MediaWiki job queue description "MediaWiki job queue loop" -start on (runlevel [2345] and remote-filesystems) +start on mediawiki-ready stop on runlevel [!2345] pre-start script diff --git a/puppet/modules/mediawiki/manifests/init.pp b/puppet/modules/mediawiki/manifests/init.pp index 7b32b7a..49b00b9 100644 --- a/puppet/modules/mediawiki/manifests/init.pp +++ b/puppet/modules/mediawiki/manifests/init.pp @@ -88,10 +88,15 @@ # delete it. exec { 'check settings': command => "rm -f ${dir}/LocalSettings.php", + unless => "start mediawiki-bridge && php5 ${dir}/maintenance/sql.php </dev/null", + require => [ Service['mysql'], File['mediawiki_upstart_bridge'] ], notify => Exec['mediawiki setup'], - require => [ Package['php5'], Git::Clone['mediawiki/core'], Service['mysql'] ], - # HACK: this should always succeed even if HHVM is FUBAR - unless => "/usr/bin/php5 ${dir}/maintenance/sql.php </dev/null", + } + + file { 'mediawiki_upstart_bridge': + path => '/etc/init/mediawiki-bridge.conf', + content => template('mediawiki/mediawiki-bridge.conf.erb'), + require => Git::Clone['mediawiki/core'], } file { $settings_dir: @@ -119,9 +124,9 @@ } exec { 'mediawiki setup': - require => [ Exec['set mysql password'], Git::Clone['mediawiki/core'], File[$upload_dir] ], - creates => "${dir}/LocalSettings.php", - command => template('mediawiki/install.php.erb'), + require => [ Exec['set mysql password'], Git::Clone['mediawiki/core'], File[$upload_dir] ], + creates => "${dir}/LocalSettings.php", + command => template('mediawiki/install.php.erb'), } exec { 'require extra settings': diff --git a/puppet/modules/mediawiki/manifests/jobrunner.pp b/puppet/modules/mediawiki/manifests/jobrunner.pp index 0e67024..5402424 100644 --- a/puppet/modules/mediawiki/manifests/jobrunner.pp +++ b/puppet/modules/mediawiki/manifests/jobrunner.pp @@ -36,5 +36,6 @@ service { 'jobrunner': ensure => 'running', provider => 'upstart', + require => Exec['mediawiki setup'], } } diff --git a/puppet/modules/mediawiki/templates/mediawiki-bridge.conf.erb b/puppet/modules/mediawiki/templates/mediawiki-bridge.conf.erb new file mode 100644 index 0000000..6c74579 --- /dev/null +++ b/puppet/modules/mediawiki/templates/mediawiki-bridge.conf.erb @@ -0,0 +1,14 @@ +# Upstart task for emitting MediaWiki ready event +description "MediaWiki ready event emitter" + +start on runlevel [2345] + +emits mediawiki-ready + +script + exec >/dev/null 2>&1 + while [ ! -r "<%= @dir %>/LocalSettings.php" ] || ! ( /usr/bin/php5 <%= @dir %>/maintenance/sql.php </dev/null ); do sleep 1; done + initctl emit mediawiki-ready +end script + +# vim: set ft=upstart: -- To view, visit https://gerrit.wikimedia.org/r/147650 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I09f0e44fb23e6ed6534124b18c6126488401fcf7 Gerrit-PatchSet: 2 Gerrit-Project: mediawiki/vagrant Gerrit-Branch: master Gerrit-Owner: Ori.livneh <o...@wikimedia.org> Gerrit-Reviewer: Ori.livneh <o...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits