Browse Source

Run 0100-dhclient-hooks if dhcpclient is enabled (#8658)

If running Kubespray on static IP environments, a task was failed like:

  TASK [kubernetes/preinstall : Configure dhclient hooks for resolv.conf (RH-only)]
  fatal: [ak8s2]: FAILED! => {
    "changed": false, "checksum": "..",
    "msg": "Destination directory /etc/dhcp/dhclient.d does not exist"}

This adds a check for dhclientconffile for running 0100-dhclient-hooks to
run the task only if dhcpclient is enabled.
pull/8660/head
Kenichi Omichi 2 years ago
committed by GitHub
parent
commit
503ab0f722
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 2 additions and 3 deletions
  1. 1
      roles/kubernetes/preinstall/tasks/0100-dhclient-hooks.yml
  2. 2
      roles/kubernetes/preinstall/tasks/0110-dhclient-hooks-undo.yml
  3. 2
      roles/kubernetes/preinstall/tasks/main.yml

1
roles/kubernetes/preinstall/tasks/0100-dhclient-hooks.yml

@ -13,7 +13,6 @@
marker: "# Ansible entries {mark}" marker: "# Ansible entries {mark}"
mode: 0644 mode: 0644
notify: Preinstall | propagate resolvconf to k8s components notify: Preinstall | propagate resolvconf to k8s components
when: dhclientconffile is defined
- name: Configure dhclient hooks for resolv.conf (non-RH) - name: Configure dhclient hooks for resolv.conf (non-RH)
template: template:

2
roles/kubernetes/preinstall/tasks/0110-dhclient-hooks-undo.yml

@ -9,12 +9,10 @@
state: absent state: absent
backup: yes backup: yes
marker: "# Ansible entries {mark}" marker: "# Ansible entries {mark}"
when: dhclientconffile is defined
notify: Preinstall | propagate resolvconf to k8s components notify: Preinstall | propagate resolvconf to k8s components
- name: Remove kubespray specific dhclient hook - name: Remove kubespray specific dhclient hook
file: file:
path: "{{ dhclienthookfile }}" path: "{{ dhclienthookfile }}"
state: absent state: absent
when: dhclienthookfile is defined
notify: Preinstall | propagate resolvconf to k8s components notify: Preinstall | propagate resolvconf to k8s components

2
roles/kubernetes/preinstall/tasks/main.yml

@ -77,6 +77,7 @@
when: when:
- dns_mode != 'none' - dns_mode != 'none'
- resolvconf_mode == 'host_resolvconf' - resolvconf_mode == 'host_resolvconf'
- dhclientconffile is defined
- not ansible_os_family in ["Flatcar", "Flatcar Container Linux by Kinvolk"] - not ansible_os_family in ["Flatcar", "Flatcar Container Linux by Kinvolk"]
tags: tags:
- bootstrap-os - bootstrap-os
@ -86,6 +87,7 @@
when: when:
- dns_mode != 'none' - dns_mode != 'none'
- resolvconf_mode != 'host_resolvconf' - resolvconf_mode != 'host_resolvconf'
- dhclientconffile is defined
- not ansible_os_family in ["Flatcar", "Flatcar Container Linux by Kinvolk"] - not ansible_os_family in ["Flatcar", "Flatcar Container Linux by Kinvolk"]
tags: tags:
- bootstrap-os - bootstrap-os

Loading…
Cancel
Save