Merge "Add barbican to AIO virtual model"
diff --git a/classes/cluster/ceph-ha/ceph/init.yml b/classes/cluster/ceph-ha/ceph/init.yml
index 6bfb3db..a2600a9 100644
--- a/classes/cluster/ceph-ha/ceph/init.yml
+++ b/classes/cluster/ceph-ha/ceph/init.yml
@@ -22,6 +22,8 @@
     ceph_cfs_node01_hostname: cfs01
     ceph_cfs_node01_address: 172.16.10.97
 
+    single_address: ''
+
     ceph_cluster_fsid: a619c5fc-c4ed-4f22-9ed2-66cf2feca23d
     ceph_mon_keyring: AQAnQIhZ6in5KxAAdf467upoRMWFcVg5pbh1yg==
     ceph_admin_keyring: AQBHPYhZv5mYDBAAvisaSzCTQkC5gywGUp/voA==
diff --git a/classes/cluster/ceph-ha/infra/config.yml b/classes/cluster/ceph-ha/infra/config.yml
index cc97968..2de9d4c 100644
--- a/classes/cluster/ceph-ha/infra/config.yml
+++ b/classes/cluster/ceph-ha/infra/config.yml
@@ -76,33 +76,48 @@
           cluster_param:
             ceph_osd_node01_address:
               value_template: <<node_control_ip>>
+            single_address:
+              value_template: <<node_control_ip>>
         ceph_osd_02:
           expression: <<node_hostname>>__equals__osd1
           cluster_param:
             ceph_osd_node02_address:
               value_template: <<node_control_ip>>
+            single_address:
+              value_template: <<node_control_ip>>
         ceph_osd_03:
           expression: <<node_hostname>>__equals__osd2
           cluster_param:
             ceph_osd_node03_address:
               value_template: <<node_control_ip>>
+            single_address:
+              value_template: <<node_control_ip>>
         ceph_mon_01:
           expression: <<node_hostname>>__equals__cmn01
           cluster_param:
             ceph_mon_node01_address:
               value_template: <<node_control_ip>>
+            single_address:
+              value_template: <<node_control_ip>>
         ceph_mon_02:
           expression: <<node_hostname>>__equals__cmn02
           cluster_param:
             ceph_mon_node02_address:
               value_template: <<node_control_ip>>
+            single_address:
+              value_template: <<node_control_ip>>
         ceph_mon_03:
           expression: <<node_hostname>>__equals__cmn03
           cluster_param:
             ceph_mon_node03_address:
               value_template: <<node_control_ip>>
+            single_address:
+              value_template: <<node_control_ip>>
         ceph_cfs:
           expression: <<node_hostname>>__startswith__cfs
           node_class:
             value_template:
               - cluster.<<node_cluster>>.ceph.cfs
+          cluster_param:
+            single_address:
+              value_template: <<node_control_ip>>
diff --git a/classes/cluster/drivetrain-ha-clusters/cicd/control/init.yml b/classes/cluster/drivetrain-ha-clusters/cicd/control/init.yml
index 2ce0ac6..736b251 100644
--- a/classes/cluster/drivetrain-ha-clusters/cicd/control/init.yml
+++ b/classes/cluster/drivetrain-ha-clusters/cicd/control/init.yml
@@ -91,9 +91,10 @@
   # Rundeck
   - system.rundeck.client.runbook
 
-  - cluster.drivetrain-ha-clusters
+  - cluster.drivetrain-ha-clusters.cicd
 parameters:
   _param:
+    cluster_name: cicd-lab-dev
     cluster_node01_name: ci01
     cluster_node01_address: ${_param:control_node01_address}
     cluster_node02_name: ci02
diff --git a/classes/cluster/drivetrain-ha-clusters/cicd/control/master.yml b/classes/cluster/drivetrain-ha-clusters/cicd/control/master.yml
index dadabbb..b02ce35 100644
--- a/classes/cluster/drivetrain-ha-clusters/cicd/control/master.yml
+++ b/classes/cluster/drivetrain-ha-clusters/cicd/control/master.yml
@@ -43,4 +43,4 @@
   # ..projects
   - system.rundeck.client.project.cicd
   # At last
-  - cluster.drivetrain-ha-clusters.cicd.control
+  - cluster.drivetrain-ha-clusters
diff --git a/classes/cluster/drivetrain-ha-clusters/cicd/control/slave.yml b/classes/cluster/drivetrain-ha-clusters/cicd/control/slave.yml
index b5d63e2..415190d 100644
--- a/classes/cluster/drivetrain-ha-clusters/cicd/control/slave.yml
+++ b/classes/cluster/drivetrain-ha-clusters/cicd/control/slave.yml
@@ -1,3 +1,3 @@
 classes:
-  - cluster.drivetrain-ha-clusters.cicd.control
   - system.docker.swarm.manager
+  - cluster.drivetrain-ha-clusters
diff --git a/classes/cluster/drivetrain-ha-clusters/cicd/init.yml b/classes/cluster/drivetrain-ha-clusters/cicd/init.yml
index 9d81f5d..d5bf397 100644
--- a/classes/cluster/drivetrain-ha-clusters/cicd/init.yml
+++ b/classes/cluster/drivetrain-ha-clusters/cicd/init.yml
@@ -38,4 +38,3 @@
           names:
           - ${_param:cicd_control_node03_hostname}
           - ${_param:cicd_control_node03_hostname}.${_param:cluster_domain}
-
diff --git a/classes/cluster/drivetrain-ha-clusters/cicd/worker.yml b/classes/cluster/drivetrain-ha-clusters/cicd/worker.yml
index 7d856cc..4a5ab79 100644
--- a/classes/cluster/drivetrain-ha-clusters/cicd/worker.yml
+++ b/classes/cluster/drivetrain-ha-clusters/cicd/worker.yml
@@ -1,6 +1,5 @@
 classes:
-- system.linux.system.single
-- system.jenkins.slave.docker
-- system.aptly.client.publisher
-- cluster.drivetrain-ha-clusters
-
+  - system.linux.system.single
+  - system.jenkins.slave.docker
+  - system.aptly.client.publisher
+  - cluster.drivetrain-ha-clusters
diff --git a/classes/cluster/drivetrain-ha-clusters/infra/config.yml b/classes/cluster/drivetrain-ha-clusters/infra/config.yml
index c4ad9a6..a96d9fe 100644
--- a/classes/cluster/drivetrain-ha-clusters/infra/config.yml
+++ b/classes/cluster/drivetrain-ha-clusters/infra/config.yml
@@ -1,10 +1,10 @@
 classes:
-- system.salt.master.pkg
-- system.salt.master.api
-- system.salt.minion.ca.salt_master
-- system.reclass.storage.salt
-- system.sphinx.server.doc.reclass
-- cluster.drivetrain-ha-clusters
+  - system.salt.master.pkg
+  - system.salt.master.api
+  - system.salt.minion.ca.salt_master
+  - system.reclass.storage.salt
+  - system.sphinx.server.doc.reclass
+  - cluster.drivetrain-ha-clusters
 parameters:
   _param:
     reclass_data_repository: "https://gerrit.mcp.mirantis.net/salt-models/mcp-virtual-lab"
@@ -16,6 +16,8 @@
     salt_minion_ca_host: ${linux:network:fqdn}
     salt_master_host: ${_param:infra_config_deploy_address}
     cluster_public_host: ${_param:infra_config_address}
+    salt_api_password: hovno12345!
+    salt_api_password_hash: "$6$sGnRlxGf$al5jMCetLP.vfI/fTl3Z0N7Za1aeiexL487jAtyRABVfT3NlwZxQGVhO7S1N8OwS/34VHYwZQA8lkXwKMN/GS1"
   salt:
     master:
       order_masters: true
@@ -74,7 +76,9 @@
           name: ${_param:cicd_control_node01_hostname}
           domain: ${_param:cluster_domain}
           classes:
+          - cluster.${_param:cluster_name}.infra.config
           - cluster.${_param:cluster_name}.cicd.control.master
+          - cluster.overrides
           params:
             salt_master_host: ${_param:reclass_config_master}
             linux_system_codename: xenial
@@ -85,6 +89,7 @@
           domain: ${_param:cluster_domain}
           classes:
           - cluster.${_param:cluster_name}.cicd.control.slave
+          - cluster.overrides
           params:
             salt_master_host: ${_param:reclass_config_master}
             linux_system_codename: xenial
@@ -96,10 +101,10 @@
           domain: ${_param:cluster_domain}
           classes:
           - cluster.${_param:cluster_name}.cicd.control.slave
+          - cluster.overrides
           params:
             salt_master_host: ${_param:reclass_config_master}
             linux_system_codename: xenial
             single_address: ${_param:cicd_control_node03_address}
             keepalived_vip_priority: 101
             docker_swarm_role: worker
-
diff --git a/classes/cluster/drivetrain-ha-clusters/infra/init.yml b/classes/cluster/drivetrain-ha-clusters/infra/init.yml
index c5a0164..d385985 100644
--- a/classes/cluster/drivetrain-ha-clusters/infra/init.yml
+++ b/classes/cluster/drivetrain-ha-clusters/infra/init.yml
@@ -1,13 +1,3 @@
-classes:
-- system.linux.system.single
-- system.rsyslog.client.single
-- system.linux.system.haveged
-- system.linux.system.prompt
-- system.linux.system.motd.dynamic
-- system.openssh.server.team.lab
-- system.openssh.server.team.tcpcloud
-- system.openssh.server.team.mcp_qa
-- system.openssh.server.team.oss_team
 parameters:
   _param:
     cluster_domain: drivetrain-ha-clusters.local
@@ -19,8 +9,6 @@
     infra_config_deploy_address: 192.168.10.90
     salt_minion_ca_host: ci01.${_param:cluster_domain}
     salt_minion_ca_authority: salt_master_ca
-    salt_api_password: hovno12345!
-    salt_api_password_hash: "$6$sGnRlxGf$al5jMCetLP.vfI/fTl3Z0N7Za1aeiexL487jAtyRABVfT3NlwZxQGVhO7S1N8OwS/34VHYwZQA8lkXwKMN/GS1"
   linux:
     network:
       host:
@@ -32,4 +20,3 @@
     system:
       name: ${_param:infra_config_hostname}
       domain: ${_param:cluster_domain}
-
diff --git a/classes/cluster/drivetrain-ha-clusters/init.yml b/classes/cluster/drivetrain-ha-clusters/init.yml
index 634ecc6..11369f6 100644
--- a/classes/cluster/drivetrain-ha-clusters/init.yml
+++ b/classes/cluster/drivetrain-ha-clusters/init.yml
@@ -1,6 +1,14 @@
 classes:
-- system.linux.network.dynamic_hosts
-- cluster.drivetrain-ha-clusters.infra
-- cluster.drivetrain-ha-clusters.cicd
-- cluster.overrides
-
+  - system.linux.network.dynamic_hosts
+  - system.linux.system.single
+  - system.linux.system.haveged
+  - system.linux.system.prompt
+  - system.linux.system.motd.dynamic
+  - system.openssh.server.team.lab
+  - system.openssh.server.team.tcpcloud
+  - system.openssh.server.team.stacklight
+  - system.openssh.server.team.mcp_qa
+  - system.openssh.server.team.oss_team
+  - cluster.drivetrain-ha.infra
+  - cluster.drivetrain-ha.cicd.control
+  - cluster.overrides
diff --git a/classes/cluster/drivetrain-ha/cicd/control/init.yml b/classes/cluster/drivetrain-ha/cicd/control/init.yml
index 52b6079..2a5ce67 100644
--- a/classes/cluster/drivetrain-ha/cicd/control/init.yml
+++ b/classes/cluster/drivetrain-ha/cicd/control/init.yml
@@ -92,9 +92,9 @@
   - system.rundeck.client.runbook
 
   - cluster.drivetrain-ha.cicd
- # - cluster.drivetrain-ha
 parameters:
   _param:
+    cluster_name: cicd-lab-dev
     cluster_node01_name: ci01
     cluster_node01_address: ${_param:control_node01_address}
     cluster_node02_name: ci02
@@ -329,14 +329,26 @@
     pushkin_smtp_port: 25
     pushkin_email_sender_password: ''
 
+    # OSS managed openstack
+    oss_target_openstack_ip: 172.17.16.190
+    oss_openstack_auth_url: http://172.17.16.190/identity/v3
+    oss_openstack_username: admin
+    oss_openstack_password: nova
+
+    # Janitor Monkey
+    janitor_monkey_openstack:
+      username: ${_param:oss_openstack_username}
+      password: ${_param:oss_openstack_password}
+      auth_url: ${_param:oss_openstack_auth_url}
+
     # SecurityMonkey
     secmonkey_db_user: secmonkey
     secmonkey_db_user_password: secmonkey
     secmonkey_db_host: ${_param:haproxy_postgresql_bind_host}
     security_monkey_openstack:
