diff options
author | 2016-01-13 13:04:22 -0500 | |
---|---|---|
committer | 2016-03-05 03:23:04 +0100 | |
commit | 664df3372d9b922c08a1e893ee49632613cbcc6b (patch) | |
tree | 0745a8ef289742a7b41275f06ccd1cb47df6314c | |
parent | 7981f69c034c5d08abade7f62161aeec65045814 (diff) |
Allow to enable IPv6 on Corosync
To enable IPv6 in Corosync, you'll need to set the --ipv6 parameter when
building the cluster.
To do so, we need to specify this parameter in puppet configuration when
running ::pacemaker::corosync class.
So we have now a new parameter: CorosyncIPv6 which is a boolean, False
by default. If set to True, it will pass right options to enable IPv6
when building the Pacemaker cluster.
Change-Id: I485f1399964ddd7a201ed19ec6580b8a136b3acd
-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_pacemaker.pp | 11 |
4 files changed, 22 insertions, 2 deletions
diff --git a/environments/network-isolation-v6.yaml b/environments/network-isolation-v6.yaml index 8a3d806e..d1d0818e 100644 --- a/environments/network-isolation-v6.yaml +++ b/environments/network-isolation-v6.yaml @@ -43,6 +43,8 @@ resource_registry: OS::TripleO::BlockStorage::Ports::StorageMgmtPort: ../network/ports/storage_mgmt_v6.yaml parameter_defaults: + # Enable IPv6 for Corosync. This is required when Corosync is using an IPv6 IP in the cluster. + CorosyncIPv6: True # Enable IPv6 for MongoDB. This is required when MongoDB is using an IPv6 IP. MongoDbIPv6: True # Enable various IPv6 features in Nova. diff --git a/overcloud.yaml b/overcloud.yaml index c91d2e11..0f33665e 100644 --- a/overcloud.yaml +++ b/overcloud.yaml @@ -77,6 +77,10 @@ parameters: default: [] description: Should be used for arbitrary ips. type: json + CorosyncIPv6: + default: false + description: Enable IPv6 in Corosync + type: boolean Debug: default: '' description: Set to True to enable debugging on all services. @@ -906,6 +910,7 @@ resources: CloudDomain: {get_param: CloudDomain} ControlVirtualInterface: {get_param: ControlVirtualInterface} ControllerExtraConfig: {get_param: controllerExtraConfig} + CorosyncIPv6: {get_param: CorosyncIPv6} Debug: {get_param: Debug} EnableFencing: {get_param: EnableFencing} ManageFirewall: {get_param: ManageFirewall} diff --git a/puppet/controller.yaml b/puppet/controller.yaml index 733a9d72..6b121470 100644 --- a/puppet/controller.yaml +++ b/puppet/controller.yaml @@ -115,6 +115,10 @@ parameters: default: 'br-ex' description: Interface where virtual ip will be assigned. type: string + CorosyncIPv6: + default: false + description: Enable IPv6 in Corosync + type: boolean Debug: default: '' description: Set to True to enable debugging on all services. @@ -1158,6 +1162,7 @@ resources: snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword} nova_enable_db_purge: {get_param: NovaEnableDBPurge} nova_ipv6: {get_param: NovaIPv6} + corosync_ipv6: {get_param: CorosyncIPv6} nova_password: {get_param: NovaPassword} nova_dsn: list_join: @@ -1304,6 +1309,7 @@ resources: enable_fencing: {get_input: enable_fencing} enable_load_balancer: {get_input: enable_load_balancer} hacluster_pwd: {get_input: pcsd_password} + corosync_ipv6: {get_input: corosync_ipv6} tripleo::fencing::config: {get_input: fencing_config} # Swift diff --git a/puppet/manifests/overcloud_controller_pacemaker.pp b/puppet/manifests/overcloud_controller_pacemaker.pp index fb36893d..1a13167b 100644 --- a/puppet/manifests/overcloud_controller_pacemaker.pp +++ b/puppet/manifests/overcloud_controller_pacemaker.pp @@ -62,6 +62,12 @@ if hiera('step') >= 1 { } $pacemaker_cluster_members = downcase(regsubst(hiera('controller_node_names'), ',', ' ', 'G')) + $corosync_ipv6 = str2bool(hiera('corosync_ipv6', false)) + if $corosync_ipv6 { + $cluster_setup_extras = { '--ipv6' => '' } + } else { + $cluster_setup_extras = {} + } user { 'hacluster': ensure => present, } -> @@ -69,8 +75,9 @@ if hiera('step') >= 1 { hacluster_pwd => hiera('hacluster_pwd'), } -> class { '::pacemaker::corosync': - cluster_members => $pacemaker_cluster_members, - setup_cluster => $pacemaker_master, + cluster_members => $pacemaker_cluster_members, + setup_cluster => $pacemaker_master, + cluster_setup_extras => $cluster_setup_extras, } class { '::pacemaker::stonith': disable => !$enable_fencing, |