Ryan Lane has uploaded a new change for review.
https://gerrit.wikimedia.org/r/80401
Change subject: Use nginx module for protoproxy and disable notify
......................................................................
Use nginx module for protoproxy and disable notify
The protoproxy module was doing a lot of work the nginx module
should be doing instead. This change moves that work to the nginx
module. This change also disables notification of the service on
configuration changes so that we can properly depool hosts before
doing service restarts.
Change-Id: Ib364384b0400a59405d4722a175b73c0edffafa5
---
M manifests/role/protoproxy.pp
M modules/nginx/manifests/init.pp
R modules/nginx/manifests/package.pp
R modules/nginx/manifests/service.pp
M modules/protoproxy/manifests/ganglia.pp
M modules/protoproxy/manifests/init.pp
M modules/protoproxy/manifests/localssl.pp
7 files changed, 22 insertions(+), 23 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/operations/puppet
refs/changes/01/80401/1
diff --git a/manifests/role/protoproxy.pp b/manifests/role/protoproxy.pp
index ab20411..3dc5dc7 100644
--- a/manifests/role/protoproxy.pp
+++ b/manifests/role/protoproxy.pp
@@ -27,7 +27,6 @@
file { '/etc/nginx/nginx.conf':
content => template('nginx/nginx.conf.erb'),
- notify => Service['nginx'],
require => Package['nginx'],
}
diff --git a/modules/nginx/manifests/init.pp b/modules/nginx/manifests/init.pp
index 06740a4..9985ff7 100644
--- a/modules/nginx/manifests/init.pp
+++ b/modules/nginx/manifests/init.pp
@@ -9,7 +9,7 @@
#
# $enabled='true' adds the site to sites-enabled; $enabled=false removes it.
#
-define nginx($install="false", $template="", $enable="true") {
+define nginx($install="false", $template="", $enable="true",
$donotify="false") {
if !defined (Package["nginx"]) {
package { ['nginx']:
ensure => latest;
@@ -21,15 +21,23 @@
} else {
$template_name = $template
}
+
if ( $enable == "true" ) {
+ $ensure = "link";
+ } else {
+ $ensure = "absent";
+ }
+
+ if ( $donotify == "true" ) {
file { "/etc/nginx/sites-enabled/${name}":
- ensure => "/etc/nginx/sites-available/${name}",
+ ensure => $ensure,
+ target => "/etc/nginx/sites-available/${name}",
notify => Service["nginx"];
}
} else {
file { "/etc/nginx/sites-enabled/${name}":
- ensure => absent,
- notify => Service["nginx"];
+ ensure => $ensure,
+ target => "/etc/nginx/sites-available/${name}";
}
}
@@ -46,11 +54,4 @@
}
}
- if !defined (Service["nginx"]) {
- service { ['nginx']:
- require => Package["nginx"],
- enable => true,
- ensure => running;
- }
- }
}
diff --git a/modules/protoproxy/manifests/package.pp
b/modules/nginx/manifests/package.pp
similarity index 85%
rename from modules/protoproxy/manifests/package.pp
rename to modules/nginx/manifests/package.pp
index f6821fd..fbc8e95 100644
--- a/modules/protoproxy/manifests/package.pp
+++ b/modules/nginx/manifests/package.pp
@@ -1,6 +1,6 @@
# vim:sw=4:ts=4:et:
-class protoproxy::package {
+class nginx::package {
package { ['nginx']:
ensure => latest,
diff --git a/modules/protoproxy/manifests/service.pp
b/modules/nginx/manifests/service.pp
similarity index 70%
rename from modules/protoproxy/manifests/service.pp
rename to modules/nginx/manifests/service.pp
index f9ff59b..e438bc6 100644
--- a/modules/protoproxy/manifests/service.pp
+++ b/modules/nginx/manifests/service.pp
@@ -1,8 +1,8 @@
# vim:sw=4:ts=4:et:
-class protoproxy::service {
+class nginx::service {
- include protoproxy::package
+ include nginx::package
service { ['nginx']:
ensure => running,
diff --git a/modules/protoproxy/manifests/ganglia.pp
b/modules/protoproxy/manifests/ganglia.pp
index c13ede0..ebe8c07 100644
--- a/modules/protoproxy/manifests/ganglia.pp
+++ b/modules/protoproxy/manifests/ganglia.pp
@@ -3,7 +3,7 @@
# Ganglia monitoring
class protoproxy::ganglia {
- include protoproxy::package
+ include nginx::package
file { '/usr/lib/ganglia/python_modules/apache_status.py':
source => 'puppet:///files/ganglia/plugins/apache_status.py',
diff --git a/modules/protoproxy/manifests/init.pp
b/modules/protoproxy/manifests/init.pp
index e6b9624..70c1d69 100644
--- a/modules/protoproxy/manifests/init.pp
+++ b/modules/protoproxy/manifests/init.pp
@@ -69,8 +69,8 @@
$ssl_backend={},
) {
- include protoproxy::package
- include protoproxy::service
+ require nginx::package
+ include nginx::service
nginx_site { $name:
template => 'proxy',
@@ -78,8 +78,7 @@
enable => $enabled,
require => Package['nginx'],
# Make sure we do the configuration before the service
- # FIXME use notify {} ?
- before => Class['protoproxy::service'],
+ donotify => "false";
}
}
diff --git a/modules/protoproxy/manifests/localssl.pp
b/modules/protoproxy/manifests/localssl.pp
index 7ed48fb..26d2392 100644
--- a/modules/protoproxy/manifests/localssl.pp
+++ b/modules/protoproxy/manifests/localssl.pp
@@ -24,8 +24,8 @@
$enabled=true,
$upstream_port='80'
) {
- require protoproxy::package
- include protoproxy::service
+ require nginx::package
+ include nginx::service
# The WMF nginx module is pretty bad, and it's almost pointless to use it
here.
@@ -36,6 +36,6 @@
nginx_site { $name:
require => File["/etc/nginx/sites-available/${name}"],
enable => $enabled,
- notify => Service[nginx]
+ donotify => "false";
}
}
--
To view, visit https://gerrit.wikimedia.org/r/80401
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib364384b0400a59405d4722a175b73c0edffafa5
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Ryan Lane <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits