Update ocata-cicd model according to changes in cookiecutter

Changes taken from:
cicd: https://gerrit.mcp.mirantis.net/#/c/6751/2
stacklight: taken from virtual-mcp11-k8s-calico/stacklight

Change-Id: I9fa7a0ab76f943b96293584b3f52765965f3b906
diff --git a/classes/cluster/virtual-mcp-ocata-cicd/cicd/control/init.yml b/classes/cluster/virtual-mcp-ocata-cicd/cicd/control/init.yml
index 974906b..0bbe57c 100644
--- a/classes/cluster/virtual-mcp-ocata-cicd/cicd/control/init.yml
+++ b/classes/cluster/virtual-mcp-ocata-cicd/cicd/control/init.yml
@@ -76,7 +76,7 @@
   # Rundeck
   - system.rundeck.client.runbook
 
-  - cluster.virtual-mcp-ocata-cicd
+  - cluster.virtual-mcp-ocata-cicd.infra
 
 parameters:
   _param:
@@ -116,13 +116,15 @@
 
     # OpenLDAP
     openldap_organisation: "${_param:cluster_name}"
-    openldap_dn: "virtual-mcp-ocata-cicd,dc=local"
+    openldap_dn: "dc=virtual-mcp-ocata-cicd,dc=local"
     openldap_domain: "virtual-mcp-ocata-cicd.local"
     openldap_admin_password: UdTuP7GPPTaCoPSV
     openldap_config_password: RQK8h0F3aNdvv26U
     openldap_readonly_password: myMSnD6mn8ziUP2S
 
     # PostgreSQL
+    docker_image_postgresql: "library/postgres:9.6"
+    postgresql_admin_user_password: faeRpEA4uye2Sj2s
     postgresql_client_user: ${_param:postgresql_admin_user}
     postgresql_client_password: ${_param:postgresql_admin_user_password}
     postgresql_client_host: ${_param:haproxy_postgresql_bind_host}
@@ -186,10 +188,26 @@
     gerrit_ldap_group_base: ou=groups,${_param:openldap_dn}
 
     # Rundeck
+    docker_image_rundeck: "docker-prod-local.artifactory.mirantis.com/mirantis/oss/rundeck:latest"
+    rundeck_db_user: rundeck
+    rundeck_db_user_password: password
+    rundeck_db_host: ${_param:haproxy_postgresql_bind_host}
+    rundeck_postgresql_username: ${_param:rundeck_db_user}
+    rundeck_postgresql_password: ${_param:rundeck_db_user_password}
+    rundeck_postgresql_database: rundeck
+    rundeck_postgresql_host: ${_param:rundeck_db_host}
+
+    rundeck_cis_enabled: True
     rundeck_cis_os_auth_url: http://172.16.10.254:5000/v3/auth/tokens
-    rundeck_cis_os_username: admin
-    rundeck_cis_os_password: workshop
-    rundeck_cis_os_project_name: admin
+    rundeck_cis_os_username: "${_param:oss_openstack_username}"
+    rundeck_cis_os_password: "${_param:oss_openstack_password}"
+    rundeck_cis_os_project_name: "${_param:oss_openstack_project}"
+    rundeck_cis_os_domain_id: "${_param:oss_openstack_domain_id}"
+    rundeck_cis_jobs_repository: "https://gerrit.mcp.mirantis.net/oss/rundeck-cis-jobs"
+    rundeck_cis_jobs_revision: "master"
+    rundeck_cis_os_docker_image: "docker-prod-local.artifactory.mirantis.com/mirantis/oss/cis-openstack:latest"
+    rundeck_cis_elasticsearch_url: http://${_param:haproxy_elasticsearch_bind_host}:${_param:haproxy_elasticsearch_http_bind_port}
+
     rundeck_runbook_public_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBPHRctBuN16hVe05HxKeN1AqPqbjvWvqQ1zcr/sbJJXHgVBTACRD6G+DAi7SSJr7dLzyeNo042szJclsH/qf9h0tcytINATzye//x6MtzXZ4YIDkcd1Yhz1LRgCXk1PvIensJAdClYOymx+SRaJxEEzbLxgqhSnYOUY3xVGbUrgfXI9+ZG9hs9zfq5JEMRjQay5p+xuYv/wCoU+pbFPDmsW0hQ99O+XBHcwrpU3crkImetTM2WfnRlBkoJypLv/HicTJtnL91/BWcebvW50oxrEq1QQ82T1Wl3pQsJw24M48fXyl/HbF2QVP6O1Ptqr3O7cIByxJWHih3paZncVEj
     rundeck_runbook_private_key: |
       -----BEGIN RSA PRIVATE KEY-----
