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