]> git.phdru.name Git - ansible.git/commitdiff
Fix(named): Fix conditions
authorOleg Broytman <phd@phdru.name>
Tue, 30 Jul 2019 17:18:07 +0000 (20:18 +0300)
committerOleg Broytman <phd@phdru.name>
Tue, 30 Jul 2019 17:40:12 +0000 (20:40 +0300)
Check 3 conditions: the file is absent
(`grep` reports error but stdout is empty),
the file exists but doesn't contain the line
(`grep` returns error code 1 and stdout is '0'),
the file contains the line (stdout contains the count >= 1).

playbooks/debian/roles/named/tasks/main.yml

index 7e433ec9fe3e7615e336cd63a5ffae5e9654151a..b39eda30ceead641e07f1cfd5da7bd4f9e0645cb 100644 (file)
@@ -1,12 +1,12 @@
 - name: Check named.conf.options
   become: true
-  shell: "grep -c '^\\s*allow-query' /etc/bind/named.conf.options || echo 0"
+  shell: "grep -c '^\\s*allow-query' /etc/bind/named.conf.options || :"
   register: named_conf
-  changed_when: named_conf.stdout == "0"
+  changed_when: named_conf.stdout in ('', "0")
 
 - debug:
     msg: "BIND has already been configured"
-  when: named_conf.stdout != "0"
+  when: named_conf.stdout not in ('', "0")
 
 - name: Install BIND
   become: true
@@ -18,7 +18,7 @@
     purge: yes
     state: latest
     update_cache: yes
-  when: named_conf.stdout == "0"
+  when: named_conf.stdout in ('', "0")
 
 - name: Configure BIND
   become: true
     owner: bind
     group: bind
     mode: '0600'
-  when: named_conf.stdout == "0"
+  when: named_conf.stdout in ('', "0")
 
 - name: Reload BIND
   become: true
   service:
     name: bind9
     state: reloaded
-  when: named_conf.stdout == "0"
+  when: named_conf.stdout in ('', "0")