ArielGlenn has uploaded a new change for review.

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


Change subject: 'qualify' openstack_version
......................................................................

'qualify' openstack_version

replace node scope variables with class for setting this
variable, so that we can use fixed scope references

Change-Id: Icb3734b67091330ac7d1ddf030b0e22869fd4ce1
---
M manifests/openstack.pp
M manifests/role/keystone.pp
M manifests/role/nova.pp
M manifests/site.pp
4 files changed, 27 insertions(+), 17 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/07/97007/1

diff --git a/manifests/openstack.pp b/manifests/openstack.pp
index 5156b94..30d75a0 100644
--- a/manifests/openstack.pp
+++ b/manifests/openstack.pp
@@ -1,3 +1,6 @@
+class openstack::version ($openstack_version='folsom') {
+}
+
 class openstack::iptables-purges {
        require "iptables::tables"
 
diff --git a/manifests/role/keystone.pp b/manifests/role/keystone.pp
index e1d44d3..a49d9b8 100644
--- a/manifests/role/keystone.pp
+++ b/manifests/role/keystone.pp
@@ -64,5 +64,6 @@
                "eqiad" => $role::keystone::config::eqiad::keystoneconfig,
        }
 
-       class { "openstack::keystone-service": openstack_version => 
$openstack_version, keystoneconfig => $keystoneconfig }
+       class { "openstack::keystone-service": openstack_version => 
$openstack::version::openstack_version, keystoneconfig => $keystoneconfig }
+       Class ['openstack::version'] -> Class ['role::keystone::server']
 }
diff --git a/manifests/role/nova.pp b/manifests/role/nova.pp
index 2652a27..4effe6e 100644
--- a/manifests/role/nova.pp
+++ b/manifests/role/nova.pp
@@ -208,7 +208,7 @@
        include passwords::misc::scripts
 
        class { "openstack::common":
-               openstack_version => $openstack_version,
+               openstack_version => $openstack::version::openstack_version,
                novaconfig => $novaconfig,
                instance_status_wiki_host => "wikitech.wikimedia.org",
                instance_status_wiki_domain => "labs",
@@ -218,6 +218,7 @@
                instance_status_wiki_user => 
$passwords::misc::scripts::wikinotifier_user,
                instance_status_wiki_pass => 
$passwords::misc::scripts::wikinotifier_pass
        }
+       Class ['openstack::version'] -> Class ['role::nova::common']
 }
 
 class role::nova::manager {
@@ -225,13 +226,14 @@
        $novaconfig = $role::nova::config::novaconfig
 
        class { "openstack::openstack-manager":
-               openstack_version => $openstack_version,
+               openstack_version => $openstack::version::openstack_version,
                novaconfig => $novaconfig,
                certificate => $realm ? {
                        "production" => "star.wikimedia.org",
                        "labs" => "star.wmflabs",
                }
        }
+       Class ['openstack::version'] -> Class ['role::nova::manager']
 }
 
 class role::nova::controller {
@@ -254,12 +256,12 @@
 
        include role::nova::common
 
-       class { "openstack::scheduler-service": openstack_version => 
$openstack_version, novaconfig => $novaconfig }
-       class { "openstack::glance-service": openstack_version => 
$openstack_version, glanceconfig => $glanceconfig }
-       class { "openstack::queue-server": openstack_version => 
$openstack_version, novaconfig => $novaconfig }
+       class { "openstack::scheduler-service": openstack_version => 
$openstack::version::openstack_version, novaconfig => $novaconfig }
+       class { "openstack::glance-service": openstack_version => 
$openstack::version::openstack_version, glanceconfig => $glanceconfig }
+       class { "openstack::queue-server": openstack_version => 
$openstack::version::openstack_version, novaconfig => $novaconfig }
        class { "openstack::iptables": }
        class { "openstack::database-server":
-               openstack_version => $openstack_version,
+               openstack_version => $openstack::version::openstack_version,
                novaconfig => $novaconfig,
                glanceconfig => $glanceconfig,
                keystoneconfig => $keystoneconfig,
@@ -268,6 +270,7 @@
        if $realm == "production" {
                class { "role::puppet::server::labs": }
        }
+       Class ['openstack::version'] -> Class ['role::nova::controller']
 }
 
 class role::nova::api {
@@ -276,7 +279,8 @@
 
        include role::nova::common
 
-       class { "openstack::api-service": openstack_version => 
$openstack_version, novaconfig => $novaconfig }
+       class { "openstack::api-service": openstack_version => 
$openstack::version::openstack_version, novaconfig => $novaconfig }
+       Class ['openstack::version'] -> Class ['role::nova::api']
 }
 
 class role::nova::network::bonding {
@@ -303,14 +307,15 @@
                }
        }
 
-       class { "openstack::network-service": openstack_version => 
$openstack_version, novaconfig => $novaconfig }
+       class { "openstack::network-service": openstack_version => 
$openstack::version::openstack_version, novaconfig => $novaconfig }
+       Class ['openstack::version'] -> Class ['role::nova::network']
 }
 
 class role::nova::wikiupdates {
 
     package { 'python-mwclient': ensure => latest; }
 
-    if ($openstack_version == "essex") {
+    if ($openstack::version::openstack_version == "essex") {
         if ($::lsbdistcodename == "lucid") {
                    file { 
"/usr/local/lib/python2.6/dist-packages/wikinotifier.py":
                            source => 
"puppet:///files/openstack/essex/nova/wikinotifier.py",
@@ -336,6 +341,7 @@
             require => Package["python-mwclient"],
         }
     }
+    Class ['openstack::version'] -> Class ['role::nova::wikiupdates']
 }
 
 class role::nova::compute {
@@ -353,10 +359,11 @@
                down => 'ip link set $IFACE down',
        }
 
-       class { "openstack::compute-service": openstack_version => 
$openstack_version, novaconfig => $novaconfig }
+       class { "openstack::compute-service": openstack_version => 
$openstack::version::openstack_version, novaconfig => $novaconfig }
 
        if $realm == "labs" {
                include role::nova::api,
                        role::nova::network
        }
+       Class ['openstack::version'] -> Class ['role::nova::compute']
 }
diff --git a/manifests/site.pp b/manifests/site.pp
index da3123d..02c89fe 100644
--- a/manifests/site.pp
+++ b/manifests/site.pp
@@ -2845,11 +2845,11 @@
     $ganglia_aggregator = true
     $is_puppet_master = "true"
     $is_labs_puppet_master = "true"
-    $openstack_version = "folsom"
 
     # full root for mhoover, Labs migration contractor
     sudo_user { "mhoover": privileges => ['ALL = NOPASSWD: ALL'] }
 
+    class { 'openstack::version' : $openstack_version = "folsom" }
     include standard,
         role::dns::ldap,
         ldap::role::server::labs,
@@ -2863,11 +2863,11 @@
 
     $is_puppet_master = "true"
     $is_labs_puppet_master = "true"
-    $openstack_version = "folsom"
 
     # full root for mhoover, Labs migration contractor
     sudo_user { "mhoover": privileges => ['ALL = NOPASSWD: ALL'] }
 
+    class { 'openstack::version' : $openstack_version = "folsom" }
     include standard,
         role::dns::ldap,
         ldap::role::server::labs,
@@ -2881,11 +2881,11 @@
 
 node 'virt2.pmtpa.wmnet' {
     $cluster = "virt"
-    $openstack_version = "folsom"
 
     # full root for mhoover, Labs migration contractor
     sudo_user { "mhoover": privileges => ['ALL = NOPASSWD: ALL'] }
 
+    class { 'openstack::version' : $openstack_version = "folsom" }
     include standard,
         role::nova::network,
         role::nova::api
@@ -2898,11 +2898,10 @@
         $ganglia_aggregator = true
     }
 
-    $openstack_version = "folsom"
-
     # full root for mhoover, Labs migration contractor
     sudo_user { "mhoover": privileges => ['ALL = NOPASSWD: ALL'] }
 
+    class { 'openstack::version' : $openstack_version = "folsom" }
     include standard,
         role::nova::compute
 }
@@ -2918,7 +2917,7 @@
 
     include standard
 
-    $openstack_version = "folsom"
+    class { 'openstack::version' : $openstack_version = "folsom" }
     if $::hostname =~ /^virt1005$/ {
         include role::nova::network,
             role::nova::api

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Icb3734b67091330ac7d1ddf030b0e22869fd4ce1
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: ArielGlenn <ar...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to