--- # --- # Install 'bind' apt based OS # --- - name: (caching-nameserver.yml) update apt: update_cache: true cache_valid_time: "{{ 0 if apt_config_updated is defined and apt_config_updated.changed else apt_update_cache_valid_time }}" when: - ansible_distribution == "Debian" - apt_update|bool tags: - apt-caching-nameserver - name: (caching-nameserver.yml) dpkg --configure command: > dpkg --configure -a args: warn: false changed_when: _dpkg_configure.stdout_lines | length register: _dpkg_configure when: - ansible_distribution == "Debian" - apt_update|bool tags: - apt-caching-nameserver - name: (caching-nameserver.yml) upgrade apt: upgrade: "{{ apt_upgrade_type }}" update_cache: true dpkg_options: "{{ apt_upgrade_dpkg_options | join(',') }}" when: - ansible_distribution == "Debian" - apt_dpkg_configure|bool tags: - apt-caching-nameserver - name: (caching-nameserver.yml) Install bind packages (using apt) apt: name: "{{ apt_bind_pkgs }}" state: present when: - ansible_distribution == "Debian" - install_bind_packages|bool == true tags: - apt-caching-nameserver # --- # Install 'bind' - yum based OS # --- - name: (yum.yml) Install system updates for centos systems yum: name: '*' state: latest update_cache: yes #cache_valid_time: 3600 when: - ansible_os_family == "RedHat" - ansible_distribution == "CentOS" tags: - yum-update - name: (yum.yml) Install bind packages (using yum) yum: name: "{{ yum_bind_pks }}" state: "{{ yum_install_state }}" when: - ansible_os_family == "RedHat" - ansible_distribution == "CentOS" tags: - yum-caching-nameserver # --- # Configure bind on debian systems # -- - name: (caching-nameserver.yml) Create directory /var/log/named if it does not exist file: path: /var/log/named state: directory owner: bind group: bind mode: '0755' when: - ansible_distribution == "Debian" - name: (caching-nameserver.yml) update named.conf.options configuration file (normal server) template: src: etc/bind/named.conf.options.j2 dest: /etc/bind/named.conf.options backup: yes owner: root group: bind mode: 0644 #validate: visudo -cf %s notify: Reload bind9 tags: - apt-caching-nameserver - caching-nameserver when: - ansible_distribution == "Debian" - inventory_hostname not in groups["gateway_server"] # -------------------- # In case of gateway gateway servers ONLY if bind ption file NOT exists # - name: Check if file '/etc/bind/named.conf.options' exists stat: path: /etc/bind/named.conf.options register: file_named_conf_options - name: (caching-nameserver.yml) update named.conf.options configuration file (gateway server) template: src: etc/bind/named.conf.options.gateway.j2 dest: /etc/bind/named.conf.options backup: yes owner: root group: bind mode: 0644 #validate: visudo -cf %s notify: Reload bind9 tags: - apt-caching-nameserver - caching-nameserver when: - ansible_distribution == "Debian" - inventory_hostname in groups["gateway_server"] # - not file_named_conf_options.stat.exists # -------------------- - name: (caching-nameserver.yml) Add 127.0.0.1 as first nameserver entry to /etc/resolv.conf lineinfile: path: /etc/resolv.conf line: nameserver 127.0.0.1 firstmatch: yes insertbefore: '^nameserver' state: present owner: root group: root mode: '0644' tags: - apt-caching-nameserver when: - ansible_distribution == "Debian"