Merge "Revert "Revert "Drop cinderv1 endpoints"""
diff --git a/defaults/openstack/init.yml b/defaults/openstack/init.yml
index f8949e9..d80c7d0 100644
--- a/defaults/openstack/init.yml
+++ b/defaults/openstack/init.yml
@@ -12,3 +12,9 @@
     # Cinder
     cinder_memcache_security_enabled: ${_param:openstack_memcache_security_enabled}
     cinder_memcache_secret_key: ''
+    # Nova
+    nova_memcache_security_enabled: ${_param:openstack_memcache_security_enabled}
+    nova_memcache_secret_key: ''
+    # Glance
+    glance_memcache_security_enabled: ${_param:openstack_memcache_security_enabled}
+    glance_memcache_secret_key: ''
diff --git a/docker/swarm/stack/operations_api.yml b/docker/swarm/stack/operations_api.yml
index fff4f18..74426ad 100644
--- a/docker/swarm/stack/operations_api.yml
+++ b/docker/swarm/stack/operations_api.yml
@@ -2,6 +2,7 @@
   _param:
     docker_operations_api_replicas: 1
     docker_image_operations_api: mirantis/python-operations-api:latest
+    docker_image_operations_ui: mirantis/operations-ui:latest
     operations_api_sqlalchemy_database_uri: "cockroachdb://oapi@cockroach-ui:26257/oapi"
     operations_api_sqlalchemy_echo: "false"
     operations_api_flask_debug: "false"
@@ -55,10 +56,21 @@
                 - cockroach-ui
               volumes:
                 - /srv/volumes/cockroachdb/cockroach-db-1:/cockroach/cockroach-data
+            operations-ui:
+              environment:
+                REACT_APP_OPERATIONS_API_URL: 'http://${_param:cluster_public_host}:${_param:haproxy_operations_api_bind_port}'
+                REACT_APP_KEYCLOAK_AUTH_URL: 'http://${_param:cluster_public_host}:${_param:haproxy_keycloak_proxy_exposed_port}/auth'
+                REACT_APP_KEYCLOAK_REALM: 'drivetrain-realm'
+                REACT_APP_KEYCLOAK_CLIENT_ID: 'operations-ui'
+              image: ${_param:docker_image_operations_ui}
+              ports:
+                - ${_param:haproxy_operations_ui_exposed_port}:${_param:haproxy_operations_ui_bind_port}
             cockroach-init:
               environment:
                 COCKROACH_HOST: cockroach-ui
-              image: atengler/cockroach
+                DB_NAME: oapi
+                DB_USER: oapi
+              image: atengler/cockroach-init
               deploy:
                 restart_policy:
                   condition: on-failure
diff --git a/glance/control/cluster.yml b/glance/control/cluster.yml
index de8e9ae..0c17ac8 100644
--- a/glance/control/cluster.yml
+++ b/glance/control/cluster.yml
@@ -6,9 +6,6 @@
 - system.salt.minion.cert.mysql.clients.openstack.glance
 - system.salt.minion.cert.rabbitmq.clients.openstack.glance
 parameters:
-  _param:
-    glance_memcache_security_enabled: ${_param:openstack_memcache_security_enabled}
-    glance_memcache_secret_key: ''
   linux:
     system:
       cron:
diff --git a/glance/control/single.yml b/glance/control/single.yml
index ad6e1cb..c9b818d 100644
--- a/glance/control/single.yml
+++ b/glance/control/single.yml
@@ -3,9 +3,6 @@
 - system.salt.minion.cert.mysql.clients.openstack.glance
 - system.salt.minion.cert.rabbitmq.clients.openstack.glance
 parameters:
-  _param:
-    glance_memcache_security_enabled: ${_param:openstack_memcache_security_enabled}
-    glance_memcache_secret_key: ''
   linux:
     system:
       cron:
