Merge "Fix Pushkin Notification service metadata"
diff --git a/README.rst b/README.rst
index 539b6d2..1f1c8f4 100644
--- a/README.rst
+++ b/README.rst
@@ -78,3 +78,19 @@
                 # Enabling 7 VFs on eth4 PF
                 echo 7 > /sys/class/net/eth4/device/sriov_numvfs; sleep 2; ip link set eth4 up
                 exit 0
+
+
+Nagios Monitoring
+=================
+
+Configure Hosts dynamically
+---------------------------
+
+The nagios formula looks up grains.items throught Salt mines to discover hosts.
+There are two different parameters that tell the nagios formula how to determine
+the hosts' IP address:
+
+- nagios_monitoring_network: IP subnet(s) in CIDR notation (can be a list)
+- nagios_monitoring_interface: interface name(s). Default ['eth0', 'ens3'].
+
+'nagios_monitoring_network' parameter takes precedence over 'nagios_monitoring_interface' list.
diff --git a/galera/server/database/nova.yml b/galera/server/database/nova.yml
index 619c5df..86d4821 100644
--- a/galera/server/database/nova.yml
+++ b/galera/server/database/nova.yml
@@ -24,3 +24,14 @@
             password: ${_param:mysql_nova_password}
             host: ${_param:cluster_local_address}
             rights: all
+        nova_cell0:
+          encoding: utf8
+          users:
+          - name: nova
+            password: ${_param:mysql_nova_password}
+            host: '%'
+            rights: all
+          - name: nova
+            password: ${_param:mysql_nova_password}
+            host: ${_param:cluster_local_address}
+            rights: all
diff --git a/glusterfs/client/volume/salt_pki.yml b/glusterfs/client/volume/salt_pki.yml
new file mode 100644
index 0000000..822a086
--- /dev/null
+++ b/glusterfs/client/volume/salt_pki.yml
@@ -0,0 +1,10 @@
+parameters:
+  _param:
+    salt_glusterfs_service_host: ${_param:glusterfs_service_host}
+  glusterfs:
+    client:
+      volumes:
+        salt_pki:
+          path: /srv/salt/pki
+          server: ${_param:salt_glusterfs_service_host}
+          opts: "defaults,backup-volfile-servers=${_param:cluster_node01_address}:${_param:cluster_node02_address}:${_param:cluster_node03_address}"
diff --git a/glusterfs/server/volume/salt_pki.yml b/glusterfs/server/volume/salt_pki.yml
new file mode 100644
index 0000000..7af39da
--- /dev/null
+++ b/glusterfs/server/volume/salt_pki.yml
@@ -0,0 +1,17 @@
+parameters:
+  glusterfs:
+    server:
+      volumes:
+        salt_pki:
+          storage: /srv/glusterfs/salt_pki
+          replica: 3
+          bricks:
+            - ${_param:cluster_node01_address}:/srv/glusterfs/salt_pki
+            - ${_param:cluster_node02_address}:/srv/glusterfs/salt_pki
+            - ${_param:cluster_node03_address}:/srv/glusterfs/salt_pki
+          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/openstack/nova-placement.yml b/haproxy/proxy/listen/openstack/nova-placement.yml
new file mode 100644
index 0000000..e3b72b7
--- /dev/null
+++ b/haproxy/proxy/listen/openstack/nova-placement.yml
@@ -0,0 +1,29 @@
+parameters:
+  haproxy:
+    proxy:
+      listen:
+        nova_placement_api:
+          mode: http
+          binds:
+          - address: ${_param:cluster_vip_address}
+            port: 8778
+          options:
+          - httpclose
+          - httplog
+          health-check:
+            http:
+              options:
+              - expect status 401
+          servers:
+          - name: ctl01
+            host: ${_param:cluster_node01_address}
+            port: 8778
+            params: check inter 10s fastinter 2s downinter 3s rise 3 fall 3
+          - name: ctl02
+            host: ${_param:cluster_node02_address}
+            port: 8778
+            params: check inter 10s fastinter 2s downinter 3s rise 3 fall 3
+          - name: ctl03
+            host: ${_param:cluster_node03_address}
+            port: 8778
+            params: check inter 10s fastinter 2s downinter 3s rise 3 fall 3
diff --git a/heat/server/cluster.yml b/heat/server/cluster.yml
index 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/job/debian/packages/salt.yml b/jenkins/client/job/debian/packages/salt.yml
index 68d361e..094ae79 100644
--- a/jenkins/client/job/debian/packages/salt.yml
+++ b/jenkins/client/job/debian/packages/salt.yml
@@ -169,6 +169,8 @@
               dist: trusty
             - name: sphinx
               dist: trusty
