Andrew Bogott has submitted this change and it was merged.
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
- Ensure rabbit running on controller, not running on spare
- Sync glance files from the primary to the spare only
- Disable service monitoring on the spare
Also, re-enable the nova controller role on the spare
so that everything is installed and ready.
Change-Id: I857555755b916fc6c5f039cc52b01d97e8bd1396
---
M manifests/site.pp
M modules/openstack/manifests/glance/service.pp
M modules/openstack/manifests/nova/conductor.pp
M modules/openstack/manifests/nova/scheduler.pp
M modules/openstack/manifests/queue-server.pp
5 files changed, 88 insertions(+), 52 deletions(-)
Approvals:
Andrew Bogott: Looks good to me, approved
jenkins-bot: Verified
diff --git a/manifests/site.pp b/manifests/site.pp
index bc8c8cb..40ba528 100644
--- a/manifests/site.pp
+++ b/manifests/site.pp
@@ -1299,15 +1299,14 @@
include ldap::role::client::labs
include role::salt::masters::labs
include role::deployment::salt_masters
+ role nova::controller
+ if $use_neutron == true {
+ include role::neutron::controller
+ }
+
# The dns controller grabs an IP, so leave this disabled until/unless
# this server is the primary labs controller.
#include role::dns::ldap
- # And, we don't want nova services here listening to rabbit until
- # we need them.
- #role nova::controller
- #if $use_neutron == true {
- #include role::neutron::controller
- #}
}
node 'labcontrol2001.wikimedia.org' {
diff --git a/modules/openstack/manifests/glance/service.pp
b/modules/openstack/manifests/glance/service.pp
index 8ace66e..20ed02b 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,46 @@
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,
+ }
}
} 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'],
+ }
+ cron { 'rsync_chown_images':
+ command => "chown -R glance ${image_datadir}/*",
+ minute => 30,
+ user => 'root',
+ }
}
}
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'];
+ }
+ }
+}
diff --git a/modules/openstack/manifests/queue-server.pp
b/modules/openstack/manifests/queue-server.pp
index 5912ced..fcb4189 100644
--- a/modules/openstack/manifests/queue-server.pp
+++ b/modules/openstack/manifests/queue-server.pp
@@ -7,4 +7,16 @@
ensure => present,
require => Class['openstack::repo'];
}
+
+ if $::hostname == hiera('labs_nova_controller') {
+ service { 'rabbitmq-server':
+ ensure => running,
+ require => Package['rabbitmq-server'];
+ }
+ } else {
+ service { 'rabbitmq-server':
+ ensure => stopped,
+ require => Package['rabbitmq-server'];
+ }
+ }
}
--
To view, visit https://gerrit.wikimedia.org/r/238802
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I857555755b916fc6c5f039cc52b01d97e8bd1396
Gerrit-PatchSet: 5
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Andrew Bogott <[email protected]>
Gerrit-Reviewer: Andrew Bogott <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits