Set meta container-attribute-target=host attribute

This is needed because when we run bundles we actually
want to store attributes on a per-node basis and not on a per-bundle
basis. By activating this attribute pacemaker will pass
some extra OCS_RESKEY_CRM_meta attributes that will help us in this
decision.

We can merge this once we have packages for pacemaker and
resource-agents releases that contain the necessary fixes.

Proper pacemaker and resource-agents are now in the repo [1] so
we can merge it and backport it to pike.

[1] https://buildlogs.centos.org/centos/7/cloud/x86_64/openstack-pike/

Closes-Bug: #1713007

Change-Id: I0dd06e953b4c81f217d0f4199b2337e4c3358086
(cherry picked from commit 6bcb011723)
This commit is contained in:
Michele Baldessari 2017-08-25 10:21:11 +02:00 committed by Chris Jones
parent 67e1e603a6
commit 250d979aea
4 changed files with 8 additions and 7 deletions

View File

@ -100,9 +100,10 @@ class tripleo::profile::pacemaker::database::mysql_bundle (
$galera_nodes_count = count($galera_nodes_array)
# construct a galera-pacemaker name mapping for the resource agent
# [galera-bundle-0:galera_node[0], galera-bundle-1:galera_node[1], ... ,galera-bundle-n:galera_node[n]]
$host_map_array = $galera_nodes_array.map |$i, $host| {
"galera-bundle-${i}:${host}"
# [galera-0:galera-0.internalapi.local, ...]
$host_map_array_tmp = zip($galera_node_names_lookup, $galera_fqdns_names_lookup)
$host_map_array = $host_map_array_tmp.map |$i| {
"${i[0]}:${i[1]}"
}
$cluster_host_map_string = join($host_map_array, ';')
@ -314,7 +315,7 @@ MYSQL_HOST=localhost\n",
pacemaker::resource::ocf { 'galera':
ocf_agent_name => 'heartbeat:galera',
master_params => '',
meta_params => "master-max=${galera_nodes_count} ordered=true",
meta_params => "master-max=${galera_nodes_count} ordered=true container-attribute-target=host",
op_params => 'promote timeout=300s on-fail=block',
resource_params => "additional_parameters='--open-files-limit=16384' enable_creation=true wsrep_cluster_address='gcomm://${galera_nodes}' cluster_host_map='${cluster_host_map_string}'",
tries => $pcs_tries,

View File

@ -150,7 +150,7 @@ class tripleo::profile::pacemaker::database::redis_bundle (
ocf_agent_name => 'heartbeat:redis',
resource_params => 'wait_last_known_master=true',
master_params => '',
meta_params => 'notify=true ordered=true interleave=true',
meta_params => 'notify=true ordered=true interleave=true container-attribute-target=host',
op_params => 'start timeout=200s stop timeout=200s',
tries => $pcs_tries,
location_rule => {

View File

@ -139,7 +139,7 @@ class tripleo::profile::pacemaker::ovn_dbs_bundle (
resource_params => "master_ip=${ovn_dbs_vip} nb_master_port=${nb_db_port} sb_master_port=${sb_db_port} manage_northd=yes",
tries => $pcs_tries,
location_rule => $ovn_dbs_location_rule,
meta_params => 'notify=true',
meta_params => 'notify=true container-attribute-target=host',
bundle => 'ovn-dbs-bundle',
}

View File

@ -206,7 +206,7 @@ class tripleo::profile::pacemaker::rabbitmq_bundle (
pacemaker::resource::ocf { 'rabbitmq':
ocf_agent_name => 'heartbeat:rabbitmq-cluster',
resource_params => $params,
meta_params => 'notify=true',
meta_params => 'notify=true container-attribute-target=host',
op_params => 'start timeout=200s stop timeout=200s',
tries => $pcs_tries,
location_rule => {