Bug 1576148

Summary: Upper case letters in HostnameFormat parameters cause trouble
Product: Red Hat Enterprise Linux 7 Reporter: Andrew Beekhof <abeekhof>
Component: pacemakerAssignee: Ken Gaillot <kgaillot>
Status: CLOSED ERRATA QA Contact: pkomarov
Severity: urgent Docs Contact:
Priority: urgent    
Version: 7.5CC: abeekhof, agurenko, aherr, aschultz, cluster-maint, dpeacock, emacchi, jpokorny, mburns, mkrcmari, mnovacek, pkomarov, rscarazz
Target Milestone: rcKeywords: Regression, Triaged, ZStream
Target Release: 7.6   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: pacemaker-1.1.18-13.el7 Doc Type: Bug Fix
Doc Text:
Previously, it was not possible to set node attributes for Pacemaker Remote nodes with uppercase letters in their name. With this update, Pacemaker now correctly uses a case-insensitive search. As a result, attributes of Pacemaker Remote nodes with uppercase letters in their name work as expected.
Story Points: ---
Clone Of: 1575517
: 1583747 (view as bug list) Environment:
Last Closed: 2018-10-30 07:58:22 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1564654, 1575517, 1585189    
Bug Blocks: 1583747    

Comment 1 Ken Gaillot 2018-05-09 17:23:49 UTC
Regression was introduced by upstream commit 0371b8b and fixed by upstream commit 868ae54.

QA: Test procedure is to create a cluster with a Pacemaker Remote node that has uppercase letters in its name, then try to use pcs node attribute to set an attribute for that node.

Comment 7 Jan Pokorný [poki] 2018-06-14 13:22:20 UTC
Per hostname(5):

> The hostname may be a free-form string up to 64 characters in
> length; however, it is recommended that it consists only of 7-bit
> ASCII lower-case characters and no spaces or dots, and limits itself
> to the format allowed for DNS domain name labels, even though this
> is not a strict requirement.

May I know what pushes you to such a thin ice with not following valid
DNS fragments?

Comment 8 pkomarov 2018-06-18 11:46:59 UTC
Verified, 

using : 
pcs cluster node add-remote 172.17.1.19 TESTremote
crm_attribute -N TESTremote -l reboot -n a-new-attribute -v a-value

pcs status: 


Short : 

[root@controller-2 ~]# pcs status|grep TEST
RemoteOnline: [ TESTremote ]
 TESTremote	(ocf::pacemaker:remote):	Started controller-0
[root@controller-2 ~]# 

Full: 

[root@controller-2 ~]# pcs status
Cluster name: tripleo_cluster
Stack: corosync
Current DC: controller-2 (version 1.1.18-11.el7_5.3-2b07d5c5a9) - partition with quorum
Last updated: Mon Jun 18 10:08:50 2018
Last change: Mon Jun 18 10:00:04 2018 by root via cibadmin on controller-0

13 nodes configured
38 resources configured

Online: [ controller-0 controller-1 controller-2 ]
RemoteOnline: [ TESTremote ]
GuestOnline: [ galera-bundle-0@controller-0 galera-bundle-1@controller-1 galera-bundle-2@controller-2 rabbitmq-bundle-0@controller-0 rabbitmq-bundle-1@controller-1 rabbitmq-bundle-2@controller-2 redis-bundle-0@controller-0 redis-bundle-1@controller-1 redis-bundle-2@controller-2 ]

Full list of resources:

 Docker container set: rabbitmq-bundle [192.168.24.1:8787/rhosp13/openstack-rabbitmq:pcmklatest]
   rabbitmq-bundle-0	(ocf::heartbeat:rabbitmq-cluster):	Started controller-0
   rabbitmq-bundle-1	(ocf::heartbeat:rabbitmq-cluster):	Started controller-1
   rabbitmq-bundle-2	(ocf::heartbeat:rabbitmq-cluster):	Started controller-2
 Docker container set: galera-bundle [192.168.24.1:8787/rhosp13/openstack-mariadb:pcmklatest]
   galera-bundle-0	(ocf::heartbeat:galera):	Master controller-0
   galera-bundle-1	(ocf::heartbeat:galera):	Master controller-1
   galera-bundle-2	(ocf::heartbeat:galera):	Master controller-2
 Docker container set: redis-bundle [192.168.24.1:8787/rhosp13/openstack-redis:pcmklatest]
   redis-bundle-0	(ocf::heartbeat:redis):	Slave controller-0
   redis-bundle-1	(ocf::heartbeat:redis):	Master controller-1
   redis-bundle-2	(ocf::heartbeat:redis):	Slave controller-2
 ip-192.168.24.10	(ocf::heartbeat:IPaddr2):	Started controller-0
 ip-10.0.0.102	(ocf::heartbeat:IPaddr2):	Started controller-1
 ip-172.17.1.12	(ocf::heartbeat:IPaddr2):	Started controller-2
 ip-172.17.1.10	(ocf::heartbeat:IPaddr2):	Started controller-0
 ip-172.17.3.11	(ocf::heartbeat:IPaddr2):	Started controller-1
 ip-172.17.4.15	(ocf::heartbeat:IPaddr2):	Started controller-2
 Docker container set: haproxy-bundle [192.168.24.1:8787/rhosp13/openstack-haproxy:pcmklatest]
   haproxy-bundle-docker-0	(ocf::heartbeat:docker):	Started controller-0
   haproxy-bundle-docker-1	(ocf::heartbeat:docker):	Started controller-1
   haproxy-bundle-docker-2	(ocf::heartbeat:docker):	Started controller-2
 Docker container: openstack-cinder-volume [192.168.24.1:8787/rhosp13/openstack-cinder-volume:pcmklatest]
   openstack-cinder-volume-docker-0	(ocf::heartbeat:docker):	Started controller-0
 TESTremote	(ocf::pacemaker:remote):	Started controller-0


Pacemaker Version: 1.1.18-13

[stack@undercloud-0 ~]$  ansible overcloud -m shell -b -a 'rpm -qa|grep pace'

compute-0 | SUCCESS | rc=0 >>
puppet-pacemaker-0.7.2-0.20180423212248.fee47ee.el7ost.noarch
pacemaker-remote-1.1.18-13.el7.x86_64
userspace-rcu-0.7.16-1.el7cp.x86_64
pacemaker-cli-1.1.18-13.el7.x86_64
pacemaker-cluster-libs-1.1.18-13.el7.x86_64
pacemaker-1.1.18-13.el7.x86_64
pacemaker-libs-1.1.18-13.el7.x86_64
ansible-pacemaker-1.0.4-0.20180220234310.0e4d7c0.el7ost.noarch

compute-1 | SUCCESS | rc=0 >>
puppet-pacemaker-0.7.2-0.20180423212248.fee47ee.el7ost.noarch
pacemaker-remote-1.1.18-13.el7.x86_64
userspace-rcu-0.7.16-1.el7cp.x86_64
pacemaker-cli-1.1.18-13.el7.x86_64
pacemaker-cluster-libs-1.1.18-13.el7.x86_64
pacemaker-1.1.18-13.el7.x86_64
pacemaker-libs-1.1.18-13.el7.x86_64
ansible-pacemaker-1.0.4-0.20180220234310.0e4d7c0.el7ost.noarch

controller-1 | SUCCESS | rc=0 >>
puppet-pacemaker-0.7.2-0.20180423212248.fee47ee.el7ost.noarch
pacemaker-remote-1.1.18-13.el7.x86_64
userspace-rcu-0.7.16-1.el7cp.x86_64
pacemaker-cli-1.1.18-13.el7.x86_64
pacemaker-cluster-libs-1.1.18-13.el7.x86_64
pacemaker-1.1.18-13.el7.x86_64
pacemaker-libs-1.1.18-13.el7.x86_64
ansible-pacemaker-1.0.4-0.20180220234310.0e4d7c0.el7ost.noarch

controller-2 | SUCCESS | rc=0 >>
puppet-pacemaker-0.7.2-0.20180423212248.fee47ee.el7ost.noarch
pacemaker-remote-1.1.18-13.el7.x86_64
userspace-rcu-0.7.16-1.el7cp.x86_64
pacemaker-cli-1.1.18-13.el7.x86_64
pacemaker-cluster-libs-1.1.18-13.el7.x86_64
pacemaker-1.1.18-13.el7.x86_64
pacemaker-libs-1.1.18-13.el7.x86_64
ansible-pacemaker-1.0.4-0.20180220234310.0e4d7c0.el7ost.noarch

controller-0 | SUCCESS | rc=0 >>
puppet-pacemaker-0.7.2-0.20180423212248.fee47ee.el7ost.noarch
pacemaker-remote-1.1.18-13.el7.x86_64
userspace-rcu-0.7.16-1.el7cp.x86_64
pacemaker-cli-1.1.18-13.el7.x86_64
pacemaker-cluster-libs-1.1.18-13.el7.x86_64
pacemaker-1.1.18-13.el7.x86_64
pacemaker-libs-1.1.18-13.el7.x86_64
ansible-pacemaker-1.0.4-0.20180220234310.0e4d7c0.el7ost.noarch

Comment 10 errata-xmlrpc 2018-10-30 07:58:22 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2018:3055