Jean-Philippe Evrard de151e62c5 Document bootstrap host failure on leap 15
Bootstrap host is relying on hostname ansible module to set
hostname. On Leap 15, we are using /etc/os-release instead of
suse-release, which breaks the platform stdlib on python2 and
python3. There is no intention upstream to patch `platform`,
as this has been deprecated, to accept any workaround SUSE needs
to implement. Instead, it is advised to move to the `distro`
library. Hopefully, Ansible is already moving to this. Because
it's very internal to ansible, ansible vendors-in its own version
of it. When we'll upgrade ansible to 2.8 or above, we should get
an improvement (to be tested), or be able to fix it in Ansible
and in distro.

Without this patch, we don't know how to fix, nor who is
responsible of the fix. This should clarify things.

Change-Id: I4394755fbcc91c56e11037729a7683ff658a9f59
2019-05-15 09:37:13 +02: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 aio1
127.0.1.1 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