diff --git a/roles/download/defaults/main.yml b/roles/download/defaults/main.yml
index 546cdbc639171591b350dcd25d7b956d98f00932..d673c72b554106207dfb68a48b8144914c2a4199 100644
--- a/roles/download/defaults/main.yml
+++ b/roles/download/defaults/main.yml
@@ -10,6 +10,9 @@ skip_downloads: false
 download_run_once: False
 download_compress: 1
 
+# if this is set to true will download container
+download_container: True
+
 # if this is set to true, uses the localhost for download_run_once mode
 # (requires docker and sudo to access docker). You may want this option for
 # local caching of docker images or for Container Linux by CoreOS cluster nodes.
diff --git a/roles/download/tasks/download_prep.yml b/roles/download/tasks/download_prep.yml
index 1fd7abf2fb29a77a8332a9ba5f78117f1953e85e..b44da45dae714d275349e081b18ec8bea4f6f4a4 100644
--- a/roles/download/tasks/download_prep.yml
+++ b/roles/download/tasks/download_prep.yml
@@ -7,6 +7,7 @@
   failed_when: false
   changed_when: false
   check_mode: no
+  when: download_container
 
 - name: container_download | Create dest directory for saved/loaded container images
   file:
@@ -15,6 +16,7 @@
     recurse: yes
     mode: 0755
     owner: "{{ansible_ssh_user|default(ansible_user_id)}}"
+  when: download_container
 
 - name: container_download | create local directory for saved/loaded container images
   file:
@@ -28,5 +30,6 @@
   when:
     - download_run_once
     - download_delegate == 'localhost'
+    - download_container
   tags:
     - localhost
diff --git a/roles/download/tasks/main.yml b/roles/download/tasks/main.yml
index 190fb737de612f4ca279c0f2634797343fe83871..1984f626d701cd40dfa14834de28df6d0b17e1e4 100644
--- a/roles/download/tasks/main.yml
+++ b/roles/download/tasks/main.yml
@@ -11,7 +11,7 @@
   when:
     - not skip_downloads|default(false)
     - item.value.enabled
-    - not item.value.container | item.value.container and download_container
+    - (not (item.value.container|default(False))) or (item.value.container and download_container)
 
 - name: "Sync container"
   include_tasks: sync_container.yml
diff --git a/roles/kubernetes/node/tasks/install_host.yml b/roles/kubernetes/node/tasks/install_host.yml
index 47a53b2818af3127cf876e7cfbc41cd29ba12981..3ca92384805107e335e3882e1d2eeea9be3c01c5 100644
--- a/roles/kubernetes/node/tasks/install_host.yml
+++ b/roles/kubernetes/node/tasks/install_host.yml
@@ -3,7 +3,6 @@
 - name: install | Copy kubelet binary from download dir
   command: rsync -piu "{{ local_release_dir }}/hyperkube" "{{ bin_dir }}/kubelet"
   changed_when: false
-  when: hyperkube_enabled
   tags:
     - hyperkube
     - upgrade
@@ -13,7 +12,6 @@
     path: "{{ bin_dir }}/kubelet"
     mode: "0755"
     state: file
-  when: hyperkube_enabled
   tags:
     - hyperkube
     - upgrade
diff --git a/roles/kubespray-defaults/defaults/main.yaml b/roles/kubespray-defaults/defaults/main.yaml
index 1a75178a219e31ba1b55d54546df794eba231cdd..c676598bc0c7bbe929a559d9f9e5e267b7a7b876 100644
--- a/roles/kubespray-defaults/defaults/main.yaml
+++ b/roles/kubespray-defaults/defaults/main.yaml
@@ -135,6 +135,10 @@ kube_api_aggregator_routing: false
 # Optionally do not run docker role
 manage_docker: true
 
+# cri-o options
+# Optionally run cri-o role
+manage_crio: false
+
 # Path used to store Docker data
 docker_daemon_graph: "/var/lib/docker"