openstack-ansible/tests/roles/bootstrap-host/tasks/prepare_hostname.yml
Jonathan Rosser 40d82db45b Differentiate AIO /etc/hosts entries for localhost and aio1
This patch ensures that localhost resolves to a loopback address, and
aio1 resolves to the address assigned to br-mgmt.

Without this change rabbitmq is unable to function properly when it is
bound to the mgmt ip rather than 0.0.0.0 as there is a mismatch between
the hostname 'aio1' and the /etc/hosts entry for that ip.

The rabbitmq role corrects /etc/hosts entries for 127.0.0.1, but not
127.0.1.1 so the extra entry is removed. The aio1 hosts entry is changed
to resolve to 172.29.236.100.

Change-Id: I194fcab8b84723cff76ec09315e264ec7840ea64
2019-07-12 08:46:33 +00:00

48 lines
1.6 KiB
YAML

---
# Copyright 2018, Rackspace US, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
- name: Ensure the hosts file is templated appropriately
copy:
content: |
127.0.0.1 localhost
172.29.236.100 aio1.openstack.local aio1
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
dest: /etc/hosts
backup: yes
- name: Ensure hostname is set
block:
- name: Set hostname using the Ansible module
hostname:
name: aio1
# NOTE(hwoarang) The hostname module does not work on Leap 15 because of
# https://bugzilla.novell.com/show_bug.cgi?id=997614
# As such we need to fallback to using the command directly.
# NOTE(evrardjp): Remove this when Ansible 2.8 is out, as Ansible now
# vendors in the distro python package, which _should_ technically help.
# (To be tested)
rescue:
- name: Set hostname using hostnamectl
command: hostnamectl set-hostname aio1
tags:
- skip_ansible_lint