Merge "Update job for the run of DOP backend tests"
diff --git a/README.rst b/README.rst
index b418f37..231e9a9 100644
--- a/README.rst
+++ b/README.rst
@@ -25,14 +25,14 @@
   Name of the Physical Function interface (pF)
 
 `sriov_nic01_numvfs`
-  Number of Virtual Functions (VF), for number of 
+  Number of Virtual Functions (VF), for number of
   supported VF check documentation for your network interface card.
 
 `sriov_nic01_physical_network`
   Default **physnet1**, label for physical network the interface belongs to.
 
 `sriov_unsafe_interrupts`
-  Default **False**, needs to be set **True** if your hw platform does not 
+  Default **False**, needs to be set **True** if your hw platform does not
   support interrupt remapping.
 
 
@@ -112,7 +112,7 @@
   - grafana_prometheus_port
   - grafana_prometheus_is_default (default true)
 
-Backwark compatiblity
+Backward compatiblity
 ---------------------
 
 The class **grafana.client.single** configures grafana client and an InfluxDB
diff --git a/debmirror/mirror_mirantis_com/ubuntu/xenial.yml b/debmirror/mirror_mirantis_com/ubuntu/xenial.yml
index a0f8657..20cf1e0 100644
--- a/debmirror/mirror_mirantis_com/ubuntu/xenial.yml
+++ b/debmirror/mirror_mirantis_com/ubuntu/xenial.yml
@@ -18,13 +18,18 @@
           log_file: "/var/log/debmirror/mirror_mirantis_com_ubuntu_xenial.log"
           dist: [ xenial , xenial-security, xenial-updates ]
           section: [ main , multiverse, restricted, universe ]
-          exclude_deb_section: [ games, gnome, Xfce, sound, electronics, graphics, hamradio , doc, localization, kde, video,  translations, news, x11,
-                                 multiverse/games, multiverse/gnome, multiverse/Xfce, multiverse/sound, multiverse/electronics, multiverse/graphics,
-                                 multiverse/hamradio , multiverse/doc, multiverse/localization, multiverse/kde, multiverse/video,  multiverse/translations, multiverse/news, multiverse/x11,
-                                 universe/games, universe/gnome, universe/Xfce, universe/sound, universe/electronics, universe/hamradio , universe/doc, universe/localization, universe/kde,
-                                 universe/video,  universe/translations, universe/news, universe/x11, universe/graphics,
-                                 restricted/games, restricted/gnome, restricted/Xfce, restricted/sound, restricted/electronics, restricted/graphics, restricted/hamradio , restricted/doc,
-                                 restricted/localization, restricted/kde, restricted/video,  restricted/translations, restricted/news, restricted/x11 ]
+          # Don't exclude main/x11 - its required for many pkgs.
+          exclude_deb_section: [games, gnome, Xfce, sound, electronics, graphics, hamradio,
+            doc, localization, kde, video, translations, news, multiverse/games, multiverse/gnome,
+            multiverse/Xfce, multiverse/sound, multiverse/electronics, multiverse/graphics,
+            multiverse/hamradio, multiverse/doc, multiverse/localization, multiverse/kde, multiverse/video,
+            multiverse/translations, multiverse/news, multiverse/x11, universe/games, universe/gnome,
+            universe/Xfce, universe/sound, universe/electronics, universe/hamradio, universe/doc,
+            universe/localization, universe/kde, universe/video, universe/translations, universe/news,
+            universe/x11, universe/graphics, restricted/games, restricted/gnome, restricted/Xfce,
+            restricted/sound, restricted/electronics, restricted/graphics, restricted/hamradio,
+            restricted/doc, restricted/localization, restricted/kde, restricted/video, restricted/translations,
+            restricted/news, restricted/x11]
           filter:
             1: "--exclude='android*'"
             2: "--exclude='/firefox*'"
@@ -54,14 +59,35 @@
             27: "--exclude='/*(.xorg)*joystick'"
             28: "--exclude='/xserver-xorg-video(.*vivid|.*wily|.*utopic)'"
             30: "--exclude='/*universe.*bluez.*'"
+            31: "--exclude='/main/m/maas/'" # ppa should be always used
+            32: "--exclude='/main/a/a11y-profile-manager/'"
+            33: "--exclude='/universe/.*(alsa|ubuntuone|telepathy|debian-multimedia|kodi|mediaplayer|nagios|getfem|gammaray|geotranz)'"
+            34: "--exclude='/universe/.*(pyqt|usb-creator|gcc-mingw-w64|gcc-snapshot)'"
+            35: "--exclude='/universe/q/qt'"
+            36: "--exclude='/universe/g/glusterfs/'" # ppa should be always used
+            37: "--exclude='/universe/d/docker.io/'" # ppa should be always used
+            38: "--exclude='/universe/a/aptly'" # ppa should be always used
+            39: "--exclude='/universe/e/elasticsearch'" # ppa should be always used
+            40: "--exclude='/universe/g/grafana/'" # ppa should be always used
+            41: "--exclude='/universe/i/influxdb(?!.*python)'" # ppa should be always used
+            42: "--exclude='/universe/s/salt'" # ppa should be always used
+            43: "--exclude='/universe/z/zabbix'" # ppa should be always used
+            44: "--exclude='/universe/.*(brasero|mediascanner2|mediatomb|mediawiki|qtmultimedia|pidgin|skype|eclipse|esys-particle|fusion)'"
+            89: "--exclude='/universe/k/(kde)'"
+            90: "--exclude='/universe/p/(psi-plus|puppet-module|plasma|pcl/)'"
+            91: "--exclude='golang-github-*'"
             92: "--exclude='/(llvm-toolchain|address-book|amule|openclipart|rhythmbox|gimp|sonic-visualiser|games|bsdgame|gazebo|arduino|webkitgtk|widelands|wxwidget|warzone|wings3d).*'"
             93: "--exclude='/(asterisk|abiword|webbrowser-app|imagemagick|.*clamav|wireshar|vlc|.*transmission|tryton-modules|trilinos|tomboy|wine1|wine-dev|compiz|mythtv|ubuntustudio).*'"
-            94: "--exclude='/(ceilometer|nova).*'"
+            94: "--exclude='/(ceilometer|nova|openstack-debian-images).*'"
             95: "--exclude='/gcc-.*-cross.*'"
             96: "--exclude='/(nvidia).*'"
             97: "--exclude='linux-*-(.*azure|.*aws|gke|.*azure-edge|.*linux-oem)'"
             98: "--exclude='/.*(arm64|powerpc|s390x|armel|armhf|sparc64|mips64|ppc64el|mipsn32)(?!.*amd64)'"
             99: "--exclude='/*universe.*(-armel-|-arm-)(?!.*amd64)'"
+            # List of extra includes, founded after tests.
             100: "--include='/main(.*)manpages'"
             101: "--include='/main(.*)python-(.*)doc'"
             102: "--include='/main(.*)python-(.*)network'"
+            103: "--include='/main(.*)unittest2'" # openstack* pkgs
+            104: "--include='/main(.*)libbluetooth3'" # python-guestfs
+
diff --git a/gerrit/client/init.yml b/gerrit/client/init.yml
index 8b097ee..5d719d4 100644
--- a/gerrit/client/init.yml
+++ b/gerrit/client/init.yml
@@ -59,13 +59,34 @@
             score: -1..+1
         "refs/tags/*":
           actions:
+          - name: pushTag
+            group: Administrators
+            force: true
+          - name: pushTag
+            group: Project Owners
+            force: true
           - name: pushSignedTag
             group: devops-core
+          - name: pushSignedTag
+            group: Administrators
+          - name: pushSignedTag
+            group: Project Owners
           - name: create
             group: devops-core
+          - name: create
+            group: Administrators
           - name: push
             group: devops-core
+          - name: push
+            group: Administrators
+            force: true
           - name: forgeCommitter
             group: devops-core
+          - name: forgeCommitter
+            group: Administrators
           - name: forgeAuthor
             group: devops-core
+          - name: forgeAuthor
+            group: Administrators
+          - name: forgeServerAsCommitter
+            group: Administrators
diff --git a/haproxy/proxy/listen/stacklight/prometheus_relay.yml b/haproxy/proxy/listen/stacklight/prometheus_relay.yml
new file mode 100644
index 0000000..23c9286
--- /dev/null
+++ b/haproxy/proxy/listen/stacklight/prometheus_relay.yml
@@ -0,0 +1,24 @@
+parameters:
+  _param:
+    cluster_prometheus_relay_port: 8080
+  haproxy:
+    proxy:
+      listen:
+        prometheus_relay:
+          service_name: prometheus_relay
+          binds:
+          - address: ${_param:cluster_vip_address}
+            port: ${_param:cluster_prometheus_relay_port}
+          servers:
+          - name: ${_param:cluster_node01_hostname}
+            host: ${_param:cluster_node01_address}
+            port: ${_param:prometheus_relay_bind_port}
+            params: check inter 10s fastinter 2s downinter 3s rise 3 fall 3
+          - name: ${_param:cluster_node02_hostname}
+            host: ${_param:cluster_node02_address}
+            port: ${_param:prometheus_relay_bind_port}
+            params: check inter 10s fastinter 2s downinter 3s rise 3 fall 3
+          - name: ${_param:cluster_node03_hostname}
+            host: ${_param:cluster_node03_address}
+            port: ${_param:prometheus_relay_bind_port}
+            params: check inter 10s fastinter 2s downinter 3s rise 3 fall 3
diff --git a/jenkins/client/job/deploy/lab/component/kubernetes.yml b/jenkins/client/job/deploy/lab/component/kubernetes.yml
index 62526f7..8cbf766 100644
--- a/jenkins/client/job/deploy/lab/component/kubernetes.yml
+++ b/jenkins/client/job/deploy/lab/component/kubernetes.yml
@@ -25,7 +25,7 @@
         stack_env: devcloud
         stack_type: heat
         stack_install: core,k8s,calico
-        stack_test: ""
+        stack_test: "k8s"
         job_timer: "H H(0-6) * * *"
       - stack_name: k8s_ha_contrail
         stack_env: devcloud
diff --git a/jenkins/client/job/deploy/update/update_mirror_image.yml b/jenkins/client/job/deploy/update/update_mirror_image.yml
index ec812c4..2b2dc26 100644
--- a/jenkins/client/job/deploy/update/update_mirror_image.yml
+++ b/jenkins/client/job/deploy/update/update_mirror_image.yml
@@ -10,7 +10,7 @@
         deploy-update-mirror-image:
           type: workflow-scm
           concurrent: true
-          display_name: "Deploy - update mirror image"
+          display_name: "Deploy - update local mirror"
           scm:
             type: git
             url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
@@ -30,6 +30,9 @@
             UPDATE_APTLY_MIRRORS:
               type: string
               default: ""
+            RECREATE_APTLY_MIRRORS:
+              type: boolean
+              default: 'true'
             PUBLISH_APTLY:
               type: boolean
               default: 'true'
@@ -42,6 +45,9 @@
             CLEANUP_APTLY:
               type: boolean
               default: 'false'
+            UPDATE_DEBMIRRORS:
+              type: boolean
+              default: 'true'
             UPDATE_DOCKER_REGISTRY:
               type: boolean
               default: 'true'
@@ -54,6 +60,6 @@
             UPDATE_GIT:
               type: boolean
               default: 'true'
-            UPDATE_IMAGES:
+            UPDATE_FILES:
               type: boolean
               default: 'true'
\ No newline at end of file
diff --git a/jenkins/client/job/git-mirrors/downstream/pipelines.yml b/jenkins/client/job/git-mirrors/downstream/pipelines.yml
index 7bf366c..271a725 100644
--- a/jenkins/client/job/git-mirrors/downstream/pipelines.yml
+++ b/jenkins/client/job/git-mirrors/downstream/pipelines.yml
@@ -2,12 +2,14 @@
   - system.jenkins.client.job.git-mirrors.downstream
 parameters:
   _param:
+    gerrit_pipeline_library_repo: https://github.com/Mirantis/pipeline-library
+    gerrit_mk_pipelines_repo: https://github.com/Mirantis/mk-pipelines
     jenkins_git_mirror_downstream_jobs:
       - name: pipeline-library
         downstream: mcp-ci/pipeline-library
-        upstream: "https://github.com/Mirantis/pipeline-library"
+        upstream: "${_param:gerrit_pipeline_library_repo}"
         branches: master
       - name: mk-pipelines
         downstream: mk/mk-pipelines
-        upstream: "https://github.com/Mirantis/mk-pipelines"
+        upstream: "${_param:gerrit_mk_pipelines_repo}"
         branches: master
diff --git a/jenkins/client/job/oscore/qa.yml b/jenkins/client/job/oscore/qa.yml
index 258baa7..b7319b4 100644
--- a/jenkins/client/job/oscore/qa.yml
+++ b/jenkins/client/job/oscore/qa.yml
@@ -164,18 +164,10 @@
                 type: string
                 default: "3"
               # test
-              TEST_TEMPEST_CONF:
-                type: string
-                description: Tempest configuration file path inside container
-                default: "{{tempest_conf}}"
               TEST_CONF:
                 type: string
                 description: Tempest configuration file path inside container
                 default: "{{test_conf}}"
-              TEST_TEMPEST_TARGET:
-                type: string
-                description: Node to run tests
-                default: "{{tempest_target}}"
               TEST_TARGET:
                 type: string
                 description: Node to run tests
diff --git a/jenkins/client/job/oscore/tests.yml b/jenkins/client/job/oscore/tests.yml
index 3000d71..377ae0d 100644
--- a/jenkins/client/job/oscore/tests.yml
+++ b/jenkins/client/job/oscore/tests.yml
@@ -103,26 +103,14 @@
                 type: string
                 default: "3"
               # test
-              TEST_TEMPEST_CONF:
-                type: string
-                description: Tempest configuration file path inside container
-                default: "{{tempest_conf}}"
               TEST_CONF:
                 type: string
                 description: Tempest configuration file path inside container
                 default: "{{test_conf}}"
-              TEST_TEMPEST_TARGET:
-                type: string
-                description: Node to run tests
-                default: "{{tempest_target}}"
               TEST_TARGET:
                 type: string
                 description: Node to run tests
                 default: "{{test_target}}"
-              TEST_TEMPEST_PATTERN:
-                type: string
-                description: Run tests matched to pattern only
-                default: "tempest"
               TEST_PATTERN:
                 type: string
                 description: Run tests matched to pattern only
@@ -265,26 +253,14 @@
                 type: string
                 description: Product milestone
                 default: "{{milestone}}"
-              TEST_TEMPEST_CONF:
-                type: string
-                description: Tempest configuration file path inside container
-                default: "{{tempest_conf}}"
               TEST_CONF:
                 type: string
                 description: Tempest configuration file path inside container
                 default: "{{test_conf}}"
-              TEST_TEMPEST_TARGET:
-                type: string
-                description: Node to run tests
-                default: "{{tempest_target}}"
               TEST_TARGET:
                 type: string
                 description: Node to run tests
                 default: "{{test_target}}"
-              TEST_TEMPEST_PATTERN:
-                type: string
-                description: Run tests matched to pattern only
-                default: "{{test_pattern}}"
               TEST_PATTERN:
                 type: string
                 description: Run tests matched to pattern only
@@ -359,16 +335,9 @@
                 type: boolean
                 default: 'false'
                 description: Upload results to testrail or not
-              TEST_TEMPEST_TARGET:
-                type: string
-                description: Salt target to run tests
               TEST_TARGET:
                 type: string
                 description: Salt target to run tests
-              TEST_TEMPEST_IMAGE:
-                type: string
-                description: Url to tempest docker image
-                default: "{{test_image}}"
               TEST_IMAGE:
                 type: string
                 description: Url to tempest docker image
@@ -377,30 +346,16 @@
                 type: string
                 description: Path to local docker image
                 default: ''
-              TEST_TEMPEST_PATTERN:
-                type: string
-                description: Run tests matched to pattern only
               TEST_PATTERN:
                 type: string
                 description: Run tests matched to pattern only
-              TEST_TEMPEST_SET:
-                type: string
-                description: Run tests matched by tempest set only
               TEST_SET:
                 type: string
                 description: Run tests matched by tempest set only
-              TEST_TEMPEST_CONCURRENCY:
-                type: string
-                description: How much test threads to run
-                default: "2"
               TEST_CONCURRENCY:
                 type: string
                 description: How much test threads to run
                 default: "2"
-              TEST_TEMPEST_CONF:
-                type: string
-                description: Tempest configuration file path inside container
-                default: "mcp.conf"
               TEST_CONF:
                 type: string
                 description: Tempest configuration file path inside container
@@ -460,9 +415,6 @@
                 type: string
                 default: "{{testrail_credentials}}"
                 description: Credentials for results upload to testrail
-              TEST_TEMPEST_TARGET:
-                type: string
-                description: Node to run tests
               TEST_TARGET:
                 type: string
                 description: Node to run tests
@@ -728,7 +680,7 @@
             trigger:
               gerrit:
                 project:
-                  "^salt-formulas/(nova|cinder|glance|keystone|horizon|neutron|designate|heat|ironic|barbican|salt|linux|reclass|galera|memcached|rabbitmq|bind|apache)$":
+                  "^salt-formulas/(nova|cinder|glance|keystone|horizon|neutron|designate|heat|ironic|barbican|aodh|ceilometer|gnocchi|panko|manila|salt|linux|reclass|galera|memcached|rabbitmq|bind|apache)$":
                     compare_type: 'REG_EXP'
                     branches:
                       - master
diff --git a/jenkins/client/job/salt-models/tests.yml b/jenkins/client/job/salt-models/tests.yml
index 6a80fab..35df28b 100644
--- a/jenkins/client/job/salt-models/tests.yml
+++ b/jenkins/client/job/salt-models/tests.yml
@@ -287,7 +287,7 @@
                 default: "1"
               EXTRA_FORMULAS:
                 type: string
-                default: "aptly artifactory backupninja collectd devops-portal docker elasticsearch freeipa gerrit glusterfs grafana haproxy heka horizon influxdb jenkins keepalived kibana libvirt maas memcached mysql nginx ntp openldap openssh postfix prometheus rsync rsyslog rundeck sensu sphinx telegraf xtrabackup"
+                default: "aptly artifactory backupninja collectd devops-portal docker elasticsearch freeipa gerrit glusterfs grafana haproxy heka horizon influxdb jenkins keepalived kibana libvirt maas memcached mysql nginx ntp openldap openssh postfix prometheus rsync rsyslog rundeck sensu sphinx telegraf xtrabackup watchdog"
       job:
         test-salt-model-node:
           name: test-salt-model-node
diff --git a/jenkins/client/job/validate.yml b/jenkins/client/job/validate.yml
index b0546c3..168dcfd 100644
--- a/jenkins/client/job/validate.yml
+++ b/jenkins/client/job/validate.yml
@@ -234,7 +234,7 @@
             TEMPEST_TEST_PATTERN:
               type: string
               default: "set=smoke"
-              description: Use set=smoke (or identity,full...] or just test name
+              description: Use set=smoke (or identity,full...) or just test name
             TEMPEST_ENDPOINT_TYPE:
               type: choice
               choices:
@@ -276,11 +276,11 @@
               description: Credentials to the Salt API
             TEMPEST_TARGET_NODE:
               type: string
-              default: ""
+              default: "${_param:cicd_control_node03_hostname}.${_param:cluster_domain}"
               description: Node where container with tempest will be run
             TEST_IMAGE:
               type: string
-              default: "rallyforge/rally"
+              default: "xrally/xrally-openstack:0.9.1"
               description: Docker image to use for running Rally/Tempest
             TARGET_NODES:
               type: string
@@ -296,7 +296,7 @@
               description: If you have any problems with timeouts (e.g. while waiting for node to be up/down), please increase this value
             SKIP_LIST_PATH:
               type: string
-              default: "/home/rally/cvp-configuration/tempest/skip-list.yaml"
+              default: "cvp-configuration/tempest/skip-list.yaml"
               description: path to skip-list file inside container
             PROXY:
               type: string
@@ -305,7 +305,7 @@
             TEMPEST_TEST_PATTERN:
               type: string
               default: "set=smoke"
-              description: Use set=smoke (or identity,full...] or just test name
+              description: Use set=smoke (or identity,full...) or just test name
             MANUAL_CONFIRMATION:
               type: boolean
               default: 'false'
@@ -316,7 +316,7 @@
               description: Can be repo url (local or remote) or path to folder (inside container) with Tempest
             TOOLS_REPO:
               type: string
-              default: "${_param:gerrit_public_host}/cvp-configuration"
+              default: "https://github.com/Mirantis/cvp-configuration"
               description: URL of repo where testing tools, scenarios, configs are located.
         cvp-perf:
           type: workflow-scm
diff --git a/manila/share/init.yml b/manila/share/init.yml
index af85c0d..2c6558e 100644
--- a/manila/share/init.yml
+++ b/manila/share/init.yml
@@ -1,5 +1,5 @@
 classes:
- - system.manila.common.cluster
+ - service.manila.common.cluster
 parameters:
   manila:
     common:
diff --git a/neutron/control/opendaylight/cluster.yml b/neutron/control/opendaylight/cluster.yml
index 7a62e8b..1f8142e 100644
--- a/neutron/control/opendaylight/cluster.yml
+++ b/neutron/control/opendaylight/cluster.yml
@@ -17,7 +17,6 @@
         password: admin
         ovsdb_connection: tcp:127.0.0.1:6639
         router: ${_param:opendaylight_router}
-        enable_websocket: true
         mechanism:
           ovs:
             driver: ${_param:opendaylight_driver}
diff --git a/neutron/control/opendaylight/single.yml b/neutron/control/opendaylight/single.yml
index e0c3ea9..297cfa0 100644
--- a/neutron/control/opendaylight/single.yml
+++ b/neutron/control/opendaylight/single.yml
@@ -15,7 +15,6 @@
         password: admin
         ovsdb_connection: tcp:127.0.0.1:6639
         router: ${_param:opendaylight_router}
-        enable_websocket: true
         mechanism:
           ovs:
             driver: ${_param:opendaylight_driver}
diff --git a/prometheus/alertmanager/notification/pushkin.yml b/prometheus/alertmanager/notification/pushkin.yml
index dd4f760..a78b6fd 100644
--- a/prometheus/alertmanager/notification/pushkin.yml
+++ b/prometheus/alertmanager/notification/pushkin.yml
@@ -10,9 +10,7 @@
           routes:
             pushkin:
               receiver: HTTP-pushkin
-              match_re:
-                - label: route
-                  value:  .+?
+              continue: true
         receiver:
           HTTP-pushkin:
             enabled: true
diff --git a/prometheus/alertmanager/notification/slack.yml b/prometheus/alertmanager/notification/slack.yml
index c33e013..2158adb 100644
--- a/prometheus/alertmanager/notification/slack.yml
+++ b/prometheus/alertmanager/notification/slack.yml
@@ -6,9 +6,6 @@
           routes:
             slack:
               receiver: HTTP-slack
-              match_re:
-                - label: route
-                  value: slack
         receiver:
           HTTP-slack:
             enabled: true
diff --git a/salt/master/formula/git/dogtag.yml b/salt/master/formula/git/dogtag.yml
new file mode 100644
index 0000000..d4cac8c
--- /dev/null
+++ b/salt/master/formula/git/dogtag.yml
@@ -0,0 +1,10 @@
+parameters:
+  salt:
+    master:
+      environment:
+        dev:
+          formula:
+            dogtag:
+              source: git
+              address: '${_param:salt_master_environment_repository}/salt-formula-dogtag.git'
+              revision: ${_param:salt_master_environment_revision}
diff --git a/salt/master/formula/pkg/dogtag.yml b/salt/master/formula/pkg/dogtag.yml
new file mode 100644
index 0000000..5ae4b28
--- /dev/null
+++ b/salt/master/formula/pkg/dogtag.yml
@@ -0,0 +1,9 @@
+parameters:
+  salt:
+    master:
+      environment:
+        prd:
+          formula:
+            dogtag:
+              source: pkg
+              name: salt-formula-dogtag