Merge "Removed aide and auditd formula references"
diff --git a/.releasenotes/notes/parametric-telemetry-hostnames-06e14467d9a9077d.yaml b/.releasenotes/notes/parametric-telemetry-hostnames-06e14467d9a9077d.yaml
new file mode 100644
index 0000000..e75d549
--- /dev/null
+++ b/.releasenotes/notes/parametric-telemetry-hostnames-06e14467d9a9077d.yaml
@@ -0,0 +1,15 @@
+---
+upgrades:
+  - mongodb.server.cluster no longer hardcodes the telemetry nodes' hostnames
+    in favor of using `openstack_telemetry_node{01,02,03}_hostname` params,
+    allowing custom hostnames to be used.
+
+    Configuration example:
+
+    .. code-block:: yaml
+
+        parameters:
+          _param:
+            openstack_telemetry_node01_hostname: mdb01
+            openstack_telemetry_node02_hostname: mdb02
+            openstack_telemetry_node03_hostname: mdb03
diff --git a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/aptly.yml b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/aptly.yml
index e571d36..72c20cb 100644
--- a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/aptly.yml
+++ b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/aptly.yml
@@ -1,7 +1,7 @@
 parameters:
   _param:
     apt_mk_version: stable
-    mirror_mirantis_openstack_xenial_aptly_source: http://mirror.mirantis.com/${_param:apt_mk_version}/aptly/
+    mirror_mirantis_openstack_xenial_aptly_source: http://mirror.mirantis.com/${_param:apt_mk_version}/aptly/xenial/
     mirror_mirantis_openstack_xenial_aptly_distribution: squeeze
     mirror_mirantis_openstack_xenial_aptly_components: main
     mirror_mirantis_openstack_xenial_aptly_gpgkeys:
diff --git a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/cassandra.yml b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/cassandra.yml
index 2b931af..c34a904 100644
--- a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/cassandra.yml
+++ b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/cassandra.yml
@@ -1,7 +1,7 @@
 parameters:
   _param:
     apt_mk_version: stable
-    mirror_mirantis_openstack_xenial_cassandra_source: http://mirror.mirantis.com/${_param:apt_mk_version}/cassandra/
+    mirror_mirantis_openstack_xenial_cassandra_source: http://mirror.mirantis.com/${_param:apt_mk_version}/cassandra/xenial/
     mirror_mirantis_openstack_xenial_cassandra_distribution: 21x
     mirror_mirantis_openstack_xenial_cassandra_components: main
     mirror_mirantis_openstack_xenial_cassandra_gpgkeys:
diff --git a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/docker-legacy.yml b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/docker-legacy.yml
index 03a5fae..c6814b7 100644
--- a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/docker-legacy.yml
+++ b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/docker-legacy.yml
@@ -1,7 +1,7 @@
 parameters:
   _param:
     apt_mk_version: stable
-    mirror_mirantis_openstack_xenial_docker_legacy_source: http://mirror.mirantis.com/${_param:apt_mk_version}/docker-1.x/
+    mirror_mirantis_openstack_xenial_docker_legacy_source: http://mirror.mirantis.com/${_param:apt_mk_version}/docker-1.x/xenial/
     mirror_mirantis_openstack_xenial_docker_legacy_distribution: ubuntu-xenial
     mirror_mirantis_openstack_xenial_docker_legacy_components: main
     mirror_mirantis_openstack_xenial_docker_legacy_gpgkeys:
diff --git a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/docker.yml b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/docker.yml
index 96e0b64..2ae01f9 100644
--- a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/docker.yml
+++ b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/docker.yml
@@ -1,7 +1,7 @@
 parameters:
   _param:
     apt_mk_version: stable
-    mirror_mirantis_openstack_xenial_docker_source: http://mirror.mirantis.com/${_param:apt_mk_version}/docker/
+    mirror_mirantis_openstack_xenial_docker_source: http://mirror.mirantis.com/${_param:apt_mk_version}/docker/xenial/
     mirror_mirantis_openstack_xenial_docker_distribution: xenial
     mirror_mirantis_openstack_xenial_docker_components: stable
     mirror_mirantis_openstack_xenial_docker_gpgkeys:
diff --git a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/elastic/2x.yml b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/elastic/2x.yml
index dd5b636..1bf92ed 100644
--- a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/elastic/2x.yml
+++ b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/elastic/2x.yml
@@ -1,7 +1,7 @@
 parameters:
   _param:
     apt_mk_version: stable
-    mirror_mirantis_openstack_xenial_elastic_2x_source: http://mirror.mirantis.com/${_param:apt_mk_version}/elasticsearch-2.x/
+    mirror_mirantis_openstack_xenial_elastic_2x_source: http://mirror.mirantis.com/${_param:apt_mk_version}/elasticsearch-2.x/xenial/
     mirror_mirantis_openstack_xenial_elastic_2x_distribution: stable
     mirror_mirantis_openstack_xenial_elastic_2x_components: main
     mirror_mirantis_openstack_xenial_elastic_2x_gpgkeys:
diff --git a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/elastic/5x.yml b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/elastic/5x.yml
index 0448289..1281c30 100644
--- a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/elastic/5x.yml
+++ b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/elastic/5x.yml
@@ -1,7 +1,7 @@
 parameters:
   _param:
     apt_mk_version: stable
-    mirror_mirantis_openstack_xenial_elastic_5x_source: http://mirror.mirantis.com/${_param:apt_mk_version}/elasticsearch-5.x/
+    mirror_mirantis_openstack_xenial_elastic_5x_source: http://mirror.mirantis.com/${_param:apt_mk_version}/elasticsearch-5.x/xenial/
     mirror_mirantis_openstack_xenial_elastic_5x_distribution: stable
     mirror_mirantis_openstack_xenial_elastic_5x_components: main
     mirror_mirantis_openstack_xenial_elastic_5x_gpgkeys:
diff --git a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/glusterfs.yml b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/glusterfs.yml
index f925041..c38aa6f 100644
--- a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/glusterfs.yml
+++ b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/glusterfs.yml
@@ -1,7 +1,7 @@
 parameters:
   _param:
     apt_mk_version: stable
-    mirror_mirantis_openstack_xenial_glusterfs_source: http://mirror.mirantis.com/${_param:apt_mk_version}/glusterfs-3.8/
+    mirror_mirantis_openstack_xenial_glusterfs_source: http://mirror.mirantis.com/${_param:apt_mk_version}/glusterfs-3.8/xenial/
     mirror_mirantis_openstack_xenial_glusterfs_distribution: xenial
     mirror_mirantis_openstack_xenial_glusterfs_components: main
     mirror_mirantis_openstack_xenial_glusterfs_gpgkeys:
diff --git a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/grafana.yml b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/grafana.yml
index 6c1a3de..7c159b8 100644
--- a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/grafana.yml
+++ b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/grafana.yml
@@ -1,7 +1,7 @@
 parameters:
   _param:
     apt_mk_version: stable
-    mirror_mirantis_openstack_xenial_grafana_source: http://mirror.mirantis.com/${_param:apt_mk_version}/grafana/
+    mirror_mirantis_openstack_xenial_grafana_source: http://mirror.mirantis.com/${_param:apt_mk_version}/grafana/xenial/
     mirror_mirantis_openstack_xenial_grafana_distribution: jessie
     mirror_mirantis_openstack_xenial_grafana_components: main
     mirror_mirantis_openstack_xenial_grafana_gpgkeys:
diff --git a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/influxdb.yml b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/influxdb.yml
index 1262270..e8838d9 100644
--- a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/influxdb.yml
+++ b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/influxdb.yml
@@ -1,7 +1,7 @@
 parameters:
   _param:
     apt_mk_version: stable
-    mirror_mirantis_openstack_xenial_influxdb_source: http://mirror.mirantis.com/${_param:apt_mk_version}/influxdb/
+    mirror_mirantis_openstack_xenial_influxdb_source: http://mirror.mirantis.com/${_param:apt_mk_version}/influxdb/xenial/
     mirror_mirantis_openstack_xenial_influxdb_distribution: xenial
     mirror_mirantis_openstack_xenial_influxdb_components: stable
     mirror_mirantis_openstack_xenial_influxdb_gpgkeys:
diff --git a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/kibana/46.yml b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/kibana/46.yml
index 67fecc1..253c007 100644
--- a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/kibana/46.yml
+++ b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/kibana/46.yml
@@ -1,7 +1,7 @@
 parameters:
   _param:
     apt_mk_version: stable
-    mirror_mirantis_openstack_xenial_kibana_46_source: http://mirror.mirantis.com/${_param:apt_mk_version}/kibana-4.6/
+    mirror_mirantis_openstack_xenial_kibana_46_source: http://mirror.mirantis.com/${_param:apt_mk_version}/kibana-4.6/xenial/
     mirror_mirantis_openstack_xenial_kibana_46_distribution: stable
     mirror_mirantis_openstack_xenial_kibana_46_components: main
     mirror_mirantis_openstack_xenial_kibana_46_gpgkeys:
diff --git a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/kibana/5x.yml b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/kibana/5x.yml
index c739bca..58d26aa 100644
--- a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/kibana/5x.yml
+++ b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/kibana/5x.yml
@@ -1,7 +1,7 @@
 parameters:
   _param:
     apt_mk_version: stable
-    mirror_mirantis_openstack_xenial_kibana_5x_source: http://mirror.mirantis.com/${_param:apt_mk_version}/elasticsearch-5.x/
+    mirror_mirantis_openstack_xenial_kibana_5x_source: http://mirror.mirantis.com/${_param:apt_mk_version}/elasticsearch-5.x/xenial/
     mirror_mirantis_openstack_xenial_kibana_5x_distribution: stable
     mirror_mirantis_openstack_xenial_kibana_5x_components: main
     mirror_mirantis_openstack_xenial_kibana_5x_gpgkeys:
diff --git a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/maas.yml b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/maas.yml
index 51abdf8..acf5a63 100644
--- a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/maas.yml
+++ b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/maas.yml
@@ -1,7 +1,7 @@
 parameters:
   _param:
     apt_mk_version: stable
-    mirror_mirantis_openstack_xenial_maas_source: http://mirror.mirantis.com/${_param:apt_mk_version}/maas/
+    mirror_mirantis_openstack_xenial_maas_source: http://mirror.mirantis.com/${_param:apt_mk_version}/maas/xenial/
     mirror_mirantis_openstack_xenial_maas_distribution: xenial
     mirror_mirantis_openstack_xenial_maas_components: main
     mirror_mirantis_openstack_xenial_maas_gpgkeys:
diff --git a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/saltstack/salt-2016-3.yml b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/saltstack/salt-2016-3.yml
index 13e4e50..bd6b440 100644
--- a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/saltstack/salt-2016-3.yml
+++ b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/saltstack/salt-2016-3.yml
@@ -1,7 +1,7 @@
 parameters:
   _param:
     apt_mk_version: stable
-    mirror_mirantis_openstack_xenial_saltstack_2016_3_source: http://mirror.mirantis.com/${_param:apt_mk_version}/saltstack-2016.3/
+    mirror_mirantis_openstack_xenial_saltstack_2016_3_source: http://mirror.mirantis.com/${_param:apt_mk_version}/saltstack-2016.3/xenial/
     mirror_mirantis_openstack_xenial_saltstack_2016_3_distribution: xenial
     mirror_mirantis_openstack_xenial_saltstack_2016_3_components: main
     mirror_mirantis_openstack_xenial_saltstack_2016_3_gpgkeys:
diff --git a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/saltstack/salt-2017-7.yml b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/saltstack/salt-2017-7.yml
index 98cfb1d..019161b 100644
--- a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/saltstack/salt-2017-7.yml
+++ b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/saltstack/salt-2017-7.yml
@@ -1,7 +1,7 @@
 parameters:
   _param:
     apt_mk_version: stable
-    mirror_mirantis_openstack_xenial_saltstack_2017_7_source: http://mirror.mirantis.com/${_param:apt_mk_version}/saltstack-2017.7/
+    mirror_mirantis_openstack_xenial_saltstack_2017_7_source: http://mirror.mirantis.com/${_param:apt_mk_version}/saltstack-2017.7/xenial/
     mirror_mirantis_openstack_xenial_saltstack_2017_7_distribution: xenial
     mirror_mirantis_openstack_xenial_saltstack_2017_7_components: main
     mirror_mirantis_openstack_xenial_saltstack_2017_7_gpgkeys:
diff --git a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/sensu.yml b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/sensu.yml
index 888c203..ce42857 100644
--- a/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/sensu.yml
+++ b/aptly/server/mirror/ubuntu/xenial/mcp/apt_mk/sensu.yml
@@ -1,7 +1,7 @@
 parameters:
   _param:
     apt_mk_version: stable
-    mirror_mirantis_openstack_xenial_sensu_source: http://mirror.mirantis.com/${_param:apt_mk_version}/sensu/
+    mirror_mirantis_openstack_xenial_sensu_source: http://mirror.mirantis.com/${_param:apt_mk_version}/sensu/xenial/
     mirror_mirantis_openstack_xenial_sensu_distribution: sensu
     mirror_mirantis_openstack_xenial_sensu_components: main
     mirror_mirantis_openstack_xenial_sensu_key_url: "http://apt.mirantis.com/public.gpg"
diff --git a/barbican/server/cluster.yml b/barbican/server/cluster.yml
index 5b5bc5e..ed45b47 100644
--- a/barbican/server/cluster.yml
+++ b/barbican/server/cluster.yml
@@ -1,3 +1,10 @@
 classes:
 - service.barbican.server.cluster
-- system.haproxy.proxy.listen.openstack.barbican
\ No newline at end of file
+- system.haproxy.proxy.listen.openstack.barbican
+parameters:
+  _param:
+    cluster_internal_protocol: 'http'
+  barbican:
+    server:
+      identity:
+        protocol: ${_param:cluster_internal_protocol}
diff --git a/barbican/server/single.yml b/barbican/server/single.yml
index eb2b30b..aab0b18 100644
--- a/barbican/server/single.yml
+++ b/barbican/server/single.yml
@@ -1,2 +1,9 @@
 classes:
 - service.barbican.server.single
+parameters:
+  _param:
+    internal_protocol: 'http'
+  barbican:
+    server:
+      identity:
+        protocol: ${_param:internal_protocol}
diff --git a/ceilometer/agent/polling/default.yml b/ceilometer/agent/polling/default.yml
new file mode 100644
index 0000000..47b2d1d
--- /dev/null
+++ b/ceilometer/agent/polling/default.yml
@@ -0,0 +1,8 @@
+parameters:
+  ceilometer:
+    agent:
+      polling:
+        sources:
+          default_pollsters:
+            meters: ${_param:ceilometer_agent_default_polling_meters}
+            interval: ${_param:ceilometer_agent_default_polling_interval}
\ No newline at end of file
diff --git a/ceilometer/server/backend/default.yml b/ceilometer/server/backend/default.yml
new file mode 100644
index 0000000..8842e11
--- /dev/null
+++ b/ceilometer/server/backend/default.yml
@@ -0,0 +1,12 @@
+classes:
+- service.ceilometer.server.publisher.gnocchi
+- service.ceilometer.server.publisher.panko
+parameters:
+  # gnocchi and panko are default backends for Ceilometer since Pike
+  # they are incompatible with any legacy database publisher backends
+  ceilometer:
+    server:
+      database: ~
+      publisher:
+        default:
+          enabled: false
diff --git a/ceilometer/server/coordination/redis.yml b/ceilometer/server/coordination/redis.yml
index e013e0f..e8610f3 100644
--- a/ceilometer/server/coordination/redis.yml
+++ b/ceilometer/server/coordination/redis.yml
@@ -1,7 +1,7 @@
 classes:
 - service.redis.server.single
 parameters:
-  aodh:
+  ceilometer:
     server:
       coordination_backend:
         url:  redis://${_param:single_address}:6379/${_param:cluster_node01_address}
diff --git a/cinder/control/cluster.yml b/cinder/control/cluster.yml
index c130e97..1110c63 100644
--- a/cinder/control/cluster.yml
+++ b/cinder/control/cluster.yml
@@ -4,13 +4,15 @@
 - service.keepalived.cluster.single
 - system.haproxy.proxy.listen.openstack.cinder
 parameters:
+  _param:
+    cluster_internal_protocol: 'http'
   linux:
     system:
       package:
         python-pymysql:
           fromrepo: ${_param:openstack_version}
           version: latest
-  cinder:      
+  cinder:
     volume:
       enabled: false
       default_volume_type: ""
@@ -40,9 +42,11 @@
         tenant: service
         user: cinder
         password: ${_param:keystone_cinder_password}
+        protocol: ${_param:cluster_internal_protocol}
       glance:
         host: ${_param:cluster_vip_address}
         port: 9292
+        protocol: ${_param:cluster_internal_protocol}
       message_queue:
         engine: rabbitmq
         members:
diff --git a/cinder/control/single.yml b/cinder/control/single.yml
index 2d7f179..66aea6d 100644
--- a/cinder/control/single.yml
+++ b/cinder/control/single.yml
@@ -1,6 +1,8 @@
 classes:
 - service.cinder.control.single
 parameters:
+  _param:
+    internal_protocol: 'http'
   linux:
     system:
       package:
@@ -15,4 +17,6 @@
       default_volume_type: ''
       database:
         host: ${_param:single_address}
+      identity:
+        protocol: ${_param:internal_protocol}
 
diff --git a/cinder/volume/single.yml b/cinder/volume/single.yml
index de468ba..1b9948d 100644
--- a/cinder/volume/single.yml
+++ b/cinder/volume/single.yml
@@ -1,6 +1,8 @@
 classes:
 - service.cinder.volume.single
 parameters:
+  _param:
+    cluster_internal_protocol: 'http'
   linux:
     system:
       package:
@@ -21,3 +23,4 @@
           - host: ${_param:openstack_message_queue_node03_address}
       identity:
         host: ${_param:openstack_control_address}
+        protocol: ${_param:cluster_internal_protocol}
diff --git a/debmirror/mirror_mirantis_com/ubuntu/xenial.yml b/debmirror/mirror_mirantis_com/ubuntu/xenial.yml
index 73047b2..a0f8657 100644
--- a/debmirror/mirror_mirantis_com/ubuntu/xenial.yml
+++ b/debmirror/mirror_mirantis_com/ubuntu/xenial.yml
@@ -14,19 +14,54 @@
           arch: [ 'amd64' ]
           mirror_host: "mirror.mirantis.com"
           mirror_root: ":mirror/${_param:apt_mk_version}/ubuntu/"
-          target_dir: "/srv/aptly/public/ubuntu/"
+          target_dir: "/srv/volumes/aptly/public/ubuntu/"
           log_file: "/var/log/debmirror/mirror_mirantis_com_ubuntu_xenial.log"
           dist: [ xenial , xenial-security, xenial-updates ]
           section: [ main , multiverse, restricted, universe ]
-          exclude_deb_section: [ games, gnome, Xfce, sound, electronics, graphics, hamradio , doc, localization, kde, video ]
+          exclude_deb_section: [ games, gnome, Xfce, sound, electronics, graphics, hamradio , doc, localization, kde, video,  translations, news, x11,
+                                 multiverse/games, multiverse/gnome, multiverse/Xfce, multiverse/sound, multiverse/electronics, multiverse/graphics,
+                                 multiverse/hamradio , multiverse/doc, multiverse/localization, multiverse/kde, multiverse/video,  multiverse/translations, multiverse/news, multiverse/x11,
+                                 universe/games, universe/gnome, universe/Xfce, universe/sound, universe/electronics, universe/hamradio , universe/doc, universe/localization, universe/kde,
+                                 universe/video,  universe/translations, universe/news, universe/x11, universe/graphics,
+                                 restricted/games, restricted/gnome, restricted/Xfce, restricted/sound, restricted/electronics, restricted/graphics, restricted/hamradio , restricted/doc,
+                                 restricted/localization, restricted/kde, restricted/video,  restricted/translations, restricted/news, restricted/x11 ]
           filter:
-            01: "--exclude='/android*'"
-            02: "--exclude='/firefox*'"
-            03: "--exclude='/chromium-browser*'"
-            04: "--exclude='/ceph*'"
-            05: "--exclude='/*-wallpapers*'"
-            06: "--exclude='/language-pack-(?!en)'"
-            07: "--include='/main(.*)manpages'"
-            08: "--include='/main(.*)python-(.*)doc'"
-            09: "--include='/main(.*)python-(.*)network'"
-
+            1: "--exclude='android*'"
+            2: "--exclude='/firefox*'"
+            3: "--exclude='/chromium-browser*'"
+            4: "--exclude='/ceph*'"
+            5: "--exclude='/*-wallpapers*'"
+            6: "--exclude='/language-pack-(?!en)'"
+            7: "--exclude='thunderbird*'"
+            8: "--exclude='libreoffice*'"
+            9: "--exclude='openoffice*'"
+            10: "--exclude='live-image-*-desktop*'"
+            11: "--exclude='lubuntu-*'"
+            12: "--exclude='kubuntu-*'"
+            13: "--exclude='cinnamon-*'"
+            14: "--exclude='mate-*'"
+            15: "--exclude='desktop-*'"
+            16: "--exclude='flashplugin*'"
+            17: "--exclude='gnome*'"
+            18: "--exclude='/unity*'"
+            20: "--exclude='openjdk-*-(dbg|demo|source).*'"
+            22: "--exclude='(kde|ubuntu|xfce4|sabily).*artwork*'"
+            23: "--exclude='ubuntu-touch*'"
+            24: "--exclude='remmina*'"
+            25: "--exclude='/libbluetooth*'"
+            26: "--exclude='/libandroid*'"
+            27: "--exclude='/banshee*'"
+            27: "--exclude='/*(.xorg)*joystick'"
+            28: "--exclude='/xserver-xorg-video(.*vivid|.*wily|.*utopic)'"
+            30: "--exclude='/*universe.*bluez.*'"
+            92: "--exclude='/(llvm-toolchain|address-book|amule|openclipart|rhythmbox|gimp|sonic-visualiser|games|bsdgame|gazebo|arduino|webkitgtk|widelands|wxwidget|warzone|wings3d).*'"
+            93: "--exclude='/(asterisk|abiword|webbrowser-app|imagemagick|.*clamav|wireshar|vlc|.*transmission|tryton-modules|trilinos|tomboy|wine1|wine-dev|compiz|mythtv|ubuntustudio).*'"
+            94: "--exclude='/(ceilometer|nova).*'"
+            95: "--exclude='/gcc-.*-cross.*'"
+            96: "--exclude='/(nvidia).*'"
+            97: "--exclude='linux-*-(.*azure|.*aws|gke|.*azure-edge|.*linux-oem)'"
+            98: "--exclude='/.*(arm64|powerpc|s390x|armel|armhf|sparc64|mips64|ppc64el|mipsn32)(?!.*amd64)'"
+            99: "--exclude='/*universe.*(-armel-|-arm-)(?!.*amd64)'"
+            100: "--include='/main(.*)manpages'"
+            101: "--include='/main(.*)python-(.*)doc'"
+            102: "--include='/main(.*)python-(.*)network'"
diff --git a/designate/server/cluster.yml b/designate/server/cluster.yml
index 1030861..afbb7df 100644
--- a/designate/server/cluster.yml
+++ b/designate/server/cluster.yml
@@ -6,6 +6,7 @@
 parameters:
   _param:
     designate_admin_api_enabled: false