+            - name: spinnaker
+              dist: trusty
             - name: statsd
               dist: trusty
             - name: supervisor
@@ -345,6 +347,8 @@
               dist: xenial
             - name: sphinx
               dist: xenial
+            - name: spinnaker
+              dist: xenial
             - name: statsd
               dist: xenial
             - name: supervisor
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
index eefbb86..4e77d2a 100644
--- a/jenkins/client/job/docker/aptly.yml
+++ b/jenkins/client/job/docker/aptly.yml
@@ -22,14 +22,8 @@
                   branches:
                     - master
               event:
-                patchset:
-                  - created:
-                      excludeDrafts: false
-                      excludeTrivialRebase: false
-                      excludeNoCodeChange: false
-                comment:
-                  - addedContains:
-                      commentAddedCommentContains: '(recheck|reverify)'
+                ref:
+                  - updated: {}
           param:
             IMAGE_GIT_URL:
               type: string
diff --git a/jenkins/client/job/docker/init.yml b/jenkins/client/job/docker/init.yml
index 6a5cb43..f4a6a87 100644
--- a/jenkins/client/job/docker/init.yml
+++ b/jenkins/client/job/docker/init.yml
@@ -43,16 +43,10 @@
                 project:
                   "mk/docker-{{name}}":
                     branches:
-                      - {{branch}}
+                      - "{{branch}}"
                 event:
-                  patchset:
-                    - created:
-                        excludeDrafts: false
-                        excludeTrivialRebase: false
-                        excludeNoCodeChange: false
-                  comment:
-                    - addedContains:
-                        commentAddedCommentContains: '(recheck|reverify)'
+                  ref:
+                    - updated: {}
             param:
               IMAGE_NAME:
                 type: string
diff --git a/jenkins/client/job/gating.yml b/jenkins/client/job/gating.yml
index e825739..6b6d620 100644
--- a/jenkins/client/job/gating.yml
+++ b/jenkins/client/job/gating.yml
@@ -11,10 +11,17 @@
           name: gate-gerrit-{{name}}
           jobs:
             - name: mk
+              regex: 'mk\/.*'
             - name: debian
+              regex: 'debian\/.*'
             - name: contrail
+              regex: 'contrail\/.*'
             - name: salt-models
+              regex: 'salt-models\/.*'
             - name: salt-formulas
+              regex: 'salt-formulas\/.*'
+            - name: oss
+              regex: 'oss\/devops-portal'
           template:
             discard:
               build:
@@ -32,7 +39,7 @@
             trigger:
               gerrit:
                 project:
-                  '{{name}}\/.*':
+                  '{{regex}}':
                     compare_type: REG_EXP
                     branches:
                       - master
@@ -56,4 +63,4 @@
                 default: false
               CREDENTIALS_ID:
                 type: string
-                default: "gerrit"
\ No newline at end of file
+                default: "gerrit"
diff --git a/jenkins/client/job/git-mirrors/downstream/docker_images.yml b/jenkins/client/job/git-mirrors/downstream/docker_images.yml
new file mode 100644
index 0000000..2471280
--- /dev/null
+++ b/jenkins/client/job/git-mirrors/downstream/docker_images.yml
@@ -0,0 +1,9 @@
+classes:
+  - system.jenkins.client.job.git-mirrors.downstream
+parameters:
+  _param:
+    jenkins_git_mirror_downstream_jobs:
+      - name: docker-aptly
+        downstream: mk/docker-aptly
+        upstream: "https://github.com/tcpcloud/docker-aptly"
+        branches: master
\ No newline at end of file
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..ef504af
--- /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: "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
diff --git a/jenkins/client/job/git-mirrors/upstream/docker_images.yml b/jenkins/client/job/git-mirrors/upstream/docker_images.yml
new file mode 100644
index 0000000..2dc60b3
--- /dev/null
+++ b/jenkins/client/job/git-mirrors/upstream/docker_images.yml
@@ -0,0 +1,25 @@
+classes:
+  - system.jenkins.client.job.git-mirrors.upstream
+parameters:
+  _param:
+    jenkins_git_mirror_upstream_jobs:
+      - name: docker-aptly
+        downstream: mk/docker-aptly
+        upstream: "git@github.com:tcpcloud/docker-aptly"
+        branches: master
+      - name: docker-gerrit
+        downstream: mk/docker-gerrit
+        upstream: "git@github.com:Mirantis/docker-gerrit"
+        branches: 2.12.3,2.12.6,2.12.7,2.13.6,admin,master
+      - name: docker-jenkins
+        downstream: mk/docker-jenkins
+        upstream: "git@github.com:Mirantis/docker-jenkins"
+        branches: 2.32.3,2.52,2.7.2,master
+      - name: docker-phpldapadmin
+        downstream: mk/docker-phpldapadmin
+        upstream: "git@github.com:Mirantis/docker-phpldapadmin"
+        branches: stable,master
+      - name: docker-openldap
+        downstream: mk/docker-openldap
+        upstream: "git@github.com:Mirantis/docker-openldap"
+        branches: stable,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/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 7a2698c..75ba8bf 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
@@ -103,3 +103,61 @@
               UPLOAD_SOURCE_PACKAGE:
                 type: boolean
                 default: '{{upload_source_package}}'
+            trigger:
+              gerrit:
+                project:
+                   contrail/contrail-pipeline:
+                     branches:
+                       - "{{branch}}"
+                   contrail/contrail-build:
+                     branches:
+                       - "{{branch}}"
+                   contrail/contrail-controller:
+                     branches:
+                       - "{{branch}}"
+                   contrail/contrail-vrouter:
+                     branches:
+                       - "{{branch}}"
+                   contrail/contrail-third-party:
+                     branches:
+                       - "{{branch}}"
+                   contrail/contrail-generateDS:
+                     branches:
+                       - "{{branch}}"
+                   contrail/contrail-sandesh:
+                     branches:
+                       - "{{branch}}"
+                   contrail/contrail-packages:
+                     branches:
+                       - "{{branch}}"
+                   contrail/contrail-nova-vif-driver:
+                     branches:
+                       - "{{branch}}"
+                   contrail/contrail-neutron-plugin:
+                     branches:
+                       - "{{branch}}"
+                   contrail/contrail-nova-extensions:
+                     branches:
+                       - "{{branch}}"
+                   contrail/contrail-heat:
+                     branches:
+                       - "{{branch}}"
+                   contrail/contrail-web-storage:
+                     branches:
+                       - "{{branch}}"
+                   contrail/contrail-web-server-manager:
+                     branches:
+                       - "{{branch}}"
+                   contrail/contrail-web-controller:
+                     branches:
+                       - "{{branch}}"
+                   contrail/contrail-web-core:
+                     branches:
+                       - "{{branch}}"
+                   contrail/contrail-webui-third-party:
+                     branches:
+                       - "{{branch}}"
+                event:
+                  comment:
+                    - addedContains:
+                        commentAddedCommentContains: '(buildpackage)'
diff --git a/jenkins/client/job/salt-formulas/git-mirrors/2way.yml b/jenkins/client/job/salt-formulas/git-mirrors/2way.yml
index e5771a2..73609c4 100644
--- a/jenkins/client/job/salt-formulas/git-mirrors/2way.yml
+++ b/jenkins/client/job/salt-formulas/git-mirrors/2way.yml
@@ -98,6 +98,7 @@
             - name: sensu
             - name: sentry
             - name: sphinx
+            - name: spinnaker
             - name: statsd
             - name: supervisor
             - name: swift
diff --git a/jenkins/client/job/salt-formulas/tests.yml b/jenkins/client/job/salt-formulas/tests.yml
index 0dd7102..1bb0363 100644
--- a/jenkins/client/job/salt-formulas/tests.yml
+++ b/jenkins/client/job/salt-formulas/tests.yml
@@ -96,6 +96,7 @@
             - name: sensu
             - name: sentry
             - name: sphinx
