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.
HeatAuthEncryptionKey:
type: OS::Heat::RandomString
+ CorosyncAuthKey:
+ type: OS::Heat::RandomString
+ properties:
+ length: 128
+
Controller:
type: OS::Heat::ResourceGroup
properties:
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}
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.
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:
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}
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
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 {