Andrew Bogott has uploaded a new change for review.

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

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


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/51/225351/1

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: newchange
Gerrit-Change-Id: Ic89ca460442076f35e1960fc4d1c62dffd8cc874
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