diff --git a/roles/download/defaults/main.yml b/roles/download/defaults/main.yml
index e5d24072b5a335b1ba76f285120be9773e604b2d..9b78044e17ef1a6a4584ac95993e7928ac781572 100644
--- a/roles/download/defaults/main.yml
+++ b/roles/download/defaults/main.yml
@@ -22,9 +22,10 @@ kube_version: v1.7.3
 etcd_version: v3.2.4
 # TODO(mattymo): Move calico versions to roles/network_plugins/calico/defaults
 # after migration to container download
-calico_version: "v1.1.3"
-calico_cni_version: "v1.8.0"
-calico_policy_version: "v0.5.4"
+calico_version: "v2.4.1"
+calico_ctl_version: "v1.4.0"
+calico_cni_version: "v1.10.0"
+calico_policy_version: "v0.7.0"
 weave_version: 2.0.1
 flannel_version: v0.8.0
 pod_infra_version: 3.0
@@ -42,13 +43,13 @@ etcd_image_repo: "quay.io/coreos/etcd"
 etcd_image_tag: "{{ etcd_version }}"
 flannel_image_repo: "quay.io/coreos/flannel"
 flannel_image_tag: "{{ flannel_version }}"
-calicoctl_image_repo: "calico/ctl"
-calicoctl_image_tag: "{{ calico_version }}"
-calico_node_image_repo: "calico/node"
+calicoctl_image_repo: "quay.io/calico/ctl"
+calicoctl_image_tag: "{{ calico_ctl_version }}"
+calico_node_image_repo: "quay.io/calico/node"
 calico_node_image_tag: "{{ calico_version }}"
-calico_cni_image_repo: "calico/cni"
+calico_cni_image_repo: "quay.io/calico/cni"
 calico_cni_image_tag: "{{ calico_cni_version }}"
-calico_policy_image_repo: "calico/kube-policy-controller"
+calico_policy_image_repo: "quay.io/calico/kube-policy-controller"
 calico_policy_image_tag: "{{ calico_policy_version }}"
 calico_rr_image_repo: "quay.io/calico/routereflector"
 calico_rr_image_tag: "v0.3.0"
diff --git a/roles/network_plugin/calico/templates/calico-node.service.j2 b/roles/network_plugin/calico/templates/calico-node.service.j2
index 015c91b08ae293c51e649c0469c211dc5754e15f..73bb757ba7a6ff5173b82767532b96a00147c652 100644
--- a/roles/network_plugin/calico/templates/calico-node.service.j2
+++ b/roles/network_plugin/calico/templates/calico-node.service.j2
@@ -11,6 +11,7 @@ ExecStart={{ docker_bin_dir }}/docker run --net=host --privileged \
  -e HOSTNAME=${CALICO_HOSTNAME} \
  -e IP=${CALICO_IP} \
  -e IP6=${CALICO_IP6} \
+ -e CLUSTER_TYPE=${CLUSTER_TYPE} \
  -e CALICO_NETWORKING_BACKEND=${CALICO_NETWORKING_BACKEND} \
  -e FELIX_DEFAULTENDPOINTTOHOSTACTION={{ calico_endpoint_to_host_action|default('RETURN') }} \
  -e AS=${CALICO_AS} \
diff --git a/roles/network_plugin/calico/templates/calico.env.j2 b/roles/network_plugin/calico/templates/calico.env.j2
index 83cf8f2915211a2aea821992bb20849ae50d0fb7..e438060af3befa89f585fb27f1497fd7efc2cc4a 100644
--- a/roles/network_plugin/calico/templates/calico.env.j2
+++ b/roles/network_plugin/calico/templates/calico.env.j2
@@ -4,6 +4,11 @@ ETCD_CERT_FILE="{{ calico_cert_dir }}/cert.crt"
 ETCD_KEY_FILE="{{ calico_cert_dir }}/key.pem"
 CALICO_IP="{{ip | default(ansible_default_ipv4.address) }}"
 CALICO_IP6=""
+{% if calico_network_backend is defined and calico_network_backend == 'none' %}
+CLUSTER_TYPE="kubespray"
+{% else %}
+CLUSTER_TYPE="kubespray,bgp"
+{% endif %}
 {% if calico_network_backend is defined %}
 CALICO_NETWORKING_BACKEND="{{calico_network_backend }}"
 {% endif %}
diff --git a/roles/network_plugin/canal/templates/canal-node.yml.j2 b/roles/network_plugin/canal/templates/canal-node.yml.j2
index b749d4d327c521c884b9eca0e5be34e14e683da2..ca7b37f86818f0fafbb1d7228883b8bb2d400d58 100644
--- a/roles/network_plugin/canal/templates/canal-node.yml.j2
+++ b/roles/network_plugin/canal/templates/canal-node.yml.j2
@@ -146,6 +146,9 @@ spec:
             # Disable Calico BGP.  Calico is simply enforcing policy.
             - name: CALICO_NETWORKING
               value: "false"
+            # Cluster type to identify the deployment type
+            - name: CLUSTER_TYPE
+              value: "kubespray,canal"
             # Disable file logging so `kubectl logs` works.
             - name: CALICO_DISABLE_FILE_LOGGING
               value: "true"
diff --git a/roles/uploads/defaults/main.yml b/roles/uploads/defaults/main.yml
index 303a2d0500fec878a09abb4017613a6b2fa4dda4..bc0a17f32bcc12a86db4001f585bda631fa334ba 100644
--- a/roles/uploads/defaults/main.yml
+++ b/roles/uploads/defaults/main.yml
@@ -3,8 +3,8 @@ local_release_dir: /tmp
 
 # Versions
 etcd_version: v3.0.17
-calico_version: v0.23.0
-calico_cni_version: v1.5.6
+calico_version: v2.4.1
+calico_cni_version: v1.10.0
 weave_version: v2.0.1
 
 # Download URL's