-      username: admin
-      password: password
-      auth_url: http://172.17.16.129/identity/v3
+      username: ${_param:oss_openstack_username}
+      password: ${_param:oss_openstack_password}
+      auth_url: ${_param:oss_openstack_auth_url}
 
     # Rundeck
     rundeck_db_host: ${_param:haproxy_postgresql_bind_host}
@@ -346,7 +358,10 @@
     rundeck_postgresql_password: ${_param:rundeck_db_user_password}
     rundeck_postgresql_database: rundeck
     rundeck_postgresql_host: ${_param:rundeck_db_host}
-    rundeck_cis_os_auth_url: http://172.17.16.129:5000/v3/auth/tokens
+    rundeck_cis_openstack:
+      username: ${_param:oss_openstack_username}/auth/tokens
+      password: ${_param:oss_openstack_password}
+      auth_url: ${_param:oss_openstack_auth_url}
     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: |
diff --git a/classes/cluster/drivetrain-ha/cicd/control/slave.yml b/classes/cluster/drivetrain-ha/cicd/control/slave.yml
index f46c1e4..52f21eb 100644
--- a/classes/cluster/drivetrain-ha/cicd/control/slave.yml
+++ b/classes/cluster/drivetrain-ha/cicd/control/slave.yml
@@ -1,3 +1,3 @@
 classes:
-- system.docker.swarm.manager
-- cluster.drivetrain-ha
+  - system.docker.swarm.manager
+  - cluster.drivetrain-ha
diff --git a/classes/cluster/drivetrain-ha/cicd/worker.yml b/classes/cluster/drivetrain-ha/cicd/worker.yml
index 9dc8d0c..ad824f8 100644
--- a/classes/cluster/drivetrain-ha/cicd/worker.yml
+++ b/classes/cluster/drivetrain-ha/cicd/worker.yml
@@ -1,6 +1,5 @@
 classes:
-- system.linux.system.single
-- system.jenkins.slave.docker
-- system.aptly.client.publisher
-- cluster.drivetrain-ha
-
+  - system.linux.system.single
+  - system.jenkins.slave.docker
+  - system.aptly.client.publisher
+  - cluster.drivetrain-ha
diff --git a/classes/cluster/drivetrain-ha/infra/config.yml b/classes/cluster/drivetrain-ha/infra/config.yml
index 4e413b5..ed421d2 100644
--- a/classes/cluster/drivetrain-ha/infra/config.yml
+++ b/classes/cluster/drivetrain-ha/infra/config.yml
@@ -1,10 +1,10 @@
 classes:
-- system.salt.master.pkg
-- system.salt.master.api
-- system.salt.minion.ca.salt_master
-- system.reclass.storage.salt
-- system.sphinx.server.doc.reclass
-- cluster.drivetrain-ha
+  - system.salt.master.pkg
+  - system.salt.master.api
+  - system.salt.minion.ca.salt_master
+  - system.reclass.storage.salt
+  - system.sphinx.server.doc.reclass
+  - cluster.drivetrain-ha
 parameters:
   _param:
     reclass_data_repository: "https://gerrit.mcp.mirantis.net/salt-models/mcp-virtual-lab"
@@ -77,6 +77,7 @@
           classes:
           - cluster.${_param:cluster_name}.infra.config
           - cluster.${_param:cluster_name}.cicd.control.master
+          - cluster.overrides
           params:
             salt_master_host: 127.0.0.1
             linux_system_codename: xenial
@@ -87,6 +88,7 @@
           domain: ${_param:cluster_domain}
           classes:
           - cluster.${_param:cluster_name}.cicd.control.slave
+          - cluster.overrides
           params:
             salt_master_host: ${_param:reclass_config_master}
             linux_system_codename: xenial
@@ -98,6 +100,7 @@
           domain: ${_param:cluster_domain}
           classes:
           - cluster.${_param:cluster_name}.cicd.control.slave
+          - cluster.overrides
           params:
             salt_master_host: ${_param:reclass_config_master}
             linux_system_codename: xenial
