Giuseppe Lavagetto has uploaded a new change for review. https://gerrit.wikimedia.org/r/143329
Change subject: mediawiki: manage the apache config via puppet ...................................................................... mediawiki: manage the apache config via puppet This is the first in a series of changes that will allow to manage the mediawiki apache config using a more standard layout. For now we just deploy apache-config via puppet using a directory resource, and importing apache-config as plain files with a submodule. We introduce tags so that it should be possible to release apache-config by simply: 1) merging the change in apache-config 2) update the submodule 3) run on the saltmaster: salt -G 'cluster:appserver*' cmd.run 'puppet agent -t --tags mediawiki-config' which should be simple enough. Also, puppet will ensure and enforce this config on servers that were down at the moment of the deploy. Change-Id: I43126e44e96b8ae88eb5ad1958b1ce6fe5ade9f5 Signed-off-by: Giuseppe Lavagetto <[email protected]> --- M .gitmodules A modules/mediawiki/files/apache/mediawiki-config M modules/mediawiki/manifests/web.pp A modules/mediawiki/manifests/web/config.pp M modules/mediawiki/templates/apache/apache2.conf.erb 5 files changed, 26 insertions(+), 6 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/operations/puppet refs/changes/29/143329/1 diff --git a/.gitmodules b/.gitmodules index 7f924d5..970f57c 100644 --- a/.gitmodules +++ b/.gitmodules @@ -28,3 +28,6 @@ [submodule "modules/cdh"] path = modules/cdh url = https://gerrit.wikimedia.org/r/operations/puppet/cdh +[submodule "modules/mediawiki/files/apache/mediawiki-config"] + path = modules/mediawiki/files/apache/mediawiki-config + url = https://gerrit.wikimedia.org/r/operations/apache-config diff --git a/modules/mediawiki/files/apache/mediawiki-config b/modules/mediawiki/files/apache/mediawiki-config new file mode 160000 index 0000000..579f0f2 --- /dev/null +++ b/modules/mediawiki/files/apache/mediawiki-config +Subproject commit 579f0f234dc45d4cac5d1a546c32be205236145f diff --git a/modules/mediawiki/manifests/web.pp b/modules/mediawiki/manifests/web.pp index 5abfac0..0cfdf4a 100644 --- a/modules/mediawiki/manifests/web.pp +++ b/modules/mediawiki/manifests/web.pp @@ -2,6 +2,7 @@ class mediawiki::web( $maxclients = 40 ) { include ::mediawiki + include ::mediawiki::web::config file { '/etc/apache2/apache2.conf': content => template('mediawiki/apache/apache2.conf.erb'), @@ -23,12 +24,6 @@ ensure => directory, } - exec { 'sync_apache_config': - command => '/usr/bin/rsync -av 10.0.5.8::httpdconf/ /usr/local/apache/conf', - creates => '/usr/local/apache/conf', - require => File['/usr/local/apache'], - notify => Service['apache'], - } service { 'apache': ensure => running, diff --git a/modules/mediawiki/manifests/web/config.pp b/modules/mediawiki/manifests/web/config.pp new file mode 100644 index 0000000..9e47fdc --- /dev/null +++ b/modules/mediawiki/manifests/web/config.pp @@ -0,0 +1,18 @@ +class mediawiki::web::config ($use_local_resources = true) { + tag 'mediawiki', 'mediawiki-config' + if $use_local_resources { + file { '/etc/apache2/mediawiki-config': + ensure => directory, + recurse => true, + source => 'puppet:///modules/mediawiki/apache/mediawiki-config', + notify => Service['apache'], + } + } else { + exec { 'sync_apache_config': + command => '/usr/bin/rsync -av 10.0.5.8::httpdconf/ /usr/local/apache/conf', + creates => '/usr/local/apache/conf', + require => File['/usr/local/apache'], + notify => Service['apache'], + } + } +} diff --git a/modules/mediawiki/templates/apache/apache2.conf.erb b/modules/mediawiki/templates/apache/apache2.conf.erb index 2ad7403..241be23 100644 --- a/modules/mediawiki/templates/apache/apache2.conf.erb +++ b/modules/mediawiki/templates/apache/apache2.conf.erb @@ -319,7 +319,11 @@ NameVirtualHost * +<%- if @::mediawiki::web::config::use_local_resources %> +Include /etc/apache2/mediawiki-config/all.conf +<%- else %> Include /usr/local/apache/conf/all.conf +<% end %> # Set ETags for files to not be based on inode, # since that will be different on each backend server -- To view, visit https://gerrit.wikimedia.org/r/143329 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I43126e44e96b8ae88eb5ad1958b1ce6fe5ade9f5 Gerrit-PatchSet: 1 Gerrit-Project: operations/puppet Gerrit-Branch: production Gerrit-Owner: Giuseppe Lavagetto <[email protected]> _______________________________________________ MediaWiki-commits mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
