diff options
author | Jenkins <jenkins@review.openstack.org> | 2015-04-16 08:22:42 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2015-04-16 08:22:42 +0000 |
commit | 49c1b3a1d4db826f3fc21ef90f82c584937cefc2 (patch) | |
tree | 191ac3a83a7dd6ff46c0de412260e649384bc08f | |
parent | bdaeca208cdb879a6875c74a6324af677da95449 (diff) | |
parent | 5963c9a58aeba728eb067295520685a87713fca1 (diff) |
Merge "Perform basic setup of pacemaker cluster on controllers"
-rw-r--r-- | controller.yaml | 3 | ||||
-rw-r--r-- | overcloud-without-mergepy.yaml | 6 | ||||
-rw-r--r-- | puppet/controller-puppet.yaml | 8 | ||||
-rw-r--r-- | puppet/hieradata/controller.yaml | 4 | ||||
-rw-r--r-- | puppet/manifests/overcloud_controller.pp | 17 |
5 files changed, 38 insertions, 0 deletions
diff --git a/controller.yaml b/controller.yaml index 9c0fa0cd..4a21bac7 100644 --- a/controller.yaml +++ b/controller.yaml @@ -59,6 +59,9 @@ parameters: default: 'br-ex' description: Interface where virtual ip will be assigned. type: string + CorosyncAuthKey: + description: Auth encryption key for corosync + type: string Debug: default: '' description: Set to True to enable debugging on all services. diff --git a/overcloud-without-mergepy.yaml b/overcloud-without-mergepy.yaml index d8c84bc0..f61536ca 100644 --- a/overcloud-without-mergepy.yaml +++ b/overcloud-without-mergepy.yaml @@ -516,6 +516,11 @@ resources: HeatAuthEncryptionKey: type: OS::Heat::RandomString + CorosyncAuthKey: + type: OS::Heat::RandomString + properties: + length: 128 + Controller: type: OS::Heat::ResourceGroup properties: @@ -535,6 +540,7 @@ resources: CloudName: {get_param: CloudName} ControlVirtualInterface: {get_param: ControlVirtualInterface} ControllerExtraConfig: {get_param: controllerExtraConfig} + CorosyncAuthKey: {get_resource: CorosyncAuthKey} Debug: {get_param: Debug} EnableGalera: {get_param: EnableGalera} ExtraConfig: {get_param: ExtraConfig} diff --git a/puppet/controller-puppet.yaml b/puppet/controller-puppet.yaml index f9f40a52..c3efc82e 100644 --- a/puppet/controller-puppet.yaml +++ b/puppet/controller-puppet.yaml @@ -59,6 +59,9 @@ parameters: default: 'br-ex' description: Interface where virtual ip will be assigned. type: string + CorosyncAuthKey: + description: Auth encryption key for corosync + type: string Debug: default: '' description: Set to True to enable debugging on all services. @@ -433,6 +436,7 @@ resources: bootstack_nodeid: {get_attr: [Controller, name]} controller_host: {get_attr: [Controller, networks, ctlplane, 0]} controller_virtual_ip: {get_param: VirtualIP} + corosync_auth_key: {get_param: CorosyncAuthKey} neutron_enable_tunneling: {get_param: NeutronEnableTunnelling} heat.watch_server_url: list_join: @@ -622,6 +626,10 @@ resources: bootstack_nodeid: {get_input: bootstack_nodeid} controller_host: {get_input: controller_host} #local-ipv4 + # Pacemaker + corosync::authkey: {get_input: corosync_auth_key} + corosync::bind_address: {get_input: controller_host} + # Swift swift::proxy::proxy_local_net_ip: {get_input: controller_host} swift::proxy::authtoken::auth_uri: {get_input: keystone_auth_uri} diff --git a/puppet/hieradata/controller.yaml b/puppet/hieradata/controller.yaml index 523e9dbe..11ec5e27 100644 --- a/puppet/hieradata/controller.yaml +++ b/puppet/hieradata/controller.yaml @@ -72,6 +72,10 @@ heat::engine::heat_stack_user_role: '' heat::engine::configure_delegated_roles: false heat::engine::trusts_delegated_roles: [] +# pacemaker +corosync::authkey_source: 'string' +corosync::multicast_address: broadcast + mysql::server::manage_config_file: true tripleo::loadbalancer::keystone_admin: true diff --git a/puppet/manifests/overcloud_controller.pp b/puppet/manifests/overcloud_controller.pp index bc4a25bb..aa053bd8 100644 --- a/puppet/manifests/overcloud_controller.pp +++ b/puppet/manifests/overcloud_controller.pp @@ -31,6 +31,23 @@ if hiera('step') >= 1 { controller_hosts => $controller_node_ips, } + class { '::corosync': + quorum_members => $controller_node_ips, + } + corosync::service { 'pacemaker': + version => '0', + } + service { 'pacemaker': + ensure => running, + require => Service['corosync'], + } + cs_property { 'stonith-enabled': + value => 'false', + } + cs_property { 'no-quorum-policy': + value => 'ignore', + } + } if hiera('step') >= 2 { |