aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-03-09 14:31:40 +0000
committerGerrit Code Review <review@openstack.org>2016-03-09 14:31:40 +0000
commit91c5c470890f1716e70ca50a72ff7431e6fac08a (patch)
treecc9f38409309a3603d03c54331833291837ee8ab
parent84f7ec83b82d719609b09117d306706cebef33e9 (diff)
parent6091f0b957287fb47f70eeb527c47fe80c307a31 (diff)
Merge "Add Rabbit IPv6 only support"
-rw-r--r--environments/network-isolation-v6.yaml2
-rw-r--r--overcloud.yaml5
-rw-r--r--puppet/controller.yaml6
-rw-r--r--puppet/manifests/overcloud_controller.pp12
-rw-r--r--puppet/manifests/overcloud_controller_pacemaker.pp11
5 files changed, 34 insertions, 2 deletions
diff --git a/environments/network-isolation-v6.yaml b/environments/network-isolation-v6.yaml
index d1d0818e..4c071747 100644
--- a/environments/network-isolation-v6.yaml
+++ b/environments/network-isolation-v6.yaml
@@ -49,3 +49,5 @@ parameter_defaults:
MongoDbIPv6: True
# Enable various IPv6 features in Nova.
NovaIPv6: True
+ # Enable IPv6 environment for RabbitMQ.
+ RabbitIPv6: true
diff --git a/overcloud.yaml b/overcloud.yaml
index 106bce95..e540b9c4 100644
--- a/overcloud.yaml
+++ b/overcloud.yaml
@@ -303,6 +303,10 @@ parameters:
default: 16384
description: Configures RabbitMQ FD limit
type: string
+ RabbitIPv6:
+ default: false
+ description: Enable IPv6 in RabbitMQ
+ type: boolean
SnmpdReadonlyUserName:
default: ro_snmp_user
description: The user name for SNMPd with readonly rights running on all Overcloud nodes
@@ -983,6 +987,7 @@ resources:
RabbitClientUseSSL: {get_param: RabbitClientUseSSL}
RabbitClientPort: {get_param: RabbitClientPort}
RabbitFDLimit: {get_param: RabbitFDLimit}
+ RabbitIPv6: {get_param: RabbitIPv6}
SaharaPassword: {get_param: SaharaPassword}
SnmpdReadonlyUserName: {get_param: SnmpdReadonlyUserName}
SnmpdReadonlyUserPassword: {get_param: SnmpdReadonlyUserPassword}
diff --git a/puppet/controller.yaml b/puppet/controller.yaml
index 370d6e63..186dce64 100644
--- a/puppet/controller.yaml
+++ b/puppet/controller.yaml
@@ -617,6 +617,10 @@ parameters:
default: 16384
description: Configures RabbitMQ FD limit
type: string
+ RabbitIPv6:
+ default: false
+ description: Enable IPv6 in RabbitMQ
+ type: boolean
RedisVirtualIP:
type: string
default: '' # Has to be here because of the ignored empty value bug
@@ -1185,6 +1189,7 @@ resources:
rabbit_cookie: {get_param: RabbitCookie}
rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
rabbit_client_port: {get_param: RabbitClientPort}
+ rabbit_ipv6: {get_param: RabbitIPv6}
mongodb_no_journal: {get_param: MongoDbNoJournal}
mongodb_ipv6: {get_param: MongoDbIPv6}
# We need to force this into quotes or hiera will return integer causing
@@ -1603,6 +1608,7 @@ resources:
rabbitmq::file_limit: {get_input: rabbit_fd_limit}
rabbitmq::default_user: {get_input: rabbit_username}
rabbitmq::default_pass: {get_input: rabbit_password}
+ rabbit_ipv6: {get_input: rabbit_ipv6}
# Redis
redis::bind: {get_input: redis_network}
redis_vip: {get_input: redis_vip}
diff --git a/puppet/manifests/overcloud_controller.pp b/puppet/manifests/overcloud_controller.pp
index 1d1dc5c5..ecab5b5a 100644
--- a/puppet/manifests/overcloud_controller.pp
+++ b/puppet/manifests/overcloud_controller.pp
@@ -117,13 +117,23 @@ if hiera('step') >= 2 {
$rabbit_nodes = hiera('rabbit_node_ips')
if count($rabbit_nodes) > 1 {
+
+ $rabbit_ipv6 = str2bool(hiera('rabbit_ipv6', false))
+ if $rabbit_ipv6 {
+ $rabbit_env = merge(hiera('rabbitmq_environment'), {
+ 'RABBITMQ_SERVER_START_ARGS' => '"-proto_dist inet6_tcp"'
+ })
+ } else {
+ $rabbit_env = hiera('rabbitmq_environment')
+ }
+
class { '::rabbitmq':
config_cluster => true,
cluster_nodes => $rabbit_nodes,
tcp_keepalive => false,
config_kernel_variables => hiera('rabbitmq_kernel_variables'),
config_variables => hiera('rabbitmq_config_variables'),
- environment_variables => hiera('rabbitmq_environment'),
+ environment_variables => $rabbit_env,
}
rabbitmq_policy { 'ha-all@/':
pattern => '^(?!amq\.).*',
diff --git a/puppet/manifests/overcloud_controller_pacemaker.pp b/puppet/manifests/overcloud_controller_pacemaker.pp
index fb04c45f..abc0543f 100644
--- a/puppet/manifests/overcloud_controller_pacemaker.pp
+++ b/puppet/manifests/overcloud_controller_pacemaker.pp
@@ -100,12 +100,21 @@ if hiera('step') >= 1 {
# avoid races where non-master nodes attempt to start without
# config (eg. binding on 0.0.0.0)
# The module ignores erlang_cookie if cluster_config is false
+ $rabbit_ipv6 = str2bool(hiera('rabbit_ipv6', false))
+ if $rabbit_ipv6 {
+ $rabbit_env = merge(hiera('rabbitmq_environment'), {
+ 'RABBITMQ_SERVER_START_ARGS' => '"-proto_dist inet6_tcp"'
+ })
+ } else {
+ $rabbit_env = hiera('rabbitmq_environment')
+ }
+
class { '::rabbitmq':
service_manage => false,
tcp_keepalive => false,
config_kernel_variables => hiera('rabbitmq_kernel_variables'),
config_variables => hiera('rabbitmq_config_variables'),
- environment_variables => hiera('rabbitmq_environment'),
+ environment_variables => $rabbit_env,
} ->
file { '/var/lib/rabbitmq/.erlang.cookie':
ensure => file,