Merge "Fix wrong ip for keystone service on analytic nodes"
diff --git a/apache/server/single.yml b/apache/server/single.yml
index 06c8c4c..cbe5158 100644
--- a/apache/server/single.yml
+++ b/apache/server/single.yml
@@ -1,2 +1,9 @@
 classes:
 - service.apache.server.single
+parameters:
+  apache:
+    server:
+      mods:
+        status:
+          enabled: ${_param:apache_mods_status_enabled}
+          status: ${_param:apache_mods_status_status}
diff --git a/defaults/init.yml b/defaults/init.yml
index 81308c5..5679cf9 100644
--- a/defaults/init.yml
+++ b/defaults/init.yml
@@ -25,6 +25,7 @@
     openstack_version: 'queens'
     # Docker artifact globals
     mcp_docker_registry: 'docker-prod-local.artifactory.mirantis.com'
+    mcp_binary_registry: "https://${_param:mcp_docker_registry}/artifactory/binary-prod-local"
     # Other
     salt_control_xenial_image_backend: /var/lib/libvirt/images/backends/xenial.qcow2
     salt_control_trusty_image_backend: /var/lib/libvirt/images/backends/trusty.qcow2
diff --git a/defaults/openstack/init.yml b/defaults/openstack/init.yml
index cc580b8..284672a 100644
--- a/defaults/openstack/init.yml
+++ b/defaults/openstack/init.yml
@@ -36,3 +36,9 @@
     # Openstack memcached server protocols
     openstack_memcached_proto_tcp_enabled: True
     openstack_memcached_proto_udp_enabled: False
+    # Apache mods defaults
+    apache_mods_status_enabled: True
+    apache_mods_status_status: 'disabled'
+    # Horizon
+    # 'direct' mode will require cors on glance side to be enabled.
+    horizon_images_upload_mode: 'legacy'
diff --git a/docker/swarm/stack/monitoring/elasticsearch_client_node.yml b/docker/swarm/stack/monitoring/elasticsearch_client_node.yml
index d642dd2..8380377 100644
--- a/docker/swarm/stack/monitoring/elasticsearch_client_node.yml
+++ b/docker/swarm/stack/monitoring/elasticsearch_client_node.yml
@@ -36,7 +36,7 @@
                 xpack.monitoring.enabled: "false"
                 bootstrap.memory_lock: "false"
                 discovery.zen.minimum_master_nodes: 2
-                discovery.zen.ping.unicast.hosts: ${_param:stacklight_monitor_address}
+                discovery.zen.ping.unicast.hosts: ${_param:stacklight_log_address}
               labels:
                 com.mirantis.monitoring: "elasticsearch"
               image: ${_param:docker_image_elasticsearch}
diff --git a/horizon/server/cluster.yml b/horizon/server/cluster.yml
index 1d1f5eb..0cd20d7 100644
--- a/horizon/server/cluster.yml
+++ b/horizon/server/cluster.yml
@@ -16,6 +16,7 @@
       plugin: {}
       session:
         engine: "cache"
+      images_upload_mode: ${_param:horizon_images_upload_mode}
   apache:
     server:
       modules:
diff --git a/horizon/server/single.yml b/horizon/server/single.yml
index 2555a50..bd2ea7b 100644
--- a/horizon/server/single.yml
+++ b/horizon/server/single.yml
@@ -14,6 +14,7 @@
       plugin: {}
       session:
         engine: "cache"
+      images_upload_mode: ${_param:horizon_images_upload_mode}
   apache:
     server:
       modules:
diff --git a/kubernetes/common/init.yml b/kubernetes/common/init.yml
index 8028f51..b0ebf53 100644
--- a/kubernetes/common/init.yml
+++ b/kubernetes/common/init.yml
@@ -1,10 +1,11 @@
 parameters:
   _param:
-    kubernetes_calico_calicoctl_repo: ${_param:mcp_docker_registry}/mirantis/projectcalico/calico
     kubernetes_calico_repo: ${_param:mcp_docker_registry}/mirantis/projectcalico/calico
-    kubernetes_calico_cni_repo: ${_param:mcp_docker_registry}/mirantis/projectcalico/calico
     kubernetes_calico_kube_ctl_repo: ${_param:mcp_docker_registry}/mirantis/projectcalico/calico
-    kubernetes_hyperkube_repo: ${_param:mcp_docker_registry}/mirantis/kubernetes
+    kubernetes_calico_calicoctl_repo: ${_param:mcp_binary_registry}/mirantis/projectcalico/calicoctl
+    kubernetes_calico_birdcl_repo: ${_param:mcp_binary_registry}/mirantis/projectcalico/bird
+    kubernetes_calico_cni_repo: ${_param:mcp_binary_registry}/mirantis/projectcalico/cni-plugin
+    kubernetes_hyperkube_repo: ${_param:mcp_binary_registry}/mirantis/kubernetes/hyperkube-binaries
     kubernetes_contrail_cni_repo: ${_param:mcp_docker_registry}/mirantis/kubernetes
     kubernetes_contrail_network_controller_repo: ${_param:mcp_docker_registry}/mirantis/kubernetes/contrail-integration
     kubernetes_netchecker_agent_repo: mirantis
@@ -12,25 +13,32 @@
     kubernetes_virtlet_repo: mirantis
     kubernetes_kubedns_repo: gcr.io/google_containers
     kubernetes_externaldns_repo: ${_param:mcp_docker_registry}/mirantis/external-dns
-    kubernetes_genie_repo: https://docker-prod-local.artifactory.mirantis.com/artifactory/binary-prod-local/mirantis/kubernetes/cni-genie
+    kubernetes_genie_repo: ${_param:mcp_binary_registry}/mirantis/kubernetes/cni-genie
     kubernetes_flannel_repo: quay.io/coreos
     kubernetes_metallb_repo: ${_param:mcp_docker_registry}/mirantis/metallb
-    kubernetes_sriov_repo: https://docker-prod-local.artifactory.mirantis.com/artifactory/binary-prod-local/mirantis/kubernetes/sriov-cni
-    kubernetes_cniplugins_repo: https://docker-prod-local.artifactory.mirantis.com/artifactory/binary-prod-local/mirantis/kubernetes/containernetworking-plugins
+    kubernetes_sriov_repo: ${_param:mcp_binary_registry}/mirantis/kubernetes/sriov-cni
+    kubernetes_cniplugins_repo: ${_param:mcp_binary_registry}/mirantis/kubernetes/containernetworking-plugins
     kubernetes_dashboard_repo: ${_param:mcp_docker_registry}/mirantis/kubernetes
     kubernetes_coredns_repo: ${_param:mcp_docker_registry}/mirantis/coredns
     kubernetes_ingressnginx_repo: ${_param:mcp_docker_registry}/mirantis/kubernetes-ingress-nginx
     kubernetes_corends_etcd_operator_repo: quay.io/coreos
     kubernetes_containerd_repo: https://github.com/kubernetes-sigs/cri-tools/releases/download
 
-    # component docker images
+    # component images/binaries
     kubernetes_docker_package: docker-engine=1.13.1-0~ubuntu-xenial
-    kubernetes_calico_calicoctl_image: ${_param:kubernetes_calico_calicoctl_repo}/ctl:v3.1.3
     kubernetes_calico_image: ${_param:kubernetes_calico_repo}/node:v3.1.3
-    kubernetes_calico_cni_image: ${_param:kubernetes_calico_cni_repo}/cni:v3.1.3
     kubernetes_calico_kube_controllers_image: ${_param:kubernetes_calico_kube_ctl_repo}/kube-controllers:v3.1.3
