Update sl-pike-dvr model

Change-Id: If2ea2690b2787528e918bdc4477453360f2d2c2c
Closes-Bug: PROD-21138
diff --git a/classes/cluster/sl-pike-dvr/.env b/classes/cluster/sl-pike-dvr/.env
index 147f964..ebce5d7 100644
--- a/classes/cluster/sl-pike-dvr/.env
+++ b/classes/cluster/sl-pike-dvr/.env
@@ -1 +1 @@
-FORMULAS_SALT_MASTER+=(fluentd git grafana linux nginx ntp openssh prometheus reclass rsyslog salt sphinx telegraf backupninja logrotate)
+FORMULAS_SALT_MASTER+=(java openssh ntp nginx collectd sensu heka sphinx mysql galera grafana libvirt rsyslog glusterfs postfix xtrabackup freeipa prometheus telegraf elasticsearch kibana rundeck devops-portal libvirt rsyslog memcached rabbitmq apache keystone glance nova neutron cinder heat horizon ironic tftpd-hpa bind powerdns designate barbican iptables fluentd logrotate auditd)
diff --git a/classes/cluster/sl-pike-dvr/infra/config.yml b/classes/cluster/sl-pike-dvr/infra/config.yml
index 98ef8d2..c5e0514 100644
--- a/classes/cluster/sl-pike-dvr/infra/config.yml
+++ b/classes/cluster/sl-pike-dvr/infra/config.yml
@@ -3,7 +3,7 @@
 - system.linux.system.single
 - system.linux.system.repo.mcp.apt_mirantis.saltstack
 - system.linux.system.repo.mcp.apt_mirantis.openstack
-#- system.openssh.client.lab
+- system.openssh.client.lab
 - system.salt.master.api
 - system.salt.master.pkg
 - system.reclass.storage.salt
@@ -15,11 +15,8 @@
 - system.keystone.client.service.ceilometer
 - system.keystone.client.service.nova21
 - system.keystone.client.service.nova-placement
-- system.keystone.client.service.glare
 - system.keystone.client.service.cinder3
-- system.keystone.client.service.designate
 - system.mysql.client.single
-- system.reclass.storage.system.openstack_dns_cluster
 - system.reclass.storage.system.openstack_control_cluster
 - system.reclass.storage.system.openstack_compute_multi
 - system.reclass.storage.system.openstack_gateway_single
@@ -36,9 +33,9 @@
     salt_master_environment_repository: "https://github.com/tcpcloud"
     salt_master_environment_revision: master
     salt_api_password_hash: "$6$sGnRlxGf$al5jMCetLP.vfI/fTl3Z0N7Za1aeiexL487jAtyRABVfT3NlwZxQGVhO7S1N8OwS/34VHYwZQA8lkXwKMN/GS1"
-    reclass_config_master: 192.168.10.90
+    reclass_config_master: ${_param:infra_config_deploy_address}
+    single_address: ${_param:infra_config_address}
     reclass_config_master_gateway: 192.168.10.1
-    single_address: 172.16.10.100
     salt_master_host: 127.0.0.1
     salt_master_base_environment: prd
     salt_minion_ca_host: ${linux:network:fqdn}
@@ -133,6 +130,16 @@
           cluster_param:
             openstack_gateway_node01_address:
               value_template: <<node_control_ip>>
+        openstack_compute:
+          expression: <<node_hostname>>__startswith__cmp
+          node_class:
+            value_template:
+              - cluster.<<node_cluster>>.openstack.compute
+          node_param:
+            tenant_address:
+              value_template: <<node_tenant_ip>>
+            external_address:
+              value_template: <<node_external_ip>>
         stacklight_monitor_node01:
           expression: <<node_hostname>>__equals__mon01
           cluster_param:
@@ -160,7 +167,7 @@
       node:
         openstack_control_node01:
           classes:
-          - cluster.virtual-mcp-pike-dvr.infra.backup.client_mysql
+          - cluster.sl-pike-dvr.infra.backup.client_mysql
           - service.galera.master.cluster
           params:
             mysql_cluster_role: master
@@ -173,7 +180,7 @@
             linux_system_codename: xenial
         openstack_control_node03:
           classes:
-          - cluster.virtual-mcp-pike-dvr.infra.backup.server
+          - cluster.sl-pike-dvr.infra.backup.server
           - service.galera.slave.cluster
           params:
             mysql_cluster_role: slave
@@ -184,12 +191,10 @@
           - system.influxdb.database.stacklight
         openstack_compute_node01:
           params:
-            single_address: 172.16.10.105
             tenant_address: 10.1.0.105
             external_address: 10.16.0.105
         openstack_compute_node02:
           params:
-            single_address: 172.16.10.106
             tenant_address: 10.1.0.106
             external_address: 10.16.0.106
         openstack_gateway_node01:
@@ -198,6 +203,6 @@
             external_address: 10.16.0.110
         openstack_proxy_node01:
           classes:
-          - cluster.virtual-mcp-pike-dvr.openstack.proxy
+          - cluster.sl-pike-dvr.openstack.proxy
           params:
             linux_system_codename: xenial
diff --git a/classes/cluster/sl-pike-dvr/infra/init.yml b/classes/cluster/sl-pike-dvr/infra/init.yml
index b01723d..4181446 100644
--- a/classes/cluster/sl-pike-dvr/infra/init.yml
+++ b/classes/cluster/sl-pike-dvr/infra/init.yml
@@ -1,4 +1,9 @@
 parameters:
+  _param:
+    cluster_domain: sl-pike-dvr.local
+    cluster_name: sl-pike-dvr
+    infra_config_hostname: cfg01
+    infra_config_address: 172.16.10.100
   linux:
     network:
       host:
@@ -12,3 +17,8 @@
           names:
           - cfg
           - cfg.${_param:cluster_domain}
+  openssh:
+    server:
+      alive:
+        interval: 86400
+        count: 500
diff --git a/classes/cluster/sl-pike-dvr/init.yml b/classes/cluster/sl-pike-dvr/init.yml
index 9417b91..ec92997 100644
--- a/classes/cluster/sl-pike-dvr/init.yml
+++ b/classes/cluster/sl-pike-dvr/init.yml
@@ -9,48 +9,15 @@
 - system.linux.system.repo.mcp.extra
 - system.linux.system.single
 - system.linux.system.repo.mcp.apt_mirantis.fluentd
+- system.linux.system.repo.mcp.apt_mirantis.openstack
 - system.rsyslog.client.single
 - system.prometheus.collector
 - system.telegraf.agent
 - system.openssh.server.team.lab
 - system.openssh.server.team.tcpcloud
+- system.openssh.server.team.stacklight
 - system.openssh.server.team.mcp_qa
 - cluster.sl-pike-dvr.infra
 - cluster.sl-pike-dvr.openstack
 - cluster.sl-pike-dvr.stacklight
 - cluster.overrides
-parameters:
-  _param:
-    cluster_domain: virtual-mcp-pike-dvr.local
-    cluster_name: virtual-mcp-pike-dvr
-    # infra service addresses
-    infra_config_hostname: cfg01
-    infra_config_address: 172.16.10.100
-    # openstack service addresses
-    openstack_database_address: 172.16.10.254
-    openstack_proxy_address: 172.16.10.121
-    openstack_proxy_node01_address: 172.16.10.121
-    openstack_control_address: 172.16.10.254
-    openstack_control_node01_address: 172.16.10.101
-    openstack_control_node02_address: 172.16.10.102
-    openstack_control_node03_address: 172.16.10.103
-    openstack_database_address: ${_param:openstack_control_address}
-    openstack_database_node01_address: ${_param:openstack_control_node01_address}
-    openstack_database_node02_address: ${_param:openstack_control_node02_address}
-    openstack_database_node03_address: ${_param:openstack_control_node03_address}
-    openstack_message_queue_address: ${_param:openstack_control_address}
-    openstack_message_queue_node01_address: ${_param:openstack_control_node01_address}
-    openstack_message_queue_node02_address: ${_param:openstack_control_node02_address}
-    openstack_message_queue_node03_address: ${_param:openstack_control_node03_address}
-    openstack_gateway_address: 172.16.10.110
-    openstack_gateway_node01_address: ${_param:openstack_gateway_address}
-    openstack_dns_node01_address: 172.16.10.111
-    openstack_dns_node02_address: 172.16.10.112
-    # stacklight service addresses
-    stacklight_monitor_address: 172.16.10.253
-    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_telemetry_address: ${_param:stacklight_monitor_address}
-    stacklight_log_address: ${_param:stacklight_monitor_address}
-    stacklight_telemetry_node01_address: ${_param:stacklight_monitor_node01_address}
diff --git a/classes/cluster/sl-pike-dvr/openstack/control.yml b/classes/cluster/sl-pike-dvr/openstack/control.yml
index 20c9273..2f18717 100644
--- a/classes/cluster/sl-pike-dvr/openstack/control.yml
+++ b/classes/cluster/sl-pike-dvr/openstack/control.yml
@@ -25,7 +25,6 @@
 - system.ceilometer.server.backend.influxdb
 - system.aodh.server.cluster
 - system.heka.ceilometer_collector.single
-- system.designate.server.cluster
 - system.galera.server.cluster
 - system.galera.server.database.aodh
 - system.galera.server.database.ceilometer
@@ -35,7 +34,10 @@
 - system.galera.server.database.heat
 - system.galera.server.database.keystone
 - system.galera.server.database.nova
-- system.galera.server.database.designate
+- system.prometheus.relay
+- system.prometheus.server.standalone
+- system.prometheus.server.target.federation
+- system.prometheus.server.target.federation.all_metrics
 - system.haproxy.proxy.listen.openstack.nova-placement
 - system.keepalived.cluster.instance.default_keepalived_check
 - cluster.sl-pike-dvr
@@ -43,6 +45,8 @@
 parameters:
   _param:
     keepalived_vip_interface: ens4
+    prometheus_relay_bind_port: 15016
+    prometheus_storage_retention: "720h"
   linux:
     system:
       package:
@@ -67,35 +71,6 @@
       notification:
         driver: messagingv2
         topics: "notifications,${_param:stacklight_notification_topic}"
-  designate:
-    pool_manager:
-      enabled: ${_param:designate_pool_manager_enabled}
-      periodic_sync_interval: ${_param:designate_pool_manager_periodic_sync_interval}
-    server:
-      backend:
-        pdns4:
-          api_token: ${_param:designate_pdns_api_key}
-          api_endpoint: ${_param:designate_pdns_api_endpoint}
-      mdns:
-        address: ${_param:designate_mdns_address}
-        port: ${_param:designate_mdns_port}
-      pools:
-        default:
-          description: 'test pool'
-          targets:
-            default:
-              description: 'test target1'
-            default1:
-              type: ${_param:designate_pool_target_type}
-              description: 'test target2'
-              masters: ${_param:designate_pool_target_masters}
-              options:
-                host: ${_param:openstack_dns_node02_address}
-                port: 53
-                api_endpoint: "http://${_param:openstack_dns_node02_address}:${_param:powerdns_webserver_port}"
-                api_token: ${_param:designate_pdns_api_key}
-      quota:
-        zones: ${_param:designate_quota_zones}
   glance:
     server:
       storage:
diff --git a/classes/cluster/sl-pike-dvr/openstack/dns.yml b/classes/cluster/sl-pike-dvr/openstack/dns.yml
deleted file mode 100644
index f3538c1..0000000
--- a/classes/cluster/sl-pike-dvr/openstack/dns.yml
+++ /dev/null
@@ -1,35 +0,0 @@
-classes:
-- system.powerdns.server.single
-- cluster.sl-pike-dvr
-
-parameters:
-  powerdns:
-    server:
-      api:
-          enabled: True
-          key: ${_param:designate_pdns_api_key}
-      axfr_ips:
-          ${_param:powerdns_axfr_ips}
-      bind:
-          address: ${_param:single_address}
-      overwrite_supermasters: True
-      supermasters:
-          ${_param:powerdns_supermasters}
-      webserver:
-          enabled: True
-          address: ${_param:single_address}
-          password: ${_param:powerdns_webserver_password}
-          port: ${_param:powerdns_webserver_port}
-  linux:
-    system:
-      package:
-        python-msgpack:
-          version: latest
-    network:
-      interface:
-        ens4:
-          enabled: true
-          type: eth
-          proto: static
-          address: ${_param:single_address}
-          netmask: 255.255.255.0
diff --git a/classes/cluster/sl-pike-dvr/openstack/init.yml b/classes/cluster/sl-pike-dvr/openstack/init.yml
index 4a7ef7e..715546d 100644
--- a/classes/cluster/sl-pike-dvr/openstack/init.yml
+++ b/classes/cluster/sl-pike-dvr/openstack/init.yml
@@ -1,5 +1,36 @@
 parameters:
   _param:
+    openstack_proxy_hostname: prx01
+    openstack_proxy_address: ${_param:openstack_proxy_node01_address}
+    openstack_proxy_node01_hostname: prx01
+    openstack_proxy_node01_address: 172.16.10.121
+    openstack_control_hostname: ctl
+    openstack_control_node01_hostname: ctl01
+    openstack_control_node02_hostname: ctl02
+    openstack_control_node03_hostname: ctl03
+    openstack_control_address: 172.16.10.254
+    openstack_control_node01_address: 172.16.10.91
+    openstack_control_node02_address: 172.16.10.92
+    openstack_control_node03_address: 172.16.10.93
+    openstack_gateway_hostname: gtw
+    openstack_gateway_address: ${_param:openstack_gateway_node01_address}
+    openstack_gateway_node01_hostname: gtw01
+    openstack_gateway_node01_address: 172.16.10.94
+    openstack_compute_node01_hostname: cmp01
+    openstack_compute_node02_hostname: cmp02
+    openstack_compute_node01_address: 172.16.10.95
+    openstack_compute_node02_address: 172.16.10.96
+    openstack_dns_node01_address: 172.16.10.111
+    openstack_dns_node02_address: 172.16.10.112
+    openstack_database_address: ${_param:openstack_control_address}
+    openstack_database_node01_address: ${_param:openstack_control_node01_address}
+    openstack_database_node02_address: ${_param:openstack_control_node02_address}
+    openstack_database_node03_address: ${_param:openstack_control_node03_address}
+    openstack_message_queue_address: ${_param:openstack_control_address}
+    openstack_message_queue_node01_address: ${_param:openstack_control_node01_address}
+    openstack_message_queue_node02_address: ${_param:openstack_control_node02_address}
+    openstack_message_queue_node03_address: ${_param:openstack_control_node03_address}
+
     openstack_version: pike
     apt_mk_version: nightly
     cinder_version: ${_param:openstack_version}
@@ -30,68 +61,15 @@
     cluster_vip_address: 172.16.10.254
     cluster_local_address: ${_param:single_address}
     cluster_node01_hostname: ctl01
-    cluster_node01_address: 172.16.10.101
+    cluster_node01_address: ${_param:openstack_control_node01_address}
     cluster_node02_hostname: ctl02
-    cluster_node02_address: 172.16.10.102
+    cluster_node02_address: ${_param:openstack_control_node02_address}
     cluster_node03_hostname: ctl03
-    cluster_node03_address: 172.16.10.103
+    cluster_node03_address: ${_param:openstack_control_node03_address}
     rabbitmq_secret_key: workshop
     rabbitmq_admin_password: workshop
     rabbitmq_openstack_password: workshop
     rabbitmq_cold_password: workshop
-    powerdns_axfr_ips:
-      - ${_param:openstack_control_node01_address}
-      - ${_param:openstack_control_node02_address}
-      - ${_param:openstack_control_node03_address}
-      - 127.0.0.1
-    powerdns_supermasters:
-      - ip: ${_param:openstack_control_node01_address}
-        nameserver: ns1.example.org
-        account: master
-      - ip: ${_param:openstack_control_node02_address}
-        nameserver: ns2.example.org
-        account: master
-      - ip: ${_param:openstack_control_node03_address}
-        nameserver: ns3.example.org
-        account: master
-    powerdns_overwrite_supermasters: True
-    powerdns_webserver_password: gJ6n3gVaYP8eS
-    powerdns_webserver_port: 8081
-    designate_admin_api_enabled: true
-    designate_domain_id: 5186883b-91fb-4891-bd49-e6769234a8fc
-    designate_mdns_address: 0.0.0.0
-    designate_mdns_port: 53
-    designate_pdns_api_key: VxK9cMlFL5Ae
-    designate_pdns_api_endpoint: "http://${_param:openstack_dns_node01_address}:${_param:powerdns_webserver_port}"
-    designate_pool_manager_enabled: True
-    designate_pool_manager_periodic_sync_interval: '120'
-    designate_pool_ns_records:
-      - hostname: 'ns1.example.org.'
-        priority: 10
-      - hostname: 'ns2.example.org.'
-        priority: 20
-      - hostname: 'ns3.example.org.'
-        priority: 30
-    designate_pool_nameservers:
-      - host: ${_param:openstack_dns_node01_address}
-        port: 53
-      - host: ${_param:openstack_dns_node02_address}
-        port: 53
-    designate_pool_target_type: pdns4
-    designate_pool_target_masters:
-      - host: ${_param:openstack_control_node01_address}
-        port: 53
-      - host: ${_param:openstack_control_node02_address}
-        port: 53
-      - host: ${_param:openstack_control_node03_address}
-        port: 53
-    designate_pool_target_options:
-      host: ${_param:openstack_dns_node01_address}
-      port: 53
-      api_token: ${_param:designate_pdns_api_key}
-      api_endpoint: ${_param:designate_pdns_api_endpoint}
-    designate_quota_zones: 40
-    designate_version: ${_param:openstack_version}
     glance_version: ${_param:openstack_version}
     glance_service_host: ${_param:cluster_vip_address}
     keystone_version: ${_param:openstack_version}
@@ -113,7 +91,6 @@
     neutron_version: ${_param:openstack_version}
     neutron_service_host: ${_param:cluster_vip_address}
     glusterfs_service_host: ${_param:cluster_vip_address}
-    designate_service_host: ${_param:cluster_vip_address}
     metadata_password: password
     mysql_admin_user: root
     mysql_admin_password: workshop
@@ -126,7 +103,6 @@
     mysql_neutron_password: workshop
     mysql_nova_password: workshop
     mysql_aodh_password: workshop
-    mysql_designate_password: workshop
     keystone_service_token: workshop
     keystone_admin_password: workshop
     keystone_aodh_password: workshop
@@ -137,7 +113,6 @@
     keystone_keystone_password: workshop
     keystone_neutron_password: workshop
     keystone_nova_password: workshop
-    keystone_designate_password: workshop
     ceilometer_secret_key: workshop
     horizon_version: ${_param:openstack_version}
     horizon_secret_key: opaesee8Que2yahJoh9fo0eefo1Aeyo6ahyei8zeiboh3aeth5loth7ieNa5xi5e
@@ -158,58 +133,53 @@
         prx:
           address: ${_param:openstack_proxy_address}
           names:
-          - prx
-          - prx.${_param:cluster_domain}
+          - ${_param:openstack_proxy_hostname}
+          - ${_param:openstack_proxy_hostname}.${_param:cluster_domain}
         prx01:
           address: ${_param:openstack_proxy_node01_address}
           names:
-          - prx01
-          - prx01.${_param:cluster_domain}
+          - ${_param:openstack_proxy_node01_hostname}
+          - ${_param:openstack_proxy_node01_hostname}.${_param:cluster_domain}
         ctl:
           address: ${_param:openstack_control_address}
           names:
-          - ctl
-          - ctl.${_param:cluster_domain}
+          - ${_param:openstack_control_hostname}
+          - ${_param:openstack_control_hostname}.${_param:cluster_domain}
         ctl01:
           address: ${_param:openstack_control_node01_address}
           names:
-          - ctl01
-          - ctl01.${_param:cluster_domain}
+          - ${_param:openstack_control_node01_hostname}
+          - ${_param:openstack_control_node01_hostname}.${_param:cluster_domain}
         ctl02:
           address: ${_param:openstack_control_node02_address}
           names:
-          - ctl02
-          - ctl02.${_param:cluster_domain}
+          - ${_param:openstack_control_node02_hostname}
+          - ${_param:openstack_control_node02_hostname}.${_param:cluster_domain}
         ctl03:
           address: ${_param:openstack_control_node03_address}
           names:
-          - ctl03
-          - ctl03.${_param:cluster_domain}
+          - ${_param:openstack_control_node03_hostname}
+          - ${_param:openstack_control_node03_hostname}.${_param:cluster_domain}
+        gtw:
+          address: ${_param:openstack_gateway_address}
+          names:
+          - ${_param:openstack_gateway_hostname}
+          - ${_param:openstack_gateway_hostname}.${_param:cluster_domain}
         gtw01:
           address: ${_param:openstack_gateway_address}
           names:
-          - gtw01
-          - gtw01.${_param:cluster_domain}
-        cmp01:
-          address: 172.16.10.105
+          - ${_param:openstack_gateway_hostname}
+          - ${_param:openstack_gateway_hostname}.${_param:cluster_domain}
+        cmp0:
+          address: ${_param:openstack_control_node01_address}
           names:
-          - cmp01
-          - cmp01.${_param:cluster_domain}
-        cmp02:
-          address: 172.16.10.106
+          - ${_param:openstack_compute_node01_hostname}
+          - ${_param:openstack_compute_node01_hostname}.${_param:cluster_domain}
+        cmp1:
+          address: ${_param:openstack_control_node02_address}
           names:
-          - cmp02
-          - cmp02.${_param:cluster_domain}
-        dns01:
-          address: ${_param:openstack_dns_node01_address}
-          names:
-          - dns01
-          - dns01.${_param:cluster_domain}
-        dns02:
-          address: ${_param:openstack_dns_node02_address}
-          names:
-          - dns02
-          - dns02.${_param:cluster_domain}
+          - ${_param:openstack_compute_node02_hostname}
+          - ${_param:openstack_compute_node02_hostname}.${_param:cluster_domain}
     system:
       user:
         root:
diff --git a/classes/cluster/sl-pike-dvr/stacklight/client.yml b/classes/cluster/sl-pike-dvr/stacklight/client.yml
index 4988908..10711a7 100644
--- a/classes/cluster/sl-pike-dvr/stacklight/client.yml
+++ b/classes/cluster/sl-pike-dvr/stacklight/client.yml
@@ -13,7 +13,9 @@
     grafana_port: 15013
     grafana_user: admin
     grafana_password: ${_param:grafana_admin_password}
-    grafana_prometheus_address: ${_param:stacklight_monitor_address}
+    # Pin grafana to Prometheus LTS
+    #grafana_prometheus_address: ${_param:stacklight_monitor_address}
+    grafana_prometheus_address: ${_param:openstack_control_address}
     grafana_prometheus_port: 15016
 
     cluster_node01_address: ${_param:stacklight_monitor_node01_address}
diff --git a/classes/cluster/sl-pike-dvr/stacklight/init.yml b/classes/cluster/sl-pike-dvr/stacklight/init.yml
index 015ea27..b5cb724 100644
--- a/classes/cluster/sl-pike-dvr/stacklight/init.yml
+++ b/classes/cluster/sl-pike-dvr/stacklight/init.yml
@@ -1,5 +1,16 @@
 parameters:
   _param:
+    stacklight_monitor_hostname: mon
+    stacklight_monitor_node01_hostname: mon01
+    stacklight_monitor_node02_hostname: mon02
+    stacklight_monitor_node03_hostname: mon03
+    stacklight_monitor_address: 172.16.10.253
+    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_log_address: ${_param:stacklight_monitor_address}
+    stacklight_telemetry_address: ${_param:stacklight_monitor_address}
+    stacklight_telemetry_node01_address: ${_param:stacklight_monitor_node01_address}
     prometheus_control_address: ${_param:stacklight_monitor_address}
     heka_elasticsearch_host: ${_param:stacklight_monitor_address}
     elasticsearch_port: 9200
@@ -16,20 +27,20 @@
         mon:
           address: ${_param:stacklight_monitor_address}
           names:
-          - mon
-          - mon.${_param:cluster_domain}
+          - ${_param:stacklight_monitor_hostname}
+          - ${_param:stacklight_monitor_hostname}.${_param:cluster_domain}
         mon01:
           address: ${_param:stacklight_monitor_node01_address}
           names:
-          - mon01
-          - mon01.${_param:cluster_domain}
+          - ${_param:stacklight_monitor_node01_hostname}
+          - ${_param:stacklight_monitor_node01_hostname}.${_param:cluster_domain}
         mon02:
           address: ${_param:stacklight_monitor_node02_address}
           names:
-          - mon02
-          - mon02.${_param:cluster_domain}
+          - ${_param:stacklight_monitor_node02_hostname}
+          - ${_param:stacklight_monitor_node02_hostname}.${_param:cluster_domain}
         mon03:
           address: ${_param:stacklight_monitor_node03_address}
           names:
-          - mon03
-          - mon03.${_param:cluster_domain}
+          - ${_param:stacklight_monitor_node03_hostname}
+          - ${_param:stacklight_monitor_node03_hostname}.${_param:cluster_domain}
diff --git a/classes/cluster/sl-pike-dvr/stacklight/server.yml b/classes/cluster/sl-pike-dvr/stacklight/server.yml
index 678645c..07324aa 100644
--- a/classes/cluster/sl-pike-dvr/stacklight/server.yml
+++ b/classes/cluster/sl-pike-dvr/stacklight/server.yml
@@ -19,8 +19,7 @@
 - service.haproxy.proxy.single
 - system.influxdb.relay.cluster
 - system.influxdb.server.single
-- system.influxdb.database.stacklight
-- system.influxdb.database.ceilometer
+- system.influxdb.database.prometheus
 - system.keepalived.cluster.instance.prometheus_server_vip
 - system.telegraf.agent.remote
 - system.mongodb.server.cluster
@@ -41,6 +40,9 @@
     kibana_elasticsearch_host: ${_param:stacklight_monitor_address}
     elasticsearch_version: 5
     kibana_version: 5
+    elasticsearch_curator_retention_period: 14
+    prometheus_storage_retention: "168h"
+    influxdb_prometheus_database_retention: 14d
     keepalived_prometheus_vip_address: ${_param:stacklight_monitor_address}
     keepalived_prometheus_vip_password: 'password'
     keepalived_prometheus_vip_interface: ens4
@@ -67,7 +69,7 @@
     influxdb_admin_password: password
     influxdb_stacklight_password: lmapass
     prometheus_influxdb_url: "http://${_param:stacklight_monitor_address}:${_param:influxdb_port}/"
-    prometheus_influxdb_db: lma
+    prometheus_influxdb_db: prometheus
     prometheus_influxdb_username: lma
     prometheus_influxdb_password: ${_param:influxdb_stacklight_password}
     remote_collector_telegraf_host: monitoring_remote_agent
@@ -80,3 +82,7 @@
           proto: static
           address: ${_param:single_address}
           netmask: 255.255.255.0
+  elasticsearch:
+    server:
+      heap:
+        size: 1
diff --git a/scripts/stacklightv2_infra_install.sh b/scripts/stacklightv2_infra_install.sh
index 0caab9b..74e54a1 100755
--- a/scripts/stacklightv2_infra_install.sh
+++ b/scripts/stacklightv2_infra_install.sh
@@ -12,6 +12,7 @@
 . "$COMMONS"
 
 INFLUXDB_SERVICE=$(salt -C 'I@influxdb:server' test.ping 1>/dev/null 2>&1 && echo true)
+PROMETHEUS_LTS_SERVICE=$(salt -C 'I@prometheus:relay' test.ping 1>/dev/null 2>&1 && echo true)
 
 # Configure Telegraf
 salt -C 'I@telegraf:agent or I@telegraf:remote_agent' state.sls telegraf
@@ -32,6 +33,13 @@
     salt -C 'I@influxdb:server' state.sls influxdb
 fi
 
+if [[ "$PROMETHEUS_LTS_SERVICE" == "true" ]]; then
+    salt -C 'I@prometheus:relay' state.sls prometheus
+fi
+
+# Install mongodb for Alerta
+salt -C "I@mongodb:server" state.sls mongodb
+
 # Collect grains needed to configure the services
 salt -C 'I@salt:minion' state.sls salt.minion.grains
 salt -C 'I@salt:minion' saltutil.refresh_modules