diff --git a/jenkins/client/job/debian/init.yml b/jenkins/client/job/debian/init.yml
index 2500254..f24cccc 100644
--- a/jenkins/client/job/debian/init.yml
+++ b/jenkins/client/job/debian/init.yml
@@ -1,2 +1,15 @@
-# This file will be removed in Q3
-# jobs was moved into salt-models/infra repo
+classes:
+  - system.jenkins.client.job.debian.packages
+parameters:
+  jenkins:
+    client:
+      view:
+        Debian:
+          enabled: true
+          type: CategorizedJobsView
+          include_regex: "build-debian-(?!salt-formula-).*"
+          categories:
+            - group_regex: ".*-ubuntu-trusty"
+              naming_rule: "Ubuntu Trusty"
+            - group_regex: ".*-ubuntu-xenial"
+              naming_rule: "Ubuntu Xenial"
diff --git a/jenkins/client/job/debian/packages/ceph.yml b/jenkins/client/job/debian/packages/ceph.yml
index 2500254..5307b4b 100644
--- a/jenkins/client/job/debian/packages/ceph.yml
+++ b/jenkins/client/job/debian/packages/ceph.yml
@@ -1,2 +1,77 @@
-# This file will be removed in Q3
-# jobs was moved into salt-models/infra repo
+parameters:
+  jenkins:
+    client:
+      job_template:
+        build-debian-ceph-package:
+          name: build-debian-{{package}}-{{version}}-ubuntu-{{dist}}
+          jobs:
+            # Xenial
+            - package: ceph
+              dist: xenial
+              branch: debian/xenial-luminous
+              version: luminous
+            - package: ceph
+              dist: xenial
+              branch: debian/xenial-jewel
+              version: jewel
+          template:
+            discard:
+              build:
+                keep_num: 10
+              artifact:
+                keep_num: 10
+            type: workflow-scm
+            concurrent: false
+            scm:
+              type: git
+              url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+              branch: "${_param:jenkins_pipelines_branch}"
+              credentials: "gerrit"
+              script: build-debian-packages-pipeline.groovy
+            trigger:
+              gerrit:
+                project:
+                  debian/{{package}}:
+                    branches:
+                      - "{{branch}}"
+                message:
+                  build_successful: "Build successful"
+                  build_unstable: "Build unstable"
+                  build_failure: "Build failed"
+                event:
+                  ref:
+                    - updated
+            param:
+              SOURCE_URL:
+                type: string
+                default: "${_param:jenkins_gerrit_url}/debian/{{package}}.git"
+              SOURCE_BRANCH:
+                type: string
+                default: "{{branch}}"
+              SOURCE_CREDENTIALS:
+                type: string
+                default: "gerrit"
+              EXTRA_REPO_URL:
+                type: string
+                default: "deb ${_param:jenkins_aptly_url}/{{dist}}/ testing ceph"
+              EXTRA_REPO_KEY_URL:
+                type: string
+                default: "${_param:jenkins_aptly_url}/public.gpg"
+              APTLY_URL:
+                type: string
+                default: "${_param:jenkins_aptly_api_url}"
+              APTLY_REPO:
+                type: string
+                default: "ubuntu-{{dist}}-{{package}}-{{version}}"
+              OS:
+                type: string
+                default: "ubuntu"
+              DIST:
+                type: string
+                default: "{{dist}}"
+              ARCH:
+                type: string
+                default: "amd64"
+              UPLOAD_APTLY:
+                type: boolean
+                default: 'true'
\ No newline at end of file
diff --git a/jenkins/client/job/debian/packages/extra.yml b/jenkins/client/job/debian/packages/extra.yml
index 2500254..f3475b3 100644
--- a/jenkins/client/job/debian/packages/extra.yml
+++ b/jenkins/client/job/debian/packages/extra.yml
@@ -1,2 +1,278 @@
-# This file will be removed in Q3
-# jobs was moved into salt-models/infra repo
+parameters:
+  jenkins:
+    client:
+      job_template:
+        build-debian:
+          name: build-debian-{{package}}-ubuntu-{{dist}}
+          jobs:
+            - package: librdkafka
+              dist: trusty
+              build: pipeline
+              branch: debian/trusty
+            - package: python-kafka
+              dist: trusty
+              build: pipeline
+              branch: debian/trusty
+            - package: liburcu
+              dist: trusty
+              build: pipeline
+              branch: debian/trusty
+            - package: python-kazoo
+              dist: trusty
+              build: pipeline
+              branch: debian/trusty
+            - package: python-pathlib
+              dist: trusty
+              build: pipeline
+              branch: debian/trusty
+            - package: kafka
+              dist: trusty
+              build: pipeline
+              branch: debian/trusty
+            - package: python-geventhttpclient
+              dist: trusty
+              build: pipeline
+              branch: debian/trusty
+            - package: python-consistent-hash
+              dist: trusty
+              build: pipeline
+              branch: debian/trusty
+            - package: libipfix
+              dist: trusty
+              build: pipeline
+              branch: debian/trusty
+            - package: python-ncclient
+              dist: trusty
+              build: pipeline
+              branch: debian/trusty
+            - package: python-pycassa
+              dist: trusty
+              build: pipeline
+              branch: debian/trusty
+            - package: python-xmltodict
+              dist: trusty
+              build: pipeline
+              branch: debian/trusty
+            - package: python-backports.ssl-match-hostname
+              dist: trusty
+              build: pipeline
+              branch: debian/trusty
+            - package: python-certifi
+              dist: trusty
+              build: pipeline
+              branch: debian/trusty
+            - package: python-docker
+              dist: trusty
+              build: pipeline
+              branch: debian/trusty
+            - package: python-cassandra-driver
+              dist: trusty
+              build: pipeline
+              branch: debian/trusty
+            - package: python-redis
+              dist: trusty
+              build: pipeline
+              branch: debian/trusty
+            - package: python-tabulate
+              dist: trusty
+              build: pipeline
+              branch: debian/trusty
+            - package: cassandra-cpp-driver
+              dist: trusty
+              build: pipeline
+              branch: debian/trusty
+            - package: libuv1
+              dist: trusty
+              build: pipeline
+              branch: debian/trusty
+            - package: python-sseclient
+              dist: trusty
+              build: pipeline
+              branch: debian/trusty
+            - package: reclass
+              dist: trusty
+              build: pipeline
+              branch: debian/trusty
+            - package: jmx-exporter
+              dist: trusty
+              build: jmx-exporter
+              branch: master
+            - package: python-bitstring
+              dist: trusty
+              build: pipeline
+              branch: debian/trusty
+            - package: libvirt-exporter
+              dist: trusty
+              build: libvirt-exporter
+              branch: master
+            - package: librdkafka
+              dist: xenial
+              build: pipeline
+              branch: debian/xenial
+            - package: python-kafka
+              dist: xenial
+              build: pipeline
+              branch: debian/xenial
+            - package: python-geventhttpclient
+              dist: xenial
+              build: pipeline
+              branch: debian/xenial
+            - package: python-pydbus
+              dist: xenial
+              build: pipeline
+              branch: debian/xenial
+            - package: python-docker
+              dist: xenial
+              build: pipeline
+              branch: debian/xenial
+            - package: python-consistent-hash
+              dist: xenial
+              build: pipeline
+              branch: debian/xenial
+            - package: libipfix
+              dist: xenial
+              build: pipeline
+              branch: debian/xenial
+            - package: cassandra-cpp-driver
+              dist: xenial
+              build: pipeline
+              branch: debian/xenial
+            - package: python-sseclient
+              dist: xenial
+              build: pipeline
+              branch: debian/xenial
+            - package: reclass
+              dist: xenial
+              build: pipeline
+              branch: debian/xenial
+            - package: telegraf
+              dist: trusty
+              build: telegraf
+              branch: release-1.5
+            - package: telegraf
+              dist: xenial
+              build: telegraf
+              branch: release-1.5
+            - package: libvirt-exporter
+              dist: xenial
+              build: libvirt-exporter
+              branch: master
+            - package: kafka
+              dist: xenial
+              build: pipeline
+              branch: debian/xenial
+            - package: python-cassandra-driver
+              dist: xenial
+              build: pipeline
+              branch: debian/xenial
+            - package: jmx-exporter
+              dist: xenial
+              build: jmx-exporter
+              branch: master
+            - package: influxdb-relay
+              dist: xenial
+              build: influxdb-relay
+              branch: master
+            - package: prometheus-relay
+              dist: trusty
+              build: prometheus-relay
+              branch: master
+            - package: prometheus-relay
+              dist: xenial
+              build: prometheus-relay
+              branch: master
+            - package: python-datrie
+              dist: xenial
+              build: pipeline
+              branch: debian/xenial
+            - package: contrail-api-cli
+              dist: xenial
+              build: pipeline
+              branch: debian/xenial
+            - package: gerritlib
+              dist: xenial
+              build: pipeline
+              branch: debian/xenial
+            - package: python-pygerrit2
+              dist: xenial
+              build: pipeline
+              branch: debian/xenial
+            - package: jeepyb
+              dist: xenial
+              build: pipeline
+              branch: debian/xenial
+            - package: salt-pepper
+              dist: xenial
+              build: pipeline
+              branch: debian/xenial
+            - package: python-backports.ssl-match-hostname
+              dist: xenial
+              build: pipeline
+              branch: debian/xenial
+          template:
+            type: workflow-scm
+            concurrent: false
+            discard:
+              build:
+                keep_num: 10
+              artifact:
+                keep_num: 10
+            scm:
+              type: git
+              url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+              branch: "${_param:jenkins_pipelines_branch}"
+              credentials: "gerrit"
+              script: build-debian-packages-{{build}}.groovy
+            trigger:
+              gerrit:
+                project:
+                  debian/{{package}}:
+                    branches:
+                      - "{{branch}}"
+                message:
+                  build_successful: "Build successful"
+                  build_unstable: "Build unstable"
+                  build_failure: "Build failed"
+                event:
+                  ref:
+                    - updated
+            param:
+              SOURCE_URL:
+                type: string
+                default: "${_param:jenkins_gerrit_url}/debian/{{package}}.git"
+              SOURCE_BRANCH:
+                type: string
+                default: "{{branch}}"
+              SOURCE_CREDENTIALS:
+                type: string
+                default: "gerrit"
+              EXTRA_REPO_URL:
+                type: string
+                default: "deb ${_param:jenkins_aptly_url}/{{dist}}/ testing extra"
+              EXTRA_REPO_KEY_URL:
+                type: string
+                default: "${_param:jenkins_aptly_url}/public.gpg"
+              APTLY_URL:
+                type: string
+                default: "${_param:jenkins_aptly_api_url}"
+              APTLY_REPO:
+                type: string
+                default: "ubuntu-{{dist}}-extra"
+              OS:
+                type: string
+                default: "ubuntu"
+              DIST:
+                type: string
+                default: "{{dist}}"
+              ARCH:
+                type: string
+                default: "amd64"
+              PPA:
+                type: string
+                default: "mirantis-opencontrail/extra"
+              UPLOAD_PPA:
+                type: boolean
+                default: 'true'
+              UPLOAD_APTLY:
+                type: boolean
+                default: 'true'
diff --git a/jenkins/client/job/debian/packages/heat/resources.yml b/jenkins/client/job/debian/packages/heat/resources.yml
index 2500254..92bdbe0 100644
--- a/jenkins/client/job/debian/packages/heat/resources.yml
+++ b/jenkins/client/job/debian/packages/heat/resources.yml
@@ -1,2 +1,91 @@
-# This file will be removed in Q3
-# jobs was moved into salt-models/infra repo
+parameters:
+  jenkins:
+    client:
+      job_template:
+        build-debian-heat-resources:
+          name: build-debian-{{name}}-{{os}}-{{dist}}
+          jobs:
+            # Trusty
+            - name: heat-resource-salt
+              os: ubuntu
+              dist: trusty
+              branch: master
+            # Xenial
+            - name: heat-resource-salt
+              os: ubuntu
+              dist: xenial
+              branch: master
+          template:
+            discard:
+              build:
+                keep_num: 10
+              artifact:
+                keep_num: 10
+            type: workflow-scm
+            concurrent: false
+            scm:
+              type: git
+              url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+              branch: "${_param:jenkins_pipelines_branch}"
+              credentials: "gerrit"
+              script: build-debian-packages-pipeline.groovy
+            trigger:
+              gerrit:
+                project:
+                  salt-formulas/{{name}}:
+                    branches:
+                      - "{{branch}}"
+                message:
+                  build_successful: "Build successful"
+                  build_unstable: "Build unstable"
+                  build_failure: "Build failed"
+                event:
+                  ref:
+                    - updated
+            param:
+              SOURCE_URL:
+                type: string
+                default: "git@github.com:salt-formulas/heat-resource-salt.git"
+              SOURCE_BRANCH:
+                type: string
+                default: "{{branch}}"
+              SOURCE_CREDENTIALS:
+                type: string
+                default: "github-credentials"
+              DEBIAN_SNAPSHOT:
+                type: boolean
+                default: 'true'
+              REVISION_POSTFIX:
+                type: string
+                default: '~{{dist}}1'
+              EXTRA_REPO_URL:
+                type: string
+                default: "deb ${_param:jenkins_aptly_url}/{{dist}}/ testing extra"
+              EXTRA_REPO_KEY_URL:
+                type: string
+                default: "${_param:jenkins_aptly_url}/public.gpg"
+              APTLY_URL:
+                type: string
+                default: "${_param:jenkins_aptly_api_url}"
+              APTLY_REPO:
+                type: string
+                default: "{{os}}-{{dist}}-extra"
+              OS:
+                type: string
+                default: "{{os}}"
+              DIST:
+                type: string
+                default: "{{dist}}"
+              ARCH:
+                type: string
+                default: "amd64"
+              UPLOAD_APTLY:
+                type: boolean
+                default: 'true'
+              PRE_BUILD_SCRIPT:
+                type: text
+                default: |
+                  echo "deb http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/ mos9.0 main restricted" >> /etc/apt/sources.list.d/extra.list
+                  curl --insecure -ss -f "http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0/archive-mos9.0.key" | apt-key add -
+                  apt-get update
+
diff --git a/jenkins/client/job/debian/packages/horizon/init.yml b/jenkins/client/job/debian/packages/horizon/init.yml
index 2500254..a899680 100644
--- a/jenkins/client/job/debian/packages/horizon/init.yml
+++ b/jenkins/client/job/debian/packages/horizon/init.yml
@@ -1,2 +1,3 @@
-# This file will be removed in Q3
-# jobs was moved into salt-models/infra repo
+classes:
+  - system.jenkins.client.job.debian.packages.horizon.modules
+  - system.jenkins.client.job.debian.packages.horizon.themes
diff --git a/jenkins/client/job/debian/packages/horizon/modules.yml b/jenkins/client/job/debian/packages/horizon/modules.yml
index 2500254..357be6e 100644
--- a/jenkins/client/job/debian/packages/horizon/modules.yml
+++ b/jenkins/client/job/debian/packages/horizon/modules.yml
@@ -1,2 +1,242 @@
-# This file will be removed in Q3
-# jobs was moved into salt-models/infra repo
+parameters:
+  jenkins:
+    client:
+      job_template:
+        build-debian-horizon-module:
+          name: build-debian-horizon-module-{{name}}-{{os_version}}-{{os}}-{{dist}}
+          jobs:
+            # Trusty
+            - name: horizon-avi-panels
+              os: ubuntu
+              dist: trusty
+              os_version: mitaka
+              branch: stable/mitaka
+            # Xenial
+            - name: horizon-avi-panels
+              os: ubuntu
+              dist: xenial
+              os_version: mitaka
+              branch: stable/mitaka
+            # Trusty
+            - name: horizon-neutron-lbaasv2-panel
+              os: ubuntu
+              dist: trusty
+              os_version: ocata
+              branch: stable/ocata
+            # Xenial
+            - name: horizon-neutron-lbaasv2-panel
+              os: ubuntu
+              dist: xenial
+              os_version: ocata
+              branch: stable/ocata
+            # Trusty
+            - name: horizon-neutron-lbaasv2-panel
+              os: ubuntu
+              dist: trusty
+              os_version: mitaka
+              branch: stable/mitaka
+            # Xenial
+            - name: horizon-neutron-lbaasv2-panel
+              os: ubuntu
+              dist: xenial
+              os_version: mitaka
+              branch: stable/mitaka
+            # Trusty
+            - name: horizon-overrides-plugin
+              os: ubuntu
+              dist: trusty
+              os_version: mitaka
+              branch: master
+            # Xenial
+            - name: horizon-overrides-plugin
+              os: ubuntu
+              dist: xenial
+              os_version: mitaka
+              branch: master
+            # Trusty
+            - name: horizon-overrides-plugin
+              os: ubuntu
+              dist: trusty
+              os_version: ocata
+              branch: master
+            # Xenial
+            - name: horizon-overrides-plugin
+              os: ubuntu
+              dist: xenial
+              os_version: ocata
+              branch: master
+            # Trusty
+            - name: horizon-contrib
+              os: ubuntu
+              dist: trusty
+              os_version: ocata
+              branch: master
+            # Xenial
+            - name: horizon-contrib
+              os: ubuntu
+              dist: xenial
+              os_version: ocata
+              branch: master
+            # Trusty
+            - name: horizon-contrail-panels
+              os: ubuntu
+              dist: trusty
+              os_version: mitaka
+              branch: stable/mitaka
+            # Xenial
+            - name: horizon-contrail-panels
+              os: ubuntu
+              dist: xenial
+              os_version: mitaka
+              branch: stable/mitaka
+            # Trusty
+            - name: horizon-contrail-panels
+              os: ubuntu
+              dist: trusty
+              os_version: newton
+              branch: stable/newton
+            # Xenial
+            - name: horizon-contrail-panels
+              os: ubuntu
+              dist: xenial
+              os_version: newton
+              branch: stable/newton
+            # Trusty
+            - name: horizon-contrail-panels
+              os: ubuntu
+              dist: trusty
+              os_version: ocata
+              branch: stable/ocata
+            # Xenial
+            - name: horizon-contrail-panels
+              os: ubuntu
+              dist: xenial
+              os_version: ocata
+              branch: stable/ocata
+            # Trusty
+            - name: horizon-contrail-panels
+              os: ubuntu
+              dist: trusty
+              os_version: pike
+              branch: stable/pike
+            # Xenial
+            - name: horizon-contrail-panels
+              os: ubuntu
+              dist: xenial
+              os_version: pike
+              branch: stable/pike
+            # Trusty
+            - name: horizon-contrail-panels
+              os: ubuntu
+              dist: trusty
+              os_version: queens
+              branch: stable/queens
+            # Xenial
+            - name: horizon-contrail-panels
+              os: ubuntu
+              dist: xenial
+              os_version: queens
+              branch: stable/queens
+            # Trusty
+            - name: horizon-jenkins-dashboard
+              os: ubuntu
+              dist: trusty
+              os_version: liberty
+              branch: stable/liberty
+            # Xenial
+            - name: horizon-jenkins-dashboard
+              os: ubuntu
+              dist: xenial
+              os_version: liberty
+              branch: stable/liberty
+            # Trusty
+            - name: horizon-telemetry-dashboard
+              os: ubuntu
+              dist: trusty
+              os_version: liberty
+              branch: stable/liberty
+            # Xenial
+            - name: horizon-telemetry-dashboard
+              os: ubuntu
+              dist: xenial
+              os_version: liberty
+              branch: stable/liberty
+            # Trusty
+            - name: horizon-telemetry-dashboard
+              os: ubuntu
+              dist: trusty
+              os_version: mitaka
+              branch: stable/mitaka
+            # Xenial
+            - name: horizon-telemetry-dashboard
+              os: ubuntu
+              dist: xenial
+              os_version: mitaka
+              branch: stable/mitaka
+          template:
+            discard:
+              build:
+                keep_num: 10
+              artifact:
+                keep_num: 10
+            type: workflow-scm
+            concurrent: false
+            scm:
+              type: git
+              url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+              branch: "${_param:jenkins_pipelines_branch}"
+              credentials: "gerrit"
+              script: build-debian-packages-pipeline.groovy
+            trigger:
+              gerrit:
+                project:
+                  horizon-modules/{{name}}:
+                    branches:
+                      - "{{branch}}"
+                message:
+                  build_successful: "Build successful"
+                  build_unstable: "Build unstable"
+                  build_failure: "Build failed"
+                event:
+                  ref:
+                    - updated
+            param:
+              SOURCE_URL:
+                type: string
+                default: "${_param:jenkins_gerrit_url}/horizon-modules/{{name}}.git"
+              SOURCE_BRANCH:
+                type: string
+                default: "{{branch}}"
+              SOURCE_CREDENTIALS:
+                type: string
+                default: "gerrit"
+              DEBIAN_SNAPSHOT:
+                type: boolean
+                default: 'true'
+              REVISION_POSTFIX:
+                type: string
+                default: '~{{os_version}}1{{dist}}1'
+              EXTRA_REPO_URL:
+                type: string
+                default: "deb ${_param:jenkins_aptly_url}/{{dist}}/ testing extra {{os_version}}"
+              EXTRA_REPO_KEY_URL:
+                type: string
+                default: "${_param:jenkins_aptly_url}/public.gpg"
+              APTLY_URL:
+                type: string
+                default: "${_param:jenkins_aptly_api_url}"
+              APTLY_REPO:
+                type: string
+                default: "{{os}}-{{dist}}-{{os_version}}"
+              OS:
+                type: string
+                default: "{{os}}"
+              DIST:
+                type: string
+                default: "{{dist}}"
+              ARCH:
+                type: string
+                default: "amd64"
+              UPLOAD_APTLY:
+                type: boolean
+                default: 'true'
diff --git a/jenkins/client/job/debian/packages/horizon/themes.yml b/jenkins/client/job/debian/packages/horizon/themes.yml
index 2500254..dbaab83 100644
--- a/jenkins/client/job/debian/packages/horizon/themes.yml
+++ b/jenkins/client/job/debian/packages/horizon/themes.yml
@@ -1,2 +1,98 @@
-# This file will be removed in Q3
-# jobs was moved into salt-models/infra repo
+parameters:
+  jenkins:
+    client:
+      job_template:
+        build-debian-horizon-theme:
+          name: build-debian-horizon-theme-{{name}}-{{os_version}}-{{os}}-{{dist}}
+          jobs:
+            # Trusty
+            - name: horizon-mirantis-theme
+              os: ubuntu
+              dist: trusty
+              os_version: mitaka
+              branch: stable/mitaka
+            # Xenial
+            - name: horizon-mirantis-theme
+              os: ubuntu
+              dist: xenial
+              os_version: mitaka
+              branch: stable/mitaka
+            # Trusty
+            - name: horizon-mirantis-theme
+              os: ubuntu
+              dist: trusty
+              os_version: ocata
+              branch: stable/ocata
+            # Xenial
+            - name: horizon-mirantis-theme
+              os: ubuntu
+              dist: xenial
+              os_version: ocata
+              branch: stable/ocata
+          template:
+            discard:
+              build:
+                keep_num: 10
+              artifact:
+                keep_num: 10
+            type: workflow-scm
+            concurrent: false
+            scm:
+              type: git
+              url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+              branch: "${_param:jenkins_pipelines_branch}"
+              credentials: "gerrit"
+              script: build-debian-packages-pipeline.groovy
+            trigger:
+              gerrit:
+                project:
+                  horizon-themes/{{name}}:
+                    branches:
+                      - "{{branch}}"
+                message:
+                  build_successful: "Build successful"
+                  build_unstable: "Build unstable"
+                  build_failure: "Build failed"
+                event:
+                  ref:
+                    - updated
+            param:
+              SOURCE_URL:
+                type: string
+                default: "${_param:jenkins_gerrit_url}/horizon-themes/{{name}}.git"
+              SOURCE_BRANCH:
+                type: string
+                default: "{{branch}}"
+              SOURCE_CREDENTIALS:
+                type: string
+                default: "gerrit"
+              DEBIAN_SNAPSHOT:
+                type: boolean
+                default: 'true'
+              REVISION_POSTFIX:
+                type: string
+                default: '~{{os_version}}1{{dist}}1'
+              EXTRA_REPO_URL:
+                type: string
+                default: "deb ${_param:jenkins_aptly_url}/{{dist}}/ testing extra {{os_version}}"
+              EXTRA_REPO_KEY_URL:
+                type: string
+                default: "${_param:jenkins_aptly_url}/public.gpg"
+              APTLY_URL:
+                type: string
+                default: "${_param:jenkins_aptly_api_url}"
+              APTLY_REPO:
+                type: string
+                default: "{{os}}-{{dist}}-{{os_version}}"
+              OS:
+                type: string
+                default: "{{os}}"
+              DIST:
+                type: string
+                default: "{{dist}}"
+              ARCH:
+                type: string
+                default: "amd64"
+              UPLOAD_APTLY:
+                type: boolean
+                default: 'true'
diff --git a/jenkins/client/job/debian/packages/init.yml b/jenkins/client/job/debian/packages/init.yml
index 2500254..4196f95 100644
--- a/jenkins/client/job/debian/packages/init.yml
+++ b/jenkins/client/job/debian/packages/init.yml
@@ -1,2 +1,19 @@
-# This file will be removed in Q3
-# jobs was moved into salt-models/infra repo
+classes:
+  - system.jenkins.client.job.debian.packages.extra
+  - system.jenkins.client.job.debian.packages.salt
+  - system.jenkins.client.job.debian.packages.salt-multi
+  - system.jenkins.client.job.debian.packages.horizon
+  - system.jenkins.client.job.debian.packages.heat.resources
+  - system.jenkins.client.job.debian.packages.ceph
+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/debian/packages/salt-multi.yml b/jenkins/client/job/debian/packages/salt-multi.yml
index 2500254..b58b801 100644
--- a/jenkins/client/job/debian/packages/salt-multi.yml
+++ b/jenkins/client/job/debian/packages/salt-multi.yml
@@ -1,2 +1,144 @@
-# This file will be removed in Q3
-# jobs was moved into salt-models/infra repo
+parameters:
+  jenkins:
+    client:
+      job_template:
+        build-debian-salt-multibranch:
+          name: build-debian-salt-formula-{{name}}-ubuntu-{{dist}}
+          jobs:
+            - name: ceilometer
+              upload_source_package: false
+              dist: trusty
+            - name: cinder
+              upload_source_package: false
+              dist: trusty
+            - name: glance
+              upload_source_package: false
+              dist: trusty
+            - name: heat
+              upload_source_package: false
+              dist: trusty
+            - name: horizon
+              upload_source_package: false
+              dist: trusty
+            - name: keystone
+              upload_source_package: false
+              dist: trusty
+            - name: kubernetes
+              upload_source_package: false
+              dist: trusty
+            - name: neutron
+              upload_source_package: false
+              dist: trusty
+            - name: nova
+              upload_source_package: false
+              dist: trusty
+            - name: swift
+              upload_source_package: false
+              dist: trusty
+            - name: ceilometer
+              upload_source_package: true
+              dist: xenial
+            - name: cinder
+              upload_source_package: true
+              dist: xenial
+            - name: glance
+              upload_source_package: true
+              dist: xenial
+            - name: heat
+              upload_source_package: true
+              dist: xenial
+            - name: horizon
+              upload_source_package: true
+              dist: xenial
+            - name: keystone
+              upload_source_package: true
+              dist: xenial
+            - name: kubernetes
+              upload_source_package: true
+              dist: xenial
+            - name: neutron
+              upload_source_package: true
+              dist: xenial
+            - name: nova
+              upload_source_package: true
+              dist: xenial
+            - name: swift
+              upload_source_package: false
+              dist: xenial
+          template:
+            discard:
+              build:
+                keep_num: 10
+              artifact:
+                keep_num: 10
+            type: workflow-scm
+            concurrent: false
+            scm:
+              type: git
+              url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+              branch: "${_param:jenkins_pipelines_branch}"
+              credentials: "gerrit"
+              script: build-debian-packages-pipeline.groovy
+            trigger:
+              gerrit:
+                project:
+                  salt-formulas/{{name}}:
+                    branches:
+                      - master
+                      - debian/{{dist}}
+                message:
+                  build_successful: "Build successful"
+                  build_unstable: "Build unstable"
+                  build_failure: "Build failed"
+                event:
+                  ref:
+                    - updated
+            param:
+              SOURCE_URL:
+                type: string
+                default: "${_param:jenkins_gerrit_url}/salt-formulas/{{name}}.git"
+              SOURCE_BRANCH:
+                type: string
+                default: "master"
+              SOURCE_CREDENTIALS:
+                type: string
+                default: "gerrit"
+              DEBIAN_BRANCH:
+                type: string
+                default: 'debian/{{dist}}'
+              DEBIAN_SNAPSHOT:
+                type: boolean
+                default: 'true'
+              EXTRA_REPO_URL:
+                type: string
+                default: "deb http://repo.saltstack.com/apt/ubuntu/16.04/amd64/2016.3 xenial main; deb ${_param:jenkins_aptly_url}/{{dist}}/ testing salt"
+              EXTRA_REPO_KEY_URL:
+                type: string
+                default: "https://repo.saltstack.com/apt/ubuntu/16.04/amd64/2016.3/SALTSTACK-GPG-KEY.pub; ${_param:jenkins_aptly_url}/public.gpg"
+              APTLY_URL:
+                type: string
+                default: "${_param:jenkins_aptly_api_url}"
+              APTLY_REPO:
+                type: string
+                default: "ubuntu-{{dist}}-salt"
+              OS:
+                type: string
+                default: "ubuntu"
+              DIST:
+                type: string
+                default: "{{dist}}"
+              ARCH:
+                type: string
+                default: "amd64"
+              PPA:
+                type: string
+                default: "salt-formulas/ppa"
+              UPLOAD_PPA:
+                type: boolean
+                default: 'true'
+              UPLOAD_APTLY:
+                type: boolean
+                default: '{{upload_source_package}}'
+              DEBUG:
+                type: boolean
+                default: 'false'
diff --git a/jenkins/client/job/debian/packages/salt.yml b/jenkins/client/job/debian/packages/salt.yml
index 2500254..ee8c9ef 100644
--- a/jenkins/client/job/debian/packages/salt.yml
+++ b/jenkins/client/job/debian/packages/salt.yml
@@ -1,2 +1,475 @@
-# This file will be removed in Q3
-# jobs was moved into salt-models/infra repo
+parameters:
+  jenkins:
+    client:
+      job_template:
+        build-debian-salt-formula:
+          name: build-debian-salt-formula-{{name}}-ubuntu-{{dist}}
+          jobs:
+            - name: aodh
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: apache
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: aptcacher
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: aptly
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: artifactory
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: avinetworks
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: auditd
+              upload_source_packages: false
+              upload_to_aptly: true
+              dist: xenial
+            - name: barbican
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: baremetal-simulator
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: backupninja
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: bind
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: bird
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: cadf
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: calico
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: cassandra
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: ceph
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: chrony
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: collectd
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: debmirror
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: dekapod
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: designate
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: devops-portal
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: docker
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: dogtag
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: elasticsearch
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: etcd
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: fluentbit
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: fluentd
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: freeipa
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: galera
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: gerrit
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: git
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: gitlab
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: glusterfs
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: gnocchi
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: grafana
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: haproxy
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: heka
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: heketi
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: helm
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: hubble
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: influxdb
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: iptables
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: ironic
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: isc-dhcp
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: java
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: jenkins
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: keepalived
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: keycloak
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: kibana
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: letsencrypt
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: libvirt
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: linux
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: lldp
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: logrotate
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: maas
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: manila
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: memcached
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: mirascan
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: monasca
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: mongodb
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: murano
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: mysql
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: nfs
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: nginx
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: ntp
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: octavia
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: opencontrail
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: openldap
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: openscap
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: openssh
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: openvpn
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: oslo-templates
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: panko
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: postgresql
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: prometheus
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: powerdns
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: python
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: rabbitmq
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: reclass
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: redis
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: rsync
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: rundeck
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: rsyslog
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: runtest
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: sahara
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: salt
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: sensu
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: shibboleth
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: sphinx
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: spinnaker
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: statsd
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: telegraf
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: tinyproxy
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: tftpd-hpa
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: watchdog
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: xtrabackup
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+            - name: zookeeper
+              upload_source_package: true
+              upload_to_aptly: true
+              dist: xenial
+          template:
+            discard:
+              build:
+                keep_num: 10
+              artifact:
+                keep_num: 10
+            type: workflow-scm
+            concurrent: false
+            scm:
+              type: git
+              url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+              branch: "${_param:jenkins_pipelines_branch}"
+              credentials: "gerrit"
+              script: build-debian-packages-pipeline.groovy
+            trigger:
+              gerrit:
+                project:
+                  salt-formulas/{{name}}:
+                    branches:
+                      - master
+                message:
+                  build_successful: "Build successful"
+                  build_unstable: "Build unstable"
+                  build_failure: "Build failed"
+                event:
+                  ref:
+                    - updated
+            param:
+              SOURCE_URL:
+                type: string
+                default: "${_param:jenkins_gerrit_url}/salt-formulas/{{name}}.git"
+              SOURCE_BRANCH:
+                type: string
+                default: "master"
+              SOURCE_CREDENTIALS:
+                type: string
+                default: "gerrit"
+              DEBIAN_SNAPSHOT:
+                type: boolean
+                default: 'true'
+              REVISION_POSTFIX:
+                type: string
+                default: '~{{dist}}1'
+              EXTRA_REPO_URL:
+                type: string
+                default: "deb http://repo.saltstack.com/apt/ubuntu/16.04/amd64/2016.3 xenial main; deb ${_param:jenkins_aptly_url}/{{dist}}/ testing salt"
+              EXTRA_REPO_KEY_URL:
+                type: string
+                default: "https://repo.saltstack.com/apt/ubuntu/16.04/amd64/2016.3/SALTSTACK-GPG-KEY.pub; ${_param:jenkins_aptly_url}/public.gpg"
+              APTLY_URL:
+                type: string
+                default: "${_param:jenkins_aptly_api_url}"
+              APTLY_REPO:
+                type: string
+                default: "ubuntu-{{dist}}-salt"
+              OS:
+                type: string
+                default: "ubuntu"
+              DIST:
+                type: string
+                default: "{{dist}}"
+              ARCH:
+                type: string
+                default: "amd64"
+              PPA:
+                type: string
+                default: "salt-formulas/ppa"
+              UPLOAD_PPA:
+                type: boolean
+                default: '{{upload_source_package}}'
+              UPLOAD_APTLY:
+                type: boolean
+                default: '{{upload_to_aptly}}'
+              DEBUG:
+                type: boolean
+                default: 'false'
diff --git a/jenkins/client/job/debian/packages/testing.yml b/jenkins/client/job/debian/packages/testing.yml
index 2500254..84ff1cc 100644
--- a/jenkins/client/job/debian/packages/testing.yml
+++ b/jenkins/client/job/debian/packages/testing.yml
@@ -1,2 +1,80 @@
-# This file will be removed in Q3
-# jobs was moved into salt-models/infra repo
+parameters:
+  _param:
+    jenkins_pollscm_spec: "H/60 * * * *"
+  jenkins:
+    client:
+      job_template:
+        build-debian-python-flask-hello:
+          name: build-debian-{{package}}-ubuntu-{{dist}}
+          jobs:
+            - package: python-flask-hello
+              dist: trusty
+              build: pipeline
+              branch: master
+          template:
+            type: workflow-scm
+            concurrent: false
+            discard:
+              build:
+                keep_num: 10
+              artifact:
+                keep_num: 10
+            scm:
+              type: git
+              url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+              branch: "${_param:jenkins_pipelines_branch}"
+              credentials: "gerrit"
+              script: build-debian-packages-{{build}}.groovy
+            trigger:
+              gerrit:
+                project:
+                  mk/{{package}}:
+                    branches:
+                      - "{{branch}}"
+                message:
+                  build_successful: "Build successful"
+                  build_unstable: "Build unstable"
+                  build_failure: "Build failed"
+                event:
+                  ref:
+                    - updated
+            param:
+              SOURCE_URL:
+                type: string
+                default: "${_param:jenkins_gerrit_url}/mk/python-flask-hello"
+              SOURCE_BRANCH:
+                type: string
+                default: "{{branch}}"
+              SOURCE_CREDENTIALS:
+                type: string
+                default: "gerrit"
+              EXTRA_REPO_URL:
+                type: string
+                default: ""
+              EXTRA_REPO_KEY_URL:
+                type: string
+                default: "${_param:jenkins_aptly_url}/public.gpg"
+              APTLY_URL:
+                type: string
+                default: "${_param:jenkins_aptly_api_url}"
+              APTLY_REPO:
+                type: string
+                default: "ubuntu-{{dist}}-extra"
+              OS:
+                type: string
+                default: "ubuntu"
+              DIST:
+                type: string
+                default: "{{dist}}"
+              ARCH:
+                type: string
+                default: "amd64"
+              PPA:
+                type: string
+                default: "mirantis-opencontrail/extra"
+              UPLOAD_PPA:
+                type: boolean
+                default: 'false'
+              UPLOAD_APTLY:
+                type: boolean
+                default: 'true'
diff --git a/jenkins/client/job/k8s-test/init.yml b/jenkins/client/job/k8s-test/init.yml
index 7a391af..2500254 100644
--- a/jenkins/client/job/k8s-test/init.yml
+++ b/jenkins/client/job/k8s-test/init.yml
@@ -1,6 +1,2 @@
-classes:
-- system.jenkins.client.job.k8s-test.mcp-k8s-test-pipeline
-- system.jenkins.client.job.k8s-test.mcp-k8s-merge-pipeline
-- system.jenkins.client.job.k8s-test.mcp-k8s-generic-test-pipeline
-- system.jenkins.client.job.k8s-test.mcp-k8s-generic-merge-pipeline
-- system.jenkins.client.job.k8s-test.mcp-k8s-formula-test-pipeline
+# This file will be removed in Q3
+# jobs was moved into salt-models/infra repo
diff --git a/jenkins/client/job/k8s-test/mcp-k8s-formula-test-pipeline.yml b/jenkins/client/job/k8s-test/mcp-k8s-formula-test-pipeline.yml
index d07fedd..2500254 100644
--- a/jenkins/client/job/k8s-test/mcp-k8s-formula-test-pipeline.yml
+++ b/jenkins/client/job/k8s-test/mcp-k8s-formula-test-pipeline.yml
@@ -1,88 +1,2 @@
-parameters:
-  jenkins:
-    client:
-      job:
-        mcp_k8s_formula_test_pipeline:
-          type: workflow-scm
-          name: mcp-k8s-formula-test-pipeline
-          display_name: "Kubernetes formula test pipeline"
-          description: "Run k8s conformance against gerrit commit"
-          discard:
-            build:
-              keep_num: 30
-            artifact:
-              keep_num: 30
-          concurrent: true
-          scm:
-            type: git
-            url: "${_param:jenkins_gerrit_url}/kubernetes-ci/kubernetes-pipelines"
-            credentials: "gerrit"
-            script: pipelines/mcp-formula-change-test-pipeline.groovy
-          trigger:
-            gerrit:
-              project:
-                salt-formulas/kubernetes:
-                  branches:
-                    - compare_type: "ANT"
-                      name: "**"
-              skip_vote:
-                - successful
-                - failed
-                - unstable
-                - not_built
-              event:
-                patchset:
-                  - created:
-                      excludeDrafts: false
-                      excludeTrivialRebase: false
-                      excludeNoCodeChange: false
-                comment:
-                  - addedContains:
-                      commentAddedCommentContains: '^(?s:Patch Set \d+:.*(test|recheck|reverify)\s*)$'
-          param:
-            SOURCE_CREDENTIALS:
-              type: string
-              default: "gerrit"
-            UPLOAD_APTLY:
-              type: boolean
-              default: 'true'
-              description: Whether to upload to Aptly
-            APTLY_REPO:
-              type: string
-              default: ""
-              description: Aptly repo name
-            BUILD_PACKAGE:
-              type: boolean
-              default: 'true'
-              description: Whether to build package
-            APTLY_REPO_URL:
-              type: string
-              default: "${_param:jenkins_aptly_url}"
-              description: Aptly url
-            APTLY_API_URL:
-              type: string
-              default: "${_param:jenkins_aptly_api_url}"
-              description: Aptly API url
-            SOURCES:
-              type: text
-              default: ""
-              description: Optional parameter to list Git refspecs to be build
-            PKG_BUILD_JOB_NAME:
-              type: string
-              default: "oscore-build-salt-formula-refspec"
-              description: Jenkins job name to build package
-            STACK_DELETE:
-              type: boolean
-              default: 'true'
-              description: Whether to delete stacks ater tests
-            APTLY_PREFIX:
-              type: string
-              default: "oscc-dev"
-              description: Aptly prefix
-            SOURCE_REPO_NAME:
-              type: string
-              description: "Name of the repo where packages are stored"
-              default: "ubuntu-xenial-salt"
-            DEPLOY_JOB:
-              type: string
-              default: "deploy-heat-k8s_ha_calico"
+# This file will be removed in Q3
+# jobs was moved into salt-models/infra repo
diff --git a/jenkins/client/job/k8s-test/mcp-k8s-generic-merge-pipeline.yml b/jenkins/client/job/k8s-test/mcp-k8s-generic-merge-pipeline.yml
index ad66033..2500254 100644
--- a/jenkins/client/job/k8s-test/mcp-k8s-generic-merge-pipeline.yml
+++ b/jenkins/client/job/k8s-test/mcp-k8s-generic-merge-pipeline.yml
@@ -1,62 +1,2 @@
-parameters:
-  jenkins:
-    client:
-      job_template:
-        mcp-k8s-generic-merge-pipeline:
-          name: mcp-k8s-{{name}}-merge-pipeline
-          jobs:
-            - name: coredns
-              display_name: "CoreDNS merge pipeline"
-              pipeline: mcp-k8s-coredns-pipeline.groovy
-              repo: kubernetes/coredns
-            - name: dashboard
-              display_name: "Kubernetes dashboard merge pipeline"
-              pipeline: mcp-k8s-dashboard-pipeline.groovy
-              repo: kubernetes/dashboard
-            - name: external-dns
-              display_name: "External DNS merge pipeline"
-              pipeline: mcp-k8s-ext-dns-pipeline.groovy
-              repo: kubernetes/external-dns
-            - name: metallb
-              display_name: "Metal LB merge pipeline"
-              pipeline: mcp-k8s-metallb-pipeline.groovy
-              repo: kubernetes/metallb
-            - name: nginx-ingress
-              display_name: "NGINX ingress merge pipeline"
-              pipeline: mcp-k8s-ingress-nginx-pipeline.groovy
-              repo: kubernetes/ingress-nginx
-          template:
-            type: workflow-scm
-            display_name: "{{display_name}}"
-            discard:
-              build:
-                keep_num: 20
-            concurrent: false
-            scm:
-              type: git
-              url: "${_param:jenkins_gerrit_url}/kubernetes-ci/kubernetes-pipelines"
-              credentials: "gerrit"
-              script: "pipelines/{{pipeline}}"
-            trigger:
-              gerrit:
-                project:
-                  "{{repo}}":
-                    branches:
-                      - compare_type: "ANT"
-                        name: "**mcp**"
-                message:
-                  build_successful: "Build successful"
-                  build_unstable: "Build unstable"
-                  build_failure: "Build failed"
-                event:
-                  change:
-                    - merged
-            param:
-              KUBE_DOCKER_REGISTRY:
-                type: string
-                default: docker-dev-local.docker.mirantis.net
-                description: 'Docker registry for binaries and images'
-              KUBE_PROD_DOCKER_REGISTRY:
-                type: string
-                default: ${_param:mcp_docker_registry}
-                description: 'Prod docker registry for binaries and images'
+# This file will be removed in Q3
+# jobs was moved into salt-models/infra repo
diff --git a/jenkins/client/job/k8s-test/mcp-k8s-generic-test-pipeline.yml b/jenkins/client/job/k8s-test/mcp-k8s-generic-test-pipeline.yml
index 3bf77cb..2500254 100644
--- a/jenkins/client/job/k8s-test/mcp-k8s-generic-test-pipeline.yml
+++ b/jenkins/client/job/k8s-test/mcp-k8s-generic-test-pipeline.yml
@@ -1,67 +1,2 @@
-parameters:
-  jenkins:
-    client:
-      job_template:
-        mcp-k8s-generic-test-pipeline:
-          name: mcp-k8s-{{name}}-test-pipeline
-          jobs:
-            - name: coredns
-              display_name: "CoreDNS test pipeline"
-              pipeline: mcp-k8s-coredns-pipeline.groovy
-              repo: kubernetes/coredns
-            - name: dashboard
-              display_name: "Kubernetes dashboard test pipeline"
-              pipeline: mcp-k8s-dashboard-pipeline.groovy
-              repo: kubernetes/dashboard
-            - name: external-dns
-              display_name: "External DNS test pipeline"
-              pipeline: mcp-k8s-ext-dns-pipeline.groovy
-              repo: kubernetes/external-dns
-            - name: metallb
-              display_name: "Metal LB test pipeline"
-              pipeline: mcp-k8s-metallb-pipeline.groovy
-              repo: kubernetes/metallb
-            - name: nginx-ingress
-              display_name: "NGINX ingress test pipeline"
-              pipeline: mcp-k8s-ingress-nginx-pipeline.groovy
-              repo: kubernetes/ingress-nginx
-          template:
-            type: workflow-scm
-            display_name: "{{display_name}}"
-            discard:
-              build:
-                keep_num: 50
-            concurrent: true
-            scm:
-              type: git
-              url: "${_param:jenkins_gerrit_url}/kubernetes-ci/kubernetes-pipelines"
-              credentials: "gerrit"
-              script: "pipelines/{{pipeline}}"
-            trigger:
-              gerrit:
-                project:
-                  "{{repo}}":
-                    branches:
-                      - compare_type: "ANT"
-                        name: "**"
-                message:
-                  build_successful: "Build successful"
-                  build_unstable: "Build unstable"
-                  build_failure: "Build failed"
-                event:
-                  patchset:
-                    - created:
-                        excludeDrafts: false
-                        excludeTrivialRebase: false
-                        excludeNoCodeChange: false
-                  comment:
-                    - addedContains:
-                        commentAddedCommentContains: '(recheck|reverify)'
-                override-votes:
-                  gerritBuildUnstableVerifiedValue: 1
-                  gerritBuildUnstableCodeReviewValue: 1
-            param:
-              KUBE_DOCKER_REGISTRY:
-                type: string
-                default: 'docker-dev-local.docker.mirantis.net'
-                description: 'Docker registry for binaries and images'
+# This file will be removed in Q3
+# jobs was moved into salt-models/infra repo
diff --git a/jenkins/client/job/k8s-test/mcp-k8s-merge-pipeline.yml b/jenkins/client/job/k8s-test/mcp-k8s-merge-pipeline.yml
index 042e8d3..2500254 100644
--- a/jenkins/client/job/k8s-test/mcp-k8s-merge-pipeline.yml
+++ b/jenkins/client/job/k8s-test/mcp-k8s-merge-pipeline.yml
@@ -1,36 +1,2 @@
-parameters:
-  jenkins:
-    client:
-      job:
-        mcp_k8s_merge_pipeline:
-          type: workflow-scm
-          name: mcp-k8s-merge-pipeline
-          display_name: "Kubernetes merge pipeline"
-          discard:
-            build:
-              keep_num: 20
-          concurrent: false
-          scm:
-            type: git
-            url: "${_param:jenkins_gerrit_url}/kubernetes-ci/kubernetes-pipelines"
-            credentials: "gerrit"
-            script: pipelines/mcp-k8s-test-pipeline.groovy
-          trigger:
-            gerrit:
-              project:
-                kubernetes/kubernetes:
-                  branches:
-                    - compare_type: "ANT"
-                      name: "**mcp**"
-              message:
-                build_successful: "Build successful"
-                build_unstable: "Build unstable"
-                build_failure: "Build failed"
-              event:
-                change:
-                  - merged
-          param:
-            KUBE_DOCKER_REGISTRY:
-              type: string
-              default: docker-dev-local.docker.mirantis.net
-              description: 'Docker registry for binaries and images'
+# This file will be removed in Q3
+# jobs was moved into salt-models/infra repo
diff --git a/jenkins/client/job/k8s-test/mcp-k8s-metallb-merge-pipeline.yml b/jenkins/client/job/k8s-test/mcp-k8s-metallb-merge-pipeline.yml
index c5ffe4e..2500254 100644
--- a/jenkins/client/job/k8s-test/mcp-k8s-metallb-merge-pipeline.yml
+++ b/jenkins/client/job/k8s-test/mcp-k8s-metallb-merge-pipeline.yml
@@ -1,40 +1,2 @@
-parameters:
-  jenkins:
-    client:
-      job:
-        mcp_k8s_metallb_merge_pipeline:
-          type: workflow-scm
-          name: mcp-k8s-metallb-merge-pipeline
-          display_name: "MetalLB merge pipeline"
-          discard:
-            build:
-              keep_num: 20
-          concurrent: false
-          scm:
-            type: git
-            url: "${_param:jenkins_gerrit_url}/kubernetes-ci/kubernetes-pipelines"
-            credentials: "gerrit"
-            script: pipelines/mcp-k8s-metallb-pipeline.groovy
-          trigger:
-            gerrit:
-              project:
-                kubernetes/metallb:
-                  branches:
-                    - compare_type: "ANT"
-                      name: "**mcp**"
-              message:
-                build_successful: "Build successful"
-                build_unstable: "Build unstable"
-                build_failure: "Build failed"
-              event:
-                change:
-                  - merged
-          param:
-            KUBE_DOCKER_REGISTRY:
-              type: string
-              default: docker-dev-local.docker.mirantis.net
-              description: 'Docker registry for binaries and images'
-            KUBE_PROD_DOCKER_REGISTRY:
-              type: string
-              default: ${_param:mcp_docker_registry}
-              description: 'Prod docker registry for binaries and images'
+# This file will be removed in Q3
+# jobs was moved into salt-models/infra repo
diff --git a/jenkins/client/job/k8s-test/mcp-k8s-metallb-test-pipeline.yml b/jenkins/client/job/k8s-test/mcp-k8s-metallb-test-pipeline.yml
index fbce687..2500254 100644
--- a/jenkins/client/job/k8s-test/mcp-k8s-metallb-test-pipeline.yml
+++ b/jenkins/client/job/k8s-test/mcp-k8s-metallb-test-pipeline.yml
@@ -1,46 +1,2 @@
-parameters:
-  jenkins:
-    client:
-      job:
-        mcp_k8s_metallb_test_pipeline:
-          type: workflow-scm
-          name: mcp-k8s-metallb-test-pipeline
-          display_name: "MetalLB tests pipeline"
-          discard:
-            build:
-              keep_num: 50
-          concurrent: true
-          scm:
-            type: git
-            url: "${_param:jenkins_gerrit_url}/kubernetes-ci/kubernetes-pipelines"
-            credentials: "gerrit"
-            script: pipelines/mcp-k8s-metallb-pipeline.groovy
-          trigger:
-            gerrit:
-              project:
-                kubernetes/metallb:
-                  branches:
-                    - compare_type: "ANT"
-                      name: "**"
-              message:
-                build_successful: "Build successful"
-                build_unstable: "Build unstable"
-                build_failure: "Build failed"
-              event:
-                patchset:
-                  - created:
-                      excludeDrafts: false
-                      excludeTrivialRebase: false
-                      excludeNoCodeChange: false
-                comment:
-                  - addedContains:
-                      commentAddedCommentContains: '(recheck|reverify)'
-              override-votes:
-                gerritBuildUnstableVerifiedValue: 1
-                gerritBuildUnstableCodeReviewValue: 1
-          param:
-            KUBE_DOCKER_REGISTRY:
-              type: string
-              default: 'docker-dev-local.docker.mirantis.net'
-              description: 'Docker registry for binaries and images'
-
+# This file will be removed in Q3
+# jobs was moved into salt-models/infra repo
diff --git a/jenkins/client/job/k8s-test/mcp-k8s-test-pipeline.yml b/jenkins/client/job/k8s-test/mcp-k8s-test-pipeline.yml
index 3e01ea2..2500254 100644
--- a/jenkins/client/job/k8s-test/mcp-k8s-test-pipeline.yml
+++ b/jenkins/client/job/k8s-test/mcp-k8s-test-pipeline.yml
@@ -1,69 +1,2 @@
-parameters:
-  jenkins:
-    client:
-      job:
-        mcp_k8s_test_pipeline:
-          type: workflow-scm
-          name: mcp-k8s-test-pipeline
-          display_name: "Kubernetes tests pipeline"
-          discard:
-            build:
-              keep_num: 50
-          concurrent: true
-          scm:
-            type: git
-            url: "${_param:jenkins_gerrit_url}/kubernetes-ci/kubernetes-pipelines"
-            credentials: "gerrit"
-            script: pipelines/mcp-k8s-test-pipeline.groovy
-          trigger:
-            gerrit:
-              project:
-                kubernetes/kubernetes:
-                  branches:
-                    - compare_type: "ANT"
-                      name: "**"
-              message:
-                build_successful: "Build successful"
-                build_unstable: "Build unstable"
-                build_failure: "Build failed"
-              event:
-                patchset:
-                  - created:
-                      excludeDrafts: false
-                      excludeTrivialRebase: false
-                      excludeNoCodeChange: false
-                comment:
-                  - addedContains:
-                      commentAddedCommentContains: '(recheck|reverify)'
-              override-votes:
-                gerritBuildUnstableVerifiedValue: 1
-                gerritBuildUnstableCodeReviewValue: 1
-          param:
-            KUBE_DOCKER_REGISTRY:
-              type: string
-              default: docker-dev-local.docker.mirantis.net
-              description: 'Docker registry for binaries and images'
-            CALICO_DOCKER_REGISTRY:
-              type: string
-              default: 'docker-prod-virtual.docker.mirantis.net'
-              description: 'Docker registry for published Calico images'
-            K8S_BASE_IMAGE:
-              type: string
-              default: 'mirantis/base-images/debian-base:20161223134732'
-              description: 'Base Docker image to build k8s'
-            CALICO_CNI_IMAGE_REPO:
-              type: string
-              default: 'calico/cni'
-              description: 'Custom calico/cni image repository'
-            CALICO_CNI_IMAGE_TAG:
-              type: string
-              default: 'v1.5.1'
-              description: 'Custom calico/cni image tag'
-            CALICO_DOWNSTREAM:
-              type: boolean
-              default: 'true'
-              description: 'Use Calico downstream'
-            CALICO_VER:
-              type: string
-              default: 'mcp'
-              description: 'Custom Calico version'
+# This file will be removed in Q3
+# jobs was moved into salt-models/infra repo
diff --git a/jenkins/client/job/oss/init.yml b/jenkins/client/job/oss/init.yml
index 2500254..5aecb0b 100644
--- a/jenkins/client/job/oss/init.yml
+++ b/jenkins/client/job/oss/init.yml
@@ -1,2 +1,6 @@
-# This file will be removed in Q3
-# jobs was moved into salt-models/infra repo
+classes:
+  - system.jenkins.client.job.oss.test_devops_portal
+  - system.jenkins.client.job.oss.test_devops_portal_backend
+  - system.jenkins.client.job.oss.test_devops_portal_nightly
+  - system.jenkins.client.job.oss.test_pushkin_codebase
+  - system.jenkins.client.job.oss.test_security_monkey_openstack
diff --git a/jenkins/client/job/oss/test_devops_portal.yml b/jenkins/client/job/oss/test_devops_portal.yml
index 2500254..7001200 100644
--- a/jenkins/client/job/oss/test_devops_portal.yml
+++ b/jenkins/client/job/oss/test_devops_portal.yml
@@ -1,2 +1,46 @@
-# This file will be removed in Q3
-# jobs was moved into salt-models/infra repo
+parameters:
+  jenkins:
+    client:
+      job:
+        test-oss-devops-portal:
+          name: test-oss-devops-portal
+          discard:
+            build:
+              keep_num: 15
+            artifact:
+              keep_num: 15
+          type: workflow-scm
+          concurrent: true
+          scm:
+            type: git
+            url: "${_param:jenkins_gerrit_url}/oss/jenkins/pipelines"
+            credentials: "gerrit"
+            script: test-devops-portal-pipeline.groovy
+          trigger:
+            gerrit:
+              project:
+                "oss/devops-portal":
+                  branches:
+                    - master
+              event:
+                patchset:
+                  - created:
+                      excludeDrafts: false
+                      excludeTrivialRebase: false
+                      excludeNoCodeChange: false
+                comment:
+                  - addedContains:
+                      commentAddedCommentContains: '(recheck|reverify)'
+          param:
+            CREDENTIALS_ID:
+              type: string
+              default: "gerrit"
+            DEFAULT_GIT_URL:
+                type: string
+                default: "${_param:jenkins_gerrit_url}/oss/devops-portal"
+            DEFAULT_GIT_REF:
+                type: string
+                default: master
+            NIGHTLY_BUILD:
+                type: boolean
+                default: false
diff --git a/jenkins/client/job/oss/test_devops_portal_backend.yml b/jenkins/client/job/oss/test_devops_portal_backend.yml
index 2500254..0c23847 100644
--- a/jenkins/client/job/oss/test_devops_portal_backend.yml
+++ b/jenkins/client/job/oss/test_devops_portal_backend.yml
@@ -1,2 +1,99 @@
-# This file will be removed in Q3
-# jobs was moved into salt-models/infra repo
+parameters:
+  jenkins:
+    client:
+      job:
+        test-oss-devops-portal-backend:
+          name: test-oss-devops-portal-backend
+          discard:
+            build:
+              keep_num: 15
+            artifact:
+              keep_num: 15
+          type: workflow-scm
+          concurrent: true
+          scm:
+            type: git
+            url: "${_param:jenkins_gerrit_url}/oss/jenkins/pipelines"
+            credentials: "gerrit"
+            script: test-devops-portal-backend-pipeline.groovy
+          param:
+            # heat
+            HEAT_STACK_NAME:
+              type: string
+              description: Heat stack name. Will be generated if missing.
+            # salt master
+            SALT_MASTER_CREDENTIALS:
+              type: string
+              default: "salt-qa-credentials"
+            SSH_PUBLIC_KEY:
+              type: string
+              description: "User's public SSH key to be able to login when stack is deployed"
+            # openstack api
+            OPENSTACK_API_URL:
+              type: string
+              default: "https://cloud-cz.bud.mirantis.net:5000"
+            OPENSTACK_API_CREDENTIALS:
+              type: string
+              default: "openstack-devcloud-credentials"
+            OPENSTACK_API_PROJECT:
+              type: string
+              default: "mcp-oss"
+            OPENSTACK_API_CLIENT:
+              type: string
+              default: ""
+            OPENSTACK_API_VERSION:
+              type: string
+              default: "3"
+            OPENSTACK_API_PROJECT_DOMAIN:
+              type: string
+              default: "default"
+            OPENSTACK_API_USER_DOMAIN_ID:
+              type: string
+              default: "default"
+            OPENSTACK_API_PROJECT_ID:
+              type: string
+              default: ""
+            OPENSTACK_API_USER_DOMAIN:
+              type: string
+              default: "default"
+            # devops-portal-tests
+            DEVOPS_PORTAL_TESTS_URL:
+              type: string
+              default: "${_param:jenkins_gerrit_url}/oss/devops-portal-tests"
+            DEVOPS_PORTAL_TESTS_CREDENTIALS:
+              type: string
+              default: "gerrit"
+            DEVOPS_PORTAL_TESTS_BRANCH:
+              type: string
+              default: "master"
+            DEVOPS_PORTAL_BIND_IP:
+              type: string
+              default: "0.0.0.0"
+            DEVOPS_PORTAL_BIND_PORT:
+              type: string
+              default: "8012"
+            # testrail
+            TESTRAIL_REPORT:
+                type: boolean
+                default: false
+            TESTRAIL_URL:
+                type: string
+                default: "https://mirantis.testrail.com"
+            TESTRAIL_QA_CREDENTIALS:
+                type: string
+                default: "oscore-qa-credentials"
+            TESTRAIL_PROJECT:
+                type: string
+                default: "Mirantis Cloud Platform"
+            TESTRAIL_PLAN:
+                type: string
+                default: "[MCP] [Auto] DevOps Portal"
+            TESTRAIL_SUITE:
+                type: string
+                default: "[MCP] DevOps Portal"
+            TESTRAIL_MILESTONE:
+                type: string
+                default: "MCP-Q18.1"
+            TESTRAIL_RUN:
+                type: string
+                default: "[MCP] [Auto] DevOps Portal test run"
diff --git a/jenkins/client/job/oss/test_devops_portal_nightly.yml b/jenkins/client/job/oss/test_devops_portal_nightly.yml
index 2500254..b654846 100644
--- a/jenkins/client/job/oss/test_devops_portal_nightly.yml
+++ b/jenkins/client/job/oss/test_devops_portal_nightly.yml
@@ -1,2 +1,58 @@
-# This file will be removed in Q3
-# jobs was moved into salt-models/infra repo
+parameters:
+  jenkins:
+    client:
+      job:
+        test-oss-devops-portal-nightly:
+          name: test-oss-devops-portal-nightly
+          discard:
+            build:
+              keep_num: 15
+            artifact:
+              keep_num: 15
+          type: workflow-scm
+          concurrent: true
+          scm:
+            type: git
+            url: "${_param:jenkins_gerrit_url}/oss/jenkins/pipelines"
+            credentials: "gerrit"
+            script: test-devops-portal-pipeline.groovy
+          trigger:
+            timer:
+              spec: "0 23 * * *"
+          param:
+            CREDENTIALS_ID:
+              type: string
+              default: "gerrit"
+            DEFAULT_GIT_URL:
+                type: string
+                default: "${_param:jenkins_gerrit_url}/oss/devops-portal"
+            DEFAULT_GIT_REF:
+                type: string
+                default: master
+            NIGHTLY_BUILD:
+                type: boolean
+                default: true
+            TESTRAIL_REPORT:
+                type: boolean
+                default: false
+            TESTRAIL_URL:
+                type: string
+                default: "https://mirantis.testrail.com"
+            TESTRAIL_QA_CREDENTIALS:
+                type: string
+                default: "oscore-qa-credentials"
+            TESTRAIL_PROJECT:
+                type: string
+                default: "Mirantis Cloud Platform"
+            TESTRAIL_PLAN:
+                type: string
+                default: "[MCP] [Auto] DevOps Portal"
+            TESTRAIL_SUITE:
+                type: string
+                default: "[MCP] DevOps Portal"
+            TESTRAIL_MILESTONE:
+                type: string
+                default: "MCP-Q18.1"
+            TESTRAIL_RUN:
+                type: string
+                default: "[MCP] [Auto] DevOps Portal test run"
diff --git a/jenkins/client/job/oss/test_pushkin_codebase.yml b/jenkins/client/job/oss/test_pushkin_codebase.yml
index 2500254..baefbc9 100644
--- a/jenkins/client/job/oss/test_pushkin_codebase.yml
+++ b/jenkins/client/job/oss/test_pushkin_codebase.yml
@@ -1,2 +1,45 @@
-# This file will be removed in Q3
-# jobs was moved into salt-models/infra repo
+parameters:
+  jenkins:
+    client:
+      job:
+        test-oss-pushkin-codebase:
+          name: test-oss-pushkin-codebase
+          discard:
+            build:
+              keep_num: 15
+            artifact:
+              keep_num: 15
+          type: workflow-scm
+          concurrent: true
+          scm:
+            type: git
+            url: "${_param:jenkins_gerrit_url}/oss/jenkins/pipelines"
+            credentials: "gerrit"
+            script: test-pushkin-pipeline.groovy
+          trigger:
+            gerrit:
+              project:
+                "oss/pushkin":
+                  branches:
+                    - devel
+                    - master
+              event:
+                patchset:
+                  - created:
+                      excludeDrafts: false
+                      excludeTrivialRebase: false
+                      excludeNoCodeChange: false
+                comment:
+                  - addedContains:
+                      commentAddedCommentContains: '^(?s:Patch Set \d+:.*(test|recheck|reverify)\s*)$'
+          param:
+            CREDENTIALS_ID:
+              type: string
+              default: "gerrit"
+            DEFAULT_GIT_URL:
+                type: string
+                default: "${_param:jenkins_gerrit_url}/oss/pushkin"
+            DEFAULT_GIT_REF:
+                type: string
+                default: master
+                description: "Refspec in format refs/changes/, i.e. refs/changes/32/10332/4"
diff --git a/jenkins/client/job/oss/test_security_monkey_openstack.yml b/jenkins/client/job/oss/test_security_monkey_openstack.yml
index 2500254..7e9343f 100644
--- a/jenkins/client/job/oss/test_security_monkey_openstack.yml
+++ b/jenkins/client/job/oss/test_security_monkey_openstack.yml
@@ -1,2 +1,43 @@
-# This file will be removed in Q3
-# jobs was moved into salt-models/infra repo
+parameters:
+  jenkins:
+    client:
+      job:
+        test-oss-security-monkey-openstack:
+          name: test-oss-security-monkey-openstack
+          discard:
+            build:
+              keep_num: 15
+            artifact:
+              keep_num: 15
+          type: workflow-scm
+          concurrent: true
+          scm:
+            type: git
+            url: "${_param:jenkins_gerrit_url}/oss/jenkins/pipelines"
+            credentials: "gerrit"
+            script: test-security-monkey-openstack-pipeline.groovy
+          trigger:
+            gerrit:
+              project:
+                "oss/security-monkey-openstack":
+                  branches:
+                    - master
+              event:
+                patchset:
+                  - created:
+                      excludeDrafts: false
+                      excludeTrivialRebase: false
+                      excludeNoCodeChange: false
+                comment:
+                  - addedContains:
+                      commentAddedCommentContains: '(recheck|reverify)'
+          param:
+            CREDENTIALS_ID:
+              type: string
+              default: "gerrit"
+            DEFAULT_GIT_URL:
+              type: string
+              default: "${_param:jenkins_gerrit_url}/oss/security-monkey-openstack"
+            DEFAULT_GIT_REF:
+              type: string
+              default: master
diff --git a/keycloak/server/realm/drivetrain.yml b/keycloak/server/realm/drivetrain.yml
index 42b3473..054b92f 100644
--- a/keycloak/server/realm/drivetrain.yml
+++ b/keycloak/server/realm/drivetrain.yml
@@ -14,7 +14,7 @@
               enabled: true
               base_url: /operations-api-portal
               redirect_uris:
-              - /operations-api-portal/*
+              - "/operations-api/*"
               admin_url: /operations-api-portal
               direct_access_grants_enabled: true
               secret: ${_param:keycloak_operations_api_client_secret}
@@ -39,6 +39,38 @@
                 oidc-full-name-mapper:
                   full_name:
                     name: full_name
+            operations-ui:
+              enabled: true
+              base_url: /
+              web_origins:
+              - "*"
+              redirect_uris:
+              - "*"
+              public_client: true
+              admin_url: /
+              direct_access_grants_enabled: true
+              secret: '*****'
+              protocol_mapper:
+                oidc-usermodel-property-mapper:
+                  username:
+                    name: username
+                    user_attribute: username
+                    claim_name: preferred_username
+                  given_name:
+                    name: given name
+                    user_attribute: firstName
+                    claim_name: given_name
+                  family_name:
+                    name: family name
+                    user_attribute: lastName
+                    claim_name: family_name
+                  email:
+                    name: email
+                    user_attribute: email
+                    claim_name: email
+                oidc-full-name-mapper:
+                  full_name:
+                    name: full_name
           federation_provider:
             ldap:
               display_name: ${_param:keycloak_drivetrain_provider_display_name}
diff --git a/linux/system/single/simple.yml b/linux/system/single/simple.yml
index 45be219..39ad157 100644
--- a/linux/system/single/simple.yml
+++ b/linux/system/single/simple.yml
@@ -6,6 +6,7 @@
 parameters:
   _param:
     local_package_repos: false
+    logrotate_keep_rotate: 10
   linux:
     system:
       at:
@@ -24,3 +25,7 @@
         en_US.UTF-8:
           enabled: true
           default: true
+  logrotate:
+    server:
+      global_conf:
+        keep_rotate: ${_param:logrotate_keep_rotate}
diff --git a/nova/compute/cluster.yml b/nova/compute/cluster.yml
index 92871c0..3053335 100644
--- a/nova/compute/cluster.yml
+++ b/nova/compute/cluster.yml
@@ -37,8 +37,6 @@
       SG9MrLHCd5l60aCUQg0UA5ed7Hd6SA314k+HwxJno9/wJ+voBeacMg==
       -----END RSA PRIVATE KEY-----
     cluster_internal_protocol: 'http'
-    nova_memcache_security_enabled: ${_param:openstack_memcache_security_enabled}
-    nova_memcache_secret_key: ''
   openssh:
     client:
       enabled: True
diff --git a/nova/compute/single.yml b/nova/compute/single.yml
index 90a2fa7..7ba6775 100644
--- a/nova/compute/single.yml
+++ b/nova/compute/single.yml
@@ -37,8 +37,6 @@
       SG9MrLHCd5l60aCUQg0UA5ed7Hd6SA314k+HwxJno9/wJ+voBeacMg==
       -----END RSA PRIVATE KEY-----
     cluster_internal_protocol: 'http'
-    nova_memcache_security_enabled: ${_param:openstack_memcache_security_enabled}
-    nova_memcache_secret_key: ''
   openssh:
     client:
       enabled: True
diff --git a/nova/control/cluster.yml b/nova/control/cluster.yml
index 3a2e293..330a233 100644
--- a/nova/control/cluster.yml
+++ b/nova/control/cluster.yml
@@ -14,8 +14,6 @@
     nova_disk_allocation_ratio: 1.0
     metadata_password: metadataPass
     cluster_internal_protocol: 'http'
-    nova_memcache_security_enabled: ${_param:openstack_memcache_security_enabled}
-    nova_memcache_secret_key: ''
   linux:
     system:
       package:
diff --git a/nova/control/single.yml b/nova/control/single.yml
index 51e856f..5b61f20 100644
--- a/nova/control/single.yml
+++ b/nova/control/single.yml
@@ -5,8 +5,6 @@
 parameters:
   _param:
     cluster_internal_protocol: 'http'
-    nova_memcache_security_enabled: ${_param:openstack_memcache_security_enabled}
-    nova_memcache_secret_key: ''
   linux:
     system:
       package: