Comment 8 for bug 1773219

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to puppet-tripleo (stable/queens)

Reviewed: https://review.openstack.org/571064
Committed: https://git.openstack.org/cgit/openstack/puppet-tripleo/commit/?id=f90011dadbe2599ccf9ff4469bdea93413c6d0d2
Submitter: Zuul
Branch: stable/queens

commit f90011dadbe2599ccf9ff4469bdea93413c6d0d2
Author: Michele Baldessari <email address hidden>
Date: Thu May 24 18:47:02 2018 +0200

    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 <email address hidden>
    Depends-On: Ie240b8a4217827dd8ade82479a828817d63143ba
    Closes-bug: #1773219
    Change-Id: I5bd49c4a1b13b2310f8a1173aa6b86abfa5dab3d
    (cherry picked from commit f2484a0bf9e64ff84979abe9b70e7f65957b9d26)