diff --git a/ansible/bootstrap.yml b/ansible/bootstrap.yml
index e026478b5d40eb82bef51fb67c5c3fce746e41cc..85f6c22256ffd205384a36414f5ad58ded95a4cb 100644
--- a/ansible/bootstrap.yml
+++ b/ansible/bootstrap.yml
@@ -1,6 +1,7 @@
 ---
 
 - hosts: all
+  gather_facts: False
   pre_tasks:
     - name: Require minimal ansible version
       assert:
@@ -8,7 +9,7 @@
         msg: >
           "You must update Ansible to at least 2.6 to bootstrap your OAS cluster."
 
-    - name: Release name must start with lower case 
+    - name: Release name must start with lower case
       assert:
         that: "'{{ release_name }}' is match('^[a-z]')"
         msg: >
diff --git a/ansible/roles/configure/tasks/main.yml b/ansible/roles/configure/tasks/main.yml
index 42c47dba479ce83df955b7253229567d1a88c375..09d4f7db3c81d917b08e4d59da64adfbd46579c6 100644
--- a/ansible/roles/configure/tasks/main.yml
+++ b/ansible/roles/configure/tasks/main.yml
@@ -1,17 +1,24 @@
 ---
 
-- name: Set configuration directory
-  set_fact:
-    configuration_directory: "{{ configuration_directory }}"
-
-- name: Install snapd, git and curl
+- name: Update apt packages cache and install needed packages
+  # apt-transport-https is needed for docker apt repo
   # curl and git is needed for helm plugin install
-  package:
+  # iptables-persistent for persistant firewall rules
+  apt:
     state: present
     name:
-      - snapd
+      - apt-transport-https
       - curl
       - git
+      - iptables-persistent
+      - snapd
+    # Update again after 1 day
+    cache_valid_time: 86400
+    update_cache: yes
+
+- name: Set configuration directory
+  set_fact:
+    configuration_directory: "{{ configuration_directory }}"
 
 - name: Install helm snap
   # helm needs to get installed as "classic" snap
diff --git a/ansible/roles/prepare_node/tasks/docker.yml b/ansible/roles/prepare_node/tasks/docker.yml
index 18dc1f2144c817399a3a3e02dcd069d592b232ad..299c20cd860e14d01506408e799aac1a87ccb819 100644
--- a/ansible/roles/prepare_node/tasks/docker.yml
+++ b/ansible/roles/prepare_node/tasks/docker.yml
@@ -1,11 +1,5 @@
 ---
 
-- name: Install some apt dependencies
-  apt:
-    name:
-      - "apt-transport-https"
-  become: true
-
 - name: Install docker apt repo key
   apt_key:
     url: "https://download.docker.com/linux/debian/gpg"
@@ -15,10 +9,10 @@
 - name: Add docker apt repo
   apt_repository:
     repo: "deb [arch=amd64] https://download.docker.com/linux/debian {{ ansible_facts['lsb']['codename'] }} stable"
+    update_cache: true
   become: true
 
 - name: Install docker
-  apt:
+  package:
     name: "docker-ce={{ docker_version }}"
-    update_cache: true
   become: true
diff --git a/ansible/roles/prepare_node/tasks/main.yml b/ansible/roles/prepare_node/tasks/main.yml
index 27546591c0848d0ea4dac053da56ca2b2b3631cf..2277e0c3726461e06da43a10afbdc6225dbeffda 100644
--- a/ansible/roles/prepare_node/tasks/main.yml
+++ b/ansible/roles/prepare_node/tasks/main.yml
@@ -19,13 +19,6 @@
     jump: "ACCEPT"
   become: true
 
-- name: Make sure netfilter-persistent is installed
-  apt:
-    name:
-      - "netfilter-persistent"
-    update_cache: true
-  become: true
-
 - name: Save changes to iptables rules
   shell: netfilter-persistent save
   become: true