diff --git a/zabbix-repo/tasks/main.yml b/zabbix-repo/tasks/main.yml
index 89946ee7f96206a12c1860e21e354bc1bc389c35..9dee02d5fd3c1c65ff40cddf456c0393db0c4e52 100644
--- a/zabbix-repo/tasks/main.yml
+++ b/zabbix-repo/tasks/main.yml
@@ -18,6 +18,7 @@
     repo: "{{ item }}"
     state: absent
   with_items:
+    # yamllint disable-line rule:line-length
     - 'deb http://repo.zabbix.com/zabbix/{{old_zabbix_version}}/debian {{ debian_version }} main'
     # yamllint disable-line rule:line-length
     - 'deb-src http://repo.zabbix.com/zabbix/{{old_zabbix_version}}/debian {{ debian_version }} main'
@@ -30,8 +31,10 @@
 - name: ensure apt knows about the current zabbix repo
   apt_repository:
     repo: "{{ item }}"
+    # yamllint disable-line rule:line-length
     state: '{{"present" if debian_version == "jessie" or debian_version == "stretch" else "absent"}}'
   with_items:
+    # yamllint disable-line rule:line-length
     - 'deb http://repo.zabbix.com/zabbix/{{zabbix_version}}/debian {{ debian_version }} main'
     # yamllint disable-line rule:line-length
     - 'deb-src http://repo.zabbix.com/zabbix/{{zabbix_version}}/debian {{debian_version }} main'
@@ -66,6 +69,7 @@
     - chr
 
 - name: query installed packages
+  # yamllint disable-line rule:empty-values
   package_facts:
   register: installed_packages
   tags:
diff --git a/zabbix-server/handlers/main.yml b/zabbix-server/handlers/main.yml
index b4d4265f0fa613efa27de991b94c11a5b89463e0..5795a10115bfae5231bc561aeb8fb753918310d0 100644
--- a/zabbix-server/handlers/main.yml
+++ b/zabbix-server/handlers/main.yml
@@ -6,3 +6,6 @@
 - name: restart postgres
   service: name=postgresql state=restarted
   delegate_to: "{{ zabbix_db_host }}"
+
+- name: download mibs
+  command: download-mibs
diff --git a/zabbix-server/tasks/main.yml b/zabbix-server/tasks/main.yml
index 2e800e6460ca4809f29af42aedb5cc717ab4fa5d..f446705122fdfa362648ca39df962dcb9f85e1fa 100644
--- a/zabbix-server/tasks/main.yml
+++ b/zabbix-server/tasks/main.yml
@@ -127,10 +127,14 @@
 - meta: flush_handlers
 
 - name: apply database schema
-  # yamllint disable-line rule:line-length
-  shell: zcat /usr/share/doc/zabbix-server-pgsql/create.sql.gz | psql -h {{ zabbix_db_host }} -U {{ zabbix_db_user }} -w -d {{ zabbix_db_name }} && touch /var/lib/zabbix/.db_schema_created
+  # yamllint disable rule:line-length
+  shell: |
+    set -o pipefail
+    zcat /usr/share/doc/zabbix-server-pgsql/create.sql.gz | psql -h {{ zabbix_db_host }} -U {{ zabbix_db_user }} -w -d {{ zabbix_db_name }} && touch /var/lib/zabbix/.db_schema_created
   args:
     creates: /var/lib/zabbix/.db_schema_created
+    executable: /bin/bash
+  # yamllint enable rule:line-length
   become: true
   become_user: zabbix
   notify:
diff --git a/zabbix-server/tasks/snmp.yml b/zabbix-server/tasks/snmp.yml
index 09e47fedc54c188b17e7d6624fad50a29dab64eb..c19102f2d8b9fad6c61d041813603f72891d746b 100644
--- a/zabbix-server/tasks/snmp.yml
+++ b/zabbix-server/tasks/snmp.yml
@@ -6,6 +6,8 @@
       - snmp
       - snmp-mibs-downloader
     state: present
+  notify:
+    - download mibs
   tags:
     - snmp
 
@@ -13,10 +15,7 @@
   copy:
     src: snmp.conf
     dest: /etc/snmp/snmp.conf
-  tags:
-    - snmp
-
-- name: ensure the snmp MIB libs are present
-  command: download-mibs
+  notify:
+    - download mibs
   tags:
     - snmp