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 <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits