Dzahn has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/382098 )

Change subject: releases: rm proxy_jenkins class, mv Apache includes
......................................................................


releases: rm proxy_jenkins class, mv Apache includes

Now the proxy_jenkins class has been reduced to a single
file definition (/etc/apache2/conf.d/ doesn't exist anymore
in the first place) and the comments.

Move the comments to the template where http and port
variables are used.

Add the parameters to the main releases class instead (currently
they won't be available in template used by apache::site so setup
doesn't work yet).

Simplify code by not having that separate class for no reason anymore.

Move Apache includes to profile class, don't use include keyword at all
to follow style guidelines.

Add parameters used in Apache template to profile class.

Move values for sitename, sitename_jenkins and server_admin to Hiera to
avoid another style violation for not having Hiera lookups.

Bug: T164030
Change-Id: Ie924774a62e728cbce2f491faec8b7ebe949ec82
---
M hieradata/role/common/releases.yaml
M modules/profile/manifests/releases/mediawiki.pp
M modules/releases/manifests/init.pp
D modules/releases/manifests/proxy_jenkins.pp
M modules/releases/templates/apache-jenkins.conf.erb
5 files changed, 36 insertions(+), 43 deletions(-)

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



diff --git a/hieradata/role/common/releases.yaml 
b/hieradata/role/common/releases.yaml
index ff1f796..e1438be 100644
--- a/hieradata/role/common/releases.yaml
+++ b/hieradata/role/common/releases.yaml
@@ -1,3 +1,7 @@
 admin::groups:
   - releasers-mediawiki
   - releasers-mobile
+
+profile::releases::mediawiki::sitename: 'releases.wikimedia.org'
+profile::releases::mediawiki::sitename_jenkins: 
'releases-jenkins.wikimedia.org'
+profile::releases::mediawiki::server_admin: 'n...@wikimedia.org'
diff --git a/modules/profile/manifests/releases/mediawiki.pp 
b/modules/profile/manifests/releases/mediawiki.pp
index d5ae29c..a924cea 100644
--- a/modules/profile/manifests/releases/mediawiki.pp
+++ b/modules/profile/manifests/releases/mediawiki.pp
@@ -1,6 +1,9 @@
 # server hosting Mediawiki releases
 # https://releases.wikimedia.org/mediawiki/
 class profile::releases::mediawiki (
+    $sitename = hiera('profile::releases::mediawiki::sitename'),
+    $sitename_jenkins = 
hiera('profile::releases::mediawiki::sitename_jenkins'),
+    $server_admin = hiera('profile::releases::mediawiki::server_admin'),
     $active_server = hiera('releases_server'),
     $passive_server = hiera('releases_server_failover'),
 ){
@@ -11,21 +14,30 @@
         umask      => '0002',
     }
 
-    class { '::releases::proxy_jenkins':
-        http_port => '8080',
-        prefix    => '/',
+    class { '::releases':
+        sitename         => $sitename,
+        sitename_jenkins => $sitename_jenkins,
+        http_port        => '8080',
+        prefix           => '/',
     }
 
-    class { '::releases':
-        sitename         => 'releases.wikimedia.org',
-        sitename_jenkins => 'releases-jenkins.wikimedia.org',
+    class { '::apache::mod::rewrite': }
+    class { '::apache::mod::headers': }
+    class { '::apache::mod::proxy': }
+    class { '::apache::mod::proxy_http': }
+
+    apache::site { $sitename:
+        content => template('releases/apache.conf.erb'),
+    }
+
+    apache::site { $sitename_jenkins:
+        content => template('releases/apache-jenkins.conf.erb'),
     }
 
     monitoring::service { 'http':
         description   => 'HTTP',
         check_command => 'check_http',
     }
-
 
     ferm::service { 'releases_http':
         proto => 'tcp',
diff --git a/modules/releases/manifests/init.pp 
b/modules/releases/manifests/init.pp
index 59e1200..48f1d4d 100644
--- a/modules/releases/manifests/init.pp
+++ b/modules/releases/manifests/init.pp
@@ -16,6 +16,8 @@
 #
 # - the apache site config
 # - the /srv/org/wikimedia/ subdir docroot
+# - a Jenkins instance for automated MW releases
+# - another separate apache site for jenkins UI
 #
 # Because this service is intended to live behind a
 # caching cluster which would handle ssl/tls, it does not
@@ -25,6 +27,8 @@
         $sitename = undef,
         $sitename_jenkins = undef,
         $server_admin = 'n...@wikimedia.org',
+        $prefix = '/',
+        $http_port = '8080',
 ) {
 
     ensure_resource('file', '/srv/org', {'ensure' => 'directory' })
@@ -45,19 +49,6 @@
         owner   => 'root',
         group   => 'releasers-mediawiki',
         require => File['/srv/org/wikimedia/releases'],
-    }
-
-    include ::apache::mod::rewrite
-    include ::apache::mod::headers
-    include ::apache::mod::proxy
-    include ::apache::mod::proxy_http
-
-    apache::site { $sitename:
-        content => template('releases/apache.conf.erb'),
-    }
-
-    apache::site { $sitename_jenkins:
-        content => template('releases/apache-jenkins.conf.erb'),
     }
 
     file { '/srv/org/wikimedia/releases/releases-header.html':
diff --git a/modules/releases/manifests/proxy_jenkins.pp 
b/modules/releases/manifests/proxy_jenkins.pp
deleted file mode 100644
index b78f123..0000000
--- a/modules/releases/manifests/proxy_jenkins.pp
+++ /dev/null
@@ -1,23 +0,0 @@
-# == Class releases::proxy_jenkins
-#
-# A http proxy in front of Jenkins
-#
-# [*http_port*]
-# HTTP port for a Jenkins instance webservice. Example: 8080
-#
-# [*prefix*]
-# The HTTP path used to reach the Jenkins instance. Must have a leading slash.
-# Example: /ci
-class releases::proxy_jenkins (
-    $http_port,
-    $prefix,
-) {
-
-  # run jenkins behind Apache and have pretty URLs / proxy port 80
-  # https://wiki.jenkins-ci.org/display/JENKINS/Running+Jenkins+behind+Apache
-
-  file {
-    '/etc/apache2/conf.d/jenkins_proxy':
-      ensure => absent,
-  }
-}
diff --git a/modules/releases/templates/apache-jenkins.conf.erb 
b/modules/releases/templates/apache-jenkins.conf.erb
index a4f6857..c056599 100644
--- a/modules/releases/templates/apache-jenkins.conf.erb
+++ b/modules/releases/templates/apache-jenkins.conf.erb
@@ -1,3 +1,12 @@
+# run jenkins behind Apache and have pretty URLs / proxy port 80
+# https://wiki.jenkins-ci.org/display/JENKINS/Running+Jenkins+behind+Apache
+#
+# [*http_port*]
+# HTTP port for a Jenkins instance webservice. Example: 8080
+#
+# [*prefix*]
+# The HTTP path used to reach the Jenkins instance. Must have a leading slash.
+# Example: /ci
 <VirtualHost *:80>
     ServerName <%= @sitename_jenkins %>
     ServerAdmin <%= @server_admin %>

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Ie924774a62e728cbce2f491faec8b7ebe949ec82
Gerrit-PatchSet: 11
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Dzahn <dz...@wikimedia.org>
Gerrit-Reviewer: Chad <ch...@wikimedia.org>
Gerrit-Reviewer: Dzahn <dz...@wikimedia.org>
Gerrit-Reviewer: Paladox <thomasmulhall...@yahoo.com>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to