@@ -221,18 +239,42 @@
       -----END RSA PRIVATE KEY-----
 
     # Pushkin
+    docker_image_pushkin: "docker-sandbox.sandbox.mirantis.net/vstoiko/oss/pushkin:latest"
+    pushkin_db_user: pushkin
+    pushkin_db_user_password: kRQaFJWiqhQfy6sN
+    pushkin_db_host: ${_param:haproxy_postgresql_bind_host}
+    #..WebHook notification senders
     webhook_from: pushkin@example.com
     webhook_recipients: alerts@example.com
-    webhook_application_id: "1"
-    webhook_login_id: "1"
+    webhook_application_id: "23"
+    webhook_login_id: "11"
     webhook_sfdc_username: pushkin
 
     # SecurityMonkey
+    docker_image_security_monkey_api: "docker-sandbox.sandbox.mirantis.net/vstoiko/oss/security-monkey-api:6700"
+    docker_image_security_monkey_scheduler: "docker-sandbox.sandbox.mirantis.net/vstoiko/oss/security-monkey-scheduler:6700"
+    secmonkey_db_user: secmonkey
+    secmonkey_db_user_password: rt7HoJbb36eR9wWe
+    secmonkey_db_host: ${_param:haproxy_postgresql_bind_host}
     security_monkey_openstack:
       username: admin
       password: workshop
       auth_url: http://172.16.10.254:5000/v3/
       project_name: admin
+      user_domain_name: "${_param:oss_openstack_domain_id}"
+      project_domain_name: "${_param:oss_openstack_domain_id}"
+
+    # OSS OpenStack
+    oss_openstack_username: "admin"
+    oss_openstack_password: "password"
+    oss_openstack_project: "admin"
+    oss_openstack_domain_id: "default"
+
+    # DevOps Portal
+    docker_image_devops_portal: "docker-prod-local.artifactory.mirantis.com/mirantis/oss/devops-portal:latest"
+
+    # ElasticSearch
+    docker_image_elasticsearch: "docker.elastic.co/elasticsearch/elasticsearch:5.4.1"
 
 
   linux:
diff --git a/classes/cluster/virtual-mcp-ocata-cicd/cicd/control/leader.yml b/classes/cluster/virtual-mcp-ocata-cicd/cicd/control/leader.yml
index f1b3410..28bc297 100644
--- a/classes/cluster/virtual-mcp-ocata-cicd/cicd/control/leader.yml
+++ b/classes/cluster/virtual-mcp-ocata-cicd/cicd/control/leader.yml
@@ -35,15 +35,13 @@
   # Rundeck Projects
   - system.rundeck.client.project.cicd
 
+  # PostgreSQL
+  - system.postgresql.client.pushkin
+  - system.postgresql.client.rundeck
+  - system.postgresql.client.security_monkey
+
+  # Docker
   - system.docker.swarm.master
+
   - cluster.virtual-mcp-ocata-cicd.infra
   - cluster.virtual-mcp-ocata-cicd.cicd.control
-
-parameters:
-  _param:
-    # Rundeck
-    rundeck_db_user: ${_param:rundeck_postgresql_username}
-    rundeck_db_password: ${_param:rundeck_postgresql_password}
-    rundeck_db_host: ${_param:cluster_vip_address}
-    rundeck_postgresql_host: ${_param:cluster_vip_address}
-    rundeck_postgresql_port: ${_param:haproxy_postgresql_bind_port}
diff --git a/classes/cluster/virtual-mcp-ocata-cicd/infra/config.yml b/classes/cluster/virtual-mcp-ocata-cicd/infra/config.yml
index 88b9b0f..c04387f 100644
--- a/classes/cluster/virtual-mcp-ocata-cicd/infra/config.yml
+++ b/classes/cluster/virtual-mcp-ocata-cicd/infra/config.yml
@@ -21,11 +21,11 @@
 - system.reclass.storage.system.openstack_compute_multi
 - system.reclass.storage.system.openstack_gateway_single
 - system.reclass.storage.system.openstack_dashboard_single
-- system.reclass.storage.system.stacklight_server_cluster
+- system.reclass.storage.system.stacklightv2_server_cluster
+- system.reclass.storage.system.cicd_control_cluster
 - cluster.virtual-mcp-ocata-cicd.openstack.proxy
 - cluster.virtual-mcp-ocata-cicd.stacklight.proxy
-- cluster.virtual-mcp-ocata-cicd
-- system.reclass.storage.system.cicd_control_cluster
+- cluster.virtual-mcp-ocata-cicd.infra
 parameters:
   _param:
     reclass_data_repository: https://gerrit.mcp.mirantis.net/salt-models/mcp-virtual-lab
diff --git a/classes/cluster/virtual-mcp-ocata-cicd/infra/init.yml b/classes/cluster/virtual-mcp-ocata-cicd/infra/init.yml
index 9140bd0..93014c8 100644
--- a/classes/cluster/virtual-mcp-ocata-cicd/infra/init.yml
+++ b/classes/cluster/virtual-mcp-ocata-cicd/infra/init.yml
@@ -1,6 +1,33 @@
+classes:
+- system.linux.system.single
+- system.linux.system.repo.mcp.extra
+- system.linux.system.repo.mcp.salt
+- system.linux.system.repo.ubuntu
+- system.openssh.server.team.lab
+- system.openssh.server.team.stacklight
+- system.openssh.server.team.tcpcloud
+- system.openssh.server.team.mcp_qa
+- system.rsyslog.client.single
+- cluster.virtual-mcp-ocata-cicd.cicd
+- cluster.virtual-mcp-ocata-cicd.openstack
+- cluster.virtual-mcp-ocata-cicd.stacklight
+- cluster.overrides
 parameters:
+  _param:
+    cluster_domain: virtual-mcp-ocata-cicd.local
+    cluster_name: virtual-mcp-ocata-cicd
+    # infra service addresses
+    infra_config_hostname: cfg01
+    infra_config_address: 172.16.10.100
+
+    salt_minion_ca_host: ${_param:infra_config_hostname}.${_param:cluster_domain}
+    salt_minion_ca_authority: salt_master_ca
   linux:
     network:
+      resolv:
+        dns:
+          - 172.18.176.4
+          - 172.18.208.44
       host:
         cfg01:
           address: ${_param:infra_config_address}
