Andrew Bogott has submitted this change and it was merged.
Change subject: More clearly define the novasync role on compute vs. controller
nodes.
......................................................................
More clearly define the novasync role on compute vs. controller nodes.
Change-Id: Ic89ca460442076f35e1960fc4d1c62dffd8cc874
---
M manifests/role/nova.pp
M modules/openstack/manifests/nova/compute.pp
A modules/openstack/manifests/nova/novamigrate.pp
3 files changed, 71 insertions(+), 59 deletions(-)
Approvals:
Andrew Bogott: Looks good to me, approved
jenkins-bot: Verified
diff --git a/manifests/role/nova.pp b/manifests/role/nova.pp
index 603a1db4e..76738d0 100644
--- a/manifests/role/nova.pp
+++ b/manifests/role/nova.pp
@@ -429,6 +429,10 @@
class { 'openstack::spreadcheck':
novaconfig => $novaconfig
}
+
+ class { ' openstack::nova::migrate':
+ is_controller => true,
+ }
}
class role::nova::api {
@@ -578,6 +582,8 @@
target => '/usr/bin/qemu-system-x86_64',
}
}
+
+ include openstack::nova::migrate
}
# global icinga hostgroups for virt/labs hosts
diff --git a/modules/openstack/manifests/nova/compute.pp
b/modules/openstack/manifests/nova/compute.pp
index 0e8052e..073c259 100644
--- a/modules/openstack/manifests/nova/compute.pp
+++ b/modules/openstack/manifests/nova/compute.pp
@@ -175,63 +175,4 @@
description => 'nova-compute process',
nrpe_command => "/usr/lib/nagios/plugins/check_procs -c 1:
--ereg-argument-array '^/usr/bin/python /usr/bin/nova-compute'",
}
-
- # Set up users and scripts to permit cold-migration between compute nodes.
- # This requires a keypair for scp
- user { 'novamigrate':
- ensure => present,
- name => 'novamigrate',
- shell => '/bin/sh',
- comment => 'nova user for cold-migration',
- gid => 'nova',
- managehome => true,
- require => Package['nova-compute'],
- system => true,
- }
- ssh::userkey { 'novamigrate':
- content => secret('novamigrate/novamigrate.pub'),
- require => user['novamigrate'],
- ensure => present,
- }
- file { '/home/novamigrate/.ssh':
- ensure => directory,
- owner => 'novamigrate',
- group => 'nova',
- mode => '0700',
- require => user['novamigrate'],
- }
- file { '/home/novamigrate/.ssh/id_rsa':
- content => secret('novamigrate/novamigrate'),
- owner => 'novamigrate',
- group => 'nova',
- mode => '0600',
- require => File['/home/novamigrate/.ssh'],
- }
-
- # Script to cold-migrate instances between compute nodes
- file { '/home/novamigrate/cold-migrate':
- ensure => present,
- source =>
"puppet:///modules/openstack/${openstack_version}/virtscripts/cold-migrate",
- mode => '0755',
- owner => 'novamigrate',
- group => 'nova',
- }
-
- # Script to migrate instance from one dc to another
- # (specifically, pmtpa to eqiad)
- file { '/home/novamigrate/dc-migrate':
- ensure => present,
- source =>
"puppet:///modules/openstack/${openstack_version}/virtscripts/dc-migrate",
- mode => '0755',
- owner => 'novamigrate',
- group => 'nova',
- }
-
- # Handy script to set up environment for commandline nova magic
- file { '/home/novamigrate/novaenv.sh':
- content => template('openstack/novaenv.sh.erb'),
- mode => '0755',
- owner => 'novamigrate',
- group => 'nova',
- }
}
diff --git a/modules/openstack/manifests/nova/novamigrate.pp
b/modules/openstack/manifests/nova/novamigrate.pp
new file mode 100644
index 0000000..ba38cbf
--- /dev/null
+++ b/modules/openstack/manifests/nova/novamigrate.pp
@@ -0,0 +1,65 @@
+class openstack::nova::migrate(
+ $is_controller=false
+){
+ # Set up users and scripts to permit cold-migration between compute nodes.
+ # This requires a keypair for scp
+ user { 'novamigrate':
+ ensure => present,
+ name => 'novamigrate',
+ shell => '/bin/sh',
+ comment => 'nova user for cold-migration',
+ gid => 'nova',
+ managehome => true,
+ require => Package['nova-compute'],
+ system => true,
+ }
+ ssh::userkey { 'novamigrate':
+ content => secret('novamigrate/novamigrate.pub'),
+ require => user['novamigrate'],
+ ensure => present,
+ }
+ file { '/home/novamigrate/.ssh':
+ ensure => directory,
+ owner => 'novamigrate',
+ group => 'nova',
+ mode => '0700',
+ require => user['novamigrate'],
+ }
+
+ file { '/home/novamigrate/.ssh/id_rsa':
+ content => secret('novamigrate/novamigrate'),
+ owner => 'novamigrate',
+ group => 'nova',
+ mode => '0600',
+ require => File['/home/novamigrate/.ssh'],
+ }
+
+ if ($is_controller) {
+ # Script to cold-migrate instances between compute nodes
+ file { '/home/novamigrate/cold-migrate':
+ ensure => present,
+ source =>
"puppet:///modules/openstack/${openstack_version}/virtscripts/cold-migrate",
+ mode => '0755',
+ owner => 'novamigrate',
+ group => 'nova',
+ }
+
+ # Script to migrate instance from one dc to another
+ # (specifically, pmtpa to eqiad)
+ file { '/home/novamigrate/dc-migrate':
+ ensure => present,
+ source =>
"puppet:///modules/openstack/${openstack_version}/virtscripts/dc-migrate",
+ mode => '0755',
+ owner => 'novamigrate',
+ group => 'nova',
+ }
+
+ # Handy script to set up environment for commandline nova magic
+ file { '/home/novamigrate/novaenv.sh':
+ content => template('openstack/novaenv.sh.erb'),
+ mode => '0755',
+ owner => 'novamigrate',
+ group => 'nova',
+ }
+ }
+}
--
To view, visit https://gerrit.wikimedia.org/r/225351
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Ic89ca460442076f35e1960fc4d1c62dffd8cc874
Gerrit-PatchSet: 1
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