diff --git a/classes/cluster/drivetrain-ha/infra/init.yml b/classes/cluster/drivetrain-ha/infra/init.yml
index f3fe176..aa0d9a5 100644
--- a/classes/cluster/drivetrain-ha/infra/init.yml
+++ b/classes/cluster/drivetrain-ha/infra/init.yml
@@ -1,13 +1,3 @@
-classes:
-- system.linux.system.single
-- system.rsyslog.client.single
-- system.linux.system.haveged
-- system.linux.system.prompt
-- system.linux.system.motd.dynamic
-- system.openssh.server.team.lab
-- system.openssh.server.team.tcpcloud
-- system.openssh.server.team.mcp_qa
-- system.openssh.server.team.oss_team
 parameters:
   _param:
     cluster_domain: drivetrain-ha.local
diff --git a/classes/cluster/drivetrain-ha/init.yml b/classes/cluster/drivetrain-ha/init.yml
index fa0c93c..11369f6 100644
--- a/classes/cluster/drivetrain-ha/init.yml
+++ b/classes/cluster/drivetrain-ha/init.yml
@@ -1,7 +1,14 @@
 classes:
-- system.linux.network.dynamic_hosts
-- cluster.drivetrain-ha.cicd.control
-- cluster.drivetrain-ha.infra
-#- cluster.drivetrain-ha.cicd
-- cluster.overrides
-
+  - system.linux.network.dynamic_hosts
+  - system.linux.system.single
+  - system.linux.system.haveged
+  - system.linux.system.prompt
+  - system.linux.system.motd.dynamic
+  - system.openssh.server.team.lab
+  - system.openssh.server.team.tcpcloud
+  - system.openssh.server.team.stacklight
+  - system.openssh.server.team.mcp_qa
+  - system.openssh.server.team.oss_team
+  - cluster.drivetrain-ha.infra
+  - cluster.drivetrain-ha.cicd.control
+  - cluster.overrides
diff --git a/classes/cluster/sl-k8s-calico/stacklight/server.yml b/classes/cluster/sl-k8s-calico/stacklight/server.yml
index 4a1df78..050ed5e 100644
--- a/classes/cluster/sl-k8s-calico/stacklight/server.yml
+++ b/classes/cluster/sl-k8s-calico/stacklight/server.yml
@@ -37,7 +37,7 @@
     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_prometheus_relay: docker-prod-virtual.docker.mirantis.net/openstack-docker/prometheus_relay:latest
-    docker_image_grafana: grafana/grafana:4.3.2
+    docker_image_grafana: grafana/grafana:4.5.2
     docker_influxdb_image: influxdb:1.2
     grafana_admin_password: admin
     keepalived_prometheus_vip_address: ${_param:cluster_vip_address}
diff --git a/classes/cluster/sl-k8s-contrail/stacklight/server.yml b/classes/cluster/sl-k8s-contrail/stacklight/server.yml
index 8dbe8d8..e82a3d9 100644
--- a/classes/cluster/sl-k8s-contrail/stacklight/server.yml
+++ b/classes/cluster/sl-k8s-contrail/stacklight/server.yml
@@ -37,7 +37,7 @@
     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_prometheus_relay: docker-prod-virtual.docker.mirantis.net/openstack-docker/prometheus_relay:latest
-    docker_image_grafana: grafana/grafana:4.3.2
+    docker_image_grafana: grafana/grafana:4.5.2
     grafana_admin_password: admin
     keepalived_prometheus_vip_address: ${_param:cluster_vip_address}
     keepalived_prometheus_vip_password: password
diff --git a/classes/cluster/sl-os-contrail/stacklight/server.yml b/classes/cluster/sl-os-contrail/stacklight/server.yml
index e22bd8e..1b71f88 100755
--- a/classes/cluster/sl-os-contrail/stacklight/server.yml
+++ b/classes/cluster/sl-os-contrail/stacklight/server.yml
@@ -50,7 +50,7 @@
     docker_image_remote_collector: docker-prod-virtual.docker.mirantis.net/openstack-docker/heka:latest
     docker_image_remote_storage_adapter: docker-prod-virtual.docker.mirantis.net/openstack-docker/remote_storage_adapter:latest
     docker_image_prometheus_relay: docker-prod-virtual.docker.mirantis.net/openstack-docker/prometheus_relay:latest
-    docker_image_grafana: grafana/grafana:4.3.2
+    docker_image_grafana: grafana/grafana:4.5.2
     grafana_admin_password: admin
     grafana_database_type: mysql
     grafana_database_host: ${_param:cluster_vip_address}
diff --git a/classes/cluster/sl-os-ovs/stacklight/server.yml b/classes/cluster/sl-os-ovs/stacklight/server.yml
index 7c927b4..3a19b44 100644
--- a/classes/cluster/sl-os-ovs/stacklight/server.yml
+++ b/classes/cluster/sl-os-ovs/stacklight/server.yml
@@ -52,7 +52,7 @@
     docker_image_remote_collector: docker-prod-virtual.docker.mirantis.net/openstack-docker/heka:latest
     docker_image_remote_storage_adapter: docker-prod-virtual.docker.mirantis.net/openstack-docker/remote_storage_adapter:latest
     docker_image_prometheus_relay: docker-prod-virtual.docker.mirantis.net/openstack-docker/prometheus_relay:latest
-    docker_image_grafana: grafana/grafana:4.3.2
+    docker_image_grafana: grafana/grafana:4.5.2
     grafana_admin_password: admin
     grafana_database_type: mysql
     grafana_database_host: ${_param:cluster_vip_address}
diff --git a/classes/cluster/virtual-mcp-ocata-cicd/stacklight/server.yml b/classes/cluster/virtual-mcp-ocata-cicd/stacklight/server.yml
index 3a493c4..18904ad 100644
--- a/classes/cluster/virtual-mcp-ocata-cicd/stacklight/server.yml
+++ b/classes/cluster/virtual-mcp-ocata-cicd/stacklight/server.yml
@@ -35,7 +35,7 @@
     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_prometheus_relay: docker-prod-virtual.docker.mirantis.net/openstack-docker/prometheus_relay:latest
-    docker_image_grafana: grafana/grafana:4.3.2
+    docker_image_grafana: grafana/grafana:4.5.2
     grafana_admin_password: admin
     keepalived_prometheus_vip_address: ${_param:cluster_vip_address}
     keepalived_prometheus_vip_password: password
diff --git a/classes/cluster/virtual-mcp-ocata-dvr/stacklight/server.yml b/classes/cluster/virtual-mcp-ocata-dvr/stacklight/server.yml
index d36763a..72d2b76 100644
--- a/classes/cluster/virtual-mcp-ocata-dvr/stacklight/server.yml
+++ b/classes/cluster/virtual-mcp-ocata-dvr/stacklight/server.yml
@@ -52,7 +52,7 @@
     docker_image_remote_storage_adapter: docker-prod-virtual.docker.mirantis.net/openstack-docker/remote_storage_adapter:latest
     docker_image_remote_collector: docker-prod-virtual.docker.mirantis.net/openstack-docker/heka:latest
     docker_image_prometheus_relay: docker-prod-virtual.docker.mirantis.net/openstack-docker/prometheus_relay:latest
-    docker_image_grafana: grafana/grafana:4.3.2
+    docker_image_grafana: grafana/grafana:4.5.2
     influxdb_port: 8086
     influxdb_admin_password: password
     influxdb_stacklight_password: lmapass
diff --git a/classes/cluster/virtual-mcp-ocata-ovs/stacklight/server.yml b/classes/cluster/virtual-mcp-ocata-ovs/stacklight/server.yml
index fd31ac3..205afd6 100644
--- a/classes/cluster/virtual-mcp-ocata-ovs/stacklight/server.yml
+++ b/classes/cluster/virtual-mcp-ocata-ovs/stacklight/server.yml
@@ -52,7 +52,7 @@
     docker_image_remote_storage_adapter: docker-prod-virtual.docker.mirantis.net/openstack-docker/remote_storage_adapter:latest
     docker_image_remote_collector: docker-prod-virtual.docker.mirantis.net/openstack-docker/heka:latest
     docker_image_prometheus_relay: docker-prod-virtual.docker.mirantis.net/openstack-docker/prometheus_relay:latest
-    docker_image_grafana: grafana/grafana:4.3.2
+    docker_image_grafana: grafana/grafana:4.5.2
     influxdb_port: 8086
     influxdb_admin_password: password
     influxdb_stacklight_password: lmapass
