Merge pull request #224 from Mirantis/pr_shared_salt_cert_dir

add shared salt pki/cert directory
diff --git a/aodh/server/cluster.yml b/aodh/server/cluster.yml
index b3fb4fb..4743111 100644
--- a/aodh/server/cluster.yml
+++ b/aodh/server/cluster.yml
@@ -10,6 +10,7 @@
       ttl: 86400
       debug: false
       verbose: true
+      region: ${_param:openstack_region}
       database:
         engine: "mysql+pymysql"
         host: ${_param:openstack_database_address}
@@ -36,4 +37,4 @@
         members:
           - host: ${_param:openstack_message_queue_node01_address}
           - host: ${_param:openstack_message_queue_node02_address}
-          - host: ${_param:openstack_message_queue_node03_address}
\ No newline at end of file
+          - host: ${_param:openstack_message_queue_node03_address}
diff --git a/devops_portal/service/elasticsearch.yml b/devops_portal/service/elasticsearch.yml
new file mode 100644
index 0000000..b945af3
--- /dev/null
+++ b/devops_portal/service/elasticsearch.yml
@@ -0,0 +1,10 @@
+parameters:
+  devops_portal:
+    config:
+      service:
+        elasticsearch:
+          configure_proxy: true
+          endpoint:
+            address: ${_param:haproxy_elasticsearch_bind_host}
+            port: ${_param:haproxy_elasticsearch_bind_port}
+            https: ${_param:haproxy_elasticsearch_ssl:enabled}
diff --git a/docker/swarm/service/elasticsearch.yml b/docker/swarm/service/elasticsearch.yml
new file mode 100644
index 0000000..02dea57
--- /dev/null
+++ b/docker/swarm/service/elasticsearch.yml
@@ -0,0 +1,19 @@
+parameters:
+  _param:
+    elasticsearch_replicas: 1
+    docker_image_oss_elasticsearch: docker-sandbox.sandbox.mirantis.net/vstoiko/oss/elasticsearch:latest
+  docker:
+    client:
+      service:
+        elasticsearch:
+          replicas: ${_param:elasticsearch_replicas}
+          image: ${_param:docker_image_oss_elasticsearch}
+          restart:
+            condition: any
+          ports:
+            - ${_param:haproxy_elasticsearch_exposed_port}:${_param:haproxy_elasticsearch_bind_port}
+          volume:
+            elasticsearch:
+              type: bind
+              source: /srv/volumes/elasticsearch
+              destination: /var/lib/elasticsearch/data
diff --git a/docker/swarm/service/pushkin.yml b/docker/swarm/service/pushkin.yml
new file mode 100644
index 0000000..e4fe424
--- /dev/null
+++ b/docker/swarm/service/pushkin.yml
@@ -0,0 +1,28 @@
+parameters:
+  _param:
+    docker_pushkin_replicas: 1
+    docker_image_pushkin: docker-sandbox.sandbox.mirantis.net/vstoiko/oss/pushkin:latest
+    pushkin_db_password: pushkin
+    pushkin_db_user: pushkin
+    pushkin_db: pushkin
+  docker:
+    client:
+      service:
+        pushkin-backend:
+          environment:
+            POSTGRES_USER: ${_param:pushkin_db_user}
+            POSTGRES_PASSWORD: ${_param:pushkin_db_password}
+            POSTGRES_DB: ${_param:pushkin_db}
+            PUSHKINDBHOST: ${_param:haproxy_pushkin_db_bind_host}
+            PUSHKINELASTICHOST: ${_param:haproxy_elasticsearch_bind_host}
+          replicas: ${_param:docker_pushkin_replicas}
+          image: ${_param:docker_image_pushkin}
+          restart:
+            condition: any
+          ports:
+            - ${_param:haproxy_pushkin_exposed_port}:${_param:haproxy_pushkin_bind_port}
+          volume:
+            pushkin:
+              type: bind
+              source: /srv/volumes/pushkin/logs
+              destination: /var/log/pushkin/logs
\ No newline at end of file
diff --git a/docker/swarm/service/pushkin_db.yml b/docker/swarm/service/pushkin_db.yml
new file mode 100644
index 0000000..9b81778
--- /dev/null
+++ b/docker/swarm/service/pushkin_db.yml
@@ -0,0 +1,27 @@
+parameters:
+  _param:
+    docker_pushkin_db_replicas: 1
+    docker_image_pushkin_db: docker-sandbox.sandbox.mirantis.net/vstoiko/oss/pushkindb:latest
+    pushkin_db_password: pushkin
+    pushkin_db_user: pushkin
+    pushkin_db: pushkin
+  docker:
+    client:
+      service:
+        pushkin-db:
+          environment:
+            POSTGRES_USER: ${_param:pushkin_db_user}
+            POSTGRES_PASSWORD: ${_param:pushkin_db_password}
+            POSTGRES_DB: ${_param:pushkin_db}
+          replicas: ${_param:docker_pushkin_db_replicas}
+          image: ${_param:docker_image_pushkin_db}
+          restart:
+            condition: any
+          ports:
+            - ${_param:haproxy_pushkin_db_exposed_port}:${_param:haproxy_pushkin_db_bind_port}
+          volume:
+            pushkin:
+              type: bind
+              source: /srv/volumes/pushkin/data
+              destination: /var/lib/postgresql/data
+
diff --git a/glusterfs/client/volume/elasticsearch.yml b/glusterfs/client/volume/elasticsearch.yml
new file mode 100644
index 0000000..f5ad7ae
--- /dev/null
+++ b/glusterfs/client/volume/elasticsearch.yml
@@ -0,0 +1,10 @@
+parameters:
+  _param:
+    elasticsearch_glusterfs_service_host: ${_param:glusterfs_service_host}
+  glusterfs:
+    client:
+      volumes:
+        elasticsearch:
+          path: /srv/volumes/elasticsearch
+          server: ${_param:elasticsearch_glusterfs_service_host}
+          opts: 'defaults'
diff --git a/glusterfs/client/volume/pushkin.yml b/glusterfs/client/volume/pushkin.yml
new file mode 100644
index 0000000..1853863
--- /dev/null
+++ b/glusterfs/client/volume/pushkin.yml
@@ -0,0 +1,10 @@
+parameters:
+  _param:
+    pushkin_glusterfs_service_host: ${_param:glusterfs_service_host}
+  glusterfs:
+    client:
+      volumes:
+        pushkin:
+          path: /srv/volumes/pushkin
+          server: ${_param:pushkin_glusterfs_service_host}
+          opts: 'defaults'
diff --git a/glusterfs/server/volume/elasticsearch.yml b/glusterfs/server/volume/elasticsearch.yml
new file mode 100644
index 0000000..73f35c1
--- /dev/null
+++ b/glusterfs/server/volume/elasticsearch.yml
@@ -0,0 +1,17 @@
+parameters:
+  glusterfs:
+    server:
+      volumes:
+        elasticsearch:
+          storage: /srv/glusterfs/elasticsearch
+          replica: 3
+          bricks:
+            - ${_param:cluster_node01_address}:/srv/glusterfs/elasticsearch
+            - ${_param:cluster_node02_address}:/srv/glusterfs/elasticsearch
+            - ${_param:cluster_node03_address}:/srv/glusterfs/elasticsearch
+          options:
+            cluster.readdir-optimize: On
+            nfs.disable: On
+            network.remote-dio: On
+            diagnostics.client-log-level: WARNING
+            diagnostics.brick-log-level: WARNING
diff --git a/glusterfs/server/volume/pushkin.yml b/glusterfs/server/volume/pushkin.yml
new file mode 100644
index 0000000..52d393e
--- /dev/null
+++ b/glusterfs/server/volume/pushkin.yml
@@ -0,0 +1,17 @@
+parameters:
+  glusterfs:
+    server:
+      volumes:
+        pushkin:
+          storage: /srv/glusterfs/pushkin
+          replica: 3
+          bricks:
+            - ${_param:cluster_node01_address}:/srv/glusterfs/pushkin
+            - ${_param:cluster_node02_address}:/srv/glusterfs/pushkin
+            - ${_param:cluster_node03_address}:/srv/glusterfs/pushkin
+          options:
+            cluster.readdir-optimize: On
+            nfs.disable: On
+            network.remote-dio: On
+            diagnostics.client-log-level: WARNING
+            diagnostics.brick-log-level: WARNING
diff --git a/haproxy/proxy/listen/openstack/glare.yml b/haproxy/proxy/listen/openstack/glare.yml
new file mode 100644
index 0000000..a984275
--- /dev/null
+++ b/haproxy/proxy/listen/openstack/glare.yml
@@ -0,0 +1,23 @@
+parameters:
+  haproxy:
+    proxy:
+      listen:
+        glare:
+          type: general-service
+          service_name: glare
+          binds:
+          - address: ${_param:cluster_vip_address}
+            port: 9494
+          servers:
+          - name: ctl01
+            host: ${_param:cluster_node01_address}
+            port: 9494
+            params: check inter 10s fastinter 2s downinter 3s rise 3 fall 3
+          - name: ctl02
+            host: ${_param:cluster_node02_address}
+            port: 9494
+            params: check inter 10s fastinter 2s downinter 3s rise 3 fall 3
+          - name: ctl03
+            host: ${_param:cluster_node03_address}
+            port: 9494
+            params: check inter 10s fastinter 2s downinter 3s rise 3 fall 3
diff --git a/haproxy/proxy/listen/oss/elasticsearch.yml b/haproxy/proxy/listen/oss/elasticsearch.yml
new file mode 100644
index 0000000..2f5d1ee
--- /dev/null
+++ b/haproxy/proxy/listen/oss/elasticsearch.yml
@@ -0,0 +1,38 @@
+parameters:
+  _param:
+    haproxy_elasticsearch_bind_host: ${_param:haproxy_bind_address}
+    haproxy_elasticsearch_bind_port: 9200
+    haproxy_elasticsearch_exposed_port: 19200
+    haproxy_elasticsearch_ssl:
+      enabled: false
+  haproxy:
+    proxy:
+      listen:
+        elasticsearch:
+          mode: http
+          options:
+            - forwardfor
+            - httpchk
+            - httpclose
+            - httplog
+          balance: source
+          http_request:
+            - action: "add-header X-Forwarded-Proto https"
+              condition: "if { ssl_fc }"
+          binds:
+            - address: ${_param:haproxy_elasticsearch_bind_host}
+              port: ${_param:haproxy_elasticsearch_bind_port}
+              ssl: ${_param:haproxy_elasticsearch_ssl}
+          servers:
+            - name: ${_param:cluster_node01_name}
+              host: ${_param:cluster_node01_address}
+              port: ${_param:haproxy_elasticsearch_exposed_port}
+              params: check
+            - name: ${_param:cluster_node02_name}
+              host: ${_param:cluster_node02_address}
+              port: ${_param:haproxy_elasticsearch_exposed_port}
+              params: backup check
+            - name: ${_param:cluster_node03_name}
+              host: ${_param:cluster_node03_address}
+              port: ${_param:haproxy_elasticsearch_exposed_port}
+              params: backup check
diff --git a/haproxy/proxy/listen/oss/pushkin.yml b/haproxy/proxy/listen/oss/pushkin.yml
new file mode 100644
index 0000000..458a226
--- /dev/null
+++ b/haproxy/proxy/listen/oss/pushkin.yml
@@ -0,0 +1,37 @@
+parameters:
+  _param:
+    haproxy_pushkin_bind_host: ${_param:haproxy_bind_address}
+    haproxy_pushkin_bind_port: 8887
+    haproxy_pushkin_exposed_port: 18887
+    haproxy_pushkin_ssl:
+      enabled: false
+  haproxy:
+    proxy:
+      listen:
+        pushkin:
+          mode: http
+          options:
+          - httpchk get /apps
+          balance: source
+          http_request:
+            - action: "add-header X-Forwarded-Proto https"
+              condition: "if { ssl_fc }"
+          sticks:
+          - http-check expect ! rstatus ^5
+          binds:
+            - address: ${_param:haproxy_pushkin_bind_host}
+              port: ${_param:haproxy_pushkin_bind_port}
+              ssl: ${_param:haproxy_pushkin_ssl}
+          servers:
+            - name: ${_param:cluster_node01_name}
+              host: ${_param:cluster_node01_address}
+              port: ${_param:haproxy_pushkin_exposed_port}
+              params: check
+            - name: ${_param:cluster_node02_name}
+              host: ${_param:cluster_node02_address}
+              port: ${_param:haproxy_pushkin_exposed_port}
+              params: backup check
+            - name: ${_param:cluster_node03_name}
+              host: ${_param:cluster_node03_address}
+              port: ${_param:haproxy_pushkin_exposed_port}
+              params: backup check
diff --git a/haproxy/proxy/listen/oss/pushkin_db.yml b/haproxy/proxy/listen/oss/pushkin_db.yml
new file mode 100644
index 0000000..74b15a2
--- /dev/null
+++ b/haproxy/proxy/listen/oss/pushkin_db.yml
@@ -0,0 +1,32 @@
+parameters:
+  _param:
+    haproxy_pushkin_db_bind_host: ${_param:haproxy_bind_address}
+    haproxy_pushkin_db_bind_port: 5432
+    haproxy_pushkin_db_exposed_port: 15432
+    haproxy_pushkin_db_ssl:
+      enabled: false
+  haproxy:
+    proxy:
+      listen:
+        pushkin_db:
+          mode: tcp
+          balance: source
+          options:
+          - pgsql-check user ${_param:pushkin_db_user}
+          binds:
+            - address: ${_param:haproxy_pushkin_db_bind_host}
+              port: ${_param:haproxy_pushkin_db_bind_port}
+              ssl: ${_param:haproxy_pushkin_db_ssl}
+          servers:
+            - name: ${_param:cluster_node01_name}
+              host: ${_param:cluster_node01_address}
+              port: ${_param:haproxy_pushkin_db_exposed_port}
+              params: check
+            - name: ${_param:cluster_node02_name}
+              host: ${_param:cluster_node02_address}
+              port: ${_param:haproxy_pushkin_db_exposed_port}
+              params: backup check
+            - name: ${_param:cluster_node03_name}
+              host: ${_param:cluster_node03_address}
+              port: ${_param:haproxy_pushkin_db_exposed_port}
+              params: backup check
diff --git a/heat/server/cluster.yml b/heat/server/cluster.yml
index 474deb9..ee5df33 100644
--- a/heat/server/cluster.yml
+++ b/heat/server/cluster.yml
@@ -4,6 +4,8 @@
 - service.keepalived.cluster.single
 - system.haproxy.proxy.listen.openstack.heat
 parameters:
+  _param:
+    cluster_public_protocol: https
   heat:
     server:
       stack_domain_admin:
@@ -28,14 +30,17 @@
         user: heat
         password: ${_param:mysql_heat_password}
       metadata:
-        host: ${_param:cluster_vip_address}
+        host: ${_param:cluster_public_host}
         port: 8000
+        protocol: ${_param:cluster_public_protocol}
       waitcondition:
-        host: ${_param:cluster_vip_address}
+        host: ${_param:cluster_public_host}
         port: 8000
+        protocol: ${_param:cluster_public_protocol}
       watch:
-        host: ${_param:cluster_vip_address}
+        host: ${_param:cluster_public_host}
         port: 8003
+        protocol: ${_param:cluster_public_protocol}
       identity:
         engine: keystone
         host: ${_param:cluster_vip_address}
diff --git a/jenkins/client/approved_scripts.yml b/jenkins/client/approved_scripts.yml
index bf46803..d947687 100644
--- a/jenkins/client/approved_scripts.yml
+++ b/jenkins/client/approved_scripts.yml
@@ -92,3 +92,5 @@
         - method java.util.stream.Stream collect java.util.stream.Collector
         - staticMethod java.util.regex.Pattern compile java.lang.String
         - method java.util.regex.Matcher find
+        - method hudson.model.Run getId
+        - method java.util.regex.MatchResult groupCount
diff --git a/jenkins/client/init.yml b/jenkins/client/init.yml
index e7c56ec..191527f 100644
--- a/jenkins/client/init.yml
+++ b/jenkins/client/init.yml
@@ -46,3 +46,19 @@
           enabled: true
           url: ${_param:jenkins_gerrit_url}/mcp-ci/pipeline-library
           credential_id: gerrit
+      view:
+        Mirrors:
+          enabled: true
+          type: CategorizedJobsView
+          include_regex: "git-mirror-.*"
+          categories:
+            - group_regex: "git-mirror-2way-.*"
+              naming_rule: "2way"
+            - group_regex: "git-mirror-(?!upstream-|2way-).*"
+              naming_rule: "Downstream"
+            - group_regex: "git-mirror-upstream-.*"
+              naming_rule: "Upstream"
+        Tests:
+          enabled: true
+          type: ListView
+          include_regex: "test-.*"
diff --git a/jenkins/client/job/debian/packages/init.yml b/jenkins/client/job/debian/packages/init.yml
index 56f6f12..cb4c245 100644
--- a/jenkins/client/job/debian/packages/init.yml
+++ b/jenkins/client/job/debian/packages/init.yml
@@ -3,3 +3,15 @@
   - system.jenkins.client.job.debian.packages.salt
   - system.jenkins.client.job.debian.packages.salt-multi
   - system.jenkins.client.job.debian.packages.horizon
+parameters:
+  jenkins:
+    client:
+      view:
+        Xenial:
+          enabled: true
+          type: ListView
+          include_regex: "build-.*-ubuntu-xenial.*"
+        Trusty:
+          enabled: true
+          type: ListView
+          include_regex: "build-.*-ubuntu-trusty.*"
\ No newline at end of file
diff --git a/jenkins/client/job/deploy/lab/init.yml b/jenkins/client/job/deploy/lab/init.yml
index 24cdcab..5fc4401 100644
--- a/jenkins/client/job/deploy/lab/init.yml
+++ b/jenkins/client/job/deploy/lab/init.yml
@@ -4,3 +4,12 @@
   - system.jenkins.client.job.deploy.lab.mk.cleanup
   - system.jenkins.client.job.deploy.lab.cicd
   - system.jenkins.client.job.deploy.lab.demo
+
+parameters:
+  jenkins:
+    client:
+      view:
+        Labs:
+          enabled: true
+          type: ListView
+          include_regex: "deploy-(physical|heat).*(mk|mcp).*"
diff --git a/jenkins/client/job/deploy/lab/mk/init.yml b/jenkins/client/job/deploy/lab/mk/init.yml
index 0bcfbc0..0fc26f7 100644
--- a/jenkins/client/job/deploy/lab/mk/init.yml
+++ b/jenkins/client/job/deploy/lab/mk/init.yml
@@ -59,6 +59,7 @@
               HEAT_STACK_DELETE:
                 type: boolean
                 default: 'true'
+                description: "Don't enable it if you need to use the lab after"
               HEAT_STACK_REUSE:
                 type: boolean
                 default: 'false'
diff --git a/jenkins/client/job/deploy/lab/mk/virtual.yml b/jenkins/client/job/deploy/lab/mk/virtual.yml
index a97a22a..7e05368 100644
--- a/jenkins/client/job/deploy/lab/mk/virtual.yml
+++ b/jenkins/client/job/deploy/lab/mk/virtual.yml
@@ -3,6 +3,25 @@
 parameters:
   _param:
     jenkins_deploy_lab_mk_jobs:
+      # mk20
+      - lab: virtual_mk20_advanced
+        install: core,openstack
+        stack_type: heat
+        test: openstack
+      - lab: virtual_mk20_basic
+        install: core,openstack
+        stack_type: heat
+        test: openstack
+      # mk22
+      - lab: virtual_mk22_advanced
+        install: core,openstack
+        stack_type: heat
+        test: openstack
+      - lab: virtual_mk22_basic
+        install: core,openstack
+        stack_type: heat
+        test: openstack
+      # mcp05
       - lab: virtual_mcp05_dvr
         install: core,openstack,dvr
         stack_type: heat
@@ -11,6 +30,7 @@
         install: core,openstack,ovs
         stack_type: heat
         test: openstack
+      # mcp10
       - lab: virtual_mcp10_contrail
         install: core,openstack,contrail
         stack_type: heat
@@ -23,23 +43,20 @@
         install: core,openstack,ovs
         stack_type: heat
         test: openstack
-      - lab: virtual_mcp10_k8s
+      # mcp11
+      - lab: virtual_mcp11_contrail
+        install: core,openstack,contrail
+        stack_type: heat
+        test: openstack
+      - lab: virtual_mcp11_dvr
+        install: core,openstack,dvr
+        stack_type: heat
+        test: openstack
+      - lab: virtual_mcp11_ovs
+        install: core,openstack,ovs
+        stack_type: heat
+        test: openstack
+      - lab: virtual_mcp11_k8s
         install: core,k8s
         stack_type: heat
         test: k8s
-      - lab: virtual_mk20_advanced
-        install: core,openstack
-        stack_type: heat
-        test: openstack
-      - lab: virtual_mk20_basic
-        install: core,openstack
-        stack_type: heat
-        test: openstack
-      - lab: virtual_mk22_advanced
-        install: core,openstack
-        stack_type: heat
-        test: openstack
-      - lab: virtual_mk22_basic
-        install: core,openstack
-        stack_type: heat
-        test: openstack
diff --git a/jenkins/client/job/docker/aptly.yml b/jenkins/client/job/docker/aptly.yml
new file mode 100644
index 0000000..4e77d2a
--- /dev/null
+++ b/jenkins/client/job/docker/aptly.yml
@@ -0,0 +1,45 @@
+parameters:
+  jenkins:
+    client:
+      job:
+        docker-build-images-aptly:
+          name: docker-build-images-aptly
+          discard:
+            build:
+              keep_num: 25
+            artifact:
+              keep_num: 25
+          type: workflow-scm
+          concurrent: true
+          scm:
+            type: git
+            url: "${_param:jenkins_gerrit_url}/mk/docker-aptly"
+            credentials: "gerrit"
+          trigger:
+            gerrit:
+              project:
+                "mk/docker-aptly":
+                  branches:
+                    - master
+              event:
+                ref:
+                  - updated: {}
+          param:
+            IMAGE_GIT_URL:
+              type: string
+              default: "${_param:jenkins_gerrit_url}/mk/docker-aptly"
+            IMAGE_BRANCH:
+              type: string
+              default: "master"
+            IMAGE_CREDENTIALS_ID:
+              type: string
+              default: "gerrit"
+            IMAGE_TAGS:
+              type: string
+              default: "latest"
+            REGISTRY_URL:
+              type: string
+              default: ""
+            REGISTRY_CREDENTIALS_ID:
+              type: string
+              default: "dockerhub"
diff --git a/jenkins/client/job/docker/init.yml b/jenkins/client/job/docker/init.yml
new file mode 100644
index 0000000..f4a6a87
--- /dev/null
+++ b/jenkins/client/job/docker/init.yml
@@ -0,0 +1,74 @@
+parameters:
+  jenkins:
+    client:
+      job_template:
+        docker-build-image:
+          name: docker-build-image-{{name}}-{{branch}}
+          jobs:
+            - name: gerrit
+              branch: "2.12.7"
+              tags: "2.12.7"
+              dockerfile: "Dockerfile"
+            - name: gerrit
+              branch: "2.13.6"
+              tags: "2.13.6 latest"
+              dockerfile: "Dockerfile"
+            - name: jenkins
+              branch: "2.32.3"
+              tags: "2.32"
+              dockerfile: "Dockerfile"
+            - name: jenkins
+              branch: "2.52"
+              tags: "2.52 latest"
+              dockerfile: "Dockerfile"
+            - name: phpldapadmin
+              branch: "master"
+              tags: "0.16.2 latest"
+              dockerfile: "image/Dockerfile"
+          template:
+            discard:
+              build:
+                keep_num: 5
+              artifact:
+                keep_num: 5
+            type: workflow-scm
+            concurrent: true
+            scm:
+              type: git
+              url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+              credentials: "gerrit"
+              script: docker-build-image-pipeline.groovy
+            trigger:
+              gerrit:
+                project:
+                  "mk/docker-{{name}}":
+                    branches:
+                      - "{{branch}}"
+                event:
+                  ref:
+                    - updated: {}
+            param:
+              IMAGE_NAME:
+                type: string
+                default: "tcpcloud/{{name}}"
+              IMAGE_GIT_URL:
+                type: string
+                default: "${_param:jenkins_gerrit_url}/mk/docker-{{name}}"
+              IMAGE_BRANCH:
+                type: string
+                default: "{{branch}}"
+              IMAGE_CREDENTIALS_ID:
+                type: string
+                default: "gerrit"
+              IMAGE_TAGS:
+                type: string
+                default: "{{tags}}"
+              DOCKERFILE_PATH:
+                type: string
+                default: "{{dockerfile}}"
+              REGISTRY_URL:
+                type: string
+                default: ""
+              REGISTRY_CREDENTIALS_ID:
+                type: string
+                default: "dockerhub"
\ No newline at end of file
diff --git a/jenkins/client/job/gating.yml b/jenkins/client/job/gating.yml
index 387db35..e825739 100644
--- a/jenkins/client/job/gating.yml
+++ b/jenkins/client/job/gating.yml
@@ -1,6 +1,11 @@
 parameters:
   jenkins:
     client:
+      view:
+        Gating:
+          enabled: true
+          type: ListView
+          include_regex: "gate-.*"
       job_template:
         gate-gerrit-namespace:
           name: gate-gerrit-{{name}}
@@ -23,6 +28,7 @@
               url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
               credentials: "gerrit"
               script: gating-pipeline.groovy
+            quiet_period: 60
             trigger:
               gerrit:
                 project:
diff --git a/jenkins/client/job/git-mirrors/downstream/templates.yml b/jenkins/client/job/git-mirrors/downstream/templates.yml
new file mode 100644
index 0000000..50e9152
--- /dev/null
+++ b/jenkins/client/job/git-mirrors/downstream/templates.yml
@@ -0,0 +1,13 @@
+classes:
+  - system.jenkins.client.job.git-mirrors.downstream
+parameters:
+  _param:
+    jenkins_git_mirror_downstream_jobs:
+      - name: cookiecutter-templates
+        downstream: mk/cookiecutter-templates
+        upstream: "https://github.com/Mirantis/mk2x-cookiecutter-reclass-model"
+        branches: master
+      - name: heat-templates
+        downstream: mk/heat-templates
+        upstream: "https://github.com/Mirantis/mk-lab-heat-templates"
+        branches: master
\ No newline at end of file
diff --git a/jenkins/client/job/git-mirrors/upstream/templates.yml b/jenkins/client/job/git-mirrors/upstream/templates.yml
new file mode 100644
index 0000000..12e4a9a
--- /dev/null
+++ b/jenkins/client/job/git-mirrors/upstream/templates.yml
@@ -0,0 +1,13 @@
+classes:
+  - system.jenkins.client.job.git-mirrors.upstream
+parameters:
+  _param:
+    jenkins_git_mirror_upstream_jobs:
+      - name: cookiecutter-templates
+        downstream: mk/cookiecutter-templates
+        upstream: "git@github.com:Mirantis/mk2x-cookiecutter-reclass-model"
+        branches: master
+      - name: heat-templates
+        downstream: mk/heat-templates
+        upstream: "git@github.com:Mirantis/mk-lab-heat-templates"
+        branches: master
\ No newline at end of file
diff --git a/jenkins/client/job/image/centos.yml b/jenkins/client/job/image/centos.yml
index 852f695..995bfd4 100644
--- a/jenkins/client/job/image/centos.yml
+++ b/jenkins/client/job/image/centos.yml
@@ -1,3 +1,5 @@
+classes:
+  - system.jenkins.client.job.image
 parameters:
   _param:
     jenkins_packer_pipeline: "${_param:jenkins_gerrit_url}/mk/packer-templates"
diff --git a/jenkins/client/job/image/debian.yml b/jenkins/client/job/image/debian.yml
index 7c996f3..924b34c 100644
--- a/jenkins/client/job/image/debian.yml
+++ b/jenkins/client/job/image/debian.yml
@@ -1,3 +1,5 @@
+classes:
+  - system.jenkins.client.job.image
 parameters:
   _param:
     jenkins_packer_pipeline: "${_param:jenkins_gerrit_url}/mk/packer-templates"
diff --git a/jenkins/client/job/image/init.yml b/jenkins/client/job/image/init.yml
new file mode 100644
index 0000000..ee7f743
--- /dev/null
+++ b/jenkins/client/job/image/init.yml
@@ -0,0 +1,8 @@
+parameters:
+  jenkins:
+    client:
+      view:
+        Images:
+          enabled: true
+          type: ListView
+          include_regex: "build-image-.*"
\ No newline at end of file
diff --git a/jenkins/client/job/image/ubuntu.yml b/jenkins/client/job/image/ubuntu.yml
index 504702c..a9f25e5 100644
--- a/jenkins/client/job/image/ubuntu.yml
+++ b/jenkins/client/job/image/ubuntu.yml
@@ -1,3 +1,5 @@
+classes:
+  - system.jenkins.client.job.image
 parameters:
   _param:
     jenkins_packer_pipeline: "${_param:jenkins_gerrit_url}/mk/packer-templates"
diff --git a/jenkins/client/job/opencontrail/build/dpdk-extra.yml b/jenkins/client/job/opencontrail/build/dpdk-extra.yml
index 0ac7b50..f250a8c 100644
--- a/jenkins/client/job/opencontrail/build/dpdk-extra.yml
+++ b/jenkins/client/job/opencontrail/build/dpdk-extra.yml
@@ -73,3 +73,7 @@
               ARCH:
                 type: string
                 default: "amd64"
+              BINARY_PACKAGES:
+                description: "binary packages to create"
+                type: string
+                default: "all"
diff --git a/jenkins/client/job/opencontrail/build/generic.yml b/jenkins/client/job/opencontrail/build/generic.yml
index 7516354..7cd226e 100644
--- a/jenkins/client/job/opencontrail/build/generic.yml
+++ b/jenkins/client/job/opencontrail/build/generic.yml
@@ -56,7 +56,7 @@
              artifact:
                keep_num: 5
             type: workflow-scm
-            concurrent: false
+            concurrent: true
             quiet_period: 120
             scm:
               type: git
@@ -84,6 +84,10 @@
                 type: boolean
                 default: 'false'
                 description: "Don't cleanup on failure"
+              DEBUG_DPDK:
+                type: boolean
+                default: 'false'
+                description: "CONFIG_RTE_LIBRTE_ETHDEV_DEBUG enabled or disabled"
               OS:
                 type: string
                 default: "{{os}}"
@@ -99,3 +103,31 @@
               UPLOAD_SOURCE_PACKAGE:
                 type: boolean
                 default: '{{upload_source_package}}'
+            trigger:
+              gerrit:
+                project:
+                  contrail/contrail-controller:
+                    branches:
+                      - "{{branch}}"
+                  contrail/contrail-vrouter:
+                    branches:
+                      - "{{branch}}"
+                  contrail/contrail-packages:
+                    branches:
+                      - "{{branch}}"
+                  contrail/contrail-vrouter:
+                    branches:
+                      - "{{branch}}"
+                  contrail/contrail-web-core:
+                    branches:
+                      - "{{branch}}"
+                  contrail/contrail-web-controller:
+                    branches:
+                      - "{{branch}}"
+                  contrail/contrail-third-party:
+                    branches:
+                      - "{{branch}}"
+                event:
+                  comment:
+                    - addedContains:
+                        commentAddedCommentContains: '(buildpackage)'
diff --git a/jenkins/client/job/salt-models/init.yml b/jenkins/client/job/salt-models/init.yml
index 15690ea..7e5039a 100644
--- a/jenkins/client/job/salt-models/init.yml
+++ b/jenkins/client/job/salt-models/init.yml
@@ -5,3 +5,10 @@
 parameters:
   _param:
     salt_formulas_branches: master
+  jenkins:
+    client:
+      view:
+        "Salt models":
+          enabled: true
+          type: ListView
+          include_regex: ".*-salt-model-.*"
diff --git a/jenkins/master/single.yml b/jenkins/master/single.yml
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/jenkins/master/single.yml
diff --git a/keystone/client/service/cinder3.yml b/keystone/client/service/cinder3.yml
new file mode 100644
index 0000000..caf24c2
--- /dev/null
+++ b/keystone/client/service/cinder3.yml
@@ -0,0 +1,31 @@
+parameters:
+  _param:
+    cluster_public_protocol: https
+  keystone:
+    client:
+      server:
+        identity:
+          project:
+            service:
+              user:
+                cinder:
+                  is_admin: true
+                  password: ${_param:keystone_cinder_password}
+                  email: ${_param:admin_email}
+          service:
+            cinderv3:
+              type: volumev3
+              description: OpenStack Volume Service v3
+              endpoints:
+              - region: ${_param:openstack_region}
+                public_address: ${_param:cluster_public_host}
+                public_protocol: ${_param:cluster_public_protocol}
+                public_port: 8776
+                public_path: '/v3/$(tenant_id)s'
+                internal_address: ${_param:cinder_service_host}
+                internal_port: 8776
+                internal_path: '/v3/$(tenant_id)s'
+                admin_address: ${_param:cinder_service_host}
+                admin_port: 8776
+                admin_path: '/v3/$(tenant_id)s'
+
diff --git a/keystone/client/service/glare.yml b/keystone/client/service/glare.yml
new file mode 100644
index 0000000..78c7d1f
--- /dev/null
+++ b/keystone/client/service/glare.yml
@@ -0,0 +1,31 @@
+parameters:
+  _param:
+    cluster_public_protocol: https
+  keystone:
+    client:
+      server:
+        identity:
+          project:
+            service:
+              user:
+                glance:
+                  is_admin: true
+                  password: ${_param:keystone_glance_password}
+                  email: ${_param:admin_email}
+          service:
+            glare:
+              type: artifact
+              description: OpenStack Image Artifact Service
+              endpoints:
+              - region: ${_param:openstack_region}
+                public_address: ${_param:cluster_public_host}
+                public_protocol: ${_param:cluster_public_protocol}
+                public_port: 9494
+                public_path: ''
+                internal_address: ${_param:glance_service_host}
+                internal_port: 9494
+                internal_path: ''
+                admin_address: ${_param:glance_service_host}
+                admin_port: 9494
+                admin_path: ''
+
diff --git a/linux/system/repo/mcp/contrail.yml b/linux/system/repo/mcp/contrail.yml
index 9f65ee3..c0ecc92 100644
--- a/linux/system/repo/mcp/contrail.yml
+++ b/linux/system/repo/mcp/contrail.yml
@@ -9,3 +9,7 @@
           source: "deb [arch=amd64] http://apt-mk.mirantis.com/${_param:linux_system_codename}/ ${_param:apt_mk_version} ${_param:openstack_version} ${_param:linux_repo_contrail_component} extra"
           architectures: amd64
           key_url: "http://apt-mk.mirantis.com/public.gpg"
+          pin:
+          - pin: 'release a=${_param:apt_mk_version}'
+            priority: 1100
+            package: '*'
diff --git a/linux/system/repo/mcp/extra.yml b/linux/system/repo/mcp/extra.yml
index d8977f4..00de9ea 100644
--- a/linux/system/repo/mcp/extra.yml
+++ b/linux/system/repo/mcp/extra.yml
@@ -9,3 +9,7 @@
           architectures: amd64
           key_url: "http://apt-mk.mirantis.com/public.gpg"
           clean_file: true
+          pin:
+          - pin: 'release a=${_param:apt_mk_version}'
+            priority: 1100
+            package: '*'
diff --git a/linux/system/repo/mcp/openstack.yml b/linux/system/repo/mcp/openstack.yml
index 67c9cad..861ff5c 100644
--- a/linux/system/repo/mcp/openstack.yml
+++ b/linux/system/repo/mcp/openstack.yml
@@ -1,7 +1,7 @@
 parameters:
   _param:
     mcp_repo_version: 1.0
-    apt_mk_version: stable 
+    apt_mk_version: stable
   linux:
     system:
       repo:
@@ -9,24 +9,47 @@
           source: "deb http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename} ${_param:openstack_version} main"
           architectures: amd64
           key_url: "http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename}/archive-mcp${_param:mcp_repo_version}.key"
+          pin:
+          - pin: 'release a=${_param:openstack_version}'
+            priority: 1100
+            package: '*'
         mirantis_openstack_hotfix:
           source: "deb http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename} ${_param:openstack_version}-hotfix main"
           architectures: amd64
           key_url: "http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename}/archive-mcp${_param:mcp_repo_version}.key"
+          pin:
+          - pin: 'release a=${_param:openstack_version}-hotfix'
+            priority: 1100
+            package: '*'
         mirantis_openstack_security:
           source: "deb http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename} ${_param:openstack_version}-security main"
           architectures: amd64
           key_url: "http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename}/archive-mcp${_param:mcp_repo_version}.key"
+          pin:
+          - pin: 'release a=${_param:openstack_version}-security'
+            priority: 1100
+            package: '*'
         mirantis_openstack_updates:
           source: "deb http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename} ${_param:openstack_version}-updates main"
           architectures: amd64
           key_url: "http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename}/archive-mcp${_param:mcp_repo_version}.key"
+          pin:
+          - pin: 'release a=${_param:openstack_version}-uptades'
+            priority: 1100
+            package: '*'
         mirantis_openstack_holdback:
           source: "deb http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename} ${_param:openstack_version}-holdback main"
           architectures: amd64
           key_url: "http://mirror.fuel-infra.org/mcp-repos/${_param:mcp_repo_version}/${_param:linux_system_codename}/archive-mcp${_param:mcp_repo_version}.key"
+          pin:
+          - pin: 'release a=${_param:openstack_version}-holdback'
+            priority: 1100
+            package: '*'
         mk_openstack:
           source: "deb [arch=amd64] http://apt-mk.mirantis.com/${_param:linux_system_codename}/ ${_param:apt_mk_version} ${_param:openstack_version}"
           architectures: amd64
           key_url: "http://apt-mk.mirantis.com/public.gpg"
-
+          pin:
+          - pin: 'release a=${_param:apt_mk_version}'
+            priority: 1100
+            package: '*'
diff --git a/linux/system/repo/mcp/salt.yml b/linux/system/repo/mcp/salt.yml
index 1941fe8..d40cc5f 100644
--- a/linux/system/repo/mcp/salt.yml
+++ b/linux/system/repo/mcp/salt.yml
@@ -9,3 +9,7 @@
           architectures: amd64
           key_url: "http://apt-mk.mirantis.com/public.gpg"
           clean_file: true
+          pin:
+          - pin: 'release a=${_param:apt_mk_version}'
+            priority: 1100
+            package: '*'
diff --git a/linux/system/repo/mos10.yml b/linux/system/repo/mos10.yml
new file mode 100644
index 0000000..63f6a9d
--- /dev/null
+++ b/linux/system/repo/mos10.yml
@@ -0,0 +1,20 @@
+parameters:
+  linux:
+    system:
+      repo:
+        mirantis_openstack:
+          source: "deb http://mirror.fuel-infra.org/mos-repos/ubuntu/10.0/ mos10.0 main restricted"
+          architectures: amd64
+          key_url: "http://mirror.fuel-infra.org/mos-repos/ubuntu/10.0/archive-mos10.0.key"
+        mirantis_openstack_hotfix:
+          source: "deb http://mirror.fuel-infra.org/mos-repos/ubuntu/10.0/ mos10.0-hotfix main restricted"
+          architectures: amd64
+          key_url: "http://mirror.fuel-infra.org/mos-repos/ubuntu/10.0/archive-mos10.0.key"
+        mirantis_openstack_security:
+          source: "deb http://mirror.fuel-infra.org/mos-repos/ubuntu/10.0/ mos10.0-security main restricted"
+          architectures: amd64
+          key_url: "http://mirror.fuel-infra.org/mos-repos/ubuntu/10.0/archive-mos10.0.key"
+        mirantis_openstack_updates:
+          source: "deb http://mirror.fuel-infra.org/mos-repos/ubuntu/10.0/ mos10.0-updates main restricted"
+          architectures: amd64
+          key_url: "http://mirror.fuel-infra.org/mos-repos/ubuntu/10.0/archive-mos10.0.key"
\ No newline at end of file
diff --git a/linux/system/repo/saltstack/trusty.yml b/linux/system/repo/saltstack/trusty.yml
index c20d4dc..68ce215 100644
--- a/linux/system/repo/saltstack/trusty.yml
+++ b/linux/system/repo/saltstack/trusty.yml
@@ -6,4 +6,5 @@
       repo:
         salt:
           source: "deb http://repo.saltstack.com/apt/ubuntu/14.04/amd64/${_param:salt_version} trusty main"
+          architectures: amd64
           key_url: "http://repo.saltstack.com/apt/ubuntu/14.04/amd64/${_param:salt_version}/SALTSTACK-GPG-KEY.pub"
\ No newline at end of file
diff --git a/linux/system/repo/saltstack/xenial.yml b/linux/system/repo/saltstack/xenial.yml
index 0c933b8..aca462a 100644
--- a/linux/system/repo/saltstack/xenial.yml
+++ b/linux/system/repo/saltstack/xenial.yml
@@ -6,4 +6,5 @@
       repo:
         salt:
           source: "deb http://repo.saltstack.com/apt/ubuntu/16.04/amd64/${_param:salt_version} xenial main"
+          architectures: amd64
           key_url: "http://repo.saltstack.com/apt/ubuntu/16.04/amd64/${_param:salt_version}/SALTSTACK-GPG-KEY.pub"
\ No newline at end of file
diff --git a/linux/system/repo/sensu.yml b/linux/system/repo/sensu.yml
new file mode 100644
index 0000000..1ea3687
--- /dev/null
+++ b/linux/system/repo/sensu.yml
@@ -0,0 +1,8 @@
+parameters:
+  linux:
+    system:
+      repo:
+        sensu:
+          source: "deb https://sensu.global.ssl.fastly.net/apt ${_param:linux_system_codename} main"
+          architectures: amd64
+          key_url: "https://sensu.global.ssl.fastly.net/apt/pubkey.gpg"
\ No newline at end of file
diff --git a/linux/system/repo/ubuntu.yml b/linux/system/repo/ubuntu.yml
index b4137bd..d36bcc1 100644
--- a/linux/system/repo/ubuntu.yml
+++ b/linux/system/repo/ubuntu.yml
@@ -3,19 +3,19 @@
     system:
       repo:
         ubuntu:
-          source: "deb http://archive.ubuntu.com/ubuntu/ ${_param:linux_system_codename} main restricted universe"
+          source: "deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ ${_param:linux_system_codename} main restricted universe"
           architectures: amd64
           default: true
           key_id: 437D05B5
           key_server: keyserver.ubuntu.com
         ubuntu_updates:
-          source: "deb http://archive.ubuntu.com/ubuntu/ ${_param:linux_system_codename}-updates main restricted universe"
+          source: "deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ ${_param:linux_system_codename}-updates main restricted universe"
           architectures: amd64
           default: true
           key_id: 437D05B5
           key_server: keyserver.ubuntu.com
         ubuntu_security:
-          source: "deb http://archive.ubuntu.com/ubuntu/ ${_param:linux_system_codename}-security main restricted universe"
+          source: "deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ ${_param:linux_system_codename}-security main restricted universe"
           architectures: amd64
           default: true
           key_id: 437D05B5
diff --git a/nova/control/cluster.yml b/nova/control/cluster.yml
index 545a432..1bcc8b9 100644
--- a/nova/control/cluster.yml
+++ b/nova/control/cluster.yml
@@ -71,4 +71,4 @@
         mtu: 1500
         tenant: service
       metadata:
-        password: metadataPass
+        password: ${_param:metadata_password}
diff --git a/openssh/server/team/mcp_qa.yml b/openssh/server/team/mcp_qa.yml
index 766044d..582882f 100644
--- a/openssh/server/team/mcp_qa.yml
+++ b/openssh/server/team/mcp_qa.yml
@@ -119,6 +119,20 @@
           full_name: Vitaly Gusev
           home: /home/vgusev
           email: vgusev@mirantis.com
+        rkhozinov:
+          enabled: true
+          name: rkhozinov
+          sudo: true
+          full_name: Ruslan Khozinov
+          home: /home/rkhozinov
+          email: rkhozinov@mirantis.com
+        vnaumov:
+          enabled: true
+          name: vnaumov
+          sudo: true
+          full_name: Vlad Naumov
+          home: /home/vnaumov
+          email: vnaumov@mirantis.com
       group:
         libvirtd:
           enabled: true
@@ -222,6 +236,16 @@
           public_keys:
           - ${public_keys:vgusev}
           user: ${linux:system:user:vgusev}
+        rkhozinov:
+          enable: true
+          public_keys:
+          - ${public_keys:rkhozinov}
+          user: ${linux:system:user:rkhozinov}
+        vnaumov:
+          enable: true
+          public_keys:
+          - ${public_keys:vnaumov}
+          user: ${linux:system:user:vnaumov}
   public_keys:
     ddmitriev:
       key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDuD4wJ8hzkchQ0pfgdwWukQyps1xYRfHOsjosmDu/mmgaXVud5mnpwb2q35E2YYTox2mx+ulJqyS+099gz6MPg4P8D5qdMuRbAsJqbceLaaIGQhdT8qgSo7ESrl5pwvYnfWzKLKF0z5s7nrW0nvArC40zhV9o9XpvzzzSFByepWfkwA8ReldGUYVvTKp8YXaCrqEdMZrU42adPM2nl+fYBbGF+h4/Ka247aVjPeER0blV3znFXbv2Kf38G+i/TEGaktgpBdtGGDi1tX2loMypmTJeqZRJnM0Eoly0BnynB7CSxn11eoIXBUe1mVYNqmQd1hw6uh59iymhK5j939v9J ddmitriev@dis_xcom
@@ -261,3 +285,7 @@
       key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC3dCFNCYVxHQQD+/X1JJ9auAzpj15AkEl6yO4lJ1XL43ljxJbzWXXl3RN9vAjiBE1tvxEfuPEIxF7kO2sc1xPKtkw40RIwXrDIGfjlVCaBLtnxCPnCQX349UMSJl/AXpkHqKGVeAW+AO4zbeI8XnS9aDNMuX6ncgrLRMxWCxETL3J/IIE1LZ5v0QvyQBHuJc5jbyODVb4onff296SbjzYm96elJZcRFo4FzFaIcKtis+Sm4+6OAGCNDIXxfB9e5TK579x+L+ci/W1k83Fcz6NpQU/OM1R1CZVMap/Xet424aRMFPmA8sTF4hdYvWd6adBihco2isaW51b1Gkc+K9N9wELiEBMpdKQtqkPOvm98UhoRk7Wp+8+zSamj1uEs/7m6VCGFebq8V3xqTexWH2dCUznxZ5+KS6WLBh+3f4P6wG8VuWfgFjIUf7jjYKjidBXfSXFDxRkhf/LV8V0jLv+Ma1mjKBUX+rk7IFxm0X/PkjqNhVFlg3rH4Wre0+9WdsTCyzWS0HEaTxIKdPtwwULLEiwClO1LLebdlVjx9yhen0czXxMAHONbZeTvxN8ULfei+b7c07oYm16T8T9JAdiWn5nGxiT8TAUrCPBJMpbE4xQJLztYhAbMpfhFSdkKfTotFxTK9AKpTg4TZFY0NYOktFtV2R9ZnzP7hHZDSIg2Bw== rpromyshlennikov@mirantis.com
     vgusev:
       key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCrCyaZjs8hiwx38LfpeQ2z9n9ptwQ7gFrhq2z5sK9q/LQMCubbnp5xhyF0SMY1jmQUewBOKXhnq3QSX+DmtNsnhitnZBw2BE5PBXllCBWMMiWULfAYvB0of728Q3EEjrtyfHkt7o2E+CvreVJcVI4kBwjKh5WpVBZ8mmkW/sexLGMuYu0bUWjCddu6ZlhUa+y14VZKOKp44auemza1VL/UzqOVZkBAfR2gPV2pBG3Im+SlnOlDRxKPEXQbsn3u/sNeZq0wSY++khY86AU7jAKfL2NiNsoA7CyB0jTEKwYO3vOWOhECifZuHwY/TNWyRFWM2ImW3mT9aO7nE4w4jXXJ vgusev@vgusev
+    rkhozinov:
+      key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCti9e5kyNEtX3MEns+eehUCzaxZmI8FWkWrLeRQY3jLUGzI3+N12tA7gKffczGIDP/ttnDg1hl98Yw28mkrIfYYMwRMqsBkGmYZyu6EXccyde6/5U/dgKVFGYLjWmbAAcaIaO2YoxqUJKvIanfLNHTRI29KwgxpaMCtjB7+jHiw/V0MF2xKi8yJgajZgh8iXPiv50BGjICx1BuqgqZb5jjxouV0FpU28mBOobqtaphOHeFPHk1Uool9MBt+2ocAjLbFhozmx0xryBVG4FGreovK60Zz4PuGCUL98rSTt8fbebfVokqkCG+sjykTcEQ8h5/0BUR4sPXw5mxATHD/AOv rkhozinov@rkhw
+    vnaumov:
+      key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDno7VX9jiveRCF7d1C/FK24WLZwCArdrBBOQ1uHqpkUfUYtG6vrYgt/K2n2FXoX55lbeoJAwuNC9HviaY+vQAekCI4W2s02iD+j/GRUwitpv+lJZXSmt/q2PgLz3OFUIsJV0EwyNl+bexM4+2jYTmHeDMrXAsHL4I2GUv5sFycA11UhxZ/Qm2QMKlRZhje/IJieX9u2BhgYuPYffASVl4AhwtDagYdqquwUXrfu/dQRt/U9w0Di9alApcyPqiW9LbXUgwha1G9+ScQnxmp8WvmaV8YR+nf2OFxQHvOZPYjCzniRnYpaQUMeUAkJKxDwqR1dAKYnaQY5TfXtFwfzsjN vnaumov@vnaumov
diff --git a/openssh/server/team/stacklight.yml b/openssh/server/team/stacklight.yml
index 90799da..3eafce1 100644
--- a/openssh/server/team/stacklight.yml
+++ b/openssh/server/team/stacklight.yml
@@ -9,13 +9,6 @@
           full_name: Ales Komarek
           home: /home/newt
           email: mail@newt.cz
-        gthouvenin:
-          enabled: true
-          name: gthouvenin
-          sudo: true
-          full_name: Guillaume Thouvenin
-          home: /home/gthouvenin
-          email: gthouvenin@mirantis.com
         spasquier:
           enabled: true
           name: spasquier
@@ -76,11 +69,6 @@
           public_keys:
           - ${public_keys:newt}
           user: ${linux:system:user:newt}
-        gthouvenin:
-          enabled: true
-          public_keys:
-          - ${public_keys:gthouvenin}
-          user: ${linux:system:user:gthouvenin}
         spasquier:
           enabled: true
           public_keys:
@@ -119,8 +107,6 @@
   public_keys:
     newt:
       key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3odU+3V2uDA2ptAFL9hrJRPNEEdAyztWOZFQ5Oyd9oerTGOU3p4xmrgWWjfKFKbYGhiiIUcYAol5PkTfKukGEkkjCHYA1t023soCaaAj85wCZCnw2zQNAziwxTYmAzTqgxiSvtZNMMrtJvFHRIRDzJ3M1lV0prWNWkMM1/3FAd4W49y6VT3fkMCo8uqG7CfGdgR2DgBCxf9KaNPfW5eDEPOgmE5lK8tVSEI6T+Cg7hbcTf4lFYnlFBnlQgp/0JstsM4Vbwb4B34LOpOsf2S8rrWk2xQMjwaMHXkc2s/E8iW3F5nVFuyEXYISFQIiAHw8dzC6CHgLcyHUVWwznKawZ newt@newt-dev1
-    gthouvenin:
-      key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/5rr0LPVsChG0hzpa39JNwX1JdDH/WJL1sFjAG05Y9XDRAri5CYRGWwDdxyN2MA2+ULVojzV5QeV541fnIU6gSpc6Yytm6Ug8DjQ3TwNUY+92GQv5tZj9i/yB8aGpujleVXMDPT5yPDwOnc/q4f/fQWgrXipatkj+lNqL5Z7Ifai0BgmZS1/31LGkGmC1rne6UwszPz6dkswfu6urfKNuQXilcXvYqORlV3U0XD2nLDjNivGVbIArkYGVsgLCGM57cCCF1g1q7QZCNFPzxr+uxMvY2fGgS9ysMkRTr29LtwKMOl8H3cof5alLCIWukpv5qs50NlVEkGu1zKsa9jUj guillaume@Lenovo-PC
     spasquier:
       key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCXBHKQaGUNB92DsnyvflmCbmuXnkiuNahZiue3hnyXqLA2q8jmQmzBbxReAJzexnVfJhrUCTw8IPJUpMUP27u3igvGdkhfctdUuxVf9yGJErtGNgHK/aGbeLCvUOmhw6X/xbf3IbyFL1gwxOJ2cmmjlSptYU9E1W2xFY+IMFWBhzO3vso5EABgPVli/UUMfeXUUd++lIZpoyYe2Hkri1QGNhzfbZcFjEO78+vNiLZrvjJEtkXWu7iZTYK6eE365CiFJzqFL7N6Ichb28qakcmVqR/foreuz3cOMqMGssKoOQk1213x8w4fE0yLwf9Ft8L7GMf+vXQvuNt0ZKBPWqn7 spasquier@mirantis.com
     scroiset:
diff --git a/reclass/storage/system/openstack_benchmark_single.yml b/reclass/storage/system/openstack_benchmark_single.yml
index 4c85d29..a676cc3 100644
--- a/reclass/storage/system/openstack_benchmark_single.yml
+++ b/reclass/storage/system/openstack_benchmark_single.yml
@@ -4,7 +4,7 @@
   reclass:
     storage:
       node:
-        opencontrail_benchmark_node01:
+        openstack_benchmark_node01:
           name: ${_param:openstack_benchmark_node01_hostname}
           domain: ${_param:cluster_domain}
           classes:
diff --git a/salt/master/formula/git/foundation.yml b/salt/master/formula/git/foundation.yml
index 92cb6f6..eaaeea9 100644
--- a/salt/master/formula/git/foundation.yml
+++ b/salt/master/formula/git/foundation.yml
@@ -31,10 +31,22 @@
                   enabled: true
                 jenkins_job.py:
                   enabled: true
+                jenkins_lib.py:
+                  enabled: true
                 jenkins_node.py:
                   enabled: true
+                jenkins_plugin.py:
+                  enabled: true
+                jenkins_security.py:
+                  enabled: true
+                jenkins_slack.py:
+                  enabled: true
+                jenkins_smtp.py:
+                  enabled: true
                 jenkins_user.py:
                   enabled: true
+                jenkins_view.py:
+                  enabled: true
               source: git
               address: '${_param:salt_master_environment_repository}/salt-formula-jenkins.git'
               revision: ${_param:salt_master_environment_revision}