diff --git a/classes/cluster/virtual-mcp-ocata-cicd/init.yml b/classes/cluster/virtual-mcp-ocata-cicd/init.yml
deleted file mode 100644
index 3ff3bfc..0000000
--- a/classes/cluster/virtual-mcp-ocata-cicd/init.yml
+++ /dev/null
@@ -1,39 +0,0 @@
-classes:
-- system.linux.system.single
-- cluster.virtual-mcp-ocata-cicd.infra
-- cluster.virtual-mcp-ocata-cicd.openstack
-- system.openssh.server.team.lab
-- system.openssh.server.team.tcpcloud
-- system.openssh.server.team.mcp_qa
-- cluster.virtual-mcp-ocata-cicd.cicd
-- cluster.virtual-mcp-ocata-cicd.stacklight
-- cluster.virtual-mcp-ocata-cicd.stacklight.client
-
-parameters:
-  _param:
-    cluster_domain: virtual-mcp-ocata-cicd.local
-    cluster_name: virtual-mcp-ocata-cicd
-    # infra service addresses
-    infra_config_address: 172.16.10.100
-    # openstack service addresses
-    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_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}
-    # 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_node01_address: ${_param:stacklight_monitor_node01_address}
-    stacklight_log_address: ${_param:stacklight_monitor_address}
-    openstack_gateway_address: 172.16.10.110
-    stacklight_telemetry_address: ${_param:stacklight_monitor_address}
-    
\ No newline at end of file
diff --git a/classes/cluster/virtual-mcp-ocata-cicd/openstack/compute/init.yml b/classes/cluster/virtual-mcp-ocata-cicd/openstack/compute.yml
similarity index 97%
rename from classes/cluster/virtual-mcp-ocata-cicd/openstack/compute/init.yml
rename to classes/cluster/virtual-mcp-ocata-cicd/openstack/compute.yml
index fa86c96..fb66a2f 100644
--- a/classes/cluster/virtual-mcp-ocata-cicd/openstack/compute/init.yml
+++ b/classes/cluster/virtual-mcp-ocata-cicd/openstack/compute.yml
@@ -5,7 +5,7 @@
 - system.nova.compute.cluster
 - system.neutron.compute.cluster
 - system.heka.alarm.openstack_compute
-- cluster.virtual-mcp-ocata-cicd
+- cluster.virtual-mcp-ocata-cicd.infra
 parameters:
   _param:
     primary_interface: ens4
diff --git a/classes/cluster/virtual-mcp-ocata-cicd/openstack/control.yml b/classes/cluster/virtual-mcp-ocata-cicd/openstack/control.yml
index 8f91b30..2241bae 100644
--- a/classes/cluster/virtual-mcp-ocata-cicd/openstack/control.yml
+++ b/classes/cluster/virtual-mcp-ocata-cicd/openstack/control.yml
@@ -34,7 +34,7 @@
 - system.galera.server.database.nova
 - system.galera.server.database.designate
 - system.haproxy.proxy.listen.openstack.nova-placement
-- cluster.virtual-mcp-ocata-cicd
+- cluster.virtual-mcp-ocata-cicd.infra
 parameters:
   _param:
     keepalived_vip_interface: ens4
diff --git a/classes/cluster/virtual-mcp-ocata-cicd/openstack/dashboard.yml b/classes/cluster/virtual-mcp-ocata-cicd/openstack/dashboard.yml
index ca28d66..665229e 100644
--- a/classes/cluster/virtual-mcp-ocata-cicd/openstack/dashboard.yml
+++ b/classes/cluster/virtual-mcp-ocata-cicd/openstack/dashboard.yml
@@ -4,7 +4,7 @@
 - system.linux.system.repo.mcp.extra
 - system.linux.system.repo.saltstack.xenial
 - system.horizon.server.single
-- cluster.virtual-mcp-ocata-cicd
+- cluster.virtual-mcp-ocata-cicd.infra
 parameters:
   _param:
     horizon_site_branding: OpenStack Dashboard
diff --git a/classes/cluster/virtual-mcp-ocata-cicd/openstack/gateway.yml b/classes/cluster/virtual-mcp-ocata-cicd/openstack/gateway.yml
index ff8f085..9cf601b 100644
--- a/classes/cluster/virtual-mcp-ocata-cicd/openstack/gateway.yml
+++ b/classes/cluster/virtual-mcp-ocata-cicd/openstack/gateway.yml
@@ -3,7 +3,7 @@
 - system.linux.system.repo.mcp.extra
 - system.linux.system.repo.saltstack.xenial
 - system.neutron.gateway.cluster
-- cluster.virtual-mcp-ocata-cicd
+- cluster.virtual-mcp-ocata-cicd.infra
 parameters:
   _param:
     primary_interface: ens4
diff --git a/classes/cluster/virtual-mcp-ocata-cicd/openstack/init.yml b/classes/cluster/virtual-mcp-ocata-cicd/openstack/init.yml
index cd42a02..100bcd8 100644
--- a/classes/cluster/virtual-mcp-ocata-cicd/openstack/init.yml
+++ b/classes/cluster/virtual-mcp-ocata-cicd/openstack/init.yml
@@ -114,6 +114,21 @@
     mongodb_ceilometer_password: cloudlab
     mongodb_admin_password: cloudlab
     mongodb_shared_key: eoTh1AwahlahqueingeejooLughah4tei9feing0eeVaephooDi2li1TaeV1ooth
+
+    # openstack service addresses
+    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_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
+
   linux:
     network:
       host:
diff --git a/classes/cluster/virtual-mcp-ocata-cicd/openstack/proxy.yml b/classes/cluster/virtual-mcp-ocata-cicd/openstack/proxy.yml
index 8dbf3c4..114f5a9 100644
--- a/classes/cluster/virtual-mcp-ocata-cicd/openstack/proxy.yml
+++ b/classes/cluster/virtual-mcp-ocata-cicd/openstack/proxy.yml
@@ -4,7 +4,7 @@
 - system.nginx.server.proxy.openstack_vnc
 - system.nginx.server.proxy.openstack_web
 - system.salt.minion.cert.proxy
-- cluster.virtual-mcp-ocata-cicd
+- cluster.virtual-mcp-ocata-cicd.infra
 parameters:
   _param:
     linux_system_codename: xenial
diff --git a/classes/cluster/virtual-mcp-ocata-cicd/stacklight/client.yml b/classes/cluster/virtual-mcp-ocata-cicd/stacklight/client.yml
index 171cdbe..d6e36d2 100644
--- a/classes/cluster/virtual-mcp-ocata-cicd/stacklight/client.yml
+++ b/classes/cluster/virtual-mcp-ocata-cicd/stacklight/client.yml
@@ -1,6 +1,18 @@
 classes:
-- system.collectd.client.output.heka
-- system.heka.log_collector.single
-- system.heka.metric_collector.single
-- cluster.virtual-mcp-ocata-cicd.stacklight
-- service.grafana.collector
+- system.docker.client
+- system.elasticsearch.client.single
+- system.grafana.client
+- system.grafana.client.datasource.prometheus
+- system.kibana.client.single
+- cluster.virtual-mcp-ocata-cicd.infra
+parameters:
+  _param:
+    # Elasticsearch/Kibana client parameters
+    stacklight_log_address: ${_param:stacklight_monitor_address}
+    # Grafana client parameters
+    grafana_address: ${_param:stacklight_monitor_address}
+    grafana_port: 15013
+    grafana_user: admin
+    grafana_password: ${_param:grafana_admin_password}
+    grafana_prometheus_address: ${_param:stacklight_monitor_address}
+    grafana_prometheus_port: 15010
diff --git a/classes/cluster/virtual-mcp-ocata-cicd/stacklight/init.yml b/classes/cluster/virtual-mcp-ocata-cicd/stacklight/init.yml
index b756f90..16a9faf 100644
--- a/classes/cluster/virtual-mcp-ocata-cicd/stacklight/init.yml
+++ b/classes/cluster/virtual-mcp-ocata-cicd/stacklight/init.yml
@@ -1,27 +1,42 @@
 parameters:
   _param:
-    linux_system_codename: xenial
-    heka_elasticsearch_host: ${_param:stacklight_monitor_address}
-    heka_influxdb_host: ${_param:stacklight_monitor_node01_address}
-    heka_aggregator_host: ${_param:stacklight_monitor_address}
-    aggregator_port: 5565
+    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 service addresses
+    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_node01_address: ${_param:stacklight_monitor_node01_address}
+    stacklight_log_address: ${_param:stacklight_monitor_address}
+    stacklight_telemetry_address: ${_param:stacklight_monitor_address}
+
+
+    # Glusterfs
+    glusterfs_service_host: ${_param:stacklight_monitor_address}
+
+    # Prometheus
+    prometheus_control_address: ${_param:stacklight_monitor_address}
+
+    mysql_admin_user: root
+    mysql_admin_password: workshop
+
     grafana_user: admin