+            - name: spinnaker
             - name: statsd
             - name: supervisor
             - name: swift
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/keystone/client/service/nova-placement.yml b/keystone/client/service/nova-placement.yml
new file mode 100644
index 0000000..61b5455
--- /dev/null
+++ b/keystone/client/service/nova-placement.yml
@@ -0,0 +1,23 @@
+parameters:
+  _param:
+    cluster_public_protocol: https
+  keystone:
+    client:
+      server:
+        identity:
+          service:
+            placement:
+              type: placement
+              description: OpenStack Placement API
+              endpoints:
+              - region: ${_param:openstack_region}
+                public_address: ${_param:cluster_public_host}
+                public_protocol: ${_param:cluster_public_protocol}
+                public_port: '8778'
+                public_path: ''
+                internal_address: ${_param:nova_service_host}
+                internal_port: '8778'
+                internal_path: ''
+                admin_address: ${_param:nova_service_host}
+                admin_port: '8778'
+                admin_path: ''
diff --git a/linux/system/repo/mcp/openstack.yml b/linux/system/repo/mcp/openstack.yml
index 5e6a420..861ff5c 100644
--- a/linux/system/repo/mcp/openstack.yml
+++ b/linux/system/repo/mcp/openstack.yml
@@ -11,7 +11,7 @@
           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: 1050
+            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"
@@ -19,7 +19,7 @@
           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: 1050
+            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"
@@ -27,7 +27,7 @@
           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: 1050
+            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"
@@ -35,7 +35,7 @@
           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: 1050
+            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"
@@ -43,7 +43,7 @@
           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: 1050
+            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}"
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/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_local/mcp/contrail.yml b/linux/system/repo_local/mcp/contrail.yml
index 158fda5..89a7236 100644
--- a/linux/system/repo_local/mcp/contrail.yml
+++ b/linux/system/repo_local/mcp/contrail.yml
@@ -6,7 +6,7 @@
   linux:
     system:
       repo:
-        mcp_opencontrail_${_param:linux_repo_contrail_component}:
+        mcp_opencontrail:
           refresh_db: ${_param:linux_repo_refresh_db}
           source: "deb [arch=amd64] http://${_param:local_repo_url}/ubuntu-${_param:linux_system_codename}/ ${_param:apt_mk_version} ${_param:linux_repo_contrail_component}"
           architectures: amd64
diff --git a/mysql/client/database/nova_api.yml b/mysql/client/database/nova_api.yml
index 9380445..a8fbd59 100644
--- a/mysql/client/database/nova_api.yml
+++ b/mysql/client/database/nova_api.yml
@@ -15,3 +15,14 @@
                 password: ${_param:mysql_nova_password}
                 host: ${_param:single_address}
                 rights: all
+            nova_cell0:
+              encoding: utf8
+              users:
+              - name: nova
+                password: ${_param:mysql_nova_password}
+                host: '%'
+                rights: all
+              - name: nova
+                password: ${_param:mysql_nova_password}
+                host: ${_param:single_address}
+                rights: all
diff --git a/nagios/server/init.yml b/nagios/server/init.yml
index e495915..24dea22 100644
--- a/nagios/server/init.yml
+++ b/nagios/server/init.yml
@@ -3,6 +3,10 @@
     nagios_notification_email: root@localhost
     nagios_host_dimension_key: nagios_host
     nagios_default_host_alarm_clusters: 00-clusters
+    nagios_monitoring_network: []
+    nagios_monitoring_interface:
+    - eth0
+    - ens3
   nagios :
     server:
       enabled: true
@@ -63,10 +67,8 @@
           - target: 'G@services:openssh'
             contact_groups: Operator
             use: generic_host_tpl
-            interface:
-            - eth0
-            - ens3
-            - p4p1.602
+            interface: ${_param:nagios_monitoring_interface}
+            network: ${_param:nagios_monitoring_network}
         services:
           - target: 'G@roles:openssh.server'
             name: SSH
