/home/zuul/src/opendev.org/openstack/openstack-ansible/tests/roles/bootstrap-host/tasks/prepare_hostname.yml
---
# 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