diff --git a/classes/cluster/virtual-mcp11-contrail/stacklight/server.yml b/classes/cluster/virtual-mcp11-contrail/stacklight/server.yml
index b89b08d..cc47bb7 100755
--- a/classes/cluster/virtual-mcp11-contrail/stacklight/server.yml
+++ b/classes/cluster/virtual-mcp11-contrail/stacklight/server.yml
@@ -52,7 +52,7 @@
     docker_image_remote_storage_adapter: docker-prod-virtual.docker.mirantis.net/openstack-docker/remote_storage_adapter:latest
     docker_image_remote_collector: docker-prod-virtual.docker.mirantis.net/openstack-docker/heka:latest
     docker_image_prometheus_relay: docker-prod-virtual.docker.mirantis.net/openstack-docker/prometheus_relay:latest
-    docker_image_grafana: grafana/grafana:4.3.2
+    docker_image_grafana: grafana/grafana:4.5.2
     influxdb_port: 8086
     influxdb_admin_password: password
     influxdb_stacklight_password: lmapass
diff --git a/classes/cluster/virtual-mcp11-dvr/stacklight/server.yml b/classes/cluster/virtual-mcp11-dvr/stacklight/server.yml
index 34efd21..193a51c 100644
--- a/classes/cluster/virtual-mcp11-dvr/stacklight/server.yml
+++ b/classes/cluster/virtual-mcp11-dvr/stacklight/server.yml
@@ -52,7 +52,7 @@
     docker_image_remote_storage_adapter: docker-prod-virtual.docker.mirantis.net/openstack-docker/remote_storage_adapter:latest
     docker_image_remote_collector: docker-prod-virtual.docker.mirantis.net/openstack-docker/heka:latest
     docker_image_prometheus_relay: docker-prod-virtual.docker.mirantis.net/openstack-docker/prometheus_relay:latest
-    docker_image_grafana: grafana/grafana:4.3.2
+    docker_image_grafana: grafana/grafana:4.5.2
     influxdb_port: 8086
     influxdb_admin_password: password
     influxdb_stacklight_password: lmapass
diff --git a/classes/cluster/virtual-mcp11-k8s-calico-dyn/stacklight/server.yml b/classes/cluster/virtual-mcp11-k8s-calico-dyn/stacklight/server.yml
index dea0f28..fca5814 100644
--- a/classes/cluster/virtual-mcp11-k8s-calico-dyn/stacklight/server.yml
+++ b/classes/cluster/virtual-mcp11-k8s-calico-dyn/stacklight/server.yml
@@ -30,7 +30,7 @@
     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_prometheus_relay: docker-prod-virtual.docker.mirantis.net/openstack-docker/prometheus_relay:latest
-    docker_image_grafana: grafana/grafana:4.3.2
+    docker_image_grafana: grafana/grafana:4.5.2
     grafana_admin_password: admin
     keepalived_prometheus_vip_address: ${_param:cluster_vip_address}
     keepalived_prometheus_vip_password: password
diff --git a/classes/cluster/virtual-mcp11-k8s-calico/stacklight/server.yml b/classes/cluster/virtual-mcp11-k8s-calico/stacklight/server.yml
index 984443d..a5abebb 100644
--- a/classes/cluster/virtual-mcp11-k8s-calico/stacklight/server.yml
+++ b/classes/cluster/virtual-mcp11-k8s-calico/stacklight/server.yml
@@ -37,7 +37,7 @@
     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_prometheus_relay: docker-prod-virtual.docker.mirantis.net/openstack-docker/prometheus_relay:latest
-    docker_image_grafana: grafana/grafana:4.3.2
+    docker_image_grafana: grafana/grafana:4.5.2
     docker_influxdb_image: influxdb:1.2
     grafana_admin_password: admin
     keepalived_prometheus_vip_address: ${_param:cluster_vip_address}
diff --git a/classes/cluster/virtual-mcp11-k8s-contrail/stacklight/server.yml b/classes/cluster/virtual-mcp11-k8s-contrail/stacklight/server.yml
index f3f8a33..78c9849 100644
--- a/classes/cluster/virtual-mcp11-k8s-contrail/stacklight/server.yml
+++ b/classes/cluster/virtual-mcp11-k8s-contrail/stacklight/server.yml
@@ -37,7 +37,7 @@
     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_prometheus_relay: docker-prod-virtual.docker.mirantis.net/openstack-docker/prometheus_relay:latest
-    docker_image_grafana: grafana/grafana:4.3.2
+    docker_image_grafana: grafana/grafana:4.5.2
     grafana_admin_password: admin
     keepalived_prometheus_vip_address: ${_param:cluster_vip_address}
     keepalived_prometheus_vip_password: password