+    cluster_internal_protocol: 'http'
   linux:
     system:
       package:
@@ -41,6 +42,7 @@
         tenant: service
         user: designate
         password: ${_param:keystone_designate_password}
+        protocol: ${_param:cluster_internal_protocol}
       bind:
         api:
           address: ${_param:single_address}
diff --git a/designate/server/single.yml b/designate/server/single.yml
index 765dcf8..3fdd448 100644
--- a/designate/server/single.yml
+++ b/designate/server/single.yml
@@ -3,6 +3,7 @@
 parameters:
   _param:
     designate_admin_api_enabled: false
+    internal_protocol: 'http'
   linux:
     system:
       package:
@@ -38,6 +39,7 @@
         tenant: service
         user: designate
         password: ${_param:keystone_designate_password}
+        protocol: ${_param:internal_protocol}
       message_queue:
         engine: rabbitmq
         host: ${_param:cluster_vip_address}
diff --git a/docker/swarm/stack/monitoring/alertmanager.yml b/docker/swarm/stack/monitoring/alertmanager.yml
new file mode 100644
index 0000000..662baf4
--- /dev/null
+++ b/docker/swarm/stack/monitoring/alertmanager.yml
@@ -0,0 +1,37 @@
+classes:
+- system.prometheus.alertmanager.container
+parameters:
+  docker:
+    client:
+      stack:
+        monitoring:
+          network:
+            monitoring:
+              driver: overlay
+              driver_opts:
+                encrypted: 1
+          service:
+            alertmanager:
+              networks:
+                - monitoring
+              deploy:
+                replicas: 2
+                labels:
+                  com.mirantis.monitoring: "alertmanager"
+                restart_policy:
+                  condition: any
+              labels:
+                com.mirantis.monitoring: "alertmanager"
+              image: ${_param:docker_image_alertmanager}
+              ports:
+                - 15011:${prometheus:alertmanager:bind:port}
+              volumes:
+                - ${prometheus:alertmanager:dir:config}:${_param:prometheus_alertmanager_config_directory}
+                - ${prometheus:alertmanager:dir:data}:${_param:prometheus_alertmanager_data_directory}
+              environment:
+                ALERTMANAGER_CONFIG_DIR: ${_param:prometheus_alertmanager_config_directory}
+                ALERTMANAGER_DATA_DIR: ${_param:prometheus_alertmanager_data_directory}
+                ALERTMANAGER_BIND_PORT: ${prometheus:alertmanager:bind:port}
+                ALERTMANAGER_BIND_ADDRESS: ${prometheus:alertmanager:bind:address}
+                ALERTMANAGER_DISCOVERY_DOMAIN: 'monitoring_alertmanager'
+                ALERTMANAGER_EXTERNAL_URL: "http://${_param:stacklight_monitor_address}:15011"
diff --git a/docker/swarm/stack/monitoring/init.yml b/docker/swarm/stack/monitoring/init.yml
index 57d7a5a..134efdc 100644
--- a/docker/swarm/stack/monitoring/init.yml
+++ b/docker/swarm/stack/monitoring/init.yml
@@ -1,131 +1,8 @@
 classes:
-- system.prometheus.alertmanager.container
-- system.prometheus.pushgateway.container
-- system.prometheus.remote_storage_adapter.container
-- system.prometheus.server.container
+- system.docker.swarm.stack.monitoring.prometheus
+- system.docker.swarm.stack.monitoring.prometheus.replicated
+- system.docker.swarm.stack.monitoring.alertmanager
+- system.docker.swarm.stack.monitoring.prometheus_relay
+- system.docker.swarm.stack.monitoring.pushgateway
 - system.docker.swarm.stack.monitoring.remote_agent
-parameters:
-  _param:
-    # Backward compatibility for Prometheus 1.7
-    prometheus_storage_local_engine: "persisted"
-    prometheus_storage_heap_size: 3221225472
-    prometheus_storage_num_fingerprint_mutexes: 4096
-
-  docker:
-    client:
-      stack:
-        monitoring:
-          network:
-            monitoring:
-              driver: overlay
-              driver_opts:
-                encrypted: 1
-          service:
-            relay:
-              networks:
-                - monitoring
-              deploy:
-                replicas: 2
-                labels:
-                  com.mirantis.monitoring: "relay"
-                restart_policy:
-                  condition: any
-              labels:
-                com.mirantis.monitoring: "relay"
-              image: ${_param:docker_image_prometheus_relay}
-              ports:
-                - 15016:8080
-              environment:
-                PROMETHEUS_RELAY_DNS: 'tasks.monitoring_server'
-            remote_storage_adapter:
-              networks:
-                - monitoring
-              deploy:
-                replicas: 1
-                labels:
-                  com.mirantis.monitoring: "remote_storage_adapter"
-                restart_policy:
-                  condition: any
-              labels:
-                com.mirantis.monitoring: "remote_storage_adapter"
-              image: ${_param:docker_image_remote_storage_adapter}
-              ports:
-                - 15015:${prometheus:remote_storage_adapter:bind:port}
-              environment:
-                RSA_BIND_PORT: ${prometheus:remote_storage_adapter:bind:port}
-                RSA_BIND_ADDRESS: ${prometheus:remote_storage_adapter:bind:address}
-                RSA_INFLUXDB_RETENTION_POLICY: 'lma'
-                RSA_INFLUXDB_URL: ${_param:prometheus_influxdb_url}
-                RSA_INFLUXDB_DB: ${_param:prometheus_influxdb_db}
-                RSA_INFLUXDB_USERNAME: ${_param:prometheus_influxdb_username}
-                RSA_INFLUXDB_PASSWORD: ${_param:prometheus_influxdb_password}
-            alertmanager:
-              networks:
-                - monitoring
-              deploy:
-                replicas: 2
-                labels:
-                  com.mirantis.monitoring: "alertmanager"
-                restart_policy:
-                  condition: any
-              labels:
-                com.mirantis.monitoring: "alertmanager"
-              image: ${_param:docker_image_alertmanager}
-              ports:
-                - 15011:${prometheus:alertmanager:bind:port}
-              volumes:
-                - ${prometheus:alertmanager:dir:config}:${_param:prometheus_alertmanager_config_directory}
-                - ${prometheus:alertmanager:dir:data}:${_param:prometheus_alertmanager_data_directory}
-              environment:
-                ALERTMANAGER_CONFIG_DIR: ${_param:prometheus_alertmanager_config_directory}
-                ALERTMANAGER_DATA_DIR: ${_param:prometheus_alertmanager_data_directory}
-                ALERTMANAGER_BIND_PORT: ${prometheus:alertmanager:bind:port}
-                ALERTMANAGER_BIND_ADDRESS: ${prometheus:alertmanager:bind:address}
-                ALERTMANAGER_DISCOVERY_DOMAIN: 'monitoring_alertmanager'
-                ALERTMANAGER_EXTERNAL_URL: "http://${_param:stacklight_monitor_address}:15011"
-            pushgateway:
-              networks:
-                - monitoring
-              deploy:
-                replicas: 2
-                labels:
-                  com.mirantis.monitoring: "pushgateway"
-                restart_policy:
-                  condition: any
-              environment:
-                PUSHGATEWAY_BIND_PORT: ${prometheus:pushgateway:bind:port}
-                PUSHGATEWAY_BIND_ADDRESS: ${prometheus:pushgateway:bind:address}
-              labels:
-                com.mirantis.monitoring: "pushgateway"
-              image: ${_param:docker_image_pushgateway}
-              ports:
-                - 15012:${prometheus:pushgateway:bind:port}
-            server:
-              networks:
-                - monitoring
-              deploy:
-                replicas: 2
-                labels:
-                  com.mirantis.monitoring: "prometheus"
-                restart_policy:
-                  condition: any
-              labels:
-                com.mirantis.monitoring: "prometheus"
-              image: ${_param:docker_image_prometheus}
-              ports:
-                - 15010:${prometheus:server:bind:port}
-              volumes:
-                - ${prometheus:server:dir:config}:${_param:prometheus_server_config_directory}
-                - ${prometheus:server:dir:data}:${_param:prometheus_server_data_directory}
-              environment:
-                PROMETHEUS_CONFIG_DIR: ${_param:prometheus_server_config_directory}
-                PROMETHEUS_DATA_DIR: ${_param:prometheus_server_data_directory}
-                PROMETHEUS_BIND_PORT: ${prometheus:server:bind:port}
-                PROMETHEUS_BIND_ADDRESS: ${prometheus:server:bind:address}
-                PROMETHEUS_STORAGE_LOCAL_RETENTION: ${prometheus:server:storage:local:retention}
-                PROMETHEUS_EXTERNAL_URL: "http://${_param:stacklight_monitor_address}:15010"
-                # Backward compatibility for Prometheus 1.7
-                PROMETHEUS_STORAGE_LOCAL_ENGINE: ${_param:prometheus_storage_local_engine}
-                PROMETHEUS_STORAGE_LOCAL_TARGET_HEAP_SIZE: ${_param:prometheus_storage_heap_size}
-                PROMETHEUS_STORAGE_LOCAL_NUM_FINGERPRINT_MUTEXES: ${_param:prometheus_storage_num_fingerprint_mutexes}
- 
\ No newline at end of file
+- system.docker.swarm.stack.monitoring.remote_storage_adapter
diff --git a/docker/swarm/stack/monitoring/prometheus/global.yml b/docker/swarm/stack/monitoring/prometheus/global.yml
new file mode 100644
index 0000000..d86f456
--- /dev/null
+++ b/docker/swarm/stack/monitoring/prometheus/global.yml
@@ -0,0 +1,9 @@
+parameters:
+  docker:
+    client:
+      stack:
+        monitoring:
+          service:
+            server:
+              deploy:
+                mode: global
diff --git a/docker/swarm/stack/monitoring/prometheus/init.yml b/docker/swarm/stack/monitoring/prometheus/init.yml
new file mode 100644
index 0000000..2d455f7
--- /dev/null
+++ b/docker/swarm/stack/monitoring/prometheus/init.yml
@@ -0,0 +1,45 @@
+classes:
+- system.prometheus.server.container
+parameters:
+  _param:
+    # Backward compatibility for Prometheus 1.7
+    prometheus_storage_local_engine: "persisted"
+    prometheus_storage_heap_size: 3221225472
+    prometheus_storage_num_fingerprint_mutexes: 4096
+  docker:
+    client:
+      stack:
+        monitoring:
+          network:
+            monitoring:
+              driver: overlay
+              driver_opts:
+                encrypted: 1
+          service:
+            server:
+              networks:
+                - monitoring
+              deploy:
+                labels:
+                  com.mirantis.monitoring: "prometheus"
+                restart_policy:
+                  condition: any
+              labels:
+                com.mirantis.monitoring: "prometheus"
+              image: ${_param:docker_image_prometheus}
+              ports:
+                - 15010:${prometheus:server:bind:port}
+              volumes:
+                - ${prometheus:server:dir:config}:${_param:prometheus_server_config_directory}
+                - ${prometheus:server:dir:data}:${_param:prometheus_server_data_directory}
+              environment:
+                PROMETHEUS_CONFIG_DIR: ${_param:prometheus_server_config_directory}
+                PROMETHEUS_DATA_DIR: ${_param:prometheus_server_data_directory}
+                PROMETHEUS_BIND_PORT: ${prometheus:server:bind:port}
+                PROMETHEUS_BIND_ADDRESS: ${prometheus:server:bind:address}
+                PROMETHEUS_STORAGE_LOCAL_RETENTION: ${prometheus:server:storage:local:retention}
+                PROMETHEUS_EXTERNAL_URL: "http://${_param:stacklight_monitor_address}:15010"
+                # Backward compatibility for Prometheus 1.7
+                PROMETHEUS_STORAGE_LOCAL_ENGINE: ${_param:prometheus_storage_local_engine}
+                PROMETHEUS_STORAGE_LOCAL_TARGET_HEAP_SIZE: ${_param:prometheus_storage_heap_size}
+                PROMETHEUS_STORAGE_LOCAL_NUM_FINGERPRINT_MUTEXES: ${_param:prometheus_storage_num_fingerprint_mutexes}
diff --git a/docker/swarm/stack/monitoring/prometheus/replicated.yml b/docker/swarm/stack/monitoring/prometheus/replicated.yml
new file mode 100644
index 0000000..c201172
--- /dev/null
+++ b/docker/swarm/stack/monitoring/prometheus/replicated.yml
@@ -0,0 +1,9 @@
+parameters:
+  docker:
+    client:
+      stack:
+        monitoring:
+          service:
+            server:
+              deploy:
+                replicas: 2
diff --git a/docker/swarm/stack/monitoring/prometheus_global.yml b/docker/swarm/stack/monitoring/prometheus_global.yml
index 9745638..6d8e4ba 100644
--- a/docker/swarm/stack/monitoring/prometheus_global.yml
+++ b/docker/swarm/stack/monitoring/prometheus_global.yml
@@ -1,131 +1,8 @@
 classes:
-- system.prometheus.alertmanager.container
-- system.prometheus.pushgateway.container
-- system.prometheus.remote_storage_adapter.container
-- system.prometheus.server.container
+- system.docker.swarm.stack.monitoring.prometheus
+- system.docker.swarm.stack.monitoring.prometheus.global
+- system.docker.swarm.stack.monitoring.alertmanager
+- system.docker.swarm.stack.monitoring.prometheus_relay
+- system.docker.swarm.stack.monitoring.pushgateway
 - system.docker.swarm.stack.monitoring.remote_agent
-parameters:
-  _param:
-    # Backward compatibility for Prometheus 1.7
-    prometheus_storage_local_engine: "persisted"
-    prometheus_storage_heap_size: 3221225472
-    prometheus_storage_num_fingerprint_mutexes: 4096
-
-  docker:
-    client:
-      stack:
-        monitoring:
-          network:
-            monitoring:
-              driver: overlay
-              driver_opts:
-                encrypted: 1
-          service:
-            relay:
-              networks:
-                - monitoring
-              deploy:
-                replicas: 2
-                labels:
-                  com.mirantis.monitoring: "relay"
-                restart_policy:
-                  condition: any
-              labels:
-                com.mirantis.monitoring: "relay"
-              image: ${_param:docker_image_prometheus_relay}
-              ports:
-                - 15016:8080
-              environment:
-                PROMETHEUS_RELAY_DNS: 'tasks.monitoring_server'
-            remote_storage_adapter:
-              networks:
-                - monitoring
-              deploy:
-                replicas: 1
-                labels:
-                  com.mirantis.monitoring: "remote_storage_adapter"
-                restart_policy:
-                  condition: any
-              labels:
-                com.mirantis.monitoring: "remote_storage_adapter"
-              image: ${_param:docker_image_remote_storage_adapter}
-              ports:
-                - 15015:${prometheus:remote_storage_adapter:bind:port}
-              environment:
-                RSA_BIND_PORT: ${prometheus:remote_storage_adapter:bind:port}
-                RSA_BIND_ADDRESS: ${prometheus:remote_storage_adapter:bind:address}
-                RSA_INFLUXDB_RETENTION_POLICY: 'lma'
-                RSA_INFLUXDB_URL: ${_param:prometheus_influxdb_url}
-                RSA_INFLUXDB_DB: ${_param:prometheus_influxdb_db}
-                RSA_INFLUXDB_USERNAME: ${_param:prometheus_influxdb_username}
-                RSA_INFLUXDB_PASSWORD: ${_param:prometheus_influxdb_password}
-            alertmanager:
-              networks:
-                - monitoring
-              deploy:
-                replicas: 2
-                labels:
-                  com.mirantis.monitoring: "alertmanager"
-                restart_policy:
-                  condition: any
-              labels:
-                com.mirantis.monitoring: "alertmanager"
-              image: ${_param:docker_image_alertmanager}
-              ports:
-                - 15011:${prometheus:alertmanager:bind:port}
-              volumes:
-                - ${prometheus:alertmanager:dir:config}:${_param:prometheus_alertmanager_config_directory}
-                - ${prometheus:alertmanager:dir:data}:${_param:prometheus_alertmanager_data_directory}
-              environment:
-                ALERTMANAGER_CONFIG_DIR: ${_param:prometheus_alertmanager_config_directory}
-                ALERTMANAGER_DATA_DIR: ${_param:prometheus_alertmanager_data_directory}
-                ALERTMANAGER_BIND_PORT: ${prometheus:alertmanager:bind:port}
-                ALERTMANAGER_BIND_ADDRESS: ${prometheus:alertmanager:bind:address}
-                ALERTMANAGER_DISCOVERY_DOMAIN: 'monitoring_alertmanager'
-                ALERTMANAGER_EXTERNAL_URL: "http://${_param:stacklight_monitor_address}:15011"
-            pushgateway:
-              networks:
-                - monitoring
-              deploy:
-                replicas: 2
-                labels:
-                  com.mirantis.monitoring: "pushgateway"
-                restart_policy:
-                  condition: any
-              environment:
-                PUSHGATEWAY_BIND_PORT: ${prometheus:pushgateway:bind:port}
-                PUSHGATEWAY_BIND_ADDRESS: ${prometheus:pushgateway:bind:address}
-              labels:
-                com.mirantis.monitoring: "pushgateway"
-              image: ${_param:docker_image_pushgateway}
-              ports:
-                - 15012:${prometheus:pushgateway:bind:port}
-            server:
-              networks:
-                - monitoring
-              deploy:
-                mode: global
-                labels:
-                  com.mirantis.monitoring: "prometheus"
-                restart_policy:
-                  condition: any
-              labels:
-                com.mirantis.monitoring: "prometheus"
-              image: ${_param:docker_image_prometheus}
-              ports:
-                - 15010:${prometheus:server:bind:port}
-              volumes:
-                - ${prometheus:server:dir:config}:${_param:prometheus_server_config_directory}
-                - ${prometheus:server:dir:data}:${_param:prometheus_server_data_directory}
-              environment:
-                PROMETHEUS_CONFIG_DIR: ${_param:prometheus_server_config_directory}
-                PROMETHEUS_DATA_DIR: ${_param:prometheus_server_data_directory}
-                PROMETHEUS_BIND_PORT: ${prometheus:server:bind:port}
-                PROMETHEUS_BIND_ADDRESS: ${prometheus:server:bind:address}
-                PROMETHEUS_STORAGE_LOCAL_RETENTION: ${prometheus:server:storage:local:retention}
-                PROMETHEUS_EXTERNAL_URL: "http://${_param:stacklight_monitor_address}:15010"
-                # Backward compatibility for Prometheus 1.7
-                PROMETHEUS_STORAGE_LOCAL_ENGINE: ${_param:prometheus_storage_local_engine}
-                PROMETHEUS_STORAGE_LOCAL_TARGET_HEAP_SIZE: ${_param:prometheus_storage_heap_size}
-                PROMETHEUS_STORAGE_LOCAL_NUM_FINGERPRINT_MUTEXES: ${_param:prometheus_storage_num_fingerprint_mutexes}
-                PROMETHEUS_USE_STATIC_DATADIR: "true"
+- system.docker.swarm.stack.monitoring.remote_storage_adapter
diff --git a/docker/swarm/stack/monitoring/prometheus_relay.yml b/docker/swarm/stack/monitoring/prometheus_relay.yml
new file mode 100644
index 0000000..315ba1d
--- /dev/null
+++ b/docker/swarm/stack/monitoring/prometheus_relay.yml
@@ -0,0 +1,27 @@
+parameters:
+  docker:
+    client:
+      stack:
+        monitoring:
+          network:
+            monitoring:
+              driver: overlay
+              driver_opts:
+                encrypted: 1
+          service:
+            relay:
+              networks:
+                - monitoring
+              deploy:
+                replicas: 2
+                labels:
+                  com.mirantis.monitoring: "relay"
+                restart_policy:
+                  condition: any
+              labels:
+                com.mirantis.monitoring: "relay"
+              image: ${_param:docker_image_prometheus_relay}
+              ports:
+                - 15016:8080
+              environment:
+                PROMETHEUS_RELAY_DNS: 'tasks.monitoring_server'
diff --git a/docker/swarm/stack/monitoring/pushgateway.yml b/docker/swarm/stack/monitoring/pushgateway.yml
new file mode 100644
index 0000000..af108a6
--- /dev/null
+++ b/docker/swarm/stack/monitoring/pushgateway.yml
@@ -0,0 +1,30 @@
+classes:
+- system.prometheus.pushgateway.container
+parameters:
+  docker:
+    client:
+      stack:
+        monitoring:
+          network:
+            monitoring:
+              driver: overlay
+              driver_opts:
+                encrypted: 1
+          service:
+            pushgateway:
+              networks:
+                - monitoring
+              deploy:
+                replicas: 2
+                labels:
+                  com.mirantis.monitoring: "pushgateway"
+                restart_policy:
+                  condition: any
+              environment:
+                PUSHGATEWAY_BIND_PORT: ${prometheus:pushgateway:bind:port}
+                PUSHGATEWAY_BIND_ADDRESS: ${prometheus:pushgateway:bind:address}
+              labels:
+                com.mirantis.monitoring: "pushgateway"
+              image: ${_param:docker_image_pushgateway}
+              ports:
+                - 15012:${prometheus:pushgateway:bind:port}
diff --git a/docker/swarm/stack/monitoring/remote_storage_adapter.yml b/docker/swarm/stack/monitoring/remote_storage_adapter.yml
new file mode 100644
index 0000000..04ffb90
--- /dev/null
+++ b/docker/swarm/stack/monitoring/remote_storage_adapter.yml
@@ -0,0 +1,35 @@
+classes:
+- system.prometheus.remote_storage_adapter.container
+parameters:
+  docker:
+    client:
+      stack:
+        monitoring:
+          network:
+            monitoring:
+              driver: overlay
+              driver_opts:
+                encrypted: 1
+          service:
+            remote_storage_adapter:
+              networks:
+                - monitoring
+              deploy:
+                replicas: 1
+                labels:
+                  com.mirantis.monitoring: "remote_storage_adapter"
+                restart_policy:
+                  condition: any
+              labels:
+                com.mirantis.monitoring: "remote_storage_adapter"
+              image: ${_param:docker_image_remote_storage_adapter}
+              ports:
+                - 15015:${prometheus:remote_storage_adapter:bind:port}
+              environment:
+                RSA_BIND_PORT: ${prometheus:remote_storage_adapter:bind:port}
+                RSA_BIND_ADDRESS: ${prometheus:remote_storage_adapter:bind:address}
+                RSA_INFLUXDB_RETENTION_POLICY: 'lma'
+                RSA_INFLUXDB_URL: ${_param:prometheus_influxdb_url}
+                RSA_INFLUXDB_DB: ${_param:prometheus_influxdb_db}
+                RSA_INFLUXDB_USERNAME: ${_param:prometheus_influxdb_username}
+                RSA_INFLUXDB_PASSWORD: ${_param:prometheus_influxdb_password}
diff --git a/dogtag/server/cluster.yml b/dogtag/server/cluster.yml
new file mode 100644
index 0000000..5ef3f4c
--- /dev/null
+++ b/dogtag/server/cluster.yml
@@ -0,0 +1,3 @@
+classes:
+- service.dogtag.server.cluster
+- system.haproxy.proxy.listen.dogtag
diff --git a/fluentd/label/default_output/elasticsearch.yml b/fluentd/label/default_output/elasticsearch.yml
index 3c26d15..84b2dc1 100644
--- a/fluentd/label/default_output/elasticsearch.yml
+++ b/fluentd/label/default_output/elasticsearch.yml
@@ -9,6 +9,19 @@
       config:
         label:
           default_output:
