aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Mágr <mmagr@redhat.com>2016-01-18 14:57:43 +0100
committerEmilien Macchi <emilien@redhat.com>2016-03-09 04:36:01 +0000
commit6091f0b957287fb47f70eeb527c47fe80c307a31 (patch)
treecf88f7a70706250711a4d07b5b66f07d095ca6b0
parentc0cb85170dbd6f0c812d59d858bfeac9a2bf9de9 (diff)
Add Rabbit IPv6 only support
Adds Rabbit environment variable required for IPv6 only support Change-Id: Iec209ca83a5b0708ac828c4afaf9d2222e597f24
-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 343b1bc2..4dae673f 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 c97012d7..1d506a72 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 0d6a2389..b8600cf7 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 2bb081aa..ba8c449c 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,