Update Calico to v3.1.3

Only "k8s-ha-calico" and "k8s-ha-calico-flannel-virtlet" models are updated here.

PROD-21420

Change-Id: I6780f3ddb0ee166f09d42bfab2aeb5995095b08c
diff --git a/classes/cluster/k8s-ha-calico-flannel-virtlet/kubernetes/compute.yml b/classes/cluster/k8s-ha-calico-flannel-virtlet/kubernetes/compute.yml
index 7cd2789..676a1f8 100644
--- a/classes/cluster/k8s-ha-calico-flannel-virtlet/kubernetes/compute.yml
+++ b/classes/cluster/k8s-ha-calico-flannel-virtlet/kubernetes/compute.yml
@@ -31,9 +31,12 @@
           image: ${_param:kubernetes_calico_image}
           calicoctl_image: ${_param:kubernetes_calico_calicoctl_image}
           cni_image: ${_param:kubernetes_calico_cni_image}
+          kube_controllers_image: ${_param:kubernetes_calico_kube_controllers_image}
           etcd:
             ssl:
               enabled: true
+          policy:
+            enabled: ${_param:kubernetes_calico_policy_enabled}
     common:
       addons:
         virtlet:
diff --git a/classes/cluster/k8s-ha-calico-flannel-virtlet/kubernetes/control.yml b/classes/cluster/k8s-ha-calico-flannel-virtlet/kubernetes/control.yml
index 2f971f0..4f2bcce 100644
--- a/classes/cluster/k8s-ha-calico-flannel-virtlet/kubernetes/control.yml
+++ b/classes/cluster/k8s-ha-calico-flannel-virtlet/kubernetes/control.yml
@@ -36,8 +36,6 @@
           image: ${_param:kubernetes_dashboard_image}
         helm:
           enabled: ${_param:kubernetes_helm_enabled}
-        calico_policy:
-          enabled: ${_param:kubernetes_calico_policy_enabled}
         netchecker:
           enabled: ${_param:kubernetes_netchecker_enabled}
           agent_probeurls: ${_param:kubernetes_netchecker_agent_probeurls}
@@ -75,9 +73,15 @@
           private_ip_range: 10.20.0.0/16
         calico:
           enabled: true
+          image: ${_param:kubernetes_calico_image}
+          calicoctl_image: ${_param:kubernetes_calico_calicoctl_image}
+          cni_image: ${_param:kubernetes_calico_cni_image}
+          kube_controllers_image: ${_param:kubernetes_calico_kube_controllers_image}
           etcd:
             ssl:
               enabled: true
+          policy:
+            enabled: ${_param:kubernetes_calico_policy_enabled}
       namespace:
         netchecker:
           enabled: true
diff --git a/classes/cluster/k8s-ha-calico-flannel-virtlet/kubernetes/init.yml b/classes/cluster/k8s-ha-calico-flannel-virtlet/kubernetes/init.yml
index 37b5ac0..92fffa1 100644
--- a/classes/cluster/k8s-ha-calico-flannel-virtlet/kubernetes/init.yml
+++ b/classes/cluster/k8s-ha-calico-flannel-virtlet/kubernetes/init.yml
@@ -33,6 +33,8 @@
     kubernetes_dns_autoscaler_image: gcr.io/google_containers/cluster-proportional-autoscaler-amd64:1.0.0
     kubernetes_netchecker_agent_probeurls: "http://ipinfo.io"
     kubernetes_genie_image: mirantis/cnigenie:latest
+    # kube-controllers image is temporarily added here as it's not defined in TCP-QA by now
+    kubernetes_calico_kube_controllers_image: docker-prod-virtual.docker.mirantis.net/mirantis/projectcalico/calico/kube-controllers:v3.1.3
 
     # switches of addons
     kubernetes_addon_namespace: kube-system
diff --git a/classes/cluster/k8s-ha-calico/kubernetes/compute.yml b/classes/cluster/k8s-ha-calico/kubernetes/compute.yml
index 8c706d1..2f5afd9 100644
--- a/classes/cluster/k8s-ha-calico/kubernetes/compute.yml
+++ b/classes/cluster/k8s-ha-calico/kubernetes/compute.yml
@@ -25,9 +25,12 @@
           image: ${_param:kubernetes_calico_image}
           calicoctl_image: ${_param:kubernetes_calico_calicoctl_image}
           cni_image: ${_param:kubernetes_calico_cni_image}
+          kube_controllers_image: ${_param:kubernetes_calico_kube_controllers_image}
           etcd:
             ssl:
               enabled: true
+          policy:
+            enabled: ${_param:kubernetes_calico_policy_enabled}
     common:
       addons:
         virtlet:
diff --git a/classes/cluster/k8s-ha-calico/kubernetes/control.yml b/classes/cluster/k8s-ha-calico/kubernetes/control.yml
index c5dcc3d..9656362 100644
--- a/classes/cluster/k8s-ha-calico/kubernetes/control.yml
+++ b/classes/cluster/k8s-ha-calico/kubernetes/control.yml
@@ -25,7 +25,7 @@
         enabled: true
       setup:
         calico:
-          key: /calico/v1/ipam/v4/pool/${_param:calico_private_network}-${_param:calico_private_netmask}
+          key: /calico/ipam/v2/assignment/ipv4/block/${_param:calico_private_network}-${_param:calico_private_netmask}
           value: '{"masquerade":true,"cidr":"${_param:calico_private_network}/${_param:calico_private_netmask}"}'
   kubernetes:
     common:
@@ -35,8 +35,6 @@
           image: ${_param:kubernetes_dashboard_image}
         helm:
           enabled: ${_param:kubernetes_helm_enabled}
-        calico_policy:
-          enabled: ${_param:kubernetes_calico_policy_enabled}
         netchecker:
           enabled: ${_param:kubernetes_netchecker_enabled}
           agent_probeurls: ${_param:kubernetes_netchecker_agent_probeurls}
@@ -67,9 +65,15 @@
       network:
         calico:
           enabled: true
+          image: ${_param:kubernetes_calico_image}
+          calicoctl_image: ${_param:kubernetes_calico_calicoctl_image}
+          cni_image: ${_param:kubernetes_calico_cni_image}
+          kube_controllers_image: ${_param:kubernetes_calico_kube_controllers_image}
           etcd:
             ssl:
               enabled: true
+          policy:
+            enabled: ${_param:kubernetes_calico_policy_enabled}
       namespace:
         netchecker:
           enabled: true
diff --git a/classes/cluster/k8s-ha-calico/kubernetes/init.yml b/classes/cluster/k8s-ha-calico/kubernetes/init.yml
index 42edb2a..ad9a18c 100644
--- a/classes/cluster/k8s-ha-calico/kubernetes/init.yml
+++ b/classes/cluster/k8s-ha-calico/kubernetes/init.yml
@@ -32,6 +32,8 @@
     kubernetes_sidecar_image: gcr.io/google_containers/k8s-dns-sidecar-amd64:1.14.5
     kubernetes_dns_autoscaler_image: gcr.io/google_containers/cluster-proportional-autoscaler-amd64:1.0.0
     kubernetes_netchecker_agent_probeurls: "http://ipinfo.io"
+    # kube-controllers image is temporarily added here as it's not defined in TCP-QA by now
+    kubernetes_calico_kube_controllers_image: docker-prod-virtual.docker.mirantis.net/mirantis/projectcalico/calico/kube-controllers:v3.1.3
 
     # switches of addons
     kubernetes_addon_namespace: kube-system