aboutsummaryrefslogtreecommitdiffstats
path: root/puppet
diff options
context:
space:
mode:
authorDan Prince <dprince@redhat.com>2015-05-27 09:52:56 -0400
committerDan Prince <dprince@redhat.com>2015-06-03 08:58:13 -0400
commit17028aa9c21faa00cc5abb0070f13ebc5b5c67aa (patch)
treeb1d5d754e23856ce9d4d5a0e1199b9ce2203a902 /puppet
parentd413eb63f3d317c56b24282223f12dfacc0f9ae3 (diff)
Make all-nodes Ip networks configurable
This patch adds a new NetIpListMap abstraction which we can use to make the all-nodes-config IP list network assignments configurable. Ip address lists for all overcloud services which require IPs were added to all-nodes-config so that puppet manifests can be directly supplied the correct network list for each service. Change-Id: I209f2b4f97a4bb78648c54813dad8615770bcf1a
Diffstat (limited to 'puppet')
-rw-r--r--puppet/all-nodes-config.yaml171
-rw-r--r--puppet/manifests/overcloud_controller.pp7
-rw-r--r--puppet/manifests/overcloud_controller_pacemaker.pp6
3 files changed, 167 insertions, 17 deletions
diff --git a/puppet/all-nodes-config.yaml b/puppet/all-nodes-config.yaml
index 963835e9..c50d6820 100644
--- a/puppet/all-nodes-config.yaml
+++ b/puppet/all-nodes-config.yaml
@@ -16,6 +16,40 @@ parameters:
type: comma_delimited_list
controller_names:
type: comma_delimited_list
+ rabbit_node_ips:
+ type: comma_delimited_list
+ mongo_node_ips:
+ type: comma_delimited_list
+ redis_node_ips:
+ type: comma_delimited_list
+ memcache_node_ips:
+ type: comma_delimited_list
+ mysql_node_ips:
+ type: comma_delimited_list
+ horizon_node_ips:
+ type: comma_delimited_list
+ heat_api_node_ips:
+ type: comma_delimited_list
+ swift_proxy_node_ips:
+ type: comma_delimited_list
+ ceilometer_api_node_ips:
+ type: comma_delimited_list
+ nova_api_node_ips:
+ type: comma_delimited_list
+ nova_metadata_node_ips:
+ type: comma_delimited_list
+ glance_api_node_ips:
+ type: comma_delimited_list
+ glance_registry_node_ips:
+ type: comma_delimited_list
+ cinder_api_node_ips:
+ type: comma_delimited_list
+ neutron_api_node_ips:
+ type: comma_delimited_list
+ keystone_public_api_node_ips:
+ type: comma_delimited_list
+ keystone_admin_api_node_ips:
+ type: comma_delimited_list
resources:
@@ -65,19 +99,136 @@ resources:
SERVERS_LIST:
list_join:
- "','"
- - {get_param: controller_ips}
+ - {get_param: rabbit_node_ips}
mongo_node_ips:
- list_join:
- - ','
- - {get_param: controller_ips}
+ str_replace:
+ template: "['SERVERS_LIST']"
+ params:
+ SERVERS_LIST:
+ list_join:
+ - "','"
+ - {get_param: mongo_node_ips}
redis_node_ips:
- list_join:
- - ','
- - {get_param: controller_ips}
+ str_replace:
+ template: "['SERVERS_LIST']"
+ params:
+ SERVERS_LIST:
+ list_join:
+ - "','"
+ - {get_param: redis_node_ips}
memcache_node_ips:
- list_join:
- - ','
- - {get_param: controller_ips}
+ str_replace:
+ template: "['SERVERS_LIST']"
+ params:
+ SERVERS_LIST:
+ list_join:
+ - "','"
+ - {get_param: memcache_node_ips}
+ mysql_node_ips:
+ str_replace:
+ template: "['SERVERS_LIST']"
+ params:
+ SERVERS_LIST:
+ list_join:
+ - "','"
+ - {get_param: mysql_node_ips}
+ horizon_node_ips:
+ str_replace:
+ template: "['SERVERS_LIST']"
+ params:
+ SERVERS_LIST:
+ list_join:
+ - "','"
+ - {get_param: horizon_node_ips}
+ heat_api_node_ips:
+ str_replace:
+ template: "['SERVERS_LIST']"
+ params:
+ SERVERS_LIST:
+ list_join:
+ - "','"
+ - {get_param: heat_api_node_ips}
+ swift_proxy_node_ips:
+ str_replace:
+ template: "['SERVERS_LIST']"
+ params:
+ SERVERS_LIST:
+ list_join:
+ - "','"
+ - {get_param: swift_proxy_node_ips}
+ ceilometer_api_node_ips:
+ str_replace:
+ template: "['SERVERS_LIST']"
+ params:
+ SERVERS_LIST:
+ list_join:
+ - "','"
+ - {get_param: ceilometer_api_node_ips}
+ nova_api_node_ips:
+ str_replace:
+ template: "['SERVERS_LIST']"
+ params:
+ SERVERS_LIST:
+ list_join:
+ - "','"
+ - {get_param: nova_api_node_ips}
+ nova_metadata_node_ips:
+ str_replace:
+ template: "['SERVERS_LIST']"
+ params:
+ SERVERS_LIST:
+ list_join:
+ - "','"
+ - {get_param: nova_metadata_node_ips}
+ glance_api_node_ips:
+ str_replace:
+ template: "['SERVERS_LIST']"
+ params:
+ SERVERS_LIST:
+ list_join:
+ - "','"
+ - {get_param: glance_api_node_ips}
+ glance_registry_node_ips:
+ str_replace:
+ template: "['SERVERS_LIST']"
+ params:
+ SERVERS_LIST:
+ list_join:
+ - "','"
+ - {get_param: glance_registry_node_ips}
+ cinder_api_node_ips:
+ str_replace:
+ template: "['SERVERS_LIST']"
+ params:
+ SERVERS_LIST:
+ list_join:
+ - "','"
+ - {get_param: cinder_api_node_ips}
+ neutron_api_node_ips:
+ str_replace:
+ template: "['SERVERS_LIST']"
+ params:
+ SERVERS_LIST:
+ list_join:
+ - "','"
+ - {get_param: neutron_api_node_ips}
+ keystone_public_api_node_ips:
+ str_replace:
+ template: "['SERVERS_LIST']"
+ params:
+ SERVERS_LIST:
+ list_join:
+ - "','"
+ - {get_param: keystone_public_api_node_ips}
+ keystone_admin_api_node_ips:
+ str_replace:
+ template: "['SERVERS_LIST']"
+ params:
+ SERVERS_LIST:
+ list_join:
+ - "','"
+ - {get_param: keystone_admin_api_node_ips}
+
# NOTE(gfidente): interpolation with %{} in the
# hieradata file can't be used as it returns string
ceilometer::rabbit_hosts: *rabbit_nodes_array
diff --git a/puppet/manifests/overcloud_controller.pp b/puppet/manifests/overcloud_controller.pp
index ac765321..9316ae14 100644
--- a/puppet/manifests/overcloud_controller.pp
+++ b/puppet/manifests/overcloud_controller.pp
@@ -48,8 +48,7 @@ if hiera('step') >= 2 {
include ::mongodb::globals
include ::mongodb::server
- $mongo_node_ips = split(hiera('mongo_node_ips'), ',')
- $mongo_node_ips_with_port = suffix($mongo_node_ips, ':27017')
+ $mongo_node_ips_with_port = suffix(hiera('mongo_node_ips'), ':27017')
$mongo_node_string = join($mongo_node_ips_with_port, ',')
$mongodb_replset = hiera('mongodb::server::replset')
@@ -62,7 +61,7 @@ if hiera('step') >= 2 {
}
# Redis
- $redis_node_ips = split(hiera('redis_node_ips'), ',')
+ $redis_node_ips = hiera('redis_node_ips')
$redis_master_hostname = downcase(hiera('bootstrap_nodeid'))
if $redis_master_hostname == $::hostname {
@@ -418,7 +417,7 @@ if hiera('step') >= 3 {
# Horizon
$vhost_params = { add_listen => false }
class { 'horizon':
- cache_server_ip => split(hiera('memcache_node_ips', '127.0.0.1'), ','),
+ cache_server_ip => hiera('memcache_node_ips', '127.0.0.1'),
vhost_extra_params => $vhost_params,
}
diff --git a/puppet/manifests/overcloud_controller_pacemaker.pp b/puppet/manifests/overcloud_controller_pacemaker.pp
index ba25162a..e30cda82 100644
--- a/puppet/manifests/overcloud_controller_pacemaker.pp
+++ b/puppet/manifests/overcloud_controller_pacemaker.pp
@@ -192,7 +192,7 @@ if hiera('step') >= 2 {
}
# NOTE (spredzy) : The replset can only be run
# once all the nodes have joined the cluster.
- $mongo_node_ips = split(hiera('mongo_node_ips'), ',')
+ $mongo_node_ips = hiera('mongo_node_ips')
$mongo_node_ips_with_port = suffix($mongo_node_ips, ':27017')
$mongo_node_string = join($mongo_node_ips_with_port, ',')
$mongodb_replset = hiera('mongodb::server::replset')
@@ -222,7 +222,7 @@ if hiera('step') >= 2 {
}
# Redis
- $redis_node_ips = split(hiera('redis_node_ips'), ',')
+ $redis_node_ips = hiera('redis_node_ips')
$redis_master_hostname = downcase(hiera('bootstrap_nodeid'))
if $redis_master_hostname == $::hostname {
@@ -675,7 +675,7 @@ if hiera('step') >= 3 {
# Horizon
$vhost_params = { add_listen => false }
class { 'horizon':
- cache_server_ip => split(hiera('memcache_node_ips', '127.0.0.1'), ','),
+ cache_server_ip => hiera('memcache_node_ips', '127.0.0.1'),
vhost_extra_params => $vhost_params,
}