diff --git a/nginx/server/proxy/monitoring/prometheus_alertmanager.yml b/nginx/server/proxy/monitoring/prometheus_alertmanager.yml
new file mode 100644
index 0000000..2430104
--- /dev/null
+++ b/nginx/server/proxy/monitoring/prometheus_alertmanager.yml
@@ -0,0 +1,16 @@
+parameters:
+  nginx:
+    server:
+      enabled: true
+      site:
+        nginx_proxy_prometheus_alertmanager:
+          enabled: true
+          type: nginx_proxy
+          name: prometheus_alertmanager
+          proxy:
+            host: ${_param:prometheus_control_address}
+            port: 15011
+            protocol: http
+          host:
+            name: ${_param:cluster_public_host}
+            port: 15011
diff --git a/nginx/server/proxy/monitoring/prometheus_server.yml b/nginx/server/proxy/monitoring/prometheus_server.yml
new file mode 100644
index 0000000..76ff56a
--- /dev/null
+++ b/nginx/server/proxy/monitoring/prometheus_server.yml
@@ -0,0 +1,16 @@
+parameters:
+  nginx:
+    server:
+      enabled: true
+      site:
+        nginx_proxy_prometheus_server:
+          enabled: true
+          type: nginx_proxy
+          name: prometheus_server
+          proxy:
+            host: ${_param:prometheus_control_address}
+            port: 15010
+            protocol: http
+          host:
+            name: ${_param:cluster_public_host}
+            port: 15010
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/networking.yml b/openssh/server/team/networking.yml
new file mode 100644
index 0000000..df85109
--- /dev/null
+++ b/openssh/server/team/networking.yml
@@ -0,0 +1,93 @@
+parameters:
+  linux:
+    system:
+      user:
+        aignatov:
+          enabled: true
+          name: aignatov
+          sudo: true
+          full_name: Alexander Ignatov
+          home: /home/aignatov
+          email: aignatov@mirantis.com
+        ataraday:
+          enabled: true
+          name: ataraday
+          sudo: true
+          full_name: Anna Taraday
+          home: /home/ataraday
+          email: ataraday@mirantis.com
+        eezhova:
+          enabled: true
+          name: eezhova
+          sudo: true
+          full_name: Elena Ezhova
+          home: /home/eezhova
+          email: eezhova@mirantis.com
+        ichukhnakov:
+          enabled: true
+          name: ichukhnakov
+          sudo: true
+          full_name: Ilya Chukhnakov
+          home: /home/ichukhnakov
+          email: ichukhnakov@mirantis.com
+        ivasilevskaya:
+          enabled: true
+          name: ivasilevskaya
+          sudo: true
+          full_name: Inessa Vasilevskaya
+          home: /home/ivasilevskaya
+          email: ivasilevskaya@mirantis.com
+        obondarev:
+          enabled: true
+          name: obondarev
+          sudo: true
+          full_name: Oleg Bondarev
+          home: /home/obondarev
+          email: obondarev@mirantis.com
+  openssh:
+    server:
+      enabled: true
+      user:
+        aignatov:
+          enabled: true
+          public_keys:
+          - ${public_keys:aignatov}
+          user: ${linux:system:user:aignatov}
+        ataraday:
+          enabled: true
+          public_keys:
+          - ${public_keys:ataraday}
+          user: ${linux:system:user:ataraday}
+        eezhova:
+          enabled: true
+          public_keys:
+          - ${public_keys:eezhova}
+          user: ${linux:system:user:eezhova}
+        ichukhnakov:
+          enabled: true
+          public_keys:
+          - ${public_keys:ichukhnakov}
+          user: ${linux:system:user:ichukhnakov}
+        ivasilevskaya:
+          enabled: true
+          public_keys:
+          - ${public_keys:ivasilevskaya}
+          user: ${linux:system:user:ivasilevskaya}
+        obondarev:
+          enabled: true
+          public_keys:
+          - ${public_keys:obondarev}
+          user: ${linux:system:user:obondarev}
+  public_keys:
+    aignatov:
+      key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDJFYznIFlCdxu5UXzThjYZlZfvXKCcDN0QxDEn7U7dNkK17SyzIJswQcxF7pTlvcuZ7XEskEqyXC8E6P5XyvBJO2xLGrFDJ4U3vf7MKsfwSFEj3NPUzV5bGTrKeKIHTL94L7lwMm1INE7lZzciiwvTxcKv//A+FgG8o1MDhefK56cBH4a9TSjEd+5ImcnCc5sf8B+csyWFPnksnv1zwu//T9aYXRITocdVzrfRHmEiZDpL3mNwpGT3O3XUTiMwdVpN2ImAqSF6XlQl0HlUkBT2idCIoXUR9lcGUx2Q+LSd62JgcVmQHCOmbUENj7NIDgWixgSJYLzsi//YNqJ9jccR aignatov@mirantis.com
+    ataraday:
+      key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9Tl4w3FVLfzTrm+P0ziWlSn74sbwycPUXY2eKdBtzLvvd8Vs7Gh8sEL9q8aeg9hY613LWjPvqgnaoosGJ52ckDnArYfpe3AG1Zamr9/Ncq7qC6U+W8lKwiuiS1QQIILm72+me7jzTanOfbpNl64+tIIcJXgPLtQK4dcpHWMXZQw8Fjp5PP7+k0P35yYNRtoHazxlE/lt/6XsQ+NnldRYB2TCtK3uU1ATHg5Sc7Qr1o+obfxDwWglasxfSd7fGqAZjszrm9q4pmKXTpKNlSqGCs7Hp4Hstr//GKLaXucyTtsb/uU40at6X3INGUU/u9txZkLwAGx8kb4XB6F5MwRH/ akamyshnikova@akamyshnikova
+    eezhova:
+      key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9WND1z5CWjYrcUmEoao3sR29iqgw+i/osdFeYetGZYCaKSLWHXgvVLf19oYnFSNrsjAhpL6krcMc9luN4Uj1/qoigGQcLnV5KQo8AnkvdCDvBBVg/Y3fbgYmcEx6yPC3bbVB9gsfr8yvgrz3vE3gWApvf9uR2dDljL+TsdrVlWzIFVjKi6PEFErKxExYlQa+BeTmiHVjyKr1l+zNOOZN56nH33G3YYa/vxDO5ejio84LcG0Akul+MI+jZohNsvD/Y9EPm9CB6mmWeqpptVkXP+2HlfjyTG9s+KHvM/wcsW71vT+FR5N0OJAhcjYHsXSKDucD3+VzFTyFjpptRKGTJ eezhova@tiresh.local
+    ichukhnakov:
+      key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDIc4N1/KTRWKoWoM83hqRaSvk+tIX7mt8fWG4HKngB08PxXGBJElGuMvzEa3mYyKptwSYO/5wgRI/+cD+Sgbr2BGs9HJy23eYPRPwcKdcskandBjVNWrDd4op2s3wGOrwGg/P88JaGqhL8mwM/5UUK4P4gP7uoZdEK9ptHzy/OvBB0Jd6/qkzWv29k8x5ExgNehvfL8PZzcFWwajdv2y53nj1lO4Bw1i3gKVOl9DEe0JkLB8ryiJ4hIKmq7zgBcduPF8xOWUt2F7TA6/o9rXR9+NU6EnSYmOszqTHQ6P5itGogp57SGqoG1PZzXapQnZPwzDX4jMkxmdu1Ji+TJhXd
+    ivasilevskaya:
+      key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDJk2ip+Rn73D4vt47pe/Hv42ylKJv6JIzeF0k3OflH+RyliVelvo05KMcozfsmmvOKhwgDokBj3KjQ10ewDwD7Fz5H3tosa8JFOs36cuHx9aHrsEmj1oIcIyThrIBwSZGFApqJqj27sLtReVLQJPlYR59RJGw61TogkA/QooOABi+KHzuwPFjAcA1SMfFT8LwiaNPkyUdRb5EQeKCOHniRAEPGNIwskA0sxz25qbB1EU2XBFjkxRE1b5GHfUYL+c2YhAwRWTJbD2JbbcHI6HpsmJutzkS6YIkEn1CK4JuA40OQTYFSEutCk2uPPR0G+77Fec2+vD/8H+ncPxPeDqNR ina@ina-ThinkPad-X240
+    obondarev:
+      key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDca1gqXe14l9uho3t4mZT52lXmSuUxKVOCcSO9Dy+BAmtaVK39+t7la081S5c0H+oTPIXFb32/kO37+qpEgwyOv1zimWIqcR56xrr42gW/QzVLyY64qVnQ9QFiXlvXXBW4YgBuT//SE8upOshLYnznKHOi4IkoKrAE37K34Cz/DGQzFV6sKQSmP6fjJzli0Nzu+YPdBSZW9VH1m7IKxliGoZcjdIkJ+L92+h/mPuN95Bitfe+aoexBQq3u4WjYVVsCE/9TrwLoGlr3zd7VAyVdADJf6phfIMHGDxn8W8125r9UWp4X/36yAIudVC7kHLyr0AHTfYqCVH10nEJvUwRz obondarev@Olegs-MacBook-Pro.local
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}
diff --git a/telegraf/agent/init.yml b/telegraf/agent/init.yml
index 57a1f61..1faea32 100644
--- a/telegraf/agent/init.yml
+++ b/telegraf/agent/init.yml
@@ -1,8 +1,6 @@
 paramaters:
   telegraf:
     agent:
-      input:
-        diskio:
       output:
         prometheus_client:
           bind: