From a5094f2a6aac441cc588650a328d3d1c440bac16 Mon Sep 17 00:00:00 2001 From: Smaine Kahlouch Date: Wed, 20 Jan 2016 17:37:23 +0100 Subject: [PATCH] move /etc/hosts configuration in 'preinstall' role --- roles/dnsmasq/tasks/main.yml | 29 --------------- .../kubernetes/preinstall/tasks/etchosts.yml | 35 +++++++++++++++++++ roles/kubernetes/preinstall/tasks/main.yml | 2 ++ 3 files changed, 37 insertions(+), 29 deletions(-) create mode 100644 roles/kubernetes/preinstall/tasks/etchosts.yml diff --git a/roles/dnsmasq/tasks/main.yml b/roles/dnsmasq/tasks/main.yml index a0bf29387..df8eb3a59 100644 --- a/roles/dnsmasq/tasks/main.yml +++ b/roles/dnsmasq/tasks/main.yml @@ -1,33 +1,4 @@ --- -- name: populate inventory into hosts file - lineinfile: - dest: /etc/hosts - regexp: "^{{ hostvars[item]['ip'] | default(hostvars[item].ansible_default_ipv4.address) }} {{ item }}$" - line: "{{ hostvars[item]['ip'] | default(hostvars[item].ansible_default_ipv4.address) }} {{ item }}" - state: present - backup: yes - when: hostvars[item].ansible_default_ipv4.address is defined - with_items: groups['all'] - -- name: populate kubernetes loadbalancer address into hosts file - lineinfile: - dest: /etc/hosts - regexp: ".*{{ apiserver_loadbalancer_domain_name }}$" - line: "{{ loadbalancer_apiserver.address }} lb-apiserver.kubernetes.local" - state: present - backup: yes - when: loadbalancer_apiserver is defined and apiserver_loadbalancer_domain_name is defined - -- name: clean hosts file - lineinfile: - dest: /etc/hosts - regexp: "{{ item }}" - state: absent - backup: yes - with_items: - - '^127\.0\.0\.1(\s+){{ inventory_hostname }}.*' - - '^::1(\s+){{ inventory_hostname }}.*' - - name: ensure dnsmasq.d directory exists file: path: /etc/dnsmasq.d diff --git a/roles/kubernetes/preinstall/tasks/etchosts.yml b/roles/kubernetes/preinstall/tasks/etchosts.yml new file mode 100644 index 000000000..20d1e8150 --- /dev/null +++ b/roles/kubernetes/preinstall/tasks/etchosts.yml @@ -0,0 +1,35 @@ +--- +- name: Hosts | populate inventory into hosts file + lineinfile: + dest: /etc/hosts + regexp: "^{{ hostvars[item]['ip'] | default(hostvars[item].ansible_default_ipv4.address) }} {{ item }}$" + line: "{{ hostvars[item]['ip'] | default(hostvars[item].ansible_default_ipv4.address) }} {{ item }}" + state: present + backup: yes + when: hostvars[item].ansible_default_ipv4.address is defined + with_items: groups['all'] + +- name: Hosts | populate kubernetes loadbalancer address into hosts file + lineinfile: + dest: /etc/hosts + regexp: ".*{{ apiserver_loadbalancer_domain_name }}$" + line: "{{ loadbalancer_apiserver.address }} {{ apiserver_loadbalancer_domain_name| default('lb-apiserver.kubernetes.local') }}" + state: present + backup: yes + when: loadbalancer_apiserver is defined and apiserver_loadbalancer_domain_name is defined + +- name: Hosts | localhost ipv4 in hosts file + lineinfile: + dest: /etc/hosts + line: "127.0.0.1 localhost localhost.localdomain" + regexp: '^127.0.0.1.*$' + state: present + backup: yes + +- name: Hosts | localhost ipv6 in hosts file + lineinfile: + dest: /etc/hosts + line: "::1 localhost6 localhost6.localdomain" + regexp: '^::1.*$' + state: present + backup: yes diff --git a/roles/kubernetes/preinstall/tasks/main.yml b/roles/kubernetes/preinstall/tasks/main.yml index cc1cc092f..b0f952d6f 100644 --- a/roles/kubernetes/preinstall/tasks/main.yml +++ b/roles/kubernetes/preinstall/tasks/main.yml @@ -51,5 +51,7 @@ when: ansible_os_family == "RedHat" changed_when: False +- include: etchosts.yml + - include: python-bootstrap.yml when: ansible_os_family not in [ "Debian", "RedHat" ]