diff options
author | Jenkins <jenkins@review.openstack.org> | 2016-03-09 14:31:40 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2016-03-09 14:31:40 +0000 |
commit | 91c5c470890f1716e70ca50a72ff7431e6fac08a (patch) | |
tree | cc9f38409309a3603d03c54331833291837ee8ab | |
parent | 84f7ec83b82d719609b09117d306706cebef33e9 (diff) | |
parent | 6091f0b957287fb47f70eeb527c47fe80c307a31 (diff) |
Merge "Add Rabbit IPv6 only support"
-rw-r--r-- | environments/network-isolation-v6.yaml | 2 | ||||
-rw-r--r-- | overcloud.yaml | 5 | ||||
-rw-r--r-- | puppet/controller.yaml | 6 | ||||
-rw-r--r-- | puppet/manifests/overcloud_controller.pp | 12 | ||||
-rw-r--r-- | puppet/manifests/overcloud_controller_pacemaker.pp | 11 |
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, |