When deploying a overcloud in ha mode, we've got some trailing '\n' generated in the undercloud /etc/hosts file as below:
127.0.0.1 undercloud.localdomain undercloud localhost
## BEGIN OVERCLOUD HOSTS #nodocs
172.16.2.12 overcloud-controller-0.localdomain overcloud-controller-0
10.0.0.7 overcloud-controller-0.external.localdomain overcloud-controller-0.external
172.16.2.12 overcloud-controller-0.internalapi.localdomain overcloud-controller-0.internalapi
172.16.1.10 overcloud-controller-0.storage.localdomain overcloud-controller-0.storage
172.16.3.7 overcloud-controller-0.storagemgmt.localdomain overcloud-controller-0.storagemgmt
172.16.0.12 overcloud-controller-0.tenant.localdomain overcloud-controller-0.tenant
192.168.24.18 overcloud-controller-0.management.localdomain overcloud-controller-0.management
192.168.24.18 overcloud-controller-0.ctlplane.localdomain overcloud-controller-0.ctlplane
\n172.16.2.5 overcloud-controller-1.localdomain overcloud-controller-1
10.0.0.12 overcloud-controller-1.external.localdomain overcloud-controller-1.external
172.16.2.5 overcloud-controller-1.internalapi.localdomain overcloud-controller-1.internalapi
172.16.1.8 overcloud-controller-1.storage.localdomain overcloud-controller-1.storage
172.16.3.13 overcloud-controller-1.storagemgmt.localdomain overcloud-controller-1.storagemgmt
172.16.0.4 overcloud-controller-1.tenant.localdomain overcloud-controller-1.tenant
192.168.24.8 overcloud-controller-1.management.localdomain overcloud-controller-1.management
192.168.24.8 overcloud-controller-1.ctlplane.localdomain overcloud-controller-1.ctlplane
\n172.16.2.15 overcloud-controller-2.localdomain overcloud-controller-2
10.0.0.11 overcloud-controller-2.external.localdomain overcloud-controller-2.external
172.16.2.15 overcloud-controller-2.internalapi.localdomain overcloud-controller-2.internalapi
172.16.1.7 overcloud-controller-2.storage.localdomain overcloud-controller-2.storage
172.16.3.15 overcloud-controller-2.storagemgmt.localdomain overcloud-controller-2.storagemgmt
172.16.0.15 overcloud-controller-2.tenant.localdomain overcloud-controller-2.tenant
192.168.24.12 overcloud-controller-2.management.localdomain overcloud-controller-2.management
192.168.24.12 overcloud-controller-2.ctlplane.localdomain overcloud-controller-2.ctlplane
172.16.2.14 overcloud-novacompute-0.localdomain overcloud-novacompute-0
192.168.24.14 overcloud-novacompute-0.external.localdomain overcloud-novacompute-0.external
172.16.2.14 overcloud-novacompute-0.internalapi.localdomain overcloud-novacompute-0.internalapi
172.16.1.4 overcloud-novacompute-0.storage.localdomain overcloud-novacompute-0.storage
192.168.24.14 overcloud-novacompute-0.storagemgmt.localdomain overcloud-novacompute-0.storagemgmt
172.16.0.10 overcloud-novacompute-0.tenant.localdomain overcloud-novacompute-0.tenant
192.168.24.14 overcloud-novacompute-0.management.localdomain overcloud-novacompute-0.management
192.168.24.14 overcloud-novacompute-0.ctlplane.localdomain overcloud-novacompute-0.ctlplane
10.0.0.13 overcloud.localdomain
192.168.24.10 overcloud.ctlplane.localdomain
172.16.2.8 overcloud.internalapi.localdomain
172.16.1.13 overcloud.storage.localdomain
172.16.3.10 overcloud.storagemgmt.localdomain
Fix proposed to branch: master /review. openstack. org/448152
Review: https:/