-    grafana_password: password
-    grafana_influxdb_host: ${_param:stacklight_monitor_node01_address}
+    grafana_admin_password: password
+
+    mysql_grafana_password: password
+    cluster_local_address: ${_param:single_address}
+    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
-    influxdb_stacklight_password: lmapass
-    influxdb_admin_password: password
-    influxdb_port: 8086
-    influxdb_database: lma
-    influxdb_user: lma
-    influxdb_password: lmapass
-    nagios_host: ${_param:stacklight_monitor_address}
-    nagios_status_port: 8001
-    nagios_username: nagiosadmin
-    nagios_password: secret
-    nagios_notification_smtp_server: 127.0.0.1
-    nagios_notification_from: 'nagios@localhost'
-    nagios_notification_email: 'root@localhost'
     stacklight_environment: ${_param:cluster_domain}
     stacklight_notification_topic: stacklight_notifications
   linux:
@@ -33,17 +48,20 @@
           - mon
           - mon.${_param:cluster_domain}
         mon01:
-          address: ${_param:stacklight_monitor_node01_address}
+          address: ${_param:stacklight_node01_address}
           names:
-          - mon01
-          - mon01.${_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:
-          - mon02
-          - mon02.${_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:
-          - mon03
-          - mon03.${_param:cluster_domain}
+          - ${_param:stacklight_node03_hostname}
+          - ${_param:stacklight_node03_hostname}.${_param:cluster_domain}
+    system:
+      name: ${_param:infra_config_hostname}
+      domain: ${_param:cluster_domain}
diff --git a/classes/cluster/virtual-mcp-ocata-cicd/stacklight/proxy.yml b/classes/cluster/virtual-mcp-ocata-cicd/stacklight/proxy.yml
index a075142..956ee51 100644
--- a/classes/cluster/virtual-mcp-ocata-cicd/stacklight/proxy.yml
+++ b/classes/cluster/virtual-mcp-ocata-cicd/stacklight/proxy.yml
@@ -1,13 +1,15 @@
 classes:
 - system.nginx.server.single
-- system.nginx.server.proxy.grafana_web
-- system.nginx.server.proxy.kibana_web
-- system.nginx.server.proxy.nagios_web
+- 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
-- cluster.virtual-mcp-ocata-cicd
+- cluster.virtual-mcp-ocata-cicd.infra
 parameters:
   _param:
-    linux_system_codename: xenial
+    cluster_public_host: ${_param:prometheus_control_address}
+    nginx_proxy_grafana_port: 15013
     nginx_proxy_ssl:
       enabled: true
       authority: ${_param:salt_minion_ca_authority}
diff --git a/classes/cluster/virtual-mcp-ocata-cicd/stacklight/server.yml b/classes/cluster/virtual-mcp-ocata-cicd/stacklight/server.yml
index a9f00d4..c5684a1 100644
--- a/classes/cluster/virtual-mcp-ocata-cicd/stacklight/server.yml
+++ b/classes/cluster/virtual-mcp-ocata-cicd/stacklight/server.yml
@@ -1,46 +1,82 @@
 classes:
-- system.collectd.remote_client.cluster
-- system.heka.remote_collector.cluster
+- system.docker.host
 - system.linux.system.repo.influxdb
-- system.heka.remote_collector.input.amqp
-- system.heka.aggregator.cluster
-- system.linux.system.repo.tcp_elastic 
+- system.linux.system.repo.tcp_elastic
+# Needed to install Galera packages
+- system.linux.system.repo.mcp.openstack
 - system.elasticsearch.server.cluster
 - system.elasticsearch.server.curator
 - system.kibana.server.single
-- system.grafana.server.single
-- system.nagios.server.cluster
-- cluster.virtual-mcp-ocata-cicd
 - system.haproxy.proxy.listen.stacklight.elasticsearch
 - system.haproxy.proxy.listen.stacklight.kibana
-- system.haproxy.proxy.listen.stacklight.grafana
+- system.haproxy.proxy.listen.stacklight.influxdb
 - service.haproxy.proxy.single
-- system.keepalived.cluster.instance.stacklight_monitor_vip
+- system.glusterfs.client.cluster
+- system.glusterfs.client.volume.prometheus
+- system.glusterfs.server.cluster
+- system.glusterfs.server.volume.prometheus
+- system.galera.server.cluster
+- system.galera.server.database.grafana
+- system.influxdb.server.single
+- system.influxdb.database.stacklight
+- system.salt.minion.cert.prometheus_server
+#- system.keepalived.cluster.instance.prometheus_server_vip
+- system.telegraf.agent.remote
+- system.prometheus.server.remote_write.docker
+- system.prometheus.server.alertmanager.dns
+- system.prometheus.server.target.dns
+- system.docker.swarm.stack.monitoring
+- system.docker.swarm.stack.dashboard
+- cluster.virtual-mcp-ocata-cicd.infra
 parameters:
   _param:
-    linux_system_codename: xenial
-    collectd_remote_collector_host: ${_param:stacklight_monitor_address}
-    heka_amqp_host: ${_param:openstack_control_address}
-    kibana_elasticsearch_host: ${_param:stacklight_monitor_address}
-    keepalived_stacklight_monitor_vip_address: ${_param:stacklight_monitor_address}
-    keepalived_stacklight_monitor_vip_password: 'password'
-    keepalived_stacklight_monitor_vip_interface: ens4
     cluster_vip_address: ${_param:stacklight_monitor_address}
-    cluster_elasticsearch_port: 9200
-    cluster_kibana_port: 5601
-    cluster_grafana_port: 3000
-    cluster_node01_name: mon01
-    cluster_node01_address: ${_param:stacklight_monitor_node01_address}
-    cluster_node02_name: mon02
-    cluster_node02_address: ${_param:stacklight_monitor_node02_address}
-    cluster_node03_name: mon03
-    cluster_node03_address: ${_param:stacklight_monitor_node03_address}
-  linux:
-    network:
-      interface:
-        ens4:
-          enabled: true
-          type: eth
-          proto: static
-          address: ${_param:single_address}
-          netmask: 255.255.255.0
+    cluster_public_host: mon
+    docker_image_alertmanager: docker-prod-virtual.docker.mirantis.net/openstack-docker/alertmanager:latest
+    docker_image_pushgateway: docker-prod-virtual.docker.mirantis.net/openstack-docker/pushgateway:latest
+    docker_image_prometheus: docker-prod-virtual.docker.mirantis.net/openstack-docker/prometheus:latest
+    docker_image_remote_agent: docker-prod-virtual.docker.mirantis.net/openstack-docker/telegraf:latest
+    docker_image_remote_storage_adapter: docker-prod-virtual.docker.mirantis.net/openstack-docker/remote_storage_adapter:latest
+    docker_image_grafana: grafana/grafana:4.3.2
+    grafana_admin_password: admin
+    keepalived_prometheus_vip_address: ${_param:cluster_vip_address}
+    keepalived_prometheus_vip_password: password
+    keepalived_prometheus_vip_interface: ens3
+    # 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}
+    # Kibana
+    kibana_elasticsearch_host: ${_param:cluster_vip_address}
+    # Galera
+    openstack_version: newton
+    # Grafana
+    grafana_database_type: mysql
+    grafana_database_host: ${_param:cluster_vip_address}
+    grafana_database_password: ${_param:mysql_grafana_password}
+    influxdb_port: 8086
+    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_username: lma
+    prometheus_influxdb_password: ${_param:influxdb_stacklight_password}
+  elasticsearch:
+    server:
+      heap:
+        size: 1
+  keepalived:
+    cluster:
+      instance:
+        VIP:
+          enabled: false
+
+  # Workaround for https://mirantis.jira.com/browse/PROD-12896 , remove when the bug is fixed
+  salt:
+    minion:
+      cert:
+        prometheus_server:
+          alternative_names: IP:${_param:cluster_vip_address},IP:${_param:cluster_node01_address},IP:${_param:cluster_node02_address},IP:${_param:cluster_node03_address}