Merge "Fix model_manager cluster model"
diff --git a/classes/cluster/os_ha_contrail/infra/config.yml b/classes/cluster/os_ha_contrail/infra/config.yml
index fb26bc0..0277722 100755
--- a/classes/cluster/os_ha_contrail/infra/config.yml
+++ b/classes/cluster/os_ha_contrail/infra/config.yml
@@ -25,7 +25,6 @@
 - system.reclass.storage.system.openstack_control_cluster
 - system.reclass.storage.system.opencontrail_control_cluster
 - cluster.os_ha_contrail.openstack.proxy
-- cluster.os_ha_contrail.openstack.dashboard
 - cluster.os_ha_contrail
 parameters:
   _param:
@@ -51,7 +50,7 @@
       site:
         nginx_proxy_openstack_web:
           proxy:
-            host: prx
+            host: ${_param:openstack_control_address}
         nginx_proxy_openstack_api_heat_cfn:
           enabled: false
   salt:
@@ -124,18 +123,21 @@
         openstack_control_node01:
           classes:
           - service.galera.master.cluster
+          - cluster.os_ha_contrail.openstack.dashboard
           params:
             mysql_cluster_role: master
             linux_system_codename: xenial
         openstack_control_node02:
           classes:
           - service.galera.slave.cluster
+          - cluster.os_ha_contrail.openstack.dashboard
           params:
             mysql_cluster_role: slave
             linux_system_codename: xenial
         openstack_control_node03:
           classes:
           - service.galera.slave.cluster
+          - cluster.os_ha_contrail.openstack.dashboard
           params:
             mysql_cluster_role: slave
             linux_system_codename: xenial
diff --git a/classes/cluster/os_ha_contrail/openstack/dashboard.yml b/classes/cluster/os_ha_contrail/openstack/dashboard.yml
index 7c9602e..0c4cb38 100755
--- a/classes/cluster/os_ha_contrail/openstack/dashboard.yml
+++ b/classes/cluster/os_ha_contrail/openstack/dashboard.yml
@@ -3,7 +3,7 @@
 - system.linux.system.repo.mcp.openstack
 - system.linux.system.repo.mcp.extra
 - system.linux.system.repo.saltstack.xenial
-- system.horizon.server.single
+- system.horizon.server.cluster
 - system.horizon.server.plugin.contrail
 - system.horizon.server.plugin.overrides
 - cluster.os_ha_contrail
diff --git a/classes/cluster/os_ha_contrail/openstack/init.yml b/classes/cluster/os_ha_contrail/openstack/init.yml
index 97a3fcf..826c807 100755
--- a/classes/cluster/os_ha_contrail/openstack/init.yml
+++ b/classes/cluster/os_ha_contrail/openstack/init.yml
@@ -1,8 +1,9 @@
 parameters:
   _param:
-    openstack_proxy_address: 172.16.10.121
+    openstack_proxy_hostname: prx
+    openstack_proxy_address: ${_param:openstack_proxy_node01_address}
     openstack_proxy_node01_hostname: prx01
-    openstack_proxy_node01_address: 172.16.10.121
+    openstack_proxy_node01_address: ${_param:infra_config_address}
 
     openstack_control_address: 172.16.10.254
     openstack_control_node01_hostname: ctl01
@@ -37,7 +38,7 @@
     apt_mk_version: nightly
     openstack_region: RegionOne
     admin_email: root@localhost
-    cluster_public_host: ${_param:openstack_control_address}
+    cluster_public_host: ${_param:openstack_proxy_address}
     opencontrail_version: 3.0
     opencontrail_compute_dns: 8.8.8.8
     opencontrail_stats_password: contrail123
diff --git a/classes/cluster/os_ha_ovs/infra/config.yml b/classes/cluster/os_ha_ovs/infra/config.yml
index bbc9975..783586f 100644
--- a/classes/cluster/os_ha_ovs/infra/config.yml
+++ b/classes/cluster/os_ha_ovs/infra/config.yml
@@ -23,7 +23,6 @@
 - system.mysql.client.database.neutron
 - system.reclass.storage.system.openstack_control_cluster
 - cluster.os_ha_ovs.openstack.proxy
-- cluster.os_ha_ovs.openstack.dashboard
 - cluster.os_ha_ovs
 parameters:
   _param:
@@ -51,7 +50,7 @@
       site:
         nginx_proxy_openstack_web:
           proxy:
-            host: prx
+            host: ${_param:openstack_control_address}
         nginx_proxy_openstack_api_heat_cfn:
           enabled: false
   salt:
diff --git a/classes/cluster/os_ha_ovs/openstack/control.yml b/classes/cluster/os_ha_ovs/openstack/control.yml
index 742153a..5e8accb 100644
--- a/classes/cluster/os_ha_ovs/openstack/control.yml
+++ b/classes/cluster/os_ha_ovs/openstack/control.yml
@@ -26,6 +26,7 @@
 - system.galera.server.database.heat
 - system.galera.server.database.keystone
 - system.galera.server.database.nova
+- cluster.os_ha_ovs.openstack.dashboard
 - cluster.os_ha_ovs
 parameters:
   _param:
diff --git a/classes/cluster/os_ha_ovs/openstack/dashboard.yml b/classes/cluster/os_ha_ovs/openstack/dashboard.yml
index c790ad0..ddddaa9 100644
--- a/classes/cluster/os_ha_ovs/openstack/dashboard.yml
+++ b/classes/cluster/os_ha_ovs/openstack/dashboard.yml
@@ -3,7 +3,7 @@
 - system.linux.system.repo.mcp.openstack
 - system.linux.system.repo.mcp.extra
 - system.linux.system.repo.saltstack.xenial
-- system.horizon.server.single
+- system.horizon.server.cluster
 - cluster.os_ha_ovs
 parameters:
   _param:
diff --git a/classes/cluster/os_ha_ovs/openstack/init.yml b/classes/cluster/os_ha_ovs/openstack/init.yml
index fff4f05..5920112 100644
--- a/classes/cluster/os_ha_ovs/openstack/init.yml
+++ b/classes/cluster/os_ha_ovs/openstack/init.yml
@@ -28,7 +28,7 @@
     openstack_region: RegionOne
     admin_email: root@localhost
     cluster_public_protocol: http
-    cluster_public_host: ${_param:openstack_control_address}
+    cluster_public_host: ${_param:openstack_proxy_address}
     neutron_public_protocol: http
     neutron_control_dvr: False
     neutron_tenant_network_types: "flat,vxlan"
diff --git a/classes/cluster/sl_k8s_calico/stacklight/init.yml b/classes/cluster/sl_k8s_calico/stacklight/init.yml
index 243a614..9745f9a 100644
--- a/classes/cluster/sl_k8s_calico/stacklight/init.yml
+++ b/classes/cluster/sl_k8s_calico/stacklight/init.yml
@@ -1,12 +1,12 @@
 parameters:
   _param:
     stacklight_monitor_address: 172.16.10.252
-    stacklight_node01_hostname: mon01
-    stacklight_node02_hostname: mon02
-    stacklight_node03_hostname: mon03
-    stacklight_node01_address: 172.16.10.107
-    stacklight_node02_address: 172.16.10.108
-    stacklight_node03_address: 172.16.10.109
+    stacklight_monitor_node01_hostname: mon01
+    stacklight_monitor_node02_hostname: mon02
+    stacklight_monitor_node03_hostname: mon03
+    stacklight_monitor_node01_address: 172.16.10.107
+    stacklight_monitor_node02_address: 172.16.10.108
+    stacklight_monitor_node03_address: 172.16.10.109
 
     # Glusterfs
     glusterfs_service_host: ${_param:stacklight_monitor_address}
@@ -35,20 +35,20 @@
           - mon
           - mon.${_param:cluster_domain}
         mon01:
-          address: ${_param:stacklight_node01_address}
+          address: ${_param:stacklight_monitor_node01_address}
           names:
-          - ${_param:stacklight_node01_hostname}
-          - ${_param:stacklight_node01_hostname}.${_param:cluster_domain}
+          - ${_param:stacklight_monitor_node01_hostname}
+          - ${_param:stacklight_monitor_node01_hostname}.${_param:cluster_domain}
         mon02:
-          address: ${_param:stacklight_node02_address}
+          address: ${_param:stacklight_monitor_node02_address}
           names:
-          - ${_param:stacklight_node02_hostname}
-          - ${_param:stacklight_node02_hostname}.${_param:cluster_domain}
+          - ${_param:stacklight_monitor_node02_hostname}
+          - ${_param:stacklight_monitor_node02_hostname}.${_param:cluster_domain}
         mon03:
-          address: ${_param:stacklight_node03_address}
+          address: ${_param:stacklight_monitor_node03_address}
           names:
-          - ${_param:stacklight_node03_hostname}
-          - ${_param:stacklight_node03_hostname}.${_param:cluster_domain}
+          - ${_param:stacklight_monitor_node03_hostname}
+          - ${_param:stacklight_monitor_node03_hostname}.${_param:cluster_domain}
     system:
       name: ${_param:infra_config_hostname}
       domain: ${_param:cluster_domain}
diff --git a/classes/cluster/sl_k8s_calico/stacklight/server.yml b/classes/cluster/sl_k8s_calico/stacklight/server.yml
index 14821d1..ec66592 100644
--- a/classes/cluster/sl_k8s_calico/stacklight/server.yml
+++ b/classes/cluster/sl_k8s_calico/stacklight/server.yml
@@ -45,12 +45,12 @@
     keepalived_prometheus_vip_password: password
     keepalived_prometheus_vip_interface: ens4
     # Docker/Elasticsearch
-    cluster_node01_hostname: ${_param:stacklight_node01_hostname}
-    cluster_node01_address: ${_param:stacklight_node01_address}
-    cluster_node02_hostname: ${_param:stacklight_node02_hostname}
-    cluster_node02_address: ${_param:stacklight_node02_address}
-    cluster_node03_hostname: ${_param:stacklight_node03_hostname}
-    cluster_node03_address: ${_param:stacklight_node03_address}
+    cluster_node01_hostname: ${_param:stacklight_monitor_node01_hostname}
+    cluster_node01_address: ${_param:stacklight_monitor_node01_address}
+    cluster_node02_hostname: ${_param:stacklight_monitor_node02_hostname}
+    cluster_node02_address: ${_param:stacklight_monitor_node02_address}
+    cluster_node03_hostname: ${_param:stacklight_monitor_node03_hostname}
+    cluster_node03_address: ${_param:stacklight_monitor_node03_address}
     # Kibana
     kibana_elasticsearch_host: ${_param:cluster_vip_address}
     # Galera
diff --git a/classes/cluster/sl_k8s_contrail/stacklight/init.yml b/classes/cluster/sl_k8s_contrail/stacklight/init.yml
index 261c6aa..085eb89 100644
--- a/classes/cluster/sl_k8s_contrail/stacklight/init.yml
+++ b/classes/cluster/sl_k8s_contrail/stacklight/init.yml
@@ -1,12 +1,12 @@
 parameters:
   _param:
     stacklight_monitor_address: 172.16.10.251
-    stacklight_monitor_node01_hostname: mon01
-    stacklight_monitor_node02_hostname: mon02
-    stacklight_monitor_node03_hostname: mon03
-    stacklight_monitor_node01_address: 172.16.10.107
-    stacklight_monitor_node02_address: 172.16.10.108
-    stacklight_monitor_node03_address: 172.16.10.109
+    stacklight_node01_hostname: mon01
+    stacklight_node02_hostname: mon02
+    stacklight_node03_hostname: mon03
+    stacklight_node01_address: 172.16.10.107
+    stacklight_node02_address: 172.16.10.108
+    stacklight_node03_address: 172.16.10.109
     # GlusterFS
     glusterfs_service_host: ${_param:stacklight_monitor_address}
     # Prometheus
@@ -20,6 +20,10 @@
     galera_server_cluster_name: monitoring_cluster
     galera_server_maintenance_password: workshop
     galera_server_admin_password: workshop
+
+    heka_elasticsearch_host: ${_param:stacklight_monitor_address}
+    elasticsearch_port: 9200
+    stacklight_environment: ${_param:cluster_domain}
   linux:
     network:
       host:
@@ -29,20 +33,20 @@
           - mon
           - mon.${_param:cluster_domain}
         mon01:
-          address: ${_param:stacklight_monitor_node01_address}
+          address: ${_param:stacklight_node01_address}
           names:
-          - ${_param:stacklight_monitor_node01_hostname}
-          - ${_param:stacklight_monitor_node01_hostname}.${_param:cluster_domain}
+          - ${_param:stacklight_node01_hostname}
+          - ${_param:stacklight_node01_hostname}.${_param:cluster_domain}
         mon02:
-          address: ${_param:stacklight_monitor_node02_address}
+          address: ${_param:stacklight_node02_address}
           names:
-          - ${_param:stacklight_monitor_node02_hostname}
-          - ${_param:stacklight_monitor_node02_hostname}.${_param:cluster_domain}
+          - ${_param:stacklight_node02_hostname}
+          - ${_param:stacklight_node02_hostname}.${_param:cluster_domain}
         mon03:
-          address: ${_param:stacklight_monitor_node03_address}
+          address: ${_param:stacklight_node03_address}
           names:
-          - ${_param:stacklight_monitor_node03_hostname}
-          - ${_param:stacklight_monitor_node03_hostname}.${_param:cluster_domain}
+          - ${_param:stacklight_node03_hostname}
+          - ${_param:stacklight_node03_hostname}.${_param:cluster_domain}
     system:
       name: ${_param:infra_config_hostname}
-      domain: ${_param:cluster_domain}
+      domain: ${_param:cluster_domain}
\ No newline at end of file
diff --git a/classes/cluster/sl_k8s_contrail/stacklight/proxy.yml b/classes/cluster/sl_k8s_contrail/stacklight/proxy.yml
index aea6b39..2818149 100644
--- a/classes/cluster/sl_k8s_contrail/stacklight/proxy.yml
+++ b/classes/cluster/sl_k8s_contrail/stacklight/proxy.yml
@@ -1,6 +1,7 @@
 classes:
 - system.nginx.server.single
 - system.nginx.server.proxy.stacklight.grafana
+- system.nginx.server.proxy.stacklight.kibana
 - system.nginx.server.proxy.monitoring.prometheus_server
 - system.nginx.server.proxy.monitoring.prometheus_alertmanager
 - system.salt.minion.cert.proxy
diff --git a/classes/cluster/sl_k8s_contrail/stacklight/server.yml b/classes/cluster/sl_k8s_contrail/stacklight/server.yml
index 1394b9e..3a54585 100644
--- a/classes/cluster/sl_k8s_contrail/stacklight/server.yml
+++ b/classes/cluster/sl_k8s_contrail/stacklight/server.yml
@@ -53,12 +53,12 @@
     # Kibana
     kibana_elasticsearch_host: ${_param:cluster_vip_address}
     # Docker/Elasticsearch
-    cluster_node01_hostname: ${_param:stacklight_monitor_node01_hostname}
-    cluster_node01_address: ${_param:stacklight_monitor_node01_address}
-    cluster_node02_hostname: ${_param:stacklight_monitor_node02_hostname}
-    cluster_node02_address: ${_param:stacklight_monitor_node02_address}
-    cluster_node03_hostname: ${_param:stacklight_monitor_node03_hostname}
-    cluster_node03_address: ${_param:stacklight_monitor_node03_address}
+    cluster_node01_hostname: ${_param:stacklight_node01_hostname}
+    cluster_node01_address: ${_param:stacklight_node01_address}
+    cluster_node02_hostname: ${_param:stacklight_node02_hostname}
+    cluster_node02_address: ${_param:stacklight_node02_address}
+    cluster_node03_hostname: ${_param:stacklight_node03_hostname}
+    cluster_node03_address: ${_param:stacklight_node03_address}
     influxdb_port: 8086
     influxdb_admin_password: password
     influxdb_stacklight_password: lmapass
@@ -66,6 +66,10 @@
     prometheus_influxdb_db: lma
     prometheus_influxdb_username: lma
     prometheus_influxdb_password: ${_param:influxdb_stacklight_password}
+  elasticsearch:
+    server:
+      heap:
+        size: 1
   keepalived:
     cluster:
       instance:
diff --git a/classes/system b/classes/system
index dacd875..c292a9b 160000
--- a/classes/system
+++ b/classes/system
@@ -1 +1 @@
-Subproject commit dacd875b680823c435cf78330fe6322d50ffadd4
+Subproject commit c292a9b5afb28898fc250f5006b8cbf017bac958