---
- name: Configure dhclient to supersede search/domain/nameservers
  blockinfile:
    # 1 is the 2nd item of a tuple in items()
    block: |-
      {% for key, val in dhclient_supersede.items() | rejectattr(1, '==', []) -%}
      {% if key == "domain-name-servers" -%}
      supersede {{ key }} {{ val | join(',') }};
      {% else -%}
      supersede {{ key }} "{{ val | join('","') }}";
      {% endif -%}
      {% endfor %}
    path: "{{ dhclientconffile }}"
    create: true
    state: present
    insertbefore: BOF
    backup: "{{ leave_etc_backup_files }}"
    marker: "# Ansible entries {mark}"
    mode: "0644"
  notify: Preinstall | propagate resolvconf to k8s components

- name: Configure dhclient hooks for resolv.conf (non-RH)
  template:
    src: dhclient_dnsupdate.sh.j2
    dest: "{{ dhclienthookfile }}"
    owner: root
    mode: "0755"
  notify: Preinstall | propagate resolvconf to k8s components
  when: ansible_os_family not in [ "RedHat", "Suse" ]

- name: Configure dhclient hooks for resolv.conf (RH-only)
  template:
    src: dhclient_dnsupdate_rh.sh.j2
    dest: "{{ dhclienthookfile }}"
    owner: root
    mode: "0755"
  notify: Preinstall | propagate resolvconf to k8s components
  when: ansible_os_family == "RedHat"
