Browse Source

Merge pull request #886 from kubernetes-incubator/undo_hostresolvconf

Add tasks to undo changes to hosts /etc/resolv.conf and dhclient configs
pull/891/head
Bogdan Dobrelya 7 years ago
committed by GitHub
parent
commit
065a4da72d
3 changed files with 30 additions and 4 deletions
  1. 22
      roles/kubernetes/preinstall/tasks/dhclient-hooks-undo.yml
  2. 8
      roles/kubernetes/preinstall/tasks/main.yml
  3. 4
      roles/kubernetes/preinstall/tasks/resolvconf.yml

22
roles/kubernetes/preinstall/tasks/dhclient-hooks-undo.yml

@ -0,0 +1,22 @@
---
# These tasks will undo changes done by kargo in the past if needed (e.g. when upgrading from kargo 2.0.x
# or when changing resolvconf_mode)
- name: Remove kargo specific config from dhclient config
blockinfile:
dest: "{{dhclientconffile}}"
state: absent
backup: yes
follow: yes
marker: "# Ansible entries {mark}"
notify: Preinstall | restart network
- name: Remove kargo specific dhclient hook
file: path="{{ dhclienthookfile }}" state=absent
notify: Preinstall | restart network
when: ansible_os_family != "RedHat"
# We need to make sure the network is restarted early enough so that docker can later pick up the correct system
# nameservers and search domains
- meta: flush_handlers

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

@ -175,6 +175,14 @@
when: dns_mode != 'none' and resolvconf_mode == 'host_resolvconf'
tags: [bootstrap-os, resolvconf]
- include: dhclient-hooks.yml
when: dns_mode != 'none' and resolvconf_mode == 'host_resolvconf' and not ansible_os_family in ["CoreOS", "Container Linux by CoreOS"]
tags: [bootstrap-os, resolvconf]
- include: dhclient-hooks-undo.yml
when: dns_mode != 'none' and resolvconf_mode != 'host_resolvconf' and not ansible_os_family in ["CoreOS", "Container Linux by CoreOS"]
tags: [bootstrap-os, resolvconf]
- name: Check if we are running inside a Azure VM
stat: path=/var/lib/waagent/
register: azure_check

4
roles/kubernetes/preinstall/tasks/resolvconf.yml

@ -58,7 +58,3 @@
mode: 0644
notify: Preinstall | update resolvconf for Container Linux by CoreOS
when: ansible_os_family in ["CoreOS", "Container Linux by CoreOS"]
- include: dhclient-hooks.yml
when: not ansible_os_family in ["CoreOS", "Container Linux by CoreOS"]
tags: [bootstrap-os, resolvconf]
Loading…
Cancel
Save