Andrew Bogott has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/238802

Change subject: Openstack: Clarify differences between the controller and the 
spare:
......................................................................

Openstack: Clarify differences between the controller and the spare:

- Stop glance and nova services on the spare
- Sync glance files from the primary to the spare only

Change-Id: I857555755b916fc6c5f039cc52b01d97e8bd1396
---
M modules/openstack/manifests/glance/service.pp
M modules/openstack/manifests/nova/conductor.pp
M modules/openstack/manifests/nova/scheduler.pp
3 files changed, 72 insertions(+), 46 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/02/238802/1

diff --git a/modules/openstack/manifests/glance/service.pp 
b/modules/openstack/manifests/glance/service.pp
index 8ace66e..ed4419e 100644
--- a/modules/openstack/manifests/glance/service.pp
+++ b/modules/openstack/manifests/glance/service.pp
@@ -19,16 +19,6 @@
         require => Class['openstack::repo'],
     }
 
-    service { 'glance-api':
-        ensure  => running,
-        require => Package['glance'],
-    }
-
-    service { 'glance-registry':
-        ensure  => running,
-        require => Package['glance'],
-    }
-
     file {
         '/etc/glance/glance-api.conf':
             content => 
template("openstack/${$openstack_version}/glance/glance-api.conf.erb"),
@@ -66,7 +56,6 @@
         }
     }
 
-    $spare_glance_host = hiera('labs_nova_controller_spare')
     # Set up a keypair and rsync image files between the main glance server
     #  and the spare.
     user { 'glancesync':
@@ -99,23 +88,47 @@
         mode    => '0600',
         require => File['/home/glancesync/.ssh'],
     }
-    if $spare_glance_host != hiera('labs_nova_controller') {
-        cron { 'rsync_glance_images':
-            command => "/usr/bin/rsync -aS ${image_datadir}/* 
${spare_glance_host}:${image_datadir}/",
-            minute  => 15,
-            user    => 'glancesync',
-            require => User['glancesync'],
+
+    if $::hostname == hiera('labs_nova_controller') {
+        service { 'glance-api':
+            ensure  => running,
+            require => Package['glance'],
+        }
+
+        service { 'glance-registry':
+            ensure  => running,
+            require => Package['glance'],
+        }
+
+        $spare_glance_host = hiera('labs_nova_controller_spare')
+        if $spare_glance_host != hiera('labs_nova_controller') {
+            cron { 'rsync_glance_images':
+                command => "/usr/bin/rsync -aS ${image_datadir}/* 
${spare_glance_host}:${image_datadir}/",
+                minute  => 15,
+                user    => 'glancesync',
+                require => User['glancesync'],
+            }
+        } else {
+            # If the primary and the spare are the same, it's not useful to 
sync
+            cron { 'rsync_glance_images':
+                ensure => absent,
+            }
+        }
+        cron { 'rsync_chown_images':
+            command     => "chown -R glance ${image_datadir}/*",
+            minute      => 30,
+            user        => 'root',
+            require     => Cron['rsync_glance_images'],
         }
     } else {
-        # If the primary and the spare are the same, it's not useful to sync
-        cron { 'rsync_glance_images':
-            ensure => absent,
+        service { 'glance-api':
+            ensure  => stopped,
+            require => Package['glance'],
         }
-    }
-    cron { 'rsync_chown_images':
-        command     => "chown -R glance ${image_datadir}/*",
-        minute      => 30,
-        user        => 'root',
-        require     => Cron['rsync_glance_images'],
+
+        service { 'glance-registry':
+            ensure  => stopped,
+            require => Package['glance'],
+        }
     }
 }
diff --git a/modules/openstack/manifests/nova/conductor.pp 
b/modules/openstack/manifests/nova/conductor.pp
index b31612e..0800dbf 100644
--- a/modules/openstack/manifests/nova/conductor.pp
+++ b/modules/openstack/manifests/nova/conductor.pp
@@ -6,14 +6,21 @@
         require => Class['openstack::repo'];
     }
 
-    service { 'nova-conductor':
-        ensure    => running,
-        subscribe => File['/etc/nova/nova.conf'],
-        require   => Package['nova-conductor'];
-    }
+    if $::hostname == hiera('labs_nova_controller') {
+        service { 'nova-conductor':
+            ensure    => running,
+            subscribe => File['/etc/nova/nova.conf'],
+            require   => Package['nova-conductor'];
+        }
 
-    nrpe::monitor_service { 'check_nova_conductor_process':
-        description  => 'nova-conductor process',
-        nrpe_command => "/usr/lib/nagios/plugins/check_procs -c 1: 
--ereg-argument-array '^/usr/bin/python /usr/bin/nova-conductor'",
+        nrpe::monitor_service { 'check_nova_conductor_process':
+            description  => 'nova-conductor process',
+            nrpe_command => "/usr/lib/nagios/plugins/check_procs -c 1: 
--ereg-argument-array '^/usr/bin/python /usr/bin/nova-conductor'",
+        }
+    } else {
+        service { 'nova-conductor':
+            ensure    => stopped,
+            require   => Package['nova-conductor'];
+        }
     }
 }
diff --git a/modules/openstack/manifests/nova/scheduler.pp 
b/modules/openstack/manifests/nova/scheduler.pp
index e8ecb14..488757d 100644
--- a/modules/openstack/manifests/nova/scheduler.pp
+++ b/modules/openstack/manifests/nova/scheduler.pp
@@ -9,17 +9,6 @@
         require => Class['openstack::repo'];
     }
 
-    service { 'nova-scheduler':
-        ensure    => running,
-        subscribe => File['/etc/nova/nova.conf'],
-        require   => Package['nova-scheduler'];
-    }
-
-    nrpe::monitor_service { 'check_nova_scheduler_process':
-        description  => 'nova-scheduler process',
-        nrpe_command => "/usr/lib/nagios/plugins/check_procs -c 1: 
--ereg-argument-array '^/usr/bin/python /usr/bin/nova-scheduler'",
-    }
-
     file { 
'/usr/lib/python2.7/dist-packages/nova/scheduler/filters/scheduler_pool_filter.py':
         source  => 
"puppet:///modules/openstack/${openstack_version}/nova/scheduler_pool_filter.py",
         notify  => Service['nova-scheduler'],
@@ -28,5 +17,22 @@
         mode    => '0444',
         require => Package['nova-scheduler'],
     }
-}
 
+    if $::hostname == hiera('labs_nova_controller') {
+        service { 'nova-scheduler':
+            ensure    => running,
+            subscribe => File['/etc/nova/nova.conf'],
+            require   => Package['nova-scheduler'];
+        }
+
+        nrpe::monitor_service { 'check_nova_scheduler_process':
+            description  => 'nova-scheduler process',
+            nrpe_command => "/usr/lib/nagios/plugins/check_procs -c 1: 
--ereg-argument-array '^/usr/bin/python /usr/bin/nova-scheduler'",
+        }
+    } else {
+        service { 'nova-scheduler':
+            ensure    => stopped,
+            require   => Package['nova-scheduler'];
+        }
+    }
+}

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I857555755b916fc6c5f039cc52b01d97e8bd1396
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Andrew Bogott <[email protected]>

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

Reply via email to