Merge "Fix keepalived vip interface mapping"
diff --git a/classes/cluster/aaa-ha-freeipa/README.adoc b/classes/cluster/aaa-ha-freeipa/README.adoc
new file mode 100644
index 0000000..95f60d4
--- /dev/null
+++ b/classes/cluster/aaa-ha-freeipa/README.adoc
@@ -0,0 +1,49 @@
+
+
+== AAA / Identity virtual lab
+
+The purpose of the this lab is to develop full featured AAA / Identity product
+that would ship side-by-side our MCP OpenStack / Kubernetes solution.
+
+We develop this independently to other our products. Expected use-cases for the
+final product:
+
+* integrate with MCP OpenSatack/K8s
+* sell/deploy independently as mature AAA/Identity solution
+
+=== Workproducts
+
+This lab, once implemented is expected to provide:
+
+* reclass-system (shared model) usable production defaults for apps.
+* core/base formulas to support identity features on Ubuntu/RHEL
+* updates in exsisting formulas/apps to support SSO, SSSD, SAML etc.
+* documentation to enable features for current deployments
+* test procedures for QA
+
+
+== Infrastructure
+
+Virtual lab:
+  1x cfg, SaltMaster (Ubuntu)
+  3x idm, FreeIPA (Centos)
+  2x prx, Nginx, Apps (Ubuntu)
+
+For production we should assume these types of delivery:
+
+1. physical/virtual deployment (current focus)
+2. kubernetes helm charts
+
+== Components
+
+TBD
+
+== Architecture
+
+TBD
+
+== Resources
+
+TBD
+
+
diff --git a/classes/cluster/aaa-ha-freeipa/infra/init.yml b/classes/cluster/aaa-ha-freeipa/infra/init.yml
index 38ee22a..fdf066a 100644
--- a/classes/cluster/aaa-ha-freeipa/infra/init.yml
+++ b/classes/cluster/aaa-ha-freeipa/infra/init.yml
@@ -3,11 +3,7 @@
 - system.linux.system.repo.mcp.extra
 - system.linux.system.repo.mcp.salt
 - system.linux.system.repo.ubuntu
-- system.openssh.server.team.lab
-- system.openssh.server.team.tcpcloud
-- system.openssh.server.team.mcp_qa
-- system.openssh.server.team.mmo_devops
-- system.openssh.server.team.services
+- system.openssh.server.team.all
 - system.rsyslog.client.single
 parameters:
   _param:
diff --git a/classes/cluster/ceph-ha/ceph/cfs.yml b/classes/cluster/ceph-ha/ceph/cephfs.yml
similarity index 69%
rename from classes/cluster/ceph-ha/ceph/cfs.yml
rename to classes/cluster/ceph-ha/ceph/cephfs.yml
index 634177a..0d474b0 100644
--- a/classes/cluster/ceph-ha/ceph/cfs.yml
+++ b/classes/cluster/ceph-ha/ceph/cephfs.yml
@@ -1,4 +1,3 @@
 classes:
 - system.linux.system.repo.ubuntu
-- system.linux.network.hosts
 - cluster.ceph-ha.infra
diff --git a/classes/cluster/ceph-ha/ceph/init.yml b/classes/cluster/ceph-ha/ceph/init.yml
index a2600a9..48dfb8c 100644
--- a/classes/cluster/ceph-ha/ceph/init.yml
+++ b/classes/cluster/ceph-ha/ceph/init.yml
@@ -1,41 +1,25 @@
 parameters:
   _param:
-    linux_repo_ceph_component: jewel
-    ceph_version: jewel
-    ceph_mon_keepalived_password: tv0jeM4m4neum1s0p3nSt4cK3m
+    linux_repo_ceph_component: ${_param:ceph_version}
+    ceph_version: luminous
 
-    ceph_mon_hostname: cmn
     ceph_mon_node01_hostname: cmn01
     ceph_mon_node02_hostname: cmn02
     ceph_mon_node03_hostname: cmn03
-    ceph_mon_node01_address: 172.16.10.91
-    ceph_mon_node02_address: 172.16.10.92
-    ceph_mon_node03_address: 172.16.10.93
 
     ceph_osd_node01_hostname: osd01
     ceph_osd_node02_hostname: osd02
-    ceph_osd_node03_hostname: osd03
     ceph_osd_node01_address: 172.16.10.94
     ceph_osd_node02_address: 172.16.10.95
-    ceph_osd_node03_address: 172.16.10.96
-
-    ceph_cfs_node01_hostname: cfs01
-    ceph_cfs_node01_address: 172.16.10.97
-
-    single_address: ''
+    ceph_mon_node01_address: 172.16.10.96
+    ceph_mon_node02_address: 172.16.10.97
+    ceph_mon_node03_address: 172.16.10.98
 
     ceph_cluster_fsid: a619c5fc-c4ed-4f22-9ed2-66cf2feca23d
-    ceph_mon_keyring: AQAnQIhZ6in5KxAAdf467upoRMWFcVg5pbh1yg==
-    ceph_admin_keyring: AQBHPYhZv5mYDBAAvisaSzCTQkC5gywGUp/voA==
 
   linux:
     network:
       host:
-      #   cmn:
-      #     address: ${_param:ceph_mon_address}
-      #     names:
-      #     - ${_param:ceph_mon_hostname}
-      #     - ${_param:ceph_mon_hostname}.${_param:cluster_domain}
         cmn01:
           address: ${_param:ceph_mon_node01_address}
           names:
@@ -61,14 +45,3 @@
           names:
           - ${_param:ceph_osd_node02_hostname}
           - ${_param:ceph_osd_node02_hostname}.${_param:cluster_domain}
-        osd03:
-          address: ${_param:ceph_osd_node03_address}
-          names:
-          - ${_param:ceph_osd_node03_hostname}
-          - ${_param:ceph_osd_node03_hostname}.${_param:cluster_domain}
-        cfs01:
-          address: ${_param:ceph_cfs_node01_address}
-          names:
-          - ${_param:ceph_cfs_node01_hostname}
-          - ${_param:ceph_cfs_node01_hostname}.${_param:cluster_domain}
-
diff --git a/classes/cluster/ceph-ha/ceph/mon.yml b/classes/cluster/ceph-ha/ceph/mon.yml
index 96fa0b4..808b258 100644
--- a/classes/cluster/ceph-ha/ceph/mon.yml
+++ b/classes/cluster/ceph-ha/ceph/mon.yml
@@ -1,4 +1,4 @@
 classes:
 - system.ceph.mon.cluster
-- cluster.ceph-ha.ceph.common
-- system.linux.network.hosts
+- system.ceph.mgr.cluster
+- cluster.ceph-ha.ceph.common
\ No newline at end of file
diff --git a/classes/cluster/ceph-ha/ceph/mon_init.yml b/classes/cluster/ceph-ha/ceph/mon_init.yml
deleted file mode 100644
index e69de29..0000000
--- a/classes/cluster/ceph-ha/ceph/mon_init.yml
+++ /dev/null
diff --git a/classes/cluster/ceph-ha/ceph/osd.yml b/classes/cluster/ceph-ha/ceph/osd.yml
index 2d7cb2a..44a05a4 100644
--- a/classes/cluster/ceph-ha/ceph/osd.yml
+++ b/classes/cluster/ceph-ha/ceph/osd.yml
@@ -1,62 +1,22 @@
 classes:
 - service.ceph.osd.cluster
-- system.linux.network.hosts
 - cluster.ceph-ha.ceph.common
 parameters:
   ceph:
     osd:
       enabled: true
-      copy_admin_key: true
-      journal_type: raw
-      dmcrypt: disable
-      osd_scenario: raw_journal_devices
-      fs_type: xfs
-      disk:
-        '00':
-          rule: hdd
-          dev: /dev/vdb2
-          journal: /dev/vdb1
-          class: bestssd
-          weight: 1.5
-        '01':
-          rule: hdd
-          dev: /dev/vdc2
-          journal: /dev/vdc1
-          class: bestssd
-          weight: 1.5
-        '02':
-          rule: hdd
-          dev: /dev/vdd2
-          journal: /dev/vdd1
-          class: bestssd
-          weight: 1.5
-  linux:
-   storage:
-     disk:
-       disk01:
-         name: /dev/vdb
-         type: gpt
-         partitions:
-         - size: 4000
-           type: xfs
-         - size: 6000
-           type: xfs
-           mkfs: true
-       disk02:
-         name: /dev/vdc
-         type: gpt
-         partitions:
-         - size: 4000
-           type: xfs
-         - size: 6000
-           type: xfs
-           mkfs: true
-       disk03:
-         name: /dev/vdd
-         type: gpt
-         partitions:
-         - size: 4000
-           type: xfs
-         - size: 6000
-           type: xfs
-           mkfs: true
+      crush_parent: ${_param:ceph_crush_parent}
+#      crush_update: false
+#      copy_admin_key: true
+      bluestore_block_db_size: 10073741824
+      backend:
+        bluestore:
+          disks:
+            - dev: /dev/xvdb
+              block_db: /dev/xvdd
+#              class: hdd
+#              weight: 1.5
+            - dev: /dev/xvdc
+              block_db: /dev/xvdd
+#              class: hdd
+#              weight: 1.5
diff --git a/classes/cluster/ceph-ha/ceph/rgw.yml b/classes/cluster/ceph-ha/ceph/rgw.yml
index fba17bf..ac69fd8 100644
--- a/classes/cluster/ceph-ha/ceph/rgw.yml
+++ b/classes/cluster/ceph-ha/ceph/rgw.yml
@@ -1,22 +1,38 @@
-classes:
-- system.linux.system.repo.ceph
-- system.linux.system.repo.ubuntu
-- cluster.ceph-ha.ceph.common
-- cluster.ceph-ha.infra
-parameters:
-  _param:
-    keepalived_ceph_monitor_vip_address: ${_param:ceph_monitor_address}
-    keepalived_ceph_monitor_vip_password: ${_param:ceph_monitor_keepalived_password}
-    keepalived_ceph_monitor_vip_interface: ens3
-    cluster_vip_address: ${_param:ceph_monitor_address}
-    cluster_local_address: ${_param:single_address}
-    cluster_node01_hostname: cmn01
-    cluster_node01_address: ${_param:ceph_monitor_node01_address}
-    cluster_node02_hostname: cmn02
-    cluster_node02_address: ${_param:ceph_monitor_node02_address}
-    cluster_node03_hostname: cmn03
-    cluster_node03_address: ${_param:ceph_monitor_node03_address}
-    ceph_frondend_network: 10.1.0.0/24
-    ceph_backend_network: 10.16.0.0/24
-    nova_storage_keyring: novakeyring
-    cinder_storage_keyring: cinderkeyrinig
\ No newline at end of file
+# classes:
+# - system.ceph.rgw.cluster
+# - system.ceph.rgw.keystone
+# - cluster.ceph-ha.ceph
+# - cluster.ceph-ha.ceph.common
+# - cluster.ceph-ha.infra
+# parameters:
+#   _param:
+#     keepalived_vip_interface: ens3
+#     keepalived_vip_virtual_router_id: 41
+#     haproxy_radosgw_bind_port: 8080
+#     haproxy_radosgw_source_port: 8080
+#     ceph_radosgw_bind_port: 8080
+#     keepalived_vip_password: 9HpXQgHKxL1
+#     cluster_vip_address: 172.16.47.158
+#     cluster_node01_hostname: ${_param:ceph_rgw_node01_hostname}
+#     cluster_node01_address: ${_param:ceph_rgw_node01_address}
+#     cluster_node02_hostname: ${_param:ceph_rgw_node02_hostname}
+#     cluster_node02_address: ${_param:ceph_rgw_node02_address}
+#     cluster_node03_hostname: ${_param:ceph_rgw_node03_hostname}
+#     cluster_node03_address: ${_param:ceph_rgw_node03_address}
+#     ceph_radosgw_keystone_host: ${_param:openstack_control_address}
+#     ceph_radosgw_keystone_password: ${_param:keystone_admin_password}
+#   ceph:
+#     common:
+#       keyring:
+#         rgw.rgw01:
+#           caps:
+#             mon: "allow *"
+#             osd: "allow *"
+#         rgw.rgw02:
+#           caps:
+#             mon: "allow *"
+#             osd: "allow *"
+#         rgw.rgw03:
+#           caps:
+#             mon: "allow *"
+#             osd: "allow *"
diff --git a/classes/cluster/ceph-ha/ceph/setup.yml b/classes/cluster/ceph-ha/ceph/setup.yml
new file mode 100644
index 0000000..b6ba4ad
--- /dev/null
+++ b/classes/cluster/ceph-ha/ceph/setup.yml
@@ -0,0 +1,131 @@
+classes:
+- system.ceph.mon.cluster_init
+parameters:
+  ceph:
+    setup:
+      pool:
+        images:
+          pg_num: 64
+          pgp_num: 64
+          type: replicated
+          application: rbd
+          crush_rule: sata
+        volumes:
+          pg_num: 64
+          pgp_num: 64
+          type: replicated
+          application: rbd
+          crush_rule: sata
+        vms:
+          pg_num: 64
+          pgp_num: 64
+          type: replicated
+          application: rbd
+          crush_rule: sata
+        .rgw.root:
+          pg_num: 64
+          pgp_num: 64
+          type: replicated
+          application: rgw
+          crush_rule: sata
+        default.rgw.control:
+          pg_num: 64
+          pgp_num: 64
+          type: replicated
+          application: rgw
+          crush_rule: sata
+        default.rgw.meta:
+          pg_num: 64
+          pgp_num: 64
+          type: replicated
+          application: rgw
+          crush_rule: sata
+        default.rgw.log:
+          pg_num: 64
+          pgp_num: 64
+          type: replicated
+          application: rgw
+          crush_rule: sata
+        default.rgw.buckets.index:
+          pg_num: 64
+          pgp_num: 64
+          type: replicated
+          application: rgw
+          crush_rule: sata
+        default.rgw.buckets.data:
+          pg_num: 64
+          pgp_num: 64
+          type: replicated
+          application: rgw 
+          crush_rule: sata
+      # crush:
+      #   enforce: true
+      #   tunables:
+      #     choose_total_tries: 50
+      #     choose_local_tries: 0 
+      #     choose_local_fallback_tries: 0
+      #     chooseleaf_descend_once: 1
+      #     chooseleaf_vary_r: 1
+      #     chooseleaf_stable: 1
+      #     straw_calc_version: 1
+      #     allowed_bucket_algs: 54
+      #   type:
+      #     - root
+      #     - region
+      #     - rack
+      #     - host
+      #     - osd # musi byt pro kraken
+      #   root:
+      #     - name: sata
+      #     - name: ssd
+      #   region:
+      #     - name: eu-1
+      #       parent: sata
+      #     - name: eu-2
+      #       parent: ssd
+      #     - name: us-1
+      #       parent: sata
+      #     - name: us-2
+      #       parent: ssd
+      #   rack:
+      #     - name: rack01
+      #       parent: eu-1
+      #     - name: rack02
+      #       parent: eu-1
+      #     - name: rack03
+      #       parent: eu-1
+      #     - name: rack04
+      #       parent: us-2
+      #     - name: rack05
+      #       parent: us-2
+      #     - name: rack06
+      #       parent: us-2
+      #   pool:
+      #     - name: vms
+      #       rule: sata
+      #       app: rbd
+      #     - name: images
+      #       rule: sata
+      #       app: rbd
+      #     - name: volumes
+      #       rule: sata
+      #       app: rbd
+      #   rule:
+      #     ssd:
+      #       ruleset: 0
+      #       type: replicated
+      #       min_size: 1
+      #       max_size: 10
+      #       steps:
+      #         - take ssd
+      #         - chooseleaf firstn 0 type host
+      #         - emit
+      #     sata:
+      #       ruleset: 1
+      #       type: replicated
+      #       min_size: 1
+      #       max_size: 10
+      #       steps:
+      #         - take sata
+      #         - chooseleaf firstn 0 type host
+      #         - emit
diff --git a/classes/cluster/ceph-ha/infra/config.yml b/classes/cluster/ceph-ha/infra/config.yml
index 2de9d4c..fb86a4a 100644
--- a/classes/cluster/ceph-ha/infra/config.yml
+++ b/classes/cluster/ceph-ha/infra/config.yml
@@ -1,5 +1,6 @@
 classes:
 - system.linux.system.repo.ubuntu
+- system.linux.system.repo.mcp.salt
 - system.salt.master.pkg
   #- system.salt.master.git
 - system.salt.minion.ca.salt_master
@@ -11,7 +12,7 @@
 parameters:
   _param:
     salt_master_base_environment: prd
-    reclass_data_repository: "https://github.com/LotharKAtt/ceph-virtual-lab.git"
+    reclass_data_repository: "https://github.com/tomkukral/ceph_ha_model.git"
 #    salt_master_environment_revision: master
 #    salt_master_environment_repository: "https://github.com/salt-formulas"
     reclass_data_revision: master
@@ -34,13 +35,10 @@
           classes:
           - cluster.${_param:cluster_name}.ceph.osd
           repeat:
-            count: 3
+            count: 2
             start: 0
             digits: 1
             params:
-              ceph_host_id:
-                value: <<count>>
-                start: 1
               ceph_crush_parent:
                 value: rack<<count>>
                 start: 1
@@ -113,11 +111,3 @@
               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/ceph-ha/infra/init.yml b/classes/cluster/ceph-ha/infra/init.yml
index 8767fa2..3c13d80 100644
--- a/classes/cluster/ceph-ha/infra/init.yml
+++ b/classes/cluster/ceph-ha/infra/init.yml
@@ -4,8 +4,7 @@
 - system.linux.system.repo.mcp.salt #FIXME
 - system.linux.system.repo.saltstack.xenial
 - system.linux.system.repo.ubuntu
-- system.openssh.server.team.members.mlos
-- system.openssh.server.team.tcpcloud
+- system.openssh.server.team.all
 - cluster.ceph-ha.ceph
 - cluster.overrides
 parameters:
diff --git a/classes/cluster/drivetrain-ha-clusters/cicd/control/init.yml b/classes/cluster/drivetrain-ha-clusters/cicd/control/init.yml
index 1a3fb61..3c4e16a 100644
--- a/classes/cluster/drivetrain-ha-clusters/cicd/control/init.yml
+++ b/classes/cluster/drivetrain-ha-clusters/cicd/control/init.yml
@@ -1,4 +1,5 @@
 classes:
+  - system.linux.system.repo.docker
   # GlusterFS
   - system.glusterfs.server.cluster
   - system.glusterfs.server.volume.aptly
@@ -48,7 +49,6 @@
   - system.docker.swarm.stack.rundeck
   - system.docker.swarm.stack.security_monkey
   # Docker networks
-  - system.docker.swarm.network.runbook
   - system.docker.swarm.network.oss_backend
 
   # Aptly
diff --git a/classes/cluster/drivetrain-ha-clusters/infra/config.yml b/classes/cluster/drivetrain-ha-clusters/infra/config.yml
index b89f6ba..5658e18 100644
--- a/classes/cluster/drivetrain-ha-clusters/infra/config.yml
+++ b/classes/cluster/drivetrain-ha-clusters/infra/config.yml
@@ -1,4 +1,5 @@
 classes:
+  - system.linux.system.repo.mcp.salt
   - system.salt.master.pkg
   - system.salt.master.api
   - system.salt.minion.ca.salt_master
diff --git a/classes/cluster/drivetrain-ha-clusters/init.yml b/classes/cluster/drivetrain-ha-clusters/init.yml
index 11369f6..aa9cb9b 100644
--- a/classes/cluster/drivetrain-ha-clusters/init.yml
+++ b/classes/cluster/drivetrain-ha-clusters/init.yml
@@ -4,11 +4,7 @@
   - 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
+  - system.openssh.server.team.all
   - 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 6fccb9d..c38c965 100644
--- a/classes/cluster/drivetrain-ha/cicd/control/init.yml
+++ b/classes/cluster/drivetrain-ha/cicd/control/init.yml
@@ -1,4 +1,5 @@
 classes:
+  - system.linux.system.repo.docker
   # GlusterFS
   - system.glusterfs.server.cluster
   - system.glusterfs.server.volume.aptly
@@ -48,7 +49,6 @@
   - system.docker.swarm.stack.rundeck
   - system.docker.swarm.stack.security_monkey
   # Docker networks
-  - system.docker.swarm.network.runbook
   - system.docker.swarm.network.oss_backend
 
   # Aptly
diff --git a/classes/cluster/drivetrain-ha/infra/config.yml b/classes/cluster/drivetrain-ha/infra/config.yml
index 3cb945a..6e774ff 100644
--- a/classes/cluster/drivetrain-ha/infra/config.yml
+++ b/classes/cluster/drivetrain-ha/infra/config.yml
@@ -1,4 +1,5 @@
 classes:
+  - system.linux.system.repo.mcp.salt
   - system.salt.master.pkg
   - system.salt.master.api
   - system.salt.minion.ca.salt_master
diff --git a/classes/cluster/drivetrain-ha/infra/init.yml b/classes/cluster/drivetrain-ha/infra/init.yml
index c136272..3d1efe2 100644
--- a/classes/cluster/drivetrain-ha/infra/init.yml
+++ b/classes/cluster/drivetrain-ha/infra/init.yml
@@ -29,4 +29,3 @@
     system:
       name: ${_param:infra_config_hostname}
       domain: ${_param:cluster_domain}
-
diff --git a/classes/cluster/drivetrain-ha/init.yml b/classes/cluster/drivetrain-ha/init.yml
index 11369f6..aa9cb9b 100644
--- a/classes/cluster/drivetrain-ha/init.yml
+++ b/classes/cluster/drivetrain-ha/init.yml
@@ -4,11 +4,7 @@
   - 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
+  - system.openssh.server.team.all
   - cluster.drivetrain-ha.infra
   - cluster.drivetrain-ha.cicd.control
   - cluster.overrides
diff --git a/classes/cluster/k8s-aio-calico/infra/config.yml b/classes/cluster/k8s-aio-calico/infra/config.yml
index df7a183..a9d6178 100644
--- a/classes/cluster/k8s-aio-calico/infra/config.yml
+++ b/classes/cluster/k8s-aio-calico/infra/config.yml
@@ -1,5 +1,6 @@
 classes:
 - system.linux.system.repo.ubuntu
+- system.linux.system.repo.mcp.salt
 - system.openssh.client.lab
 - system.salt.master.pkg
 - system.salt.minion.ca.salt_master
diff --git a/classes/cluster/k8s-aio-calico/infra/init.yml b/classes/cluster/k8s-aio-calico/infra/init.yml
index 763d163..d6c546e 100644
--- a/classes/cluster/k8s-aio-calico/infra/init.yml
+++ b/classes/cluster/k8s-aio-calico/infra/init.yml
@@ -3,10 +3,7 @@
 - system.linux.system.repo.mcp.extra
 - system.linux.system.repo.mcp.salt
 - system.linux.system.repo.ubuntu
-- system.openssh.server.team.lab
-- system.openssh.server.team.tcpcloud
-- system.openssh.server.team.mcp_qa
-- system.openssh.server.team.k8s_team
+- system.openssh.server.team.all
 - system.rsyslog.client.single
 parameters:
   _param:
diff --git a/classes/cluster/k8s-aio-calico/kubernetes/compute.yml b/classes/cluster/k8s-aio-calico/kubernetes/compute.yml
index 4c03619..b7be97b 100644
--- a/classes/cluster/k8s-aio-calico/kubernetes/compute.yml
+++ b/classes/cluster/k8s-aio-calico/kubernetes/compute.yml
@@ -1,5 +1,5 @@
 classes:
-- system.linux.system.repo.docker
+- system.linux.system.repo.docker_legacy
 - system.kubernetes.pool.cluster
 - system.linux.network.hosts
 - system.salt.minion.cert.k8s_client
@@ -10,7 +10,7 @@
     kubernetes_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.7.5-2
+    kubernetes_hyperkube_image: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes/hyperkube-amd64:v1.7.8-3
   docker:
     host:
       pkgs:
diff --git a/classes/cluster/k8s-aio-calico/kubernetes/control.yml b/classes/cluster/k8s-aio-calico/kubernetes/control.yml
index 718235f..7c4dfe3 100644
--- a/classes/cluster/k8s-aio-calico/kubernetes/control.yml
+++ b/classes/cluster/k8s-aio-calico/kubernetes/control.yml
@@ -1,7 +1,7 @@
 classes:
 - service.etcd.server.cluster
 - system.haproxy.proxy.listen.kubernetes.apiserver
-- system.linux.system.repo.docker
+- system.linux.system.repo.docker_legacy
 - system.salt.minion.cert.etcd_server
 - system.kubernetes.master.cluster
 - cluster.k8s-aio-calico.kubernetes.compute
diff --git a/classes/cluster/k8s-aio-contrail/infra/config.yml b/classes/cluster/k8s-aio-contrail/infra/config.yml
index ad72fd0..2147a7f 100644
--- a/classes/cluster/k8s-aio-contrail/infra/config.yml
+++ b/classes/cluster/k8s-aio-contrail/infra/config.yml
@@ -1,5 +1,6 @@
 classes:
 - system.linux.system.repo.ubuntu
+- system.linux.system.repo.mcp.salt
 - system.openssh.client.lab
 - system.salt.master.pkg
 - system.salt.minion.ca.salt_master
diff --git a/classes/cluster/k8s-aio-contrail/infra/init.yml b/classes/cluster/k8s-aio-contrail/infra/init.yml
index 812d237..af57b51 100644
--- a/classes/cluster/k8s-aio-contrail/infra/init.yml
+++ b/classes/cluster/k8s-aio-contrail/infra/init.yml
@@ -3,10 +3,7 @@
 - system.linux.system.repo.mcp.extra
 - system.linux.system.repo.mcp.salt
 - system.linux.system.repo.ubuntu
-- system.openssh.server.team.lab
-- system.openssh.server.team.tcpcloud
-- system.openssh.server.team.mcp_qa
-- system.openssh.server.team.k8s_team
+- system.openssh.server.team.all
 - system.rsyslog.client.single
 parameters:
   _param:
diff --git a/classes/cluster/k8s-aio-contrail/kubernetes/compute.yml b/classes/cluster/k8s-aio-contrail/kubernetes/compute.yml
index badb177..70d5ee6 100644
--- a/classes/cluster/k8s-aio-contrail/kubernetes/compute.yml
+++ b/classes/cluster/k8s-aio-contrail/kubernetes/compute.yml
@@ -1,5 +1,5 @@
 classes:
-- system.linux.system.repo.docker
+- system.linux.system.repo.docker_legacy
 - system.kubernetes.pool.cluster
 - system.linux.network.hosts
 - system.salt.minion.cert.k8s_client
diff --git a/classes/cluster/k8s-aio-contrail/kubernetes/control.yml b/classes/cluster/k8s-aio-contrail/kubernetes/control.yml
index b63afa1..2cbdba3 100644
--- a/classes/cluster/k8s-aio-contrail/kubernetes/control.yml
+++ b/classes/cluster/k8s-aio-contrail/kubernetes/control.yml
@@ -1,7 +1,7 @@
 classes:
 - service.etcd.server.cluster
 - system.haproxy.proxy.listen.kubernetes.apiserver
-- system.linux.system.repo.docker
+- system.linux.system.repo.docker_legacy
 - system.salt.minion.cert.etcd_server
 - system.kubernetes.master.cluster
 - cluster.k8s-aio-contrail.kubernetes
diff --git a/classes/cluster/k8s-aio-contrail/kubernetes/init.yml b/classes/cluster/k8s-aio-contrail/kubernetes/init.yml
index 53e289d..48e75b0 100644
--- a/classes/cluster/k8s-aio-contrail/kubernetes/init.yml
+++ b/classes/cluster/k8s-aio-contrail/kubernetes/init.yml
@@ -19,7 +19,7 @@
     kubernetes_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.7.5-2
+    kubernetes_hyperkube_image: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes/hyperkube-amd64:v1.7.8-3
     kubernetes_netchecker_agent_image: quay.io/l23network/k8s-netchecker-agent:v1.0
     kubernetes_netchecker_server_image: quay.io/l23network/k8s-netchecker-server:v1.0
     kubernetes_externaldns_image: mirantis/external-dns:latest
diff --git a/classes/cluster/k8s-ha-calico-cloudprovider/infra/config.yml b/classes/cluster/k8s-ha-calico-cloudprovider/infra/config.yml
index 2cc72db..331de9d 100644
--- a/classes/cluster/k8s-ha-calico-cloudprovider/infra/config.yml
+++ b/classes/cluster/k8s-ha-calico-cloudprovider/infra/config.yml
@@ -1,5 +1,6 @@
 classes:
 - system.linux.system.repo.ubuntu
+- system.linux.system.repo.mcp.salt
 - system.openssh.client.lab
 - system.salt.master.pkg
 - system.salt.minion.ca.salt_master
diff --git a/classes/cluster/k8s-ha-calico-cloudprovider/kubernetes/compute.yml b/classes/cluster/k8s-ha-calico-cloudprovider/kubernetes/compute.yml
index 536dfff..53efb6b 100644
--- a/classes/cluster/k8s-ha-calico-cloudprovider/kubernetes/compute.yml
+++ b/classes/cluster/k8s-ha-calico-cloudprovider/kubernetes/compute.yml
@@ -1,5 +1,5 @@
 classes:
-- system.linux.system.repo.docker
+- system.linux.system.repo.docker_legacy
 - system.kubernetes.pool.cluster
 - system.linux.network.hosts
 - system.salt.minion.cert.k8s_client
@@ -10,7 +10,7 @@
     kubernetes_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.7.5-2
+    kubernetes_hyperkube_image: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes/hyperkube-amd64:v1.7.8-3
   docker:
     host:
       pkgs:
diff --git a/classes/cluster/k8s-ha-calico-cloudprovider/kubernetes/control.yml b/classes/cluster/k8s-ha-calico-cloudprovider/kubernetes/control.yml
index da51219..7916e9c 100644
--- a/classes/cluster/k8s-ha-calico-cloudprovider/kubernetes/control.yml
+++ b/classes/cluster/k8s-ha-calico-cloudprovider/kubernetes/control.yml
@@ -1,7 +1,7 @@
 classes:
 - service.etcd.server.cluster
 - system.haproxy.proxy.listen.kubernetes.apiserver
-- system.linux.system.repo.docker
+- system.linux.system.repo.docker_legacy
 - system.salt.minion.cert.etcd_server
 - system.kubernetes.master.cluster
 - cluster.k8s-ha-calico-cloudprovider.kubernetes.compute
diff --git a/classes/cluster/k8s-ha-calico-syndic/infra/config.yml b/classes/cluster/k8s-ha-calico-syndic/infra/config.yml
index 4e96666..21e7656 100644
--- a/classes/cluster/k8s-ha-calico-syndic/infra/config.yml
+++ b/classes/cluster/k8s-ha-calico-syndic/infra/config.yml
@@ -1,5 +1,6 @@
 classes:
 - system.linux.system.repo.ubuntu
+- system.linux.system.repo.mcp.salt
 - system.openssh.client.lab
 - system.salt.master.pkg
 - system.salt.minion.ca.salt_master
diff --git a/classes/cluster/k8s-ha-calico-syndic/infra/init.yml b/classes/cluster/k8s-ha-calico-syndic/infra/init.yml
index afc025c..d91fab5 100644
--- a/classes/cluster/k8s-ha-calico-syndic/infra/init.yml
+++ b/classes/cluster/k8s-ha-calico-syndic/infra/init.yml
@@ -3,10 +3,7 @@
 - system.linux.system.repo.mcp.extra
 - system.linux.system.repo.mcp.salt
 - system.linux.system.repo.ubuntu
-- system.openssh.server.team.lab
-- system.openssh.server.team.tcpcloud
-- system.openssh.server.team.mcp_qa
-- system.openssh.server.team.k8s_team
+- system.openssh.server.team.all
 parameters:
   _param:
     # infra service addresses
diff --git a/classes/cluster/k8s-ha-calico-syndic/kubernetes/compute.yml b/classes/cluster/k8s-ha-calico-syndic/kubernetes/compute.yml
index eae863f..46635fb 100644
--- a/classes/cluster/k8s-ha-calico-syndic/kubernetes/compute.yml
+++ b/classes/cluster/k8s-ha-calico-syndic/kubernetes/compute.yml
@@ -1,5 +1,5 @@
 classes:
-- system.linux.system.repo.docker
+- system.linux.system.repo.docker_legacy
 - system.kubernetes.pool.cluster
 - system.linux.network.hosts
 - system.salt.minion.cert.k8s_client
@@ -10,7 +10,7 @@
     kubernetes_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.7.5-2
+    kubernetes_hyperkube_image: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes/hyperkube-amd64:v1.7.8-3
   docker:
     host:
       pkgs:
diff --git a/classes/cluster/k8s-ha-calico-syndic/kubernetes/control.yml b/classes/cluster/k8s-ha-calico-syndic/kubernetes/control.yml
index c96f8bc..a7dda44 100644
--- a/classes/cluster/k8s-ha-calico-syndic/kubernetes/control.yml
+++ b/classes/cluster/k8s-ha-calico-syndic/kubernetes/control.yml
@@ -1,7 +1,7 @@
 classes:
 - service.etcd.server.cluster
 - system.haproxy.proxy.listen.kubernetes.apiserver
-- system.linux.system.repo.docker
+- system.linux.system.repo.docker_legacy
 - system.salt.minion.cert.etcd_server
 - system.kubernetes.master.cluster
 - cluster.k8s-ha-calico-syndic.kubernetes.compute
diff --git a/classes/cluster/k8s-ha-calico/infra/config.yml b/classes/cluster/k8s-ha-calico/infra/config.yml
index d452b0a..7e223f0 100644
--- a/classes/cluster/k8s-ha-calico/infra/config.yml
+++ b/classes/cluster/k8s-ha-calico/infra/config.yml
@@ -1,5 +1,6 @@
 classes:
 - system.linux.system.repo.ubuntu
+- system.linux.system.repo.mcp.salt
 - system.openssh.client.lab
 - system.salt.master.pkg
 - system.salt.minion.ca.salt_master
diff --git a/classes/cluster/k8s-ha-calico/kubernetes/compute.yml b/classes/cluster/k8s-ha-calico/kubernetes/compute.yml
index 2681e7f..a73a57b 100644
--- a/classes/cluster/k8s-ha-calico/kubernetes/compute.yml
+++ b/classes/cluster/k8s-ha-calico/kubernetes/compute.yml
@@ -1,5 +1,5 @@
 classes:
-- system.linux.system.repo.docker
+- system.linux.system.repo.docker_legacy
 - system.kubernetes.pool.cluster
 - system.linux.network.hosts
 - system.salt.minion.cert.k8s_client
@@ -13,6 +13,7 @@
         - python-docker
       options:
         bip: 172.31.255.1/24
+        storage-driver: overlay2
   kubernetes:
     pool:
       kubelet:
diff --git a/classes/cluster/k8s-ha-calico/kubernetes/control.yml b/classes/cluster/k8s-ha-calico/kubernetes/control.yml
index 09c704f..082d7ab 100644
--- a/classes/cluster/k8s-ha-calico/kubernetes/control.yml
+++ b/classes/cluster/k8s-ha-calico/kubernetes/control.yml
@@ -1,7 +1,7 @@
 classes:
 - service.etcd.server.cluster
 - system.haproxy.proxy.listen.kubernetes.apiserver
-- system.linux.system.repo.docker
+- system.linux.system.repo.docker_legacy
 - system.salt.minion.cert.etcd_server
 - system.kubernetes.master.cluster
 - cluster.k8s-ha-calico.kubernetes.compute
diff --git a/classes/cluster/k8s-ha-calico/kubernetes/init.yml b/classes/cluster/k8s-ha-calico/kubernetes/init.yml
index d8e5c25..25a2b52 100644
--- a/classes/cluster/k8s-ha-calico/kubernetes/init.yml
+++ b/classes/cluster/k8s-ha-calico/kubernetes/init.yml
@@ -23,7 +23,7 @@
     kubernetes_calico_cni_image: docker-prod-virtual.docker.mirantis.net/mirantis/projectcalico/calico/cni:latest
     kubernetes_calico_policy_image: calico/kube-policy-controller:v0.5.4
 
-    kubernetes_hyperkube_image: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes/hyperkube-amd64:v1.7.5-2
+    kubernetes_hyperkube_image: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes/hyperkube-amd64:v1.7.8-3
     kubernetes_virtlet_image: mirantis/virtlet:latest
     kubernetes_netchecker_agent_image: mirantis/k8s-netchecker-agent:stable
     kubernetes_netchecker_server_image: mirantis/k8s-netchecker-server:stable
@@ -31,11 +31,11 @@
 
     # switches of addons
     kubernetes_addon_namespace: kube-system
-    kubernetes_dashboard: false
+    kubernetes_dashboard: true
     kubernetes_helm_enabled: false
     kubernetes_netchecker_enabled: true
     kubernetes_calico_policy_enabled: false
-    kubernetes_virtlet_enabled: false
+    kubernetes_virtlet_enabled: true
 
     # addresses and hostnames
     kubernetes_internal_api_address: 10.254.0.1
diff --git a/classes/cluster/k8s-ha-contrail/infra/config.yml b/classes/cluster/k8s-ha-contrail/infra/config.yml
index 1b9e70d..3d7cbd0 100644
--- a/classes/cluster/k8s-ha-contrail/infra/config.yml
+++ b/classes/cluster/k8s-ha-contrail/infra/config.yml
@@ -1,5 +1,6 @@
 classes:
 - system.linux.system.repo.ubuntu
+- system.linux.system.repo.mcp.salt
 - system.openssh.client.lab
 - system.salt.master.pkg
 - system.salt.minion.ca.salt_master
diff --git a/classes/cluster/k8s-ha-contrail/kubernetes/compute.yml b/classes/cluster/k8s-ha-contrail/kubernetes/compute.yml
index 10d54c9..e3b8396 100644
--- a/classes/cluster/k8s-ha-contrail/kubernetes/compute.yml
+++ b/classes/cluster/k8s-ha-contrail/kubernetes/compute.yml
@@ -1,5 +1,5 @@
 classes:
-- system.linux.system.repo.docker
+- system.linux.system.repo.docker_legacy
 - system.kubernetes.pool.cluster
 - system.linux.network.hosts
 - system.salt.minion.cert.k8s_client
diff --git a/classes/cluster/k8s-ha-contrail/kubernetes/control.yml b/classes/cluster/k8s-ha-contrail/kubernetes/control.yml
index 6ce6d67..250ae20 100644
--- a/classes/cluster/k8s-ha-contrail/kubernetes/control.yml
+++ b/classes/cluster/k8s-ha-contrail/kubernetes/control.yml
@@ -1,7 +1,7 @@
 classes:
 - service.etcd.server.cluster
 - system.haproxy.proxy.listen.kubernetes.apiserver
-- system.linux.system.repo.docker
+- system.linux.system.repo.docker_legacy
 - system.salt.minion.cert.etcd_server
 - system.kubernetes.master.cluster
 - cluster.k8s-ha-contrail.kubernetes.compute
diff --git a/classes/cluster/k8s-ha-contrail/kubernetes/init.yml b/classes/cluster/k8s-ha-contrail/kubernetes/init.yml
index d84f867..7a46cc0 100644
--- a/classes/cluster/k8s-ha-contrail/kubernetes/init.yml
+++ b/classes/cluster/k8s-ha-contrail/kubernetes/init.yml
@@ -24,7 +24,7 @@
     kubernetes_calico_cni_image: docker-prod-virtual.docker.mirantis.net/mirantis/projectcalico/calico/cni:latest
     kubernetes_opencontrail_cni_image: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes/contrail-integration/contrail-cni:v1.0.0
 
-    kubernetes_hyperkube_image: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes/hyperkube-amd64:v1.7.5-2
+    kubernetes_hyperkube_image: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes/hyperkube-amd64:v1.7.8-3
     kubernetes_virtlet_image: mirantis/virtlet:latest
     kubernetes_netchecker_agent_image: mirantis/k8s-netchecker-agent:stable
     kubernetes_netchecker_server_image: mirantis/k8s-netchecker-server:stable
diff --git a/classes/cluster/os-ha-contrail-40/openstack/control.yml b/classes/cluster/os-ha-contrail-40/openstack/control.yml
index e3c086f..7fd147b 100644
--- a/classes/cluster/os-ha-contrail-40/openstack/control.yml
+++ b/classes/cluster/os-ha-contrail-40/openstack/control.yml
@@ -43,7 +43,6 @@
     cluster_node02_address: ${_param:openstack_control_node02_address}
     cluster_node03_hostname: ctl03
     cluster_node03_address: ${_param:openstack_control_node03_address}
-    keepalived_openstack_telemetry_vip_interface: ens4
   linux:
     system:
       package:
@@ -164,4 +163,3 @@
       notification:
         driver: messagingv2
         topics: "notifications"
-
diff --git a/classes/cluster/os-ha-contrail/openstack/control.yml b/classes/cluster/os-ha-contrail/openstack/control.yml
index 1e9733a..ce6c800 100755
--- a/classes/cluster/os-ha-contrail/openstack/control.yml
+++ b/classes/cluster/os-ha-contrail/openstack/control.yml
@@ -46,7 +46,6 @@
     cluster_node02_address: ${_param:openstack_control_node02_address}
     cluster_node03_hostname: ctl03
     cluster_node03_address: ${_param:openstack_control_node03_address}
-    keepalived_openstack_telemetry_vip_interface: ens4
   linux:
     system:
       package:
@@ -174,4 +173,3 @@
       notification:
         driver: messagingv2
         topics: "notifications"
-
diff --git a/classes/cluster/os-ha-ovs-syndic/openstack/control.yml b/classes/cluster/os-ha-ovs-syndic/openstack/control.yml
index 9bc0f6e..0b7f2a2 100644
--- a/classes/cluster/os-ha-ovs-syndic/openstack/control.yml
+++ b/classes/cluster/os-ha-ovs-syndic/openstack/control.yml
@@ -32,7 +32,6 @@
 parameters:
   _param:
     keepalived_vip_interface: ens4
-    keepalived_openstack_telemetry_vip_interface: ens4
   linux:
     system:
       package:
@@ -100,4 +99,3 @@
       notification:
         driver: messagingv2
         topics: "notifications"
-
diff --git a/classes/cluster/os-ha-ovs/openstack/control.yml b/classes/cluster/os-ha-ovs/openstack/control.yml
index ee20aa0..a01afb8 100644
--- a/classes/cluster/os-ha-ovs/openstack/control.yml
+++ b/classes/cluster/os-ha-ovs/openstack/control.yml
@@ -35,7 +35,6 @@
 parameters:
   _param:
     keepalived_vip_interface: ens4
-    keepalived_openstack_telemetry_vip_interface: ens4
   linux:
     system:
       package:
@@ -147,4 +146,3 @@
       notification:
         driver: messagingv2
         topics: "notifications"
-
diff --git a/classes/cluster/sl-k8s-calico/infra/config.yml b/classes/cluster/sl-k8s-calico/infra/config.yml
index a66cd51..8fbede6 100644
--- a/classes/cluster/sl-k8s-calico/infra/config.yml
+++ b/classes/cluster/sl-k8s-calico/infra/config.yml
@@ -2,6 +2,8 @@
 - system.docker.client
 - system.docker.host
 - system.linux.system.repo.ubuntu
+- system.linux.system.repo.mcp.salt
+- system.linux.system.repo.docker
 - system.openssh.client.lab
 - system.salt.master.pkg
 - system.salt.minion.ca.salt_master
diff --git a/classes/cluster/sl-k8s-calico/infra/init.yml b/classes/cluster/sl-k8s-calico/infra/init.yml
index 758544b..d6c546e 100644
--- a/classes/cluster/sl-k8s-calico/infra/init.yml
+++ b/classes/cluster/sl-k8s-calico/infra/init.yml
@@ -3,11 +3,7 @@
 - system.linux.system.repo.mcp.extra
 - system.linux.system.repo.mcp.salt
 - system.linux.system.repo.ubuntu
-- system.openssh.server.team.lab
-- system.openssh.server.team.stacklight
-- system.openssh.server.team.tcpcloud
-- system.openssh.server.team.mcp_qa
-- system.openssh.server.team.k8s_team
+- system.openssh.server.team.all
 - system.rsyslog.client.single
 parameters:
   _param:
diff --git a/classes/cluster/sl-k8s-calico/kubernetes/compute.yml b/classes/cluster/sl-k8s-calico/kubernetes/compute.yml
index f4038a9..ced1168 100644
--- a/classes/cluster/sl-k8s-calico/kubernetes/compute.yml
+++ b/classes/cluster/sl-k8s-calico/kubernetes/compute.yml
@@ -1,5 +1,5 @@
 classes:
-- system.linux.system.repo.docker
+- system.linux.system.repo.docker_legacy
 - system.kubernetes.pool.cluster
 - system.linux.network.hosts
 - system.salt.minion.cert.k8s_client
@@ -10,7 +10,7 @@
     kubernetes_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.7.5-2
+    kubernetes_hyperkube_image: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes/hyperkube-amd64:v1.7.8-3
   docker:
     host:
       pkgs:
diff --git a/classes/cluster/sl-k8s-calico/kubernetes/control.yml b/classes/cluster/sl-k8s-calico/kubernetes/control.yml
index 34e1512..7afdd01 100644
--- a/classes/cluster/sl-k8s-calico/kubernetes/control.yml
+++ b/classes/cluster/sl-k8s-calico/kubernetes/control.yml
@@ -1,7 +1,7 @@
 classes:
 - service.etcd.server.cluster
 - system.haproxy.proxy.listen.kubernetes.apiserver
-- system.linux.system.repo.docker
+- system.linux.system.repo.docker_legacy
 - system.salt.minion.cert.etcd_server
 - system.kubernetes.master.cluster
 - cluster.sl-k8s-calico.kubernetes.compute
diff --git a/classes/cluster/sl-k8s-calico/stacklight/server.yml b/classes/cluster/sl-k8s-calico/stacklight/server.yml
index 050ed5e..909871e 100644
--- a/classes/cluster/sl-k8s-calico/stacklight/server.yml
+++ b/classes/cluster/sl-k8s-calico/stacklight/server.yml
@@ -3,6 +3,7 @@
 - system.linux.system.repo.influxdb
 - system.linux.system.repo.elasticsearch
 - system.linux.system.repo.kibana
+- system.linux.system.repo.docker
 # Needed to install Galera packages
 - system.linux.system.repo.mcp.openstack
 - system.elasticsearch.server.cluster
diff --git a/classes/cluster/sl-k8s-contrail/infra/config.yml b/classes/cluster/sl-k8s-contrail/infra/config.yml
index 6e66f64..d1b447a 100644
--- a/classes/cluster/sl-k8s-contrail/infra/config.yml
+++ b/classes/cluster/sl-k8s-contrail/infra/config.yml
@@ -2,6 +2,8 @@
 - system.docker.client
 - system.docker.host
 - system.linux.system.repo.ubuntu
+- system.linux.system.repo.mcp.salt
+- system.linux.system.repo.docker
 - system.openssh.client.lab
 - system.salt.master.pkg
 - system.salt.minion.ca.salt_master
diff --git a/classes/cluster/sl-k8s-contrail/kubernetes/compute.yml b/classes/cluster/sl-k8s-contrail/kubernetes/compute.yml
index cdd5047..8a508c4 100644
--- a/classes/cluster/sl-k8s-contrail/kubernetes/compute.yml
+++ b/classes/cluster/sl-k8s-contrail/kubernetes/compute.yml
@@ -1,5 +1,5 @@
 classes:
-- system.linux.system.repo.docker
+- system.linux.system.repo.docker_legacy
 - system.kubernetes.pool.cluster
 - system.linux.network.hosts
 - system.salt.minion.cert.k8s_client
diff --git a/classes/cluster/sl-k8s-contrail/kubernetes/control.yml b/classes/cluster/sl-k8s-contrail/kubernetes/control.yml
index 7b1b16a..04d188a 100644
--- a/classes/cluster/sl-k8s-contrail/kubernetes/control.yml
+++ b/classes/cluster/sl-k8s-contrail/kubernetes/control.yml
@@ -1,7 +1,7 @@
 classes:
 - service.etcd.server.cluster
 - system.haproxy.proxy.listen.kubernetes.apiserver
-- system.linux.system.repo.docker
+- system.linux.system.repo.docker_legacy
 - system.salt.minion.cert.etcd_server
 - system.kubernetes.master.cluster
 - cluster.sl-k8s-contrail.kubernetes.compute
diff --git a/classes/cluster/sl-k8s-contrail/kubernetes/init.yml b/classes/cluster/sl-k8s-contrail/kubernetes/init.yml
index 906ec13..6d3270f 100644
--- a/classes/cluster/sl-k8s-contrail/kubernetes/init.yml
+++ b/classes/cluster/sl-k8s-contrail/kubernetes/init.yml
@@ -19,7 +19,7 @@
     kubernetes_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.7.5-2
+    kubernetes_hyperkube_image: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes/hyperkube-amd64:v1.7.8-3
     kubernetes_netchecker_agent_image: quay.io/l23network/k8s-netchecker-agent:v1.0
     kubernetes_netchecker_server_image: quay.io/l23network/k8s-netchecker-server:v1.0
     kubernetes_externaldns_image: mirantis/external-dns:latest
diff --git a/classes/cluster/sl-k8s-contrail/stacklight/server.yml b/classes/cluster/sl-k8s-contrail/stacklight/server.yml
index e82a3d9..bb10d07 100644
--- a/classes/cluster/sl-k8s-contrail/stacklight/server.yml
+++ b/classes/cluster/sl-k8s-contrail/stacklight/server.yml
@@ -2,6 +2,7 @@
 - system.linux.system.repo.influxdb
 - system.linux.system.repo.elasticsearch
 - system.linux.system.repo.kibana
+- system.linux.system.repo.docker
 # Needed to install Galera packages
 - system.linux.system.repo.mcp.openstack
 - system.docker.host
diff --git a/classes/cluster/sl-os-contrail/infra/config.yml b/classes/cluster/sl-os-contrail/infra/config.yml
index ba4fe44..79d69bf 100755
--- a/classes/cluster/sl-os-contrail/infra/config.yml
+++ b/classes/cluster/sl-os-contrail/infra/config.yml
@@ -5,6 +5,7 @@
 - system.linux.system.single
 - system.linux.system.repo.mcp.salt
 - system.linux.system.repo.mcp.openstack
+- system.linux.system.repo.docker
 - system.openssh.client.lab
 - system.salt.master.api
 - system.salt.master.pkg
diff --git a/classes/cluster/sl-os-contrail/stacklight/client.yml b/classes/cluster/sl-os-contrail/stacklight/client.yml
index 4f6323a..7373bd3 100755
--- a/classes/cluster/sl-os-contrail/stacklight/client.yml
+++ b/classes/cluster/sl-os-contrail/stacklight/client.yml
@@ -17,3 +17,4 @@
     grafana_password: ${_param:grafana_admin_password}
     grafana_prometheus_address: ${_param:stacklight_monitor_address}
     grafana_prometheus_port: 15016
+    stacklight_prometheus_port: 15010
diff --git a/classes/cluster/sl-os-contrail/stacklight/server.yml b/classes/cluster/sl-os-contrail/stacklight/server.yml
index 1b71f88..d973d5c 100755
--- a/classes/cluster/sl-os-contrail/stacklight/server.yml
+++ b/classes/cluster/sl-os-contrail/stacklight/server.yml
@@ -4,6 +4,7 @@
 - system.linux.system.repo.mcp.salt
 - system.linux.system.repo.elasticsearch
 - system.linux.system.repo.kibana
+- system.linux.system.repo.docker
 - system.elasticsearch.server.cluster
 - system.elasticsearch.server.curator
 - system.kibana.server.single
diff --git a/classes/cluster/sl-os-ovs/infra/config.yml b/classes/cluster/sl-os-ovs/infra/config.yml
index 00b4007..eac6a06 100644
--- a/classes/cluster/sl-os-ovs/infra/config.yml
+++ b/classes/cluster/sl-os-ovs/infra/config.yml
@@ -4,6 +4,7 @@
 - system.docker.host
 - system.linux.system.single
 - system.linux.system.repo.mcp.salt
+- system.linux.system.repo.docker
 - system.openssh.client.lab
 - system.salt.master.api
 - system.salt.master.pkg
@@ -53,6 +54,7 @@
     salt_master_base_environment: prd
     salt_minion_ca_host: ${linux:network:fqdn}
     salt_api_password_hash: "$6$sGnRlxGf$al5jMCetLP.vfI/fTl3Z0N7Za1aeiexL487jAtyRABVfT3NlwZxQGVhO7S1N8OwS/34VHYwZQA8lkXwKMN/GS1"
+    openstack_control_system_codename: xenial
   linux:
     network:
       interface:
@@ -121,6 +123,19 @@
               value_template: <<node_tenant_ip>>
             external_address:
               value_template: <<node_external_ip>>
+        openstack_gateway:
+          expression: <<node_hostname>>__startswith__gtw
+          node_class:
+            value_template:
+              - cluster.<<node_cluster>>.openstack.gateway
+          node_param:
+            tenant_address:
+              value_template: <<node_tenant_ip>>
+            external_address:
+              value_template: <<node_external_ip>>
+          cluster_param:
+            openstack_gateway_node01_address:
+              value_template: <<node_control_ip>>
         stacklight_monitor_node01:
           expression: <<node_hostname>>__equals__mon01
           cluster_param:
diff --git a/classes/cluster/sl-os-ovs/openstack/control.yml b/classes/cluster/sl-os-ovs/openstack/control.yml
index 0c6cbeb..ea1cdd6 100644
--- a/classes/cluster/sl-os-ovs/openstack/control.yml
+++ b/classes/cluster/sl-os-ovs/openstack/control.yml
@@ -32,7 +32,6 @@
 parameters:
   _param:
     keepalived_vip_interface: ens4
-    keepalived_openstack_telemetry_vip_interface: ens4
   linux:
     system:
       package:
@@ -103,4 +102,3 @@
       notification:
         driver: messagingv2
         topics: "notifications,${_param:stacklight_notification_topic}"
-
diff --git a/classes/cluster/sl-os-ovs/stacklight/client.yml b/classes/cluster/sl-os-ovs/stacklight/client.yml
index fde267a..607fe5f 100644
--- a/classes/cluster/sl-os-ovs/stacklight/client.yml
+++ b/classes/cluster/sl-os-ovs/stacklight/client.yml
@@ -17,3 +17,4 @@
     grafana_password: ${_param:grafana_admin_password}
     grafana_prometheus_address: ${_param:stacklight_monitor_address}
     grafana_prometheus_port: 15016
+    stacklight_prometheus_port: 15010
diff --git a/classes/cluster/sl-os-ovs/stacklight/server.yml b/classes/cluster/sl-os-ovs/stacklight/server.yml
index 3a19b44..7d72aac 100644
--- a/classes/cluster/sl-os-ovs/stacklight/server.yml
+++ b/classes/cluster/sl-os-ovs/stacklight/server.yml
@@ -4,6 +4,7 @@
 - system.linux.system.repo.elasticsearch
 - system.linux.system.repo.kibana
 - system.linux.system.repo.mcp.openstack
+- system.linux.system.repo.docker
 - system.elasticsearch.server.cluster
 - system.elasticsearch.server.curator
 - system.kibana.server.single
diff --git a/classes/cluster/virtual-mcp-ocata-cicd/cicd/control/init.yml b/classes/cluster/virtual-mcp-ocata-cicd/cicd/control/init.yml
index d9f86ab..3518df9 100644
--- a/classes/cluster/virtual-mcp-ocata-cicd/cicd/control/init.yml
+++ b/classes/cluster/virtual-mcp-ocata-cicd/cicd/control/init.yml
@@ -1,5 +1,6 @@
 
 classes:
+  - system.linux.system.repo.docker
   - system.linux.system.haveged
   - system.glusterfs.client.cluster
   - system.glusterfs.client.volume.aptly
@@ -36,7 +37,7 @@
   - system.docker.swarm.stack.rundeck
   - system.docker.swarm.stack.security_monkey
   # Docker networks
-  - system.docker.swarm.network.runbook
+  - system.docker.swarm.network.oss_backend
 
   # Keepalived
   - system.keepalived.cluster.instance.cicd_control_vip
diff --git a/classes/cluster/virtual-mcp-ocata-cicd/infra/init.yml b/classes/cluster/virtual-mcp-ocata-cicd/infra/init.yml
index 93014c8..e535f83 100644
--- a/classes/cluster/virtual-mcp-ocata-cicd/infra/init.yml
+++ b/classes/cluster/virtual-mcp-ocata-cicd/infra/init.yml
@@ -3,10 +3,7 @@
 - system.linux.system.repo.mcp.extra
 - system.linux.system.repo.mcp.salt
 - system.linux.system.repo.ubuntu
-- system.openssh.server.team.lab
-- system.openssh.server.team.stacklight
-- system.openssh.server.team.tcpcloud
-- system.openssh.server.team.mcp_qa
+- system.openssh.server.team.all
 - system.rsyslog.client.single
 - cluster.virtual-mcp-ocata-cicd.cicd
 - cluster.virtual-mcp-ocata-cicd.openstack
diff --git a/classes/cluster/virtual-mcp-ocata-cicd/openstack/control.yml b/classes/cluster/virtual-mcp-ocata-cicd/openstack/control.yml
index e10b2a0..5729f54 100644
--- a/classes/cluster/virtual-mcp-ocata-cicd/openstack/control.yml
+++ b/classes/cluster/virtual-mcp-ocata-cicd/openstack/control.yml
@@ -39,7 +39,6 @@
   _param:
     glusterfs_service_host: ${_param:cluster_vip_address}
     keepalived_vip_interface: ens4
-    keepalived_openstack_telemetry_vip_interface: ens4
     linux_system_codename: xenial
   linux:
     system:
@@ -107,6 +106,8 @@
                 rndc_host: ${_param:openstack_control_node03_address}
                 rndc_port: 953
                 rndc_key_file: /etc/designate/rndc.key
+      quota:
+        zones: ${_param:designate_quota_zones}
     worker:
       enabled: ${_param:designate_worker_enabled}
   glance:
@@ -152,4 +153,3 @@
       notification:
         driver: messagingv2
         topics: "notifications,${_param:stacklight_notification_topic}"
-
diff --git a/classes/cluster/virtual-mcp-ocata-cicd/openstack/init.yml b/classes/cluster/virtual-mcp-ocata-cicd/openstack/init.yml
index 92abd7b..382fb52 100644
--- a/classes/cluster/virtual-mcp-ocata-cicd/openstack/init.yml
+++ b/classes/cluster/virtual-mcp-ocata-cicd/openstack/init.yml
@@ -59,6 +59,7 @@
       rndc_host: ${_param:openstack_control_node01_address}
       rndc_port: 953
       rndc_key_file: /etc/designate/rndc.key
+    designate_quota_zones: 40
     designate_version: ${_param:openstack_version}
     designate_worker_enabled: true
     glance_version: ${_param:openstack_version}
@@ -69,7 +70,7 @@
     heat_service_host: ${_param:cluster_vip_address}
     heat_domain_admin_password: workshop
     ceilometer_version: ${_param:openstack_version}
-    ceilometer_service_host: 172.16.10.108
+    ceilometer_service_host: ${_param:cluster_vip_address}
     cinder_version: ${_param:openstack_version}
     cinder_service_host: ${_param:cluster_vip_address}
     ceilometer_graphite_publisher_host: 172.16.10.107
diff --git a/classes/cluster/virtual-mcp-ocata-cicd/stacklight/client.yml b/classes/cluster/virtual-mcp-ocata-cicd/stacklight/client.yml
index 4e0f1f3..f888e29 100644
--- a/classes/cluster/virtual-mcp-ocata-cicd/stacklight/client.yml
+++ b/classes/cluster/virtual-mcp-ocata-cicd/stacklight/client.yml
@@ -4,6 +4,7 @@
 - system.grafana.client
 - system.grafana.client.datasource.prometheus
 - system.kibana.client.single
+- system.linux.system.repo.docker
 - cluster.virtual-mcp-ocata-cicd.infra
 parameters:
   _param:
diff --git a/classes/cluster/virtual-mcp-ocata-cicd/stacklight/server.yml b/classes/cluster/virtual-mcp-ocata-cicd/stacklight/server.yml
index 18904ad..a9e8625 100644
--- a/classes/cluster/virtual-mcp-ocata-cicd/stacklight/server.yml
+++ b/classes/cluster/virtual-mcp-ocata-cicd/stacklight/server.yml
@@ -2,6 +2,7 @@
 - system.linux.system.repo.influxdb
 - system.linux.system.repo.elasticsearch
 - system.linux.system.repo.kibana
+- system.linux.system.repo.docker
 # Needed to install Galera packages
 - system.linux.system.repo.mcp.openstack
 - system.elasticsearch.server.cluster
@@ -41,6 +42,9 @@
     keepalived_prometheus_vip_password: password
     keepalived_prometheus_vip_interface: ens3
     # Docker/Elasticsearch
+    cluster_elasticsearch_port: 9200
+    cluster_kibana_port: 5601
+    cluster_grafana_port: 3000
     cluster_node01_hostname: ${_param:stacklight_node01_hostname}
     cluster_node01_address: ${_param:stacklight_node01_address}
     cluster_node02_hostname: ${_param:stacklight_node02_hostname}
diff --git a/classes/cluster/virtual-mcp-ocata-dvr/infra/config.yml b/classes/cluster/virtual-mcp-ocata-dvr/infra/config.yml
index 10010ae..e206416 100644
--- a/classes/cluster/virtual-mcp-ocata-dvr/infra/config.yml
+++ b/classes/cluster/virtual-mcp-ocata-dvr/infra/config.yml
@@ -54,7 +54,7 @@
       site:
         nginx_proxy_openstack_web:
           proxy:
-            host: prx
+            host: ${_param:openstack_proxy_address}
         nginx_proxy_openstack_api_heat_cfn:
           enabled: false
   salt:
diff --git a/classes/cluster/virtual-mcp-ocata-dvr/openstack/control.yml b/classes/cluster/virtual-mcp-ocata-dvr/openstack/control.yml
index 8e756a2..869f316 100644
--- a/classes/cluster/virtual-mcp-ocata-dvr/openstack/control.yml
+++ b/classes/cluster/virtual-mcp-ocata-dvr/openstack/control.yml
@@ -41,8 +41,6 @@
 parameters:
   _param:
     keepalived_vip_interface: ens4
-    keepalived_openstack_telemetry_vip_interface: ens4
-    keepalived_openstack_telemetry_vip_address: 172.16.10.252
   linux:
     system:
       package:
@@ -94,6 +92,8 @@
                 port: 53
                 api_endpoint: "http://${_param:openstack_dns_node02_address}:${_param:powerdns_webserver_port}"
                 api_token: ${_param:designate_pdns_api_key}
+      quota:
+        zones: ${_param:designate_quota_zones}
   glance:
     server:
       storage:
diff --git a/classes/cluster/virtual-mcp-ocata-dvr/openstack/init.yml b/classes/cluster/virtual-mcp-ocata-dvr/openstack/init.yml
index 544abea..ae7e8ec 100644
--- a/classes/cluster/virtual-mcp-ocata-dvr/openstack/init.yml
+++ b/classes/cluster/virtual-mcp-ocata-dvr/openstack/init.yml
@@ -83,6 +83,7 @@
       port: 53
       api_token: ${_param:designate_pdns_api_key}
       api_endpoint: ${_param:designate_pdns_api_endpoint}
+    designate_quota_zones: 40
     designate_version: ${_param:openstack_version}
     glance_version: ${_param:openstack_version}
     glance_service_host: ${_param:cluster_vip_address}
@@ -92,7 +93,7 @@
     heat_service_host: ${_param:cluster_vip_address}
     heat_domain_admin_password: workshop
     ceilometer_version: ${_param:openstack_version}
-    ceilometer_service_host: 172.16.10.108
+    ceilometer_service_host: ${_param:cluster_vip_address}
     cinder_version: ${_param:openstack_version}
     cinder_service_host: ${_param:cluster_vip_address}
     aodh_version: ${_param:openstack_version}
diff --git a/classes/cluster/virtual-mcp-ocata-dvr/stacklight/server.yml b/classes/cluster/virtual-mcp-ocata-dvr/stacklight/server.yml
index 72d2b76..fffdcf4 100644
--- a/classes/cluster/virtual-mcp-ocata-dvr/stacklight/server.yml
+++ b/classes/cluster/virtual-mcp-ocata-dvr/stacklight/server.yml
@@ -4,6 +4,7 @@
 - system.linux.system.repo.mcp.salt
 - system.linux.system.repo.elasticsearch
 - system.linux.system.repo.kibana
+- system.linux.system.repo.docker
 - system.heka.remote_collector.container
 - system.heka.remote_collector.input.amqp
 - system.heka.remote_collector.output.elasticsearch
diff --git a/classes/cluster/virtual-mcp-ocata-ovs/openstack/control.yml b/classes/cluster/virtual-mcp-ocata-ovs/openstack/control.yml
index c88b3f9..81d89f7 100644
--- a/classes/cluster/virtual-mcp-ocata-ovs/openstack/control.yml
+++ b/classes/cluster/virtual-mcp-ocata-ovs/openstack/control.yml
@@ -42,7 +42,6 @@
 parameters:
   _param:
     keepalived_vip_interface: ens4
-    keepalived_openstack_telemetry_vip_interface: ens4
   linux:
     system:
       package:
@@ -154,4 +153,3 @@
       notification:
         driver: messagingv2
         topics: "notifications,${_param:stacklight_notification_topic}"
-
diff --git a/classes/cluster/virtual-mcp-ocata-ovs/openstack/init.yml b/classes/cluster/virtual-mcp-ocata-ovs/openstack/init.yml
index 8f78734..b564e0b 100644
--- a/classes/cluster/virtual-mcp-ocata-ovs/openstack/init.yml
+++ b/classes/cluster/virtual-mcp-ocata-ovs/openstack/init.yml
@@ -69,7 +69,7 @@
     heat_service_host: ${_param:cluster_vip_address}
     heat_domain_admin_password: workshop
     ceilometer_version: ${_param:openstack_version}
-    ceilometer_service_host: 172.16.10.108
+    ceilometer_service_host: ${_param:cluster_vip_address}
     cinder_version: ${_param:openstack_version}
     cinder_service_host: ${_param:cluster_vip_address}
     aodh_version: ${_param:openstack_version}
diff --git a/classes/cluster/virtual-mcp-ocata-ovs/stacklight/server.yml b/classes/cluster/virtual-mcp-ocata-ovs/stacklight/server.yml
index 205afd6..faa4b53 100644
--- a/classes/cluster/virtual-mcp-ocata-ovs/stacklight/server.yml
+++ b/classes/cluster/virtual-mcp-ocata-ovs/stacklight/server.yml
@@ -4,6 +4,7 @@
 - system.linux.system.repo.mcp.salt
 - system.linux.system.repo.elasticsearch
 - system.linux.system.repo.kibana
+- system.linux.system.repo.docker
 - system.heka.remote_collector.container
 - system.heka.remote_collector.input.amqp
 - system.heka.remote_collector.output.elasticsearch
diff --git a/classes/cluster/virtual-mcp05-dvr/infra/config.yml b/classes/cluster/virtual-mcp05-dvr/infra/config.yml
index 469507b..ed92a36 100644
--- a/classes/cluster/virtual-mcp05-dvr/infra/config.yml
+++ b/classes/cluster/virtual-mcp05-dvr/infra/config.yml
@@ -2,6 +2,7 @@
 - service.git.client
 - system.linux.system.single
 - system.linux.system.repo.tcp_salt
+- system.linux.system.repo.mcp.salt
 - system.openssh.client.lab
 - system.salt.master.api
 - system.salt.master.pkg
diff --git a/classes/cluster/virtual-mcp05-ovs/infra/config.yml b/classes/cluster/virtual-mcp05-ovs/infra/config.yml
index 43e282d..6e8be81 100644
--- a/classes/cluster/virtual-mcp05-ovs/infra/config.yml
+++ b/classes/cluster/virtual-mcp05-ovs/infra/config.yml
@@ -2,6 +2,7 @@
 - service.git.client
 - system.linux.system.single
 - system.linux.system.repo.tcp_salt
+- system.linux.system.repo.mcp.salt
 - system.openssh.client.lab
 - system.salt.master.api
 - system.salt.master.pkg
diff --git a/classes/cluster/virtual-mcp10-contrail/openstack/control.yml b/classes/cluster/virtual-mcp10-contrail/openstack/control.yml
index 46d5e14..3295d9c 100755
--- a/classes/cluster/virtual-mcp10-contrail/openstack/control.yml
+++ b/classes/cluster/virtual-mcp10-contrail/openstack/control.yml
@@ -47,7 +47,6 @@
 parameters:
   _param:
     keepalived_vip_interface: eth1
-    keepalived_openstack_telemetry_vip_address: 172.16.10.251
     cluster_vip_address: ${_param:openstack_control_address}
     cluster_local_address: ${_param:single_address}
     cluster_node01_hostname: ctl01
diff --git a/classes/cluster/virtual-mcp10-dvr/openstack/control.yml b/classes/cluster/virtual-mcp10-dvr/openstack/control.yml
index 515cb99..7a60877 100644
--- a/classes/cluster/virtual-mcp10-dvr/openstack/control.yml
+++ b/classes/cluster/virtual-mcp10-dvr/openstack/control.yml
@@ -33,7 +33,6 @@
 parameters:
   _param:
     keepalived_vip_interface: eth1
-    keepalived_openstack_telemetry_vip_address: 172.16.10.252
   linux:
     system:
       package:
diff --git a/classes/cluster/virtual-mcp10-ovs/openstack/control.yml b/classes/cluster/virtual-mcp10-ovs/openstack/control.yml
index 01358b1..62bb45c 100644
--- a/classes/cluster/virtual-mcp10-ovs/openstack/control.yml
+++ b/classes/cluster/virtual-mcp10-ovs/openstack/control.yml
@@ -32,7 +32,6 @@
 parameters:
   _param:
     keepalived_vip_interface: eth1
-    keepalived_openstack_telemetry_vip_address: 172.16.10.252
   linux:
     system:
       package:
@@ -100,4 +99,3 @@
       notification:
         driver: messagingv2
         topics: "notifications,${_param:stacklight_notification_topic}"
-
diff --git a/classes/cluster/virtual-mcp11-aio/.env b/classes/cluster/virtual-mcp11-aio/.env
index bdf599f..5b16136 100644
--- a/classes/cluster/virtual-mcp11-aio/.env
+++ b/classes/cluster/virtual-mcp11-aio/.env
@@ -1 +1 @@
-FORMULAS_SALT_MASTER+=(java openssh ntp nginx collectd sensu heka sphinx mysql galera grafana libvirt rsyslog glusterfs postfix xtrabackup freeipa prometheus telegraf elasticsearch kibana rundeck devops-portal mysql libvirt rsyslog memcached rabbitmq apache keystone glance nova neutron cinder heat horizon ironic tftpd-hpa bind powerdns designate)
+FORMULAS_SALT_MASTER+=(java openssh ntp nginx collectd sensu heka sphinx mysql galera grafana libvirt rsyslog glusterfs postfix xtrabackup freeipa prometheus telegraf elasticsearch kibana rundeck devops-portal libvirt rsyslog memcached rabbitmq apache keystone glance nova neutron cinder heat horizon ironic tftpd-hpa bind powerdns designate barbican)
diff --git a/classes/cluster/virtual-mcp11-aio/openstack/init.yml b/classes/cluster/virtual-mcp11-aio/openstack/init.yml
index e54d94c..f1b70a8 100755
--- a/classes/cluster/virtual-mcp11-aio/openstack/init.yml
+++ b/classes/cluster/virtual-mcp11-aio/openstack/init.yml
@@ -13,7 +13,9 @@
 - system.galera.server.database.heat
 - system.galera.server.database.keystone
 - system.galera.server.database.nova
+- system.galera.server.database.barbican
 - system.keystone.client.single
+- system.keystone.client.service.barbican
 - system.keystone.client.service.nova21
 - system.keystone.client.service.nova-placement
 - system.keystone.client.service.designate
@@ -30,6 +32,8 @@
 - system.cinder.volume.backend.lvm
 - system.horizon.server.single
 - system.bind.server.single
+- system.barbican.server.single
+- service.barbican.server.plugin.simple_crypto
 - system.designate.server.single
 - system.designate.server.backend.bind
 parameters:
@@ -44,6 +48,7 @@
     galera_server_maintenance_password: workshop
     galera_server_admin_password: workshop
     keystone_version: ${_param:openstack_version}
+    barbican_version: ${_param:openstack_version}
     glance_version: ${_param:openstack_version}
     nova_version: ${_param:openstack_version}
     neutron_version: ${_param:openstack_version}
@@ -53,6 +58,7 @@
     designate_version: ${_param:openstack_version}
     keystone_service_token: workshop
     keystone_admin_password: workshop
+    keystone_barbican_password: workshop
     keystone_ceilometer_password: workshop
     keystone_cinder_password: workshop
     keystone_glance_password: workshop
@@ -62,12 +68,14 @@
     keystone_designate_password: workshop
     keystone_service_host: ${_param:single_address}
     mysql_keystone_password: workshop
+    mysql_barbican_password: workshop
     mysql_glance_password: workshop
     mysql_nova_password: workshop
     mysql_neutron_password: workshop
     mysql_cinder_password: workshop
     mysql_heat_password: workshop
     mysql_designate_password: workshop
+    barbican_service_host: ${_param:single_address}
     heat_service_host: ${_param:single_address}
     neutron_service_host: ${_param:single_address}
     glance_service_host: ${_param:single_address}
@@ -103,6 +111,7 @@
       rndc_host: 127.0.0.1
       rndc_port: 953
       rndc_key_file: /etc/designate/rndc.key
+    designate_quota_zones: 40
     designate_worker_enabled: true
     linux_system_repo: deb [arch=amd64] http://mirror.fuel-infra.org/mcp-repos/${_param:openstack_version}/xenial ${_param:openstack_version} main
     linux_system_repo_pin: release a=${_param:openstack_version}
@@ -111,6 +120,8 @@
     openstack_public_neutron_subnet_cidr: 192.168.130.0/24
     openstack_public_neutron_subnet_allocation_start: 192.168.130.10
     openstack_public_neutron_subnet_allocation_end: 192.168.130.254
+    barbican_simple_crypto_kek: YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoxMjM0NTY=
+    barbican_integration_enabled: True
   galera:
     master:
       members: ~
@@ -118,6 +129,14 @@
       max_connections: 1000
     slave:
       enabled: false
+  barbican:
+    server:
+      ks_notifications_enable: True
+      store:
+        software:
+          crypto_plugin: simple_crypto
+          store_plugin: store_crypto
+          global_default: True
   neutron:
     server:
       message_queue:
@@ -127,6 +146,8 @@
       dvr: True
   nova:
     compute:
+      barbican:
+        enable: ${_param:barbican_integration_enabled}
       vncproxy_url: http://${_param:single_address}:6080
       network:
         user: neutron
@@ -135,8 +156,13 @@
       cache:
         members: ~
     controller:
+      barbican:
+        enabled: ${_param:barbican_integration_enabled}
       vncproxy_url: http://${_param:single_address}:6080
   cinder:
+    controller:
+      barbican:
+        enabled: ${_param:barbican_integration_enabled}
     volume:
       cache:
         members: ~
@@ -144,5 +170,12 @@
     server:
       secure: False
   designate:
+    server:
+      quota:
+        zones: ${_param:designate_quota_zones}
     worker:
       enabled: ${_param:designate_worker_enabled}
+  glance:
+    server:
+      barbican:
+        enabled: ${_param:barbican_integration_enabled}
diff --git a/classes/cluster/virtual-mcp11-contrail-nfv/openstack/control.yml b/classes/cluster/virtual-mcp11-contrail-nfv/openstack/control.yml
index f319493..7fcf421 100755
--- a/classes/cluster/virtual-mcp11-contrail-nfv/openstack/control.yml
+++ b/classes/cluster/virtual-mcp11-contrail-nfv/openstack/control.yml
@@ -46,7 +46,6 @@
 parameters:
   _param:
     keepalived_vip_interface: ens4
-    keepalived_openstack_telemetry_vip_address: 172.16.10.251
     cluster_vip_address: ${_param:openstack_control_address}
     cluster_local_address: ${_param:single_address}
     cluster_node01_hostname: ctl01
@@ -55,7 +54,6 @@
     cluster_node02_address: ${_param:openstack_control_node02_address}
     cluster_node03_hostname: ctl03
     cluster_node03_address: ${_param:openstack_control_node03_address}
-    keepalived_openstack_telemetry_vip_interface: ens4
   linux:
     system:
       package:
@@ -122,6 +120,8 @@
                 rndc_host: ${_param:openstack_control_node03_address}
                 rndc_port: 953
                 rndc_key_file: /etc/designate/rndc.key
+      quota:
+        zones: ${_param:designate_quota_zones}
     worker:
       enabled: ${_param:designate_worker_enabled}
   glance:
diff --git a/classes/cluster/virtual-mcp11-contrail-nfv/openstack/init.yml b/classes/cluster/virtual-mcp11-contrail-nfv/openstack/init.yml
index b57f7da..b1bd30a 100755
--- a/classes/cluster/virtual-mcp11-contrail-nfv/openstack/init.yml
+++ b/classes/cluster/virtual-mcp11-contrail-nfv/openstack/init.yml
@@ -41,6 +41,7 @@
       rndc_host: ${_param:openstack_control_node01_address}
       rndc_port: 953
       rndc_key_file: /etc/designate/rndc.key
+    designate_quota_zones: 40
     designate_version: ${_param:openstack_version}
     designate_worker_enabled: true
     cluster_vip_address: ${_param:openstack_control_address}
diff --git a/classes/cluster/virtual-mcp11-contrail/openstack/control.yml b/classes/cluster/virtual-mcp11-contrail/openstack/control.yml
index 0415236..5cd7f19 100755
--- a/classes/cluster/virtual-mcp11-contrail/openstack/control.yml
+++ b/classes/cluster/virtual-mcp11-contrail/openstack/control.yml
@@ -44,7 +44,6 @@
 parameters:
   _param:
     keepalived_vip_interface: ens4
-    keepalived_openstack_telemetry_vip_address: 172.16.10.251
     cluster_vip_address: ${_param:openstack_control_address}
     cluster_local_address: ${_param:single_address}
     cluster_node01_hostname: ctl01
@@ -53,7 +52,6 @@
     cluster_node02_address: ${_param:openstack_control_node02_address}
     cluster_node03_hostname: ctl03
     cluster_node03_address: ${_param:openstack_control_node03_address}
-    keepalived_openstack_telemetry_vip_interface: ens4
   linux:
     system:
       package:
diff --git a/classes/cluster/virtual-mcp11-contrail/stacklight/server.yml b/classes/cluster/virtual-mcp11-contrail/stacklight/server.yml
index cc47bb7..4c1e90a 100755
--- a/classes/cluster/virtual-mcp11-contrail/stacklight/server.yml
+++ b/classes/cluster/virtual-mcp11-contrail/stacklight/server.yml
@@ -4,6 +4,7 @@
 - system.linux.system.repo.mcp.salt
 - system.linux.system.repo.elasticsearch
 - system.linux.system.repo.kibana
+- system.linux.system.repo.docker
 - system.heka.remote_collector.container
 - system.heka.remote_collector.input.amqp
 - system.heka.remote_collector.output.elasticsearch
diff --git a/classes/cluster/virtual-mcp11-dvr/openstack/control.yml b/classes/cluster/virtual-mcp11-dvr/openstack/control.yml
index 12431c9..ee9785b 100644
--- a/classes/cluster/virtual-mcp11-dvr/openstack/control.yml
+++ b/classes/cluster/virtual-mcp11-dvr/openstack/control.yml
@@ -38,8 +38,6 @@
 parameters:
   _param:
     keepalived_vip_interface: ens4
-    keepalived_openstack_telemetry_vip_address: 172.16.10.252
-    keepalived_openstack_telemetry_vip_interface: ens4
   linux:
     system:
       package:
diff --git a/classes/cluster/virtual-mcp11-dvr/stacklight/server.yml b/classes/cluster/virtual-mcp11-dvr/stacklight/server.yml
index 193a51c..38a6f3b 100644
--- a/classes/cluster/virtual-mcp11-dvr/stacklight/server.yml
+++ b/classes/cluster/virtual-mcp11-dvr/stacklight/server.yml
@@ -4,6 +4,7 @@
 - system.linux.system.repo.mcp.salt
 - system.linux.system.repo.elasticsearch
 - system.linux.system.repo.kibana
+- system.linux.system.repo.docker
 - system.heka.remote_collector.container
 - system.heka.remote_collector.input.amqp
 - system.heka.remote_collector.output.elasticsearch
diff --git a/classes/cluster/virtual-mcp11-k8s-calico-dyn/infra/config.yml b/classes/cluster/virtual-mcp11-k8s-calico-dyn/infra/config.yml
index b840d0a..c4a4848 100644
--- a/classes/cluster/virtual-mcp11-k8s-calico-dyn/infra/config.yml
+++ b/classes/cluster/virtual-mcp11-k8s-calico-dyn/infra/config.yml
@@ -1,5 +1,6 @@
 classes:
 - system.linux.system.repo.ubuntu
+- system.linux.system.repo.mcp.salt
 - system.openssh.client.lab
 - system.salt.master.pkg
 - system.salt.minion.ca.salt_master
diff --git a/classes/cluster/virtual-mcp11-k8s-calico-dyn/infra/init.yml b/classes/cluster/virtual-mcp11-k8s-calico-dyn/infra/init.yml
index 5e01c17..9eec8d0 100644
--- a/classes/cluster/virtual-mcp11-k8s-calico-dyn/infra/init.yml
+++ b/classes/cluster/virtual-mcp11-k8s-calico-dyn/infra/init.yml
@@ -3,11 +3,7 @@
 - system.linux.system.repo.mcp.extra
 - system.linux.system.repo.mcp.salt
 - system.linux.system.repo.ubuntu
-- system.openssh.server.team.lab
-- system.openssh.server.team.stacklight
-- system.openssh.server.team.tcpcloud
-- system.openssh.server.team.mcp_qa
-- system.openssh.server.team.k8s_team
+- system.openssh.server.team.all
 - system.rsyslog.client.single
 - system.telegraf.agent
 - system.prometheus.collector
diff --git a/classes/cluster/virtual-mcp11-k8s-calico-dyn/kubernetes/compute.yml b/classes/cluster/virtual-mcp11-k8s-calico-dyn/kubernetes/compute.yml
index 79a552f..6ee687b 100644
--- a/classes/cluster/virtual-mcp11-k8s-calico-dyn/kubernetes/compute.yml
+++ b/classes/cluster/virtual-mcp11-k8s-calico-dyn/kubernetes/compute.yml
@@ -1,5 +1,5 @@
 classes:
-- system.linux.system.repo.docker
+- system.linux.system.repo.docker_legacy
 - system.kubernetes.pool.cluster
 - system.salt.minion.cert.k8s_client
 - system.salt.minion.cert.etcd_client
diff --git a/classes/cluster/virtual-mcp11-k8s-calico-dyn/kubernetes/control.yml b/classes/cluster/virtual-mcp11-k8s-calico-dyn/kubernetes/control.yml
index 53418c5..87ebedb 100644
--- a/classes/cluster/virtual-mcp11-k8s-calico-dyn/kubernetes/control.yml
+++ b/classes/cluster/virtual-mcp11-k8s-calico-dyn/kubernetes/control.yml
@@ -1,7 +1,7 @@
 classes:
 - service.etcd.server.cluster
 - system.haproxy.proxy.listen.kubernetes.apiserver
-- system.linux.system.repo.docker
+- system.linux.system.repo.docker_legacy
 - system.salt.minion.cert.etcd_server
 - system.kubernetes.master.cluster
 - cluster.virtual-mcp11-k8s-calico-dyn.kubernetes.compute
diff --git a/classes/cluster/virtual-mcp11-k8s-calico-dyn/kubernetes/init.yml b/classes/cluster/virtual-mcp11-k8s-calico-dyn/kubernetes/init.yml
index 8d637ca..66c3264 100644
--- a/classes/cluster/virtual-mcp11-k8s-calico-dyn/kubernetes/init.yml
+++ b/classes/cluster/virtual-mcp11-k8s-calico-dyn/kubernetes/init.yml
@@ -23,7 +23,7 @@
     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_calico_policy_image: calico/kube-policy-controller:v0.5.4
-    kubernetes_hyperkube_image: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes/hyperkube-amd64:v1.7.5-2
+    kubernetes_hyperkube_image: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes/hyperkube-amd64:v1.7.8-3
     kubernetes_netchecker_agent_image: mirantis/k8s-netchecker-agent:v1.1.0
     kubernetes_netchecker_server_image: mirantis/k8s-netchecker-server:v1.1.0
     kubernetes_netchecker_agent_probeurls: "http://ipinfo.io"
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 fca5814..a5b9930 100644
--- a/classes/cluster/virtual-mcp11-k8s-calico-dyn/stacklight/server.yml
+++ b/classes/cluster/virtual-mcp11-k8s-calico-dyn/stacklight/server.yml
@@ -2,6 +2,7 @@
 - system.docker.host
 - system.linux.system.repo.elasticsearch
 - system.linux.system.repo.kibana
+- system.linux.system.repo.docker
 # Needed to install Galera packages
 - system.linux.system.repo.mcp.openstack
 - system.elasticsearch.server.cluster
diff --git a/classes/cluster/virtual-mcp11-k8s-calico-minimal/infra/config.yml b/classes/cluster/virtual-mcp11-k8s-calico-minimal/infra/config.yml
index c229379..f644754 100644
--- a/classes/cluster/virtual-mcp11-k8s-calico-minimal/infra/config.yml
+++ b/classes/cluster/virtual-mcp11-k8s-calico-minimal/infra/config.yml
@@ -1,5 +1,6 @@
 classes:
 - system.linux.system.repo.ubuntu
+- system.linux.system.repo.mcp.salt
 - system.openssh.client.lab
 - system.salt.master.pkg
 - system.salt.minion.ca.salt_master
diff --git a/classes/cluster/virtual-mcp11-k8s-calico-minimal/infra/init.yml b/classes/cluster/virtual-mcp11-k8s-calico-minimal/infra/init.yml
index bdd4642..017d4d6 100644
--- a/classes/cluster/virtual-mcp11-k8s-calico-minimal/infra/init.yml
+++ b/classes/cluster/virtual-mcp11-k8s-calico-minimal/infra/init.yml
@@ -3,11 +3,7 @@
 - system.linux.system.repo.mcp.extra
 - system.linux.system.repo.mcp.salt
 - system.linux.system.repo.ubuntu
-- system.openssh.server.team.lab
-- system.openssh.server.team.stacklight
-- system.openssh.server.team.tcpcloud
-- system.openssh.server.team.mcp_qa
-- system.openssh.server.team.k8s_team
+- system.openssh.server.team.all
 - system.rsyslog.client.single
 parameters:
   _param:
diff --git a/classes/cluster/virtual-mcp11-k8s-calico-minimal/kubernetes/compute.yml b/classes/cluster/virtual-mcp11-k8s-calico-minimal/kubernetes/compute.yml
index 7f42665..c84a223 100644
--- a/classes/cluster/virtual-mcp11-k8s-calico-minimal/kubernetes/compute.yml
+++ b/classes/cluster/virtual-mcp11-k8s-calico-minimal/kubernetes/compute.yml
@@ -1,5 +1,5 @@
 classes:
-- system.linux.system.repo.docker
+- system.linux.system.repo.docker_legacy
 - system.kubernetes.pool.cluster
 - system.salt.minion.cert.k8s_client
 - system.salt.minion.cert.etcd_client
diff --git a/classes/cluster/virtual-mcp11-k8s-calico-minimal/kubernetes/control.yml b/classes/cluster/virtual-mcp11-k8s-calico-minimal/kubernetes/control.yml
index 5c95c23..c03d2c2 100644
--- a/classes/cluster/virtual-mcp11-k8s-calico-minimal/kubernetes/control.yml
+++ b/classes/cluster/virtual-mcp11-k8s-calico-minimal/kubernetes/control.yml
@@ -1,7 +1,7 @@
 classes:
 - service.etcd.server.cluster
 - system.haproxy.proxy.listen.kubernetes.apiserver
-- system.linux.system.repo.docker
+- system.linux.system.repo.docker_legacy
 - system.salt.minion.cert.etcd_server
 - system.kubernetes.master.cluster
 - cluster.virtual-mcp11-k8s-calico-minimal.kubernetes.compute
diff --git a/classes/cluster/virtual-mcp11-k8s-calico-minimal/kubernetes/init.yml b/classes/cluster/virtual-mcp11-k8s-calico-minimal/kubernetes/init.yml
index ec62a19..88e93e8 100644
--- a/classes/cluster/virtual-mcp11-k8s-calico-minimal/kubernetes/init.yml
+++ b/classes/cluster/virtual-mcp11-k8s-calico-minimal/kubernetes/init.yml
@@ -22,7 +22,7 @@
     kubernetes_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.7.5-2
+    kubernetes_hyperkube_image: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes/hyperkube-amd64:v1.7.8-3
     kubernetes_netchecker_agent_image: mirantis/k8s-netchecker-agent:v1.1.0
     kubernetes_netchecker_server_image: mirantis/k8s-netchecker-server:v1.1.0
     kubernetes_netchecker_agent_probeurls: "http://ipinfo.io"
diff --git a/classes/cluster/virtual-mcp11-k8s-calico/infra/config.yml b/classes/cluster/virtual-mcp11-k8s-calico/infra/config.yml
index 443d473..cec894e 100644
--- a/classes/cluster/virtual-mcp11-k8s-calico/infra/config.yml
+++ b/classes/cluster/virtual-mcp11-k8s-calico/infra/config.yml
@@ -1,5 +1,6 @@
 classes:
 - system.linux.system.repo.ubuntu
+- system.linux.system.repo.mcp.salt
 - system.openssh.client.lab
 - system.salt.master.pkg
 - system.salt.minion.ca.salt_master
diff --git a/classes/cluster/virtual-mcp11-k8s-calico/infra/init.yml b/classes/cluster/virtual-mcp11-k8s-calico/infra/init.yml
index 736117d..4bd38d7 100644
--- a/classes/cluster/virtual-mcp11-k8s-calico/infra/init.yml
+++ b/classes/cluster/virtual-mcp11-k8s-calico/infra/init.yml
@@ -3,11 +3,7 @@
 - system.linux.system.repo.mcp.extra
 - system.linux.system.repo.mcp.salt
 - system.linux.system.repo.ubuntu
-- system.openssh.server.team.lab
-- system.openssh.server.team.stacklight
-- system.openssh.server.team.tcpcloud
-- system.openssh.server.team.mcp_qa
-- system.openssh.server.team.k8s_team
+- system.openssh.server.team.all
 - system.rsyslog.client.single
 parameters:
   _param:
diff --git a/classes/cluster/virtual-mcp11-k8s-calico/kubernetes/compute.yml b/classes/cluster/virtual-mcp11-k8s-calico/kubernetes/compute.yml
index e1325ea..405b75a 100644
--- a/classes/cluster/virtual-mcp11-k8s-calico/kubernetes/compute.yml
+++ b/classes/cluster/virtual-mcp11-k8s-calico/kubernetes/compute.yml
@@ -1,5 +1,5 @@
 classes:
-- system.linux.system.repo.docker
+- system.linux.system.repo.docker_legacy
 - system.kubernetes.pool.cluster
 - system.salt.minion.cert.k8s_client
 - system.salt.minion.cert.etcd_client
diff --git a/classes/cluster/virtual-mcp11-k8s-calico/kubernetes/control.yml b/classes/cluster/virtual-mcp11-k8s-calico/kubernetes/control.yml
index 2153cf3..49c80d5 100644
--- a/classes/cluster/virtual-mcp11-k8s-calico/kubernetes/control.yml
+++ b/classes/cluster/virtual-mcp11-k8s-calico/kubernetes/control.yml
@@ -1,7 +1,7 @@
 classes:
 - service.etcd.server.cluster
 - system.haproxy.proxy.listen.kubernetes.apiserver
-- system.linux.system.repo.docker
+- system.linux.system.repo.docker_legacy
 - system.salt.minion.cert.etcd_server
 - system.kubernetes.master.cluster
 - cluster.virtual-mcp11-k8s-calico.kubernetes.compute
diff --git a/classes/cluster/virtual-mcp11-k8s-calico/kubernetes/init.yml b/classes/cluster/virtual-mcp11-k8s-calico/kubernetes/init.yml
index 0e1c8ff..ea70dcc 100644
--- a/classes/cluster/virtual-mcp11-k8s-calico/kubernetes/init.yml
+++ b/classes/cluster/virtual-mcp11-k8s-calico/kubernetes/init.yml
@@ -23,7 +23,7 @@
     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_calico_policy_image: calico/kube-policy-controller:v0.5.4
-    kubernetes_hyperkube_image: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes/hyperkube-amd64:v1.7.5-2
+    kubernetes_hyperkube_image: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes/hyperkube-amd64:v1.7.8-3
     kubernetes_netchecker_agent_image: mirantis/k8s-netchecker-agent:v1.1.0
     kubernetes_netchecker_server_image: mirantis/k8s-netchecker-server:v1.1.0
     kubernetes_netchecker_agent_probeurls: "http://ipinfo.io"
diff --git a/classes/cluster/virtual-mcp11-k8s-calico/stacklight/server.yml b/classes/cluster/virtual-mcp11-k8s-calico/stacklight/server.yml
index a5abebb..f427930 100644
--- a/classes/cluster/virtual-mcp11-k8s-calico/stacklight/server.yml
+++ b/classes/cluster/virtual-mcp11-k8s-calico/stacklight/server.yml
@@ -3,6 +3,7 @@
 - system.linux.system.repo.elasticsearch
 - system.linux.system.repo.kibana
 - system.linux.system.repo.influxdb
+- system.linux.system.repo.docker
 # Needed to install Galera packages
 - system.linux.system.repo.mcp.openstack
 - system.elasticsearch.server.cluster
@@ -44,6 +45,9 @@
     keepalived_prometheus_vip_password: password
     keepalived_prometheus_vip_interface: ens4
     # Docker/Elasticsearch
+    cluster_elasticsearch_port: 9200
+    cluster_kibana_port: 5601
+    cluster_grafana_port: 3000
     cluster_node01_hostname: ${_param:stacklight_node01_hostname}
     cluster_node01_address: ${_param:stacklight_node01_address}
     cluster_node02_hostname: ${_param:stacklight_node02_hostname}
diff --git a/classes/cluster/virtual-mcp11-k8s-contrail/infra/config.yml b/classes/cluster/virtual-mcp11-k8s-contrail/infra/config.yml
index 22ba7e3..f6604a7 100644
--- a/classes/cluster/virtual-mcp11-k8s-contrail/infra/config.yml
+++ b/classes/cluster/virtual-mcp11-k8s-contrail/infra/config.yml
@@ -1,5 +1,6 @@
 classes:
 - system.linux.system.repo.ubuntu
+- system.linux.system.repo.mcp.salt
 - system.openssh.client.lab
 - system.salt.master.pkg
 - system.salt.minion.ca.salt_master
diff --git a/classes/cluster/virtual-mcp11-k8s-contrail/infra/init.yml b/classes/cluster/virtual-mcp11-k8s-contrail/infra/init.yml
index 34a8fe1..234544f 100644
--- a/classes/cluster/virtual-mcp11-k8s-contrail/infra/init.yml
+++ b/classes/cluster/virtual-mcp11-k8s-contrail/infra/init.yml
@@ -3,11 +3,7 @@
 - system.linux.system.repo.mcp.extra
 - system.linux.system.repo.mcp.salt
 - system.linux.system.repo.ubuntu
-- system.openssh.server.team.lab
-- system.openssh.server.team.stacklight
-- system.openssh.server.team.tcpcloud
-- system.openssh.server.team.mcp_qa
-- system.openssh.server.team.k8s_team
+- system.openssh.server.team.all
 - system.rsyslog.client.single
 - system.heka.log_collector.single
 - system.heka.log_collector.output.telegraf
diff --git a/classes/cluster/virtual-mcp11-k8s-contrail/kubernetes/compute.yml b/classes/cluster/virtual-mcp11-k8s-contrail/kubernetes/compute.yml
index 1935ae4..f9bad77 100644
--- a/classes/cluster/virtual-mcp11-k8s-contrail/kubernetes/compute.yml
+++ b/classes/cluster/virtual-mcp11-k8s-contrail/kubernetes/compute.yml
@@ -1,5 +1,5 @@
 classes:
-- system.linux.system.repo.docker
+- system.linux.system.repo.docker_legacy
 - system.kubernetes.pool.cluster
 - system.salt.minion.cert.k8s_client
 - system.salt.minion.cert.etcd_client
diff --git a/classes/cluster/virtual-mcp11-k8s-contrail/kubernetes/control.yml b/classes/cluster/virtual-mcp11-k8s-contrail/kubernetes/control.yml
index 034c4ac..e102844 100644
--- a/classes/cluster/virtual-mcp11-k8s-contrail/kubernetes/control.yml
+++ b/classes/cluster/virtual-mcp11-k8s-contrail/kubernetes/control.yml
@@ -1,7 +1,7 @@
 classes:
 - service.etcd.server.cluster
 - system.haproxy.proxy.listen.kubernetes.apiserver
-- system.linux.system.repo.docker
+- system.linux.system.repo.docker_legacy
 - system.salt.minion.cert.etcd_server
 - system.kubernetes.master.cluster
 - cluster.virtual-mcp11-k8s-contrail.kubernetes.compute
diff --git a/classes/cluster/virtual-mcp11-k8s-contrail/kubernetes/init.yml b/classes/cluster/virtual-mcp11-k8s-contrail/kubernetes/init.yml
index bbe5de9..740c4fe 100644
--- a/classes/cluster/virtual-mcp11-k8s-contrail/kubernetes/init.yml
+++ b/classes/cluster/virtual-mcp11-k8s-contrail/kubernetes/init.yml
@@ -25,7 +25,7 @@
     kubernetes_calico_policy_image: calico/kube-policy-controller:v0.5.4
     kubernetes_opencontrail_cni_image: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes/contrail-integration/contrail-cni:v1.0.0
 
-    kubernetes_hyperkube_image: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes/hyperkube-amd64:v1.7.5-2
+    kubernetes_hyperkube_image: docker-prod-virtual.docker.mirantis.net/mirantis/kubernetes/hyperkube-amd64:v1.7.8-3
     kubernetes_netchecker_agent_image: mirantis/k8s-netchecker-agent:v1.1.0
     kubernetes_netchecker_server_image: mirantis/k8s-netchecker-server:v1.1.0
     kubernetes_netchecker_agent_probeurls: "http://ipinfo.io"
diff --git a/classes/cluster/virtual-mcp11-k8s-contrail/stacklight/server.yml b/classes/cluster/virtual-mcp11-k8s-contrail/stacklight/server.yml
index 78c9849..633190b 100644
--- a/classes/cluster/virtual-mcp11-k8s-contrail/stacklight/server.yml
+++ b/classes/cluster/virtual-mcp11-k8s-contrail/stacklight/server.yml
@@ -2,6 +2,7 @@
 - system.linux.system.repo.influxdb
 - system.linux.system.repo.elasticsearch
 - system.linux.system.repo.kibana
+- system.linux.system.repo.docker
 # Needed to install Galera packages
 - system.linux.system.repo.mcp.openstack
 - system.docker.host
@@ -53,6 +54,9 @@
     # Kibana
     kibana_elasticsearch_host: ${_param:cluster_vip_address}
     # Docker/Elasticsearch
+    cluster_elasticsearch_port: 9200
+    cluster_kibana_port: 5601
+    cluster_grafana_port: 3000
     cluster_node01_hostname: ${_param:stacklight_node01_hostname}
     cluster_node01_address: ${_param:stacklight_node01_address}
     cluster_node02_hostname: ${_param:stacklight_node02_hostname}
diff --git a/classes/cluster/virtual-mcp11-ovs-dpdk/openstack/control.yml b/classes/cluster/virtual-mcp11-ovs-dpdk/openstack/control.yml
index 8d86179..2e2ec97 100644
--- a/classes/cluster/virtual-mcp11-ovs-dpdk/openstack/control.yml
+++ b/classes/cluster/virtual-mcp11-ovs-dpdk/openstack/control.yml
@@ -36,8 +36,6 @@
 parameters:
   _param:
     keepalived_vip_interface: ens4
-    keepalived_openstack_telemetry_vip_address: 172.16.10.252
-    keepalived_openstack_telemetry_vip_interface: ens4
   linux:
     system:
       package:
@@ -149,4 +147,3 @@
       notification:
         driver: messagingv2
         topics: "notifications,${_param:stacklight_notification_topic}"
-
diff --git a/classes/cluster/virtual-mcp11-ovs-ironic/openstack/control.yml b/classes/cluster/virtual-mcp11-ovs-ironic/openstack/control.yml
index c2b5b99..0a88de2 100644
--- a/classes/cluster/virtual-mcp11-ovs-ironic/openstack/control.yml
+++ b/classes/cluster/virtual-mcp11-ovs-ironic/openstack/control.yml
@@ -38,10 +38,8 @@
 parameters:
   _param:
     keepalived_vip_interface: ens4
-    keepalived_openstack_telemetry_vip_interface: ens4
     cluster_vip_address: ${_param:openstack_control_address}
     cluster_local_address: ${_param:single_address}
-    keepalived_openstack_telemetry_vip_interface: ens4
   linux:
     system:
       package:
@@ -109,4 +107,3 @@
       notification:
         driver: messagingv2
         topics: "notifications,${_param:stacklight_notification_topic}"
-
diff --git a/classes/cluster/virtual-mcp11-ovs/openstack/control.yml b/classes/cluster/virtual-mcp11-ovs/openstack/control.yml
index 9f0477a..7617480 100644
--- a/classes/cluster/virtual-mcp11-ovs/openstack/control.yml
+++ b/classes/cluster/virtual-mcp11-ovs/openstack/control.yml
@@ -33,8 +33,6 @@
 parameters:
   _param:
     keepalived_vip_interface: ens4
-    keepalived_openstack_telemetry_vip_address: 172.16.10.252
-    keepalived_openstack_telemetry_vip_interface: ens4
   linux:
     system:
       package:
@@ -102,4 +100,3 @@
       notification:
         driver: messagingv2
         topics: "notifications,${_param:stacklight_notification_topic}"
-
diff --git a/classes/cluster/virtual-mcp11-ovs/openstack/init.yml b/classes/cluster/virtual-mcp11-ovs/openstack/init.yml
index d96f0d0..c7cf751 100644
--- a/classes/cluster/virtual-mcp11-ovs/openstack/init.yml
+++ b/classes/cluster/virtual-mcp11-ovs/openstack/init.yml
@@ -67,7 +67,7 @@
     heat_service_host: ${_param:cluster_vip_address}
     heat_domain_admin_password: workshop
     ceilometer_version: ${_param:openstack_version}
-    ceilometer_service_host: 172.16.10.108
+    ceilometer_service_host: ${_param:cluster_vip_address}
     cinder_version: ${_param:openstack_version}
     cinder_service_host: ${_param:cluster_vip_address}
     ceilometer_graphite_publisher_host: 172.16.10.107
diff --git a/classes/system b/classes/system
index 91f7c58..fe4aa38 160000
--- a/classes/system
+++ b/classes/system
@@ -1 +1 @@
-Subproject commit 91f7c583759a99539f4e6176360f4f3c085bfdf1
+Subproject commit fe4aa384d17b441219c2f0da24d9cc3bb711ccef