Ryan Lane has submitted this change and it was merged.

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(-)

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



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..c15df80 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: merged
Gerrit-Change-Id: Ib364384b0400a59405d4722a175b73c0edffafa5
Gerrit-PatchSet: 2
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Ryan Lane <[email protected]>
Gerrit-Reviewer: Faidon <[email protected]>
Gerrit-Reviewer: Mark Bergsma <[email protected]>
Gerrit-Reviewer: Ryan Lane <[email protected]>
Gerrit-Reviewer: jenkins-bot

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

Reply via email to