-    kubernetes_hyperkube_image: ${_param:kubernetes_hyperkube_repo}/hyperkube-amd64:v1.11.3-2
-    kubernetes_pause_image: ${_param:kubernetes_hyperkube_repo}/pause-amd64:v1.11.3-2
+    kubernetes_calico_calicoctl_source: ${_param:kubernetes_calico_calicoctl_repo}/calicoctl-v3.1.3
+    kubernetes_calico_calicoctl_source_hash: md5=4fa504cd4c545fe2a5d6106f5379c307
+    kubernetes_calico_birdcl_source: ${_param:kubernetes_calico_birdcl_repo}/birdcl-v0.3.2-17-20180926111644
+    kubernetes_calico_birdcl_source_hash: md5=256a70c67892eb79b74a8fb4e1d22b9b
+    kubernetes_calico_cni_source: ${_param:kubernetes_calico_cni_repo}/calico-v3.1.3-15-20181105142706
+    kubernetes_calico_cni_source_hash: md5=2f79e8f3ecb4c7d2e357333a01f781d1
+    kubernetes_calico_cni_ipam_source: ${_param:kubernetes_calico_cni_repo}/calico-ipam-v3.1.3-15-20181105142706
+    kubernetes_calico_cni_ipam_source_hash: md5=f70bea0c60724f56ddb9447fd8862bac
+    kubernetes_hyperkube_source: ${_param:kubernetes_hyperkube_repo}/hyperkube_v1.11.3-2_1536938897511
+    kubernetes_hyperkube_source_hash: md5=159910d99c3ccf77d1e0f7b346edaf40
+    kubernetes_pause_image: ${_param:mcp_docker_registry}/mirantis/kubernetes/pause-amd64:v1.11.3-2
     kubernetes_contrail_cni_image: ${_param:kubernetes_contrail_cni_repo}/contrail-cni:v1.2.0
     kubernetes_contrail_network_controller_image: ${_param:kubernetes_contrail_network_controller_repo}/contrail-network-controller:v1.2.0
     kubernetes_virtlet_image: ${_param:kubernetes_virtlet_repo}/virtlet:v1.4.1
@@ -59,6 +67,10 @@
     kubernetes_corends_etcd_operator_image: ${_param:kubernetes_corends_etcd_operator_repo}/etcd-operator:v0.9.2
     kubernetes_containerd_source: ${_param:kubernetes_containerd_repo}/v1.12.0/crictl-v1.12.0-linux-amd64.tar.gz
     kubernetes_containerd_source_hash: md5=ff60b9ddfa5617f7ed14b3f3b6a60056
+    # images for formula compatibility
+    kubernetes_hyperkube_image: ${_param:mcp_docker_registry}/mirantis/kubernetes/hyperkube-amd64:v1.11.3-2
+    kubernetes_calico_cni_image: ${_param:mcp_docker_registry}/mirantis/projectcalico/calico/cni:v3.1.3
+    kubernetes_calico_calicoctl_image: ${_param:mcp_docker_registry}/mirantis/projectcalico/calico/ctl:v3.1.3
 
     kubelet_fail_on_swap: true
     kubernetes_dashboard_enabled: true
@@ -116,6 +128,8 @@
           hash: ${_param:kubernetes_containerd_source_hash}
       hyperkube:
         image: ${_param:kubernetes_hyperkube_image}
+        source: ${_param:kubernetes_hyperkube_source}
+        source_hash: ${_param:kubernetes_hyperkube_source_hash}
         pause_image: ${_param:kubernetes_pause_image}
       cni:
         plugins:
@@ -196,9 +210,18 @@
         calico:
           enabled: ${_param:kubernetes_calico_enabled}
           image: ${_param:kubernetes_calico_image}
+          kube_controllers_image: ${_param:kubernetes_calico_kube_controllers_image}
+          calicoctl_source: ${_param:kubernetes_calico_calicoctl_source}
+          calicoctl_source_hash: ${_param:kubernetes_calico_calicoctl_source_hash}
+          birdcl_source: ${_param:kubernetes_calico_birdcl_source}
+          birdcl_source_hash: ${_param:kubernetes_calico_birdcl_source_hash}
+          cni_source: ${_param:kubernetes_calico_cni_source}
+          cni_source_hash: ${_param:kubernetes_calico_cni_source_hash}
+          cni_ipam_source: ${_param:kubernetes_calico_cni_ipam_source}
+          cni_ipam_source_hash: ${_param:kubernetes_calico_cni_ipam_source_hash}
+          # compatibility
           calicoctl_image: ${_param:kubernetes_calico_calicoctl_image}
           cni_image: ${_param:kubernetes_calico_cni_image}
-          kube_controllers_image: ${_param:kubernetes_calico_kube_controllers_image}
         opencontrail:
           enabled: ${_param:kubernetes_opencontrail_enabled}
           cni_image: ${_param:kubernetes_contrail_cni_image}