+            filter:
+              drop_nested_timestamp_and_sensitive_data:
+                tag: "openstack.**"
+                type: record_transformer
+                enable_ruby: true
+                remove_keys: '["_dummy_1", "_dummy_2", "_dummy_3"]'
+                record:
+                  - name: _dummy_1
+                    value: ${fluentd:dollar}{if record.has_key?("context"); record["context"].delete("timestamp") ; end; nil }
+                  - name: _dummy_2
+                    value: ${fluentd:dollar}{if record.has_key?("context"); record["context"].delete("auth_token"); end; nil}
+                  - name: _dummy_3
+                    value: ${fluentd:dollar}{if record.has_key?("context"); record["context"].delete("auth_token_info"); end; nil}
             match:
               elasticsearch_output:
                 host: ${_param:fluentd_elasticsearch_host}
diff --git a/glusterfs/client/volume/backup.yml b/glusterfs/client/volume/backup.yml
new file mode 100644
index 0000000..eded1ac
--- /dev/null
+++ b/glusterfs/client/volume/backup.yml
@@ -0,0 +1,13 @@
+parameters:
+  _param:
+    backup_glusterfs_service_host: ${_param:glusterfs_service_host}
+    glusterfs_node01_address: ${_param:cluster_node01_address}
+    glusterfs_node02_address: ${_param:cluster_node02_address}
+    glusterfs_node03_address: ${_param:cluster_node03_address}
+  glusterfs:
+    client:
+      volumes:
+        backup:
+          path: /srv/volumes/backup
+          server: ${_param:backup_glusterfs_service_host}
+          opts: "defaults,backup-volfile-servers=${_param:glusterfs_node01_address}:${_param:glusterfs_node02_address}:${_param:glusterfs_node03_address}"
diff --git a/glusterfs/server/volume/backup.yml b/glusterfs/server/volume/backup.yml
new file mode 100644
index 0000000..22e59e2
--- /dev/null
+++ b/glusterfs/server/volume/backup.yml
@@ -0,0 +1,18 @@
+parameters:
+  glusterfs:
+    server:
+      volumes:
+        backup:
+          storage: /srv/glusterfs/backup
+          replica: 3
+          bricks:
+            - ${_param:cluster_node01_address}:/srv/glusterfs/backup
+            - ${_param:cluster_node02_address}:/srv/glusterfs/backup
+            - ${_param:cluster_node03_address}:/srv/glusterfs/backup
+          options:
+            cluster.readdir-optimize: On
+            nfs.disable: On
+            network.remote-dio: On
+            diagnostics.client-log-level: WARNING
+            diagnostics.brick-log-level: WARNING
+            cluster.favorite-child-policy: mtime
diff --git a/haproxy/proxy/listen/dogtag.yml b/haproxy/proxy/listen/dogtag.yml
new file mode 100644
index 0000000..90761c0
--- /dev/null
+++ b/haproxy/proxy/listen/dogtag.yml
@@ -0,0 +1,25 @@
+parameters:
+  _param:
+    haproxy_dogtag_bind_port: ${_param:cluster_dogtag_port}
+    haproxy_dogtag_source_port: ${_param:cluster_dogtag_port}
+  haproxy:
+    proxy:
+      listen:
+        dogtag:
+          mode: tcp
+          binds:
+            - address: ${_param:cluster_vip_address}
+              port: ${_param:haproxy_dogtag_bind_port}
+          servers:
+            - name: ${_param:cluster_node01_hostname}
+              host: ${_param:cluster_node01_address}
+              port: ${_param:haproxy_dogtag_source_port}
+              params: check
+            - name: ${_param:cluster_node02_hostname}
+              host: ${_param:cluster_node02_address}
+              port: ${_param:haproxy_dogtag_source_port}
+              params: check
+            - name: ${_param:cluster_node03_hostname}
+              host: ${_param:cluster_node03_address}
+              port: ${_param:haproxy_dogtag_source_port}
+              params: check
\ No newline at end of file
diff --git a/haproxy/proxy/listen/openstack/placement.yml b/haproxy/proxy/listen/openstack/placement.yml
new file mode 100644
index 0000000..f3b2b99
--- /dev/null
+++ b/haproxy/proxy/listen/openstack/placement.yml
@@ -0,0 +1,26 @@
+# Starting with Nova (17.0.0) Queens - accessing to / of placement service
+# returns 200 with version data instead of 401 as it was before.
+# This file should be included for nova/placement higher than Queens.
+parameters:
+  haproxy:
+    proxy:
+      listen:
+        placement_api:
+          type: openstack-service
+          service_name: placement
+          binds:
+          - address: ${_param:cluster_vip_address}
+            port: 8778
+          servers:
+          - name: ${_param:cluster_node01_hostname}
+            host: ${_param:cluster_node01_address}
+            port: 8778
+            params: check inter 10s fastinter 2s downinter 3s rise 3 fall 3
+          - name: ${_param:cluster_node02_hostname}
+            host: ${_param:cluster_node02_address}
+            port: 8778
+            params: check inter 10s fastinter 2s downinter 3s rise 3 fall 3
+          - name: ${_param:cluster_node03_hostname}
+            host: ${_param:cluster_node03_address}
+            port: 8778
+            params: check inter 10s fastinter 2s downinter 3s rise 3 fall 3
diff --git a/heat/server/cluster.yml b/heat/server/cluster.yml
index 8e38f4f..5829aee 100644
--- a/heat/server/cluster.yml
+++ b/heat/server/cluster.yml
@@ -5,7 +5,8 @@
 - system.haproxy.proxy.listen.openstack.heat
 parameters:
   _param:
-    cluster_public_protocol: https
+    cluster_public_protocol: 'https'
+    cluster_internal_protocol: 'http'
   linux:
     system:
       package:
@@ -54,6 +55,7 @@
         tenant: service
         user: heat
         password: ${_param:keystone_heat_password}
+        protocol: ${_param:cluster_internal_protocol}
       message_queue:
         engine: rabbitmq
         port: 5672
diff --git a/jenkins/client/job/debian/packages/salt-multi.yml b/jenkins/client/job/debian/packages/salt-multi.yml
index a81302e..e185b60 100644
--- a/jenkins/client/job/debian/packages/salt-multi.yml
+++ b/jenkins/client/job/debian/packages/salt-multi.yml
@@ -111,10 +111,10 @@
                 default: 'true'
               EXTRA_REPO_URL:
                 type: string
-                default: "deb ${_param:jenkins_aptly_url}/{{dist}}/ testing salt salt-latest"
+                default: "deb http://repo.saltstack.com/apt/ubuntu/16.04/amd64/2016.3 xenial main; deb ${_param:jenkins_aptly_url}/{{dist}}/ testing salt"
               EXTRA_REPO_KEY_URL:
                 type: string
-                default: "${_param:jenkins_aptly_url}/public.gpg"
+                default: "https://repo.saltstack.com/apt/ubuntu/16.04/amd64/2016.3/SALTSTACK-GPG-KEY.pub; ${_param:jenkins_aptly_url}/public.gpg"
               APTLY_URL:
                 type: string
                 default: "${_param:jenkins_aptly_api_url}"
diff --git a/jenkins/client/job/debian/packages/salt.yml b/jenkins/client/job/debian/packages/salt.yml
index d6dae5c..8bb7c79 100644
--- a/jenkins/client/job/debian/packages/salt.yml
+++ b/jenkins/client/job/debian/packages/salt.yml
@@ -719,10 +719,10 @@
                 default: '~{{dist}}1'
               EXTRA_REPO_URL:
                 type: string
-                default: "deb ${_param:jenkins_aptly_url}/{{dist}}/ testing salt salt-latest"
+                default: "deb http://repo.saltstack.com/apt/ubuntu/16.04/amd64/2016.3 xenial main; deb ${_param:jenkins_aptly_url}/{{dist}}/ testing salt"
               EXTRA_REPO_KEY_URL:
                 type: string
-                default: "${_param:jenkins_aptly_url}/public.gpg"
+                default: "https://repo.saltstack.com/apt/ubuntu/16.04/amd64/2016.3/SALTSTACK-GPG-KEY.pub; ${_param:jenkins_aptly_url}/public.gpg"
               APTLY_URL:
                 type: string
                 default: "${_param:jenkins_aptly_api_url}"
diff --git a/jenkins/client/job/deploy/lab/deploy.yml b/jenkins/client/job/deploy/lab/deploy.yml
index 9a04876..76a077d 100644
--- a/jenkins/client/job/deploy/lab/deploy.yml
+++ b/jenkins/client/job/deploy/lab/deploy.yml
@@ -55,6 +55,10 @@
               STACK_COMPUTE_COUNT:
                 type: string
                 default: '2'
+              STACK_CLUSTER_NAME:
+                type: string
+                default: ""
+                description: "Cluster name to use from reclass"
 
               STACK_TEMPLATE:
                 type: string
diff --git a/jenkins/client/job/oscore/tests.yml b/jenkins/client/job/oscore/tests.yml
index 63bd9b3..3000d71 100644
--- a/jenkins/client/job/oscore/tests.yml
+++ b/jenkins/client/job/oscore/tests.yml
@@ -64,6 +64,10 @@
                 type: string
                 default: '{{stack_reclass_branch}}'
                 description: 'Branch of repository with stack salt models'
+              STACK_CLUSTER_NAME:
+                type: string
+                default: ""
+                description: "Cluster name to use from reclass"
               # salt
               SALT_OVERRIDES:
                 type: text
@@ -364,11 +368,11 @@
               TEST_TEMPEST_IMAGE:
                 type: string
                 description: Url to tempest docker image
-                default: 'docker-prod-local.artifactory.mirantis.com/mirantis/oscore/rally-tempest'
+                default: "{{test_image}}"
               TEST_IMAGE:
                 type: string
                 description: Url to tempest docker image
-                default: 'docker-prod-local.artifactory.mirantis.com/mirantis/oscore/rally-tempest'
+                default: "{{test_image}}"
               LOCAL_TEMPEST_IMAGE:
                 type: string
                 description: Path to local docker image
@@ -468,8 +472,7 @@
               TEST_SUITE:
                 type: string
                 description: Testrail test suite
-                default: >-
-                  'Tempest 16.0.0 with designate tests'
+                default: "{{test_suite}}"
               TEST_PLAN:
                 type: string
                 description: Testrail test plan
@@ -676,11 +679,11 @@
                 description: Whether to make a snapshot build
               EXTRA_REPO_URL:
                 type: string
-                default: "deb ${_param:jenkins_aptly_url}/{{dist}}/ testing salt salt-latest"
+                default: "deb http://repo.saltstack.com/apt/ubuntu/16.04/amd64/2016.3 xenial main; deb ${_param:jenkins_aptly_url}/{{dist}}/ testing salt"
                 description: Extra repo for building process
               EXTRA_REPO_KEY_URL:
                 type: string
-                default: "${_param:jenkins_aptly_url}/public.gpg"
+                default: "https://repo.saltstack.com/apt/ubuntu/16.04/amd64/2016.3/SALTSTACK-GPG-KEY.pub; ${_param:jenkins_aptly_url}/public.gpg"
                 description: Extra repo GPG public key URL
               OS:
                 type: string
@@ -798,3 +801,52 @@
                 type: string
                 description: "Name of the repo where packages are stored"
                 default: "{{source_repo_name}}"
+        test-deploy-virtual-model-change-template:
+          name: "{{job_prefix}}-deploy-virtual-model-change-{{job_suffix}}"
+          template:
+            discard:
+              build:
+                keep_num: 30
+              artifact:
+                keep_num: 30
+            type: workflow-scm
+            concurrent: true
+            scm:
+              type: git
+              url: "${_param:jenkins_gerrit_url}/openstack-ci/openstack-pipelines.git"
+              credentials: "gerrit"
+              branch: 'master'
+              script: deploy-virtual-model-change-pipeline.groovy
+            trigger:
+              gerrit:
+                project:
+                  "^salt-models/mcp-virtual-aio$":
+                    compare_type: 'REG_EXP'
+                    branches:
+                      - master
+                      - stable/pike
+                      - stable/ocata
+                      - stable/newton
+                      - stable/mitaka
+                skip_vote:
+                  - successful
+                  - failed
+                  - unstable
+                  - not_built
+                event:
+                  comment:
+                    - addedContains:
+                        commentAddedCommentContains: '^(?s:Patch Set \d+:.*(test|recheck|reverify)\s*)$'
+            param:
+              CREDENTIALS_ID:
+                type: string
+                default: "{{credentials_id}}"
+              STACK_RECLASS_ADDRESS:
+                type: string
+                default: "{{stack_reclass_address}}"
+              STACK_RECLASS_BRANCH:
+                type: string
+                default: "{{stack_reclass_branch}}"
+              TEST_CLUSTER_NAMES:
+                type: string
+                default: "{{test_cluster_names}}"
diff --git a/keystone/client/service/keystone.yml b/keystone/client/service/keystone.yml
index d9092e0..ba116f8 100644
--- a/keystone/client/service/keystone.yml
+++ b/keystone/client/service/keystone.yml
@@ -2,6 +2,9 @@
   _param:
     cluster_public_protocol: https
     keystone_service_protocol: http
+    keystone_public_path: "/v2.0"
+    keystone_internal_path: "/v2.0"
+    keystone_admin_path: "/v2.0"
   keystone:
     client:
       server:
@@ -15,12 +18,12 @@
                 public_address: ${_param:cluster_public_host}
                 public_protocol: ${_param:cluster_public_protocol}
                 public_port: 5000
-                public_path: '/v2.0'
+                public_path: ${_param:keystone_public_path}
                 internal_address: ${_param:keystone_service_host}
                 internal_port: 5000
-                internal_path: '/v2.0'
+                internal_path: ${_param:keystone_internal_path}
                 internal_protocol: ${_param:keystone_service_protocol}
                 admin_address: ${_param:keystone_service_host}
                 admin_port: 35357
-                admin_path: '/v2.0'
+                admin_path: ${_param:keystone_admin_path}
                 admin_protocol: ${_param:keystone_service_protocol}
diff --git a/kubernetes/master/cluster.yml b/kubernetes/master/cluster.yml
index f21f003..78e91a0 100644
--- a/kubernetes/master/cluster.yml
+++ b/kubernetes/master/cluster.yml
@@ -11,7 +11,6 @@
     master:
       container: false
       network:
-        engine: calico
-        private_ip_range: ${_param:calico_private_network}/${_param:calico_private_netmask}
-        prometheus:
-          enabled: true
+        calico:
+          prometheus:
+            enabled: true
diff --git a/kubernetes/master/single.yml b/kubernetes/master/single.yml
index cc8d8ab..684af64 100644
--- a/kubernetes/master/single.yml
+++ b/kubernetes/master/single.yml
@@ -7,5 +7,3 @@
   kubernetes:
     master:
       container: false
-      network:
-        engine: calico
diff --git a/kubernetes/pool/cluster.yml b/kubernetes/pool/cluster.yml
index 3dd0c40..d223d57 100644
--- a/kubernetes/pool/cluster.yml
+++ b/kubernetes/pool/cluster.yml
@@ -4,7 +4,7 @@
 parameters:
   _param:
     # component docker images
-    kubernetes_calicoctl_image: docker-prod-virtual.docker.mirantis.net/mirantis/projectcalico/calico/ctl:latest
+    kubernetes_calico_calicoctl_image: docker-prod-virtual.docker.mirantis.net/mirantis/projectcalico/calico/ctl:latest
     kubernetes_calico_image: docker-prod-virtual.docker.mirantis.net/mirantis/projectcalico/calico/node:latest
     kubernetes_calico_cni_image: docker-prod-virtual.docker.mirantis.net/mirantis/projectcalico/calico/cni:latest
     kubernetes_hyperkube_image: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes/hyperkube-amd64:v1.6.2-2
@@ -15,9 +15,9 @@
     pool:
       container: false
       network:
-        engine: calico
-        prometheus:
-          enabled: true
+        calico:
+          prometheus:
+            enabled: true
   docker:
     host:
       options:
diff --git a/kubernetes/pool/single.yml b/kubernetes/pool/single.yml
index 67363a6..d6282c3 100644
--- a/kubernetes/pool/single.yml
+++ b/kubernetes/pool/single.yml
@@ -4,7 +4,7 @@
 parameters:
   _param:
     # component docker images
-    kubernetes_calicoctl_image: docker-prod-virtual.docker.mirantis.net/mirantis/projectcalico/calico/ctl:latest
+    kubernetes_calico_calicoctl_image: docker-prod-virtual.docker.mirantis.net/mirantis/projectcalico/calico/ctl:latest
     kubernetes_calico_image: docker-prod-virtual.docker.mirantis.net/mirantis/projectcalico/calico/node:latest
     kubernetes_calico_cni_image: docker-prod-virtual.docker.mirantis.net/mirantis/projectcalico/calico/cni:latest
     kubernetes_hyperkube_image: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes/hyperkube-amd64:v1.6.2-2
@@ -14,8 +14,6 @@
   kubernetes:
     pool:
       container: false
-      network:
-        engine: calico
   docker:
     host:
       options:
diff --git a/linux/system/repo/mcp/apt_mirantis/aptly.yml b/linux/system/repo/mcp/apt_mirantis/aptly.yml
index f91c2ed..5a023a5 100644
--- a/linux/system/repo/mcp/apt_mirantis/aptly.yml
+++ b/linux/system/repo/mcp/apt_mirantis/aptly.yml
@@ -6,7 +6,7 @@
     system:
       repo:
         mcp_aptly:
-          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_aptly_version}/aptly/ squeeze main"
+          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_aptly_version}/aptly/${_param:linux_system_codename}/ squeeze main"
           architectures: amd64
           key_id: 9E3E53F19C7DE460
           key_server: keys.gnupg.net
diff --git a/linux/system/repo/mcp/apt_mirantis/cassandra.yml b/linux/system/repo/mcp/apt_mirantis/cassandra.yml
index 337321c..8bf3583 100644
--- a/linux/system/repo/mcp/apt_mirantis/cassandra.yml
+++ b/linux/system/repo/mcp/apt_mirantis/cassandra.yml
@@ -7,7 +7,7 @@
     system:
       repo:
         mcp_cassandra:
-          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_cassandra_version}/cassandra/ ${_param:linux_system_repo_mcp_cassandra_version_number} main"
+          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_cassandra_version}/cassandra/${_param:linux_system_codename}/ ${_param:linux_system_repo_mcp_cassandra_version_number} main"
           architectures: amd64
           key_id: F8358FA2F2833C93
           key_server: keyserver.ubuntu.com
diff --git a/linux/system/repo/mcp/apt_mirantis/docker.yml b/linux/system/repo/mcp/apt_mirantis/docker.yml
index d549979..d3314a9 100644
--- a/linux/system/repo/mcp/apt_mirantis/docker.yml
+++ b/linux/system/repo/mcp/apt_mirantis/docker.yml
@@ -6,7 +6,7 @@
     system:
       repo:
         mcp_docker:
-          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_docker_version}/docker/ ${_param:linux_system_codename} stable"
+          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_docker_version}/docker/${_param:linux_system_codename}/ ${_param:linux_system_codename} stable"
           architectures: amd64
           key_id: 8D81803C0EBFCD88
           key_server: keyserver.ubuntu.com
diff --git a/linux/system/repo/mcp/apt_mirantis/docker_legacy.yml b/linux/system/repo/mcp/apt_mirantis/docker_legacy.yml
index cf49630..2689869 100644
--- a/linux/system/repo/mcp/apt_mirantis/docker_legacy.yml
+++ b/linux/system/repo/mcp/apt_mirantis/docker_legacy.yml
@@ -6,7 +6,7 @@
     system:
       repo:
         mcp_docker_legacy:
-          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_docker_legacy_version}/docker-1.x/ ubuntu-${_param:linux_system_codename} main"
+          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_docker_legacy_version}/docker-1.x/${_param:linux_system_codename}/ ubuntu-${_param:linux_system_codename} main"
           architectures: amd64
           key_id: 58118E89F3A912897C070ADBF76221572C52609D
           key_server: keyserver.ubuntu.com
\ No newline at end of file
diff --git a/linux/system/repo/mcp/apt_mirantis/elastic/2x.yml b/linux/system/repo/mcp/apt_mirantis/elastic/2x.yml
index d98baf8..1db8267 100644
--- a/linux/system/repo/mcp/apt_mirantis/elastic/2x.yml
+++ b/linux/system/repo/mcp/apt_mirantis/elastic/2x.yml
@@ -6,7 +6,7 @@
     system:
       repo:
         mcp_elastic_2x:
-          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_elastic_2x_version}/elasticsearch-2.x/ stable main"
+          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_elastic_2x_version}/elasticsearch-2.x/${_param:linux_system_codename}/ stable main"
           architectures: amd64
           key_id: D88E42B4
           key_server: keyserver.ubuntu.com
diff --git a/linux/system/repo/mcp/apt_mirantis/elastic/5x.yml b/linux/system/repo/mcp/apt_mirantis/elastic/5x.yml
index 6209d53..453b3bc 100644
--- a/linux/system/repo/mcp/apt_mirantis/elastic/5x.yml
+++ b/linux/system/repo/mcp/apt_mirantis/elastic/5x.yml
@@ -6,7 +6,7 @@
     system:
       repo:
         mcp_elastic_5x:
-          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_elastic_5x_version}/elasticsearch-5.x/ stable main"
+          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_elastic_5x_version}/elasticsearch-5.x/${_param:linux_system_codename}/ stable main"
           architectures: amd64
           key_id: D88E42B4
           key_server: keyserver.ubuntu.com
diff --git a/linux/system/repo/mcp/apt_mirantis/glusterfs.yml b/linux/system/repo/mcp/apt_mirantis/glusterfs.yml
index 8c0219e..02f2fd9 100644
--- a/linux/system/repo/mcp/apt_mirantis/glusterfs.yml
+++ b/linux/system/repo/mcp/apt_mirantis/glusterfs.yml
@@ -7,7 +7,7 @@
     system:
       repo:
         mcp_glusterfs:
-          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_glusterfs_version}/glusterfs-${_param:linux_system_repo_mcp_glusterfs_version_number}/ ${_param:linux_system_codename} main"
+          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_glusterfs_version}/glusterfs-${_param:linux_system_repo_mcp_glusterfs_version_number}/${_param:linux_system_codename}/ ${_param:linux_system_codename} main"
           architectures: amd64
           key_id: 3FE869A9
           key_server: keyserver.ubuntu.com
diff --git a/linux/system/repo/mcp/apt_mirantis/grafana.yml b/linux/system/repo/mcp/apt_mirantis/grafana.yml
index 7afe4a1..5bf9396 100644
--- a/linux/system/repo/mcp/apt_mirantis/grafana.yml
+++ b/linux/system/repo/mcp/apt_mirantis/grafana.yml
@@ -6,7 +6,7 @@
     system:
       repo:
         mcp_grafana:
-          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_grafana_version}/grafana/ jessie main"
+          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_grafana_version}/grafana/${_param:linux_system_codename}/ jessie main"
           architectures: amd64
           key_id: C2E73424D59097AB
           key_server: keyserver.ubuntu.com
diff --git a/linux/system/repo/mcp/apt_mirantis/influxdb.yml b/linux/system/repo/mcp/apt_mirantis/influxdb.yml
index 9f0d17a..e6ebcb3 100644
--- a/linux/system/repo/mcp/apt_mirantis/influxdb.yml
+++ b/linux/system/repo/mcp/apt_mirantis/influxdb.yml
@@ -6,7 +6,7 @@
     system:
       repo:
         mcp_influxdb:
-          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_influxdb_version}/influxdb/ ${_param:linux_system_codename} stable"
+          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_influxdb_version}/influxdb/${_param:linux_system_codename}/ ${_param:linux_system_codename} stable"
           architectures: amd64
           key_id: 684A14CF2582E0C5
           key_server: keyserver.ubuntu.com
diff --git a/linux/system/repo/mcp/apt_mirantis/kibana/46.yml b/linux/system/repo/mcp/apt_mirantis/kibana/46.yml
index 49d4494..21ab878 100644
--- a/linux/system/repo/mcp/apt_mirantis/kibana/46.yml
+++ b/linux/system/repo/mcp/apt_mirantis/kibana/46.yml
@@ -6,7 +6,7 @@
     system:
       repo:
         mcp_kibana_46:
-          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_kibana_46_version}/kibana-4.6/ stable main"
+          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_kibana_46_version}/kibana-4.6/${_param:linux_system_codename}/ stable main"
           architectures: amd64
           key_id: D88E42B4
           key_server: keyserver.ubuntu.com
diff --git a/linux/system/repo/mcp/apt_mirantis/kibana/5x.yml b/linux/system/repo/mcp/apt_mirantis/kibana/5x.yml
index 38bbbf3..3c3d128 100644
--- a/linux/system/repo/mcp/apt_mirantis/kibana/5x.yml
+++ b/linux/system/repo/mcp/apt_mirantis/kibana/5x.yml
@@ -6,7 +6,7 @@
     system:
       repo:
         mcp_kibana_5x:
-          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_kibana_5x_version}/elasticsearch-5.x/ stable main"
+          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_kibana_5x_version}/elasticsearch-5.x/${_param:linux_system_codename}/ stable main"
           architectures: amd64
           key_id: D88E42B4
           key_server: keyserver.ubuntu.com
diff --git a/linux/system/repo/mcp/apt_mirantis/maas.yml b/linux/system/repo/mcp/apt_mirantis/maas.yml
index d4e41c9..7ee3537 100644
--- a/linux/system/repo/mcp/apt_mirantis/maas.yml
+++ b/linux/system/repo/mcp/apt_mirantis/maas.yml
@@ -6,7 +6,7 @@
     system:
       repo:
         mcp_maas:
-          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_maas_version}/maas/ ${_param:linux_system_codename} main"
+          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_maas_version}/maas/${_param:linux_system_codename}/ ${_param:linux_system_codename} main"
           architectures: amd64
           key_id: 684D4A1C
           key_server: keyserver.ubuntu.com
diff --git a/linux/system/repo/mcp/apt_mirantis/saltstack_2016_3.yml b/linux/system/repo/mcp/apt_mirantis/saltstack_2016_3.yml
index 4162488..c47e177 100644
--- a/linux/system/repo/mcp/apt_mirantis/saltstack_2016_3.yml
+++ b/linux/system/repo/mcp/apt_mirantis/saltstack_2016_3.yml
@@ -6,7 +6,7 @@
     system:
       repo:
         mcp_saltstack:
-          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_saltstack_version}/saltstack-2016.3/ ${_param:linux_system_codename} main"
+          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_saltstack_version}/saltstack-2016.3/${_param:linux_system_codename}/ ${_param:linux_system_codename} main"
           architectures: amd64
           key_id: 0E08A149DE57BFBE
           key_server: keyserver.ubuntu.com
diff --git a/linux/system/repo/mcp/apt_mirantis/sensu.yml b/linux/system/repo/mcp/apt_mirantis/sensu.yml
index d6ae0d0..fb1045f 100644
--- a/linux/system/repo/mcp/apt_mirantis/sensu.yml
+++ b/linux/system/repo/mcp/apt_mirantis/sensu.yml
@@ -6,7 +6,7 @@
     system:
       repo:
         mcp_sensu:
-          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_sensu_version}/sensu/ sensu main"
+          source: "deb [arch=amd64] http://mirror.mirantis.com/${_param:linux_system_repo_mcp_sensu_version}/sensu/${_param:linux_system_codename}/ sensu main"
           architectures: amd64
           key_id: A20F259AEB9C94BB
           key_server: keyserver.ubuntu.com
diff --git a/mongodb/server/cluster.yml b/mongodb/server/cluster.yml
index f3c16d6..02294c4 100644
--- a/mongodb/server/cluster.yml
+++ b/mongodb/server/cluster.yml
@@ -2,10 +2,13 @@
 - service.mongodb.server.cluster
 parameters:
   _param:
+    openstack_telemetry_node01_hostname: mdb01
+    openstack_telemetry_node02_hostname: mdb02
+    openstack_telemetry_node03_hostname: mdb03
     mongodb_server_replica_set: mongodb
-    mongodb_master: mdb01
+    mongodb_master: ${_param:openstack_telemetry_node01_hostname}
     mongodb_server_members:
-    - host: mdb01
+    - host: ${_param:openstack_telemetry_node01_hostname}
       priority: 2
-    - host: mdb02
-    - host: mdb03
+    - host: ${_param:openstack_telemetry_node02_hostname}
+    - host: ${_param:openstack_telemetry_node03_hostname}
diff --git a/neutron/control/cluster.yml b/neutron/control/cluster.yml
index ea9596d..166de3a 100644
--- a/neutron/control/cluster.yml
+++ b/neutron/control/cluster.yml
@@ -5,6 +5,8 @@
 - system.haproxy.proxy.listen.openstack.neutron
 - system.galera.server.database.neutron
 parameters:
+  _param:
+    cluster_internal_protocol: 'http'
   linux:
     system:
       package:
@@ -36,3 +38,5 @@
   neutron:
     server:
       plugin: contrail
+    identity:
+      protocol: ${_param:cluster_internal_protocol}
diff --git a/neutron/control/openvswitch/cluster.yml b/neutron/control/openvswitch/cluster.yml
index ca2e066..3f80a55 100644
--- a/neutron/control/openvswitch/cluster.yml
+++ b/neutron/control/openvswitch/cluster.yml
@@ -14,6 +14,7 @@
     neutron_enable_vlan_aware_vms: False
     neutron_enable_bgp_vpn: False
     neutron_bgp_vpn_driver: bagpipe
+    cluster_internal_protocol: 'http'
   neutron:
     server:
       global_physnet_mtu: ${_param:neutron_global_physnet_mtu}
@@ -37,6 +38,7 @@
         host: ${_param:openstack_database_address}
       identity:
         region: ${_param:openstack_region}
+        protocol: ${_param:cluster_internal_protocol}
       message_queue:
         members:
           - host: ${_param:openstack_message_queue_node01_address}
diff --git a/neutron/control/openvswitch/single.yml b/neutron/control/openvswitch/single.yml
index 17cb57e..baa710e 100644
--- a/neutron/control/openvswitch/single.yml
+++ b/neutron/control/openvswitch/single.yml
@@ -12,6 +12,7 @@
     neutron_enable_vlan_aware_vms: False
     neutron_enable_bgp_vpn: False
     neutron_bgp_vpn_driver: bagpipe
+    internal_protocol: 'http'
   neutron:
     server:
       global_physnet_mtu: ${_param:neutron_global_physnet_mtu}
@@ -35,6 +36,7 @@
         host: ${_param:openstack_database_address}
       identity:
         region: ${_param:openstack_region}
+        protocol: ${_param:internal_protocol}
       message_queue:
         members:
           - host: ${_param:openstack_message_queue_node01_address}
diff --git a/neutron/control/single.yml b/neutron/control/single.yml
index 7f02325..067b4df 100644
--- a/neutron/control/single.yml
+++ b/neutron/control/single.yml
@@ -2,6 +2,8 @@
 - service.neutron.control.single
 - system.galera.server.database.neutron
 parameters:
+  _param:
+    internal_protocol: 'http'
   linux:
     system:
       package:
@@ -12,3 +14,5 @@
     server:
       database:
         host: ${_param:single_address}
+      identity:
+        protocol: ${_param:internal_protocol}
diff --git a/nova/compute/cluster.yml b/nova/compute/cluster.yml
index 5d0e6a1..f32fffd 100644
--- a/nova/compute/cluster.yml
+++ b/nova/compute/cluster.yml
@@ -35,6 +35,7 @@
       7xDyBz85icFU0rceYQetwFH2p5tRL0GcUQhJmJFgIL0OXdCQvRNJrT3iS00N1aUo
       SG9MrLHCd5l60aCUQg0UA5ed7Hd6SA314k+HwxJno9/wJ+voBeacMg==
       -----END RSA PRIVATE KEY-----
+    cluster_internal_protocol: 'http'
   openssh:
     client:
       enabled: True
@@ -68,6 +69,7 @@
         user: nova
         password: ${_param:keystone_nova_password}
         tenant: service
+        protocol: ${_param:cluster_internal_protocol}
       message_queue:
         engine: rabbitmq
         port: 5672
@@ -82,6 +84,7 @@
         engine: glance
         host: ${_param:cluster_vip_address}
         port: 9292
+        protocol: ${_param:cluster_internal_protocol}
       network:
         engine: neutron
         region: ${_param:openstack_region}
@@ -90,6 +93,7 @@
         user: neutron
         tenant: service
         password: ${_param:keystone_neutron_password}
+        protocol: ${_param:cluster_internal_protocol}
       user:
         public_key: ${_param:nova_compute_ssh_public}
         private_key: ${_param:nova_compute_ssh_private}
diff --git a/nova/compute/single.yml b/nova/compute/single.yml
index b915145..483a1d3 100644
--- a/nova/compute/single.yml
+++ b/nova/compute/single.yml
@@ -35,6 +35,7 @@
       7xDyBz85icFU0rceYQetwFH2p5tRL0GcUQhJmJFgIL0OXdCQvRNJrT3iS00N1aUo
       SG9MrLHCd5l60aCUQg0UA5ed7Hd6SA314k+HwxJno9/wJ+voBeacMg==
       -----END RSA PRIVATE KEY-----
+    cluster_internal_protocol: 'http'
   openssh:
     client:
       enabled: True
@@ -66,6 +67,7 @@
         user: nova
         password: ${_param:keystone_nova_password}
         tenant: service
+        protocol: ${_param:cluster_internal_protocol}
       message_queue:
         engine: rabbitmq
         host: ${_param:control_address}
@@ -77,10 +79,12 @@
         engine: glance
         host: ${_param:control_address}
         port: 9292
+        protocol: ${_param:cluster_internal_protocol}
       network:
         engine: neutron
         host: ${_param:control_address}
         port: 9696
+        protocol: ${_param:cluster_internal_protocol}
       cache:
         engine: memcached
         members:
diff --git a/nova/compute_ironic/cluster.yml b/nova/compute_ironic/cluster.yml
index 2526373..885a869 100644
--- a/nova/compute_ironic/cluster.yml
+++ b/nova/compute_ironic/cluster.yml
@@ -1,6 +1,8 @@
 classes:
 - service.nova.compute.ironic
 parameters:
+  _param:
+    cluster_internal_protocol: 'http'
   nova:
     compute:
       version: ${_param:nova_version}
@@ -23,6 +25,7 @@
         user: nova
         password: ${_param:keystone_nova_password}
         tenant: service
+        protocol: ${_param:cluster_internal_protocol}
       message_queue:
         engine: rabbitmq
         port: 5672
@@ -41,6 +44,9 @@
         user: neutron
         tenant: service
         password: ${_param:keystone_neutron_password}
+        protocol: ${_param:cluster_internal_protocol}
+      glance:
+        protocol: ${_param:cluster_internal_protocol}
       ironic:
         region: ${_param:openstack_region}
         host: ${_param:ironic_service_host}
@@ -51,3 +57,4 @@
         auth_type: password
         project_domain_name: Default
         user_domain_name: Default
+        protocol: ${_param:cluster_internal_protocol}
diff --git a/nova/compute_ironic/single.yml b/nova/compute_ironic/single.yml
index 5c19023..69025d3 100644
--- a/nova/compute_ironic/single.yml
+++ b/nova/compute_ironic/single.yml
@@ -1,6 +1,8 @@
 classes:
 - service.nova.compute.ironic
 parameters:
+  _param:
+    cluster_internal_protocol: 'http'
   nova:
     compute:
       version: ${_param:nova_version}
@@ -23,6 +25,7 @@
         user: nova
         password: ${_param:keystone_nova_password}
         tenant: service
+        protocol: ${_param:cluster_internal_protocol}
       message_queue:
         engine: rabbitmq
         port: 5672
@@ -38,6 +41,9 @@
         user: neutron
         tenant: service
         password: ${_param:keystone_neutron_password}
+        protocol: ${_param:cluster_internal_protocol}
+      glance:
+        protocol: ${_param:cluster_internal_protocol}
       ironic:
         region: ${_param:openstack_region}
         host: ${_param:control_address}
@@ -45,3 +51,4 @@
         user: ironic
         tenant: service
         password: ${_param:keystone_ironic_password}
+        protocol: ${_param:cluster_internal_protocol}
diff --git a/nova/control/cluster.yml b/nova/control/cluster.yml
index f583156..be5f775 100644
--- a/nova/control/cluster.yml
+++ b/nova/control/cluster.yml
@@ -11,6 +11,7 @@
     nova_ram_allocation_ratio: 1.5
     nova_disk_allocation_ratio: 1.0
     metadata_password: metadataPass
+    cluster_internal_protocol: 'http'
   linux:
     system:
       package:
@@ -50,6 +51,7 @@
         user: nova
         password: ${_param:keystone_nova_password}
         tenant: service
+        protocol: ${_param:cluster_internal_protocol}
       message_queue:
         engine: rabbitmq
         port: 5672
@@ -63,6 +65,7 @@
       glance:
         host: ${_param:cluster_vip_address}
         port: 9292
+        protocol: ${_param:cluster_internal_protocol}
       network:
         engine: neutron
         region: ${_param:openstack_region}
@@ -72,5 +75,6 @@
         port: 9696
         mtu: 1500
         tenant: service
+        protocol: ${_param:cluster_internal_protocol}
       metadata:
         password: ${_param:metadata_password}
diff --git a/nova/control/single.yml b/nova/control/single.yml
index c2aef10..ca21d05 100644
--- a/nova/control/single.yml
+++ b/nova/control/single.yml
@@ -1,6 +1,8 @@
 classes:
 - service.nova.control.single
 parameters:
+  _param:
+    cluster_internal_protocol: 'http'
   linux:
     system:
       package:
@@ -11,3 +13,9 @@
     controller:
       database:
         host: ${_param:single_address}
+      identity:
+        protocol: ${_param:cluster_internal_protocol}
+      network:
+        protocol: ${_param:cluster_internal_protocol}
+      glance:
+        protocol: ${_param:cluster_internal_protocol}
diff --git a/prometheus/server/target/dns.yml b/prometheus/server/target/dns.yml
deleted file mode 100644
index e2745f1..0000000
--- a/prometheus/server/target/dns.yml
+++ /dev/null
@@ -1,32 +0,0 @@
-parameters:
-  prometheus:
-    server:
-      target:
-        dns:
-          enabled: true
-          endpoint:
-            - name: 'pushgateway'
-              domain:
-              - 'tasks.monitoring_pushgateway'
-              type: A
-              port: ${prometheus:pushgateway:bind:port}
-            - name: 'prometheus'
-              domain:
-              - 'tasks.monitoring_server'
-              type: A
-              port: ${prometheus:server:bind:port}
-            - name: 'alertmanager'
-              domain:
-              - 'tasks.monitoring_alertmanager'
-              type: A
-              port: ${prometheus:alertmanager:bind:port}
-            - name: 'remote_agent'
-              domain:
-              - 'tasks.monitoring_remote_agent'
-              type: A
-              port: ${telegraf:remote_agent:output:prometheus_client:bind:port}
-            - name: 'remote_storage_adapter'
-              domain:
-              - 'tasks.monitoring_remote_storage_adapter'
-              type: A
-              port: ${prometheus:remote_storage_adapter:bind:port}
diff --git a/prometheus/server/target/dns/alertmanager.yml b/prometheus/server/target/dns/alertmanager.yml
new file mode 100644
index 0000000..78172d1
--- /dev/null
+++ b/prometheus/server/target/dns/alertmanager.yml
@@ -0,0 +1,12 @@
+parameters:
+  prometheus:
+    server:
+      target:
+        dns:
+          enabled: true
+          endpoint:
+            - name: 'alertmanager'
+              domain:
+              - 'tasks.monitoring_alertmanager'
+              type: A
+              port: ${prometheus:alertmanager:bind:port}
diff --git a/prometheus/server/target/dns/init.yml b/prometheus/server/target/dns/init.yml
new file mode 100644
index 0000000..361d296
--- /dev/null
+++ b/prometheus/server/target/dns/init.yml
@@ -0,0 +1,6 @@
+classes:
+- system.prometheus.server.target.dns.alertmanager
+- system.prometheus.server.target.dns.prometheus
+- system.prometheus.server.target.dns.pushgateway
+- system.prometheus.server.target.dns.remote_agent
+- system.prometheus.server.target.dns.remote_storage_adapter
diff --git a/prometheus/server/target/dns/prometheus.yml b/prometheus/server/target/dns/prometheus.yml
new file mode 100644
index 0000000..abffe03
--- /dev/null
+++ b/prometheus/server/target/dns/prometheus.yml
@@ -0,0 +1,12 @@
+parameters:
+  prometheus:
+    server:
+      target:
+        dns:
+          enabled: true
+          endpoint:
+            - name: 'prometheus'
+              domain:
+              - 'tasks.monitoring_server'
+              type: A
+              port: ${prometheus:server:bind:port}
diff --git a/prometheus/server/target/dns/pushgateway.yml b/prometheus/server/target/dns/pushgateway.yml
new file mode 100644
index 0000000..9022fa7
--- /dev/null
+++ b/prometheus/server/target/dns/pushgateway.yml
@@ -0,0 +1,12 @@
+parameters:
+  prometheus:
+    server:
+      target:
+        dns:
+          enabled: true
+          endpoint:
+            - name: 'pushgateway'
+              domain:
+              - 'tasks.monitoring_pushgateway'
+              type: A
+              port: ${prometheus:pushgateway:bind:port}
\ No newline at end of file
diff --git a/prometheus/server/target/dns/remote_agent.yml b/prometheus/server/target/dns/remote_agent.yml
new file mode 100644
index 0000000..6801ffc
--- /dev/null
+++ b/prometheus/server/target/dns/remote_agent.yml
@@ -0,0 +1,12 @@
+parameters:
+  prometheus:
+    server:
+      target:
+        dns:
+          enabled: true
+          endpoint:
+            - name: 'remote_agent'
+              domain:
+              - 'tasks.monitoring_remote_agent'
+              type: A
+              port: ${telegraf:remote_agent:output:prometheus_client:bind:port}
diff --git a/prometheus/server/target/dns/remote_storage_adapter.yml b/prometheus/server/target/dns/remote_storage_adapter.yml
new file mode 100644
index 0000000..618f438
--- /dev/null
+++ b/prometheus/server/target/dns/remote_storage_adapter.yml
@@ -0,0 +1,12 @@
+parameters:
+  prometheus:
+    server:
+      target:
+        dns:
+          enabled: true
+          endpoint:
+            - name: 'remote_storage_adapter'
+              domain:
+              - 'tasks.monitoring_remote_storage_adapter'
+              type: A
+              port: ${prometheus:remote_storage_adapter:bind:port}
diff --git a/salt/master/formula/git/gnocchi.yml b/salt/master/formula/git/gnocchi.yml
new file mode 100644
index 0000000..53d2f56
--- /dev/null
+++ b/salt/master/formula/git/gnocchi.yml
@@ -0,0 +1,10 @@
+parameters:
+  salt:
+    master:
+      environment:
+        dev:
+          formula:
+            gnocchi:
+              source: git
+              address: '${_param:salt_master_environment_repository}/salt-formula-gnocchi.git'
+              revision: ${_param:salt_master_environment_revision}
diff --git a/salt/master/formula/pkg/gnocchi.yml b/salt/master/formula/pkg/gnocchi.yml
new file mode 100644
index 0000000..2f49b99
--- /dev/null
+++ b/salt/master/formula/pkg/gnocchi.yml
@@ -0,0 +1,9 @@
+parameters:
+  salt:
+    master:
+      environment:
+        prd:
+          formula:
+            gnocchi:
+              source: pkg
+              name: salt-formula-gnocchi
diff --git a/salt/master/single.yml b/salt/master/single.yml
index 9764a97..fbb32f2 100644
--- a/salt/master/single.yml
+++ b/salt/master/single.yml
@@ -13,7 +13,8 @@
     master:
       accept_policy: auto_accept
       worker_threads: 40
+      max_open_files: 15000
       command_timeout: 10
       peer:
         '.*':
-          - x509.sign_remote_certificate
+          - x509.sign_remote_certificate
\ No newline at end of file
diff --git a/salt/minion/single.yml b/salt/minion/single.yml
new file mode 100644
index 0000000..9d20aff
--- /dev/null
+++ b/salt/minion/single.yml
@@ -0,0 +1,10 @@
+parameters:
+  salt:
+    minion:
+      acceptance_wait_time_max: 60
+      acceptance_wait_time: 10
+      random_reauth_delay: 270
+      recon_default: 1000
+      recon_max: 60000
+      recon_randomize: True
+      auth_timeout: 60
\ No newline at end of file