Giuseppe Lavagetto has submitted this change and it was merged.

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 apache config for mediawiki 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 
mw-apache-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.

In this change, we leave the feature turned off by default, apart from
the staging server (mw1017)

Change-Id: I43126e44e96b8ae88eb5ad1958b1ce6fe5ade9f5
Signed-off-by: Giuseppe Lavagetto <[email protected]>
---
M manifests/site.pp
M modules/mediawiki/manifests/web.pp
M modules/mediawiki/manifests/web/config.pp
M modules/mediawiki/templates/apache/apache2.conf.erb
4 files changed, 17 insertions(+), 7 deletions(-)

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



diff --git a/manifests/site.pp b/manifests/site.pp
index bf5664d..2baf47a 100644
--- a/manifests/site.pp
+++ b/manifests/site.pp
@@ -1939,6 +1939,11 @@
         $ganglia_aggregator = true
     }
 
+    if $::hostname == 'mw1017' {
+        $mw_use_local_resources = true
+    }
+
+
     if $::hostname == 'mw1070' {
         include misc::deployment::scap_proxy
     }
diff --git a/modules/mediawiki/manifests/web.pp 
b/modules/mediawiki/manifests/web.pp
index 2c15a9c..a163e84 100644
--- a/modules/mediawiki/manifests/web.pp
+++ b/modules/mediawiki/manifests/web.pp
@@ -13,12 +13,17 @@
         $max_req_workers = inline_template('<%= ( @mem_available / 
@mem_per_worker ).to_i %>')
     }
 
+    if $mw_use_local_resources == undef {
+        # This is used in the apache2.conf template to switch from
+        # rsync-based resources to puppet-managed ones
+        $mw_use_local_resources = false
+    }
+
     file { '/etc/apache2/apache2.conf':
         content => template('mediawiki/apache/apache2.conf.erb'),
         owner   => 'root',
         group   => 'root',
         mode    => '0444',
-        require => Class['::mediawiki::web::config'],
         before  => Service['apache'],
     }
 
diff --git a/modules/mediawiki/manifests/web/config.pp 
b/modules/mediawiki/manifests/web/config.pp
index c3f9f65..bcd4017 100644
--- a/modules/mediawiki/manifests/web/config.pp
+++ b/modules/mediawiki/manifests/web/config.pp
@@ -1,14 +1,10 @@
-class mediawiki::web::config ($use_local_resources = true) {
+class mediawiki::web::config () {
     tag 'mediawiki', 'mw-apache-config'
     file { '/etc/apache2/wikimedia':
         ensure  => directory,
         recurse => true,
         source  => 'puppet:///modules/mediawiki/apache/config',
-    }
-    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'],
+        before  => File['/etc/apache2/apache2.conf'],
     }
 }
diff --git a/modules/mediawiki/templates/apache/apache2.conf.erb 
b/modules/mediawiki/templates/apache/apache2.conf.erb
index 4de5d49..c6a03bc 100644
--- a/modules/mediawiki/templates/apache/apache2.conf.erb
+++ b/modules/mediawiki/templates/apache/apache2.conf.erb
@@ -319,7 +319,11 @@
 
 NameVirtualHost *
 
+<% if @mw_use_local_resources -%>
+Include /etc/apache2/wikimedia/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: merged
Gerrit-Change-Id: I43126e44e96b8ae88eb5ad1958b1ce6fe5ade9f5
Gerrit-PatchSet: 12
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Giuseppe Lavagetto <[email protected]>
Gerrit-Reviewer: BBlack <[email protected]>
Gerrit-Reviewer: BryanDavis <[email protected]>
Gerrit-Reviewer: Dzahn <[email protected]>
Gerrit-Reviewer: Faidon Liambotis <[email protected]>
Gerrit-Reviewer: Giuseppe Lavagetto <[email protected]>
Gerrit-Reviewer: Ori.livneh <[email protected]>
Gerrit-Reviewer: Reedy <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to