- name: "Set 'iiab_fqdn: {{ iiab_hostname }}.{{ iiab_domain }}'"
  set_fact:
    iiab_fqdn: "{{ iiab_hostname }}.{{ iiab_domain }}"
    FQDN_changed: False

- name: Does /etc/cloud/cloud.cfg exist e.g. is this Ubuntu Server 18+ ?
  stat:
    path: /etc/cloud/cloud.cfg
  register: cloudcfg_test

- name: "If so, ensure 'preserve_hostname: true' is in /etc/cloud/cloud.cfg"
  lineinfile:
    path: /etc/cloud/cloud.cfg
    regexp: '^preserve_hostname*'
    line: 'preserve_hostname: true'
    state: present
  when: cloudcfg_test.stat.exists

- name: 'Set /etc/hostname by running: hostnamectl set-hostname "{{ iiab_hostname }}"'
  command: hostnamectl set-hostname "{{ iiab_hostname }}"
  when: not ansible_is_chroot
  # 2021-08-31: Periods in /etc/hostname fail with some WiFi routers (#2904)
  # command: hostnamectl set-hostname "{{ iiab_hostname }}.{{ iiab_domain }}"

# 2022-07-11: Should the first entry match just hostname and domain move to
# after localhost?  See PR's #1 & #8 -- with discussion on #3302 -- and also:
# 1. /etc/hosts    -- #1815 solved by PR #1847
# 2. /etc/hostname -- #2904 solved by PR #2973
- name: 'Put FQDN & hostnames in /etc/hosts: "127.0.0.1 {{ iiab_hostname }}.{{ iiab_domain }} localhost.localdomain localhost {{ iiab_hostname }} box box.lan"'
  lineinfile:
    path: /etc/hosts
    regexp: '^127\.0\.0\.1'
    line: '127.0.0.1     {{ iiab_hostname }}.{{ iiab_domain }} localhost.localdomain localhost {{ iiab_hostname }} box box.lan'

# 2021-07-30: FQDN_changed isn't used as in the past -- its remaining use is
# for {named, dhcpd, squid} in roles/network/tasks/main.yml -- possibly it
# should be reconsidered?  See PR #2876: roles/network might become optional?
- name: "Also set 'FQDN_changed: True' -- if iiab_fqdn != ansible_fqdn ({{ ansible_fqdn }})"
  set_fact:
    FQDN_changed: True
  when: iiab_fqdn != ansible_fqdn

#- name: Re-configuring httpd - not initial install
#  include_tasks: roles/httpd/tasks/main.yml
#  when: iiab_stage|int > 3

#- name: Re-configuring rest of networking - not initial install
#  include_tasks: roles/network/tasks/main.yml
#  when: iiab_stage|int > 4
