Fix up property names in case of mixed case hostnames

When deploying a stack that containes mixed-case hostnames
the following error might be triggered:
Debug: try 15/20: /usr/sbin/pcs -f
/var/lib/pacemaker/cib/puppet-cib-backup20180405-8-1sqw3dc property set
--node TEST-STACK34-controller-1 redis-role=true
Debug: Error: Error: unable to set attribute redis-role
Could not map name=TEST-STACK34-controller-1 to a UUID
while the name in the cluster is test-stack34-controller-1

This used to work pre-bundles because we used the facter provided
$::hostname variable which was lower-cased for us. With bundles we
switched to setting cluster properties from the service bootstrap nodes
and so we used the '<service>_short_node_names' hiera key which might
contain mixed-case hostnames.

In order to fix this we just downcase() the short_node_names hiera
string that we loop on so we can get the same behaviour we had on bare
metal.

Tested on an env with mixed-case hostnames:
[root@uppercaseovercloud-controller-0 keystone]# hiera -c /etc/puppet/hiera.yaml rabbitmq_short_node_names
["UPPERCASEOverCloud-controller-0",
 "UPPERCASEOverCloud-controller-1",
 "UPPERCASEOverCloud-controller-2"]

Cluster pcs properties were set correctly:
[root@uppercaseovercloud-controller-0 keystone]# pcs property |grep rabbitmq
 uppercaseovercloud-controller-0: galera-role=true haproxy-role=true rabbitmq-role=true redis-role=true rmq-node-attr-last-known-rabbitmq=rabbit@uppercaseovercloud-controller-0
 uppercaseovercloud-controller-1: galera-role=true haproxy-role=true rabbitmq-role=true redis-role=true rmq-node-attr-last-known-rabbitmq=rabbit@uppercaseovercloud-controller-1
 uppercaseovercloud-controller-2: galera-role=true haproxy-role=true rabbitmq-role=true redis-role=true rmq-node-attr-last-known-rabbitmq=rabbit@uppercaseovercloud-controller-2

Co-Authored-By: Damien Ciabrini <dciabrin@redhat.com>
Depends-On: Ie240b8a4217827dd8ade82479a828817d63143ba
Closes-bug: #1773219
Change-Id: I5bd49c4a1b13b2310f8a1173aa6b86abfa5dab3d
This commit is contained in:
Michele Baldessari 2018-05-24 18:47:02 +02:00
parent 19114034ea
commit f2484a0bf9
8 changed files with 8 additions and 8 deletions

View File

@ -67,7 +67,7 @@ class tripleo::profile::pacemaker::cinder::backup_bundle (
property => 'cinder-backup-role',
value => true,
tries => $pcs_tries,
node => $node_name,
node => downcase($node_name),
before => Pacemaker::Resource::Bundle[$::cinder::params::backup_service],
}
}

View File

@ -67,7 +67,7 @@ class tripleo::profile::pacemaker::cinder::volume_bundle (
property => 'cinder-volume-role',
value => true,
tries => $pcs_tries,
node => $node_name,
node => downcase($node_name),
before => Pacemaker::Resource::Bundle[$::cinder::params::volume_service],
}
}

View File

@ -289,7 +289,7 @@ MYSQL_HOST=localhost\n",
property => 'galera-role',
value => true,
tries => $pcs_tries,
node => $node_name,
node => downcase($node_name),
before => Pacemaker::Resource::Bundle['galera-bundle'],
}
# lint:endignore

View File

@ -217,7 +217,7 @@ slave-announce-port ${local_tuple[0][2]}
property => 'redis-role',
value => true,
tries => $pcs_tries,
node => $node_name,
node => downcase($node_name),
before => Pacemaker::Resource::Bundle['redis-bundle'],
}
}

View File

@ -103,7 +103,7 @@ class tripleo::profile::pacemaker::haproxy_bundle (
property => 'haproxy-role',
value => true,
tries => $pcs_tries,
node => $node_name,
node => downcase($node_name),
before => Pacemaker::Resource::Bundle['haproxy-bundle'],
}
}

View File

@ -62,7 +62,7 @@ class tripleo::profile::pacemaker::manila::share_bundle (
property => 'manila-share-role',
value => true,
tries => $pcs_tries,
node => $node_name,
node => downcase($node_name),
before => Pacemaker::Resource::Bundle[$::manila::params::share_service],
}
}

View File

@ -90,7 +90,7 @@ class tripleo::profile::pacemaker::ovn_dbs_bundle (
property => 'ovn-dbs-role',
value => true,
tries => $pcs_tries,
node => $node_name,
node => downcase($node_name),
before => Pacemaker::Resource::Bundle['ovn-dbs-bundle'],
}
}

View File

@ -139,7 +139,7 @@ class tripleo::profile::pacemaker::rabbitmq_bundle (
property => 'rabbitmq-role',
value => true,
tries => $pcs_tries,
node => $node_name,
node => downcase($node_name),
before => Pacemaker::Resource::Bundle['rabbitmq-bundle'],
}
}