Implement JJB, add backup script for jenkins

PROD-34544
Change-Id: Ie4d31934582169ae18cbaa56dd21c141ce49712b
diff --git a/jobs/.gitignore b/jobs/.gitignore
new file mode 100644
index 0000000..b694934
--- /dev/null
+++ b/jobs/.gitignore
@@ -0,0 +1 @@
+.venv
\ No newline at end of file
diff --git a/jobs/backups/jenkins-rsync.includes b/jobs/backups/jenkins-rsync.includes
new file mode 100644
index 0000000..0dcde51
--- /dev/null
+++ b/jobs/backups/jenkins-rsync.includes
@@ -0,0 +1,18 @@
+**/.svn
+/.subversion/**
+/*.xml
+/jobs/
+/jobs/*/
+/jobs/*/config.xml
+/jobs/*/nextBuildNumber
+/users/
+/users/*/
+/users/*/config.xml
+/userContent/
+/userContent/**
+/secrets/
+/secrets/**
+/scriptler/
+/scriptler/*.xml
+/scriptler/scripts/
+/scriptler/scripts/*
diff --git a/jobs/backups/sre-jenkins-backup.sh b/jobs/backups/sre-jenkins-backup.sh
new file mode 100755
index 0000000..c63c877
--- /dev/null
+++ b/jobs/backups/sre-jenkins-backup.sh
@@ -0,0 +1,19 @@
+#!/bin/bash -ex
+set -e
+cd "$(dirname "$0")"
+DATE=$(date +%F)
+SHOST=sre-ci.scc.mirantis.net
+SSH_CMD="ssh $SHOST"
+BACKUP_MAIN_DIR="${HOME}/sre/jenkins-backup"
+BACKUP_MAIN_REMOTE_DIR="/home/$USER/jenkins"
+echo "Prepare for backup"
+$SSH_CMD sudo rm -rf ${BACKUP_MAIN_REMOTE_DIR}/backups/$DATE
+$SSH_CMD rm -f ${BACKUP_MAIN_REMOTE_DIR}/${DATE}.tar.gz
+$SSH_CMD mkdir -p ${BACKUP_MAIN_REMOTE_DIR}/backups/$DATE
+scp ./jenkins-rsync.includes $SHOST:${BACKUP_MAIN_REMOTE_DIR}/jenkins-rsync.includes
+$SSH_CMD sudo rsync -avz --include-from=${BACKUP_MAIN_REMOTE_DIR}/jenkins-rsync.includes --exclude=\'*\' /var/jenkins_home/ ${BACKUP_MAIN_REMOTE_DIR}/backups/$DATE/
+$SSH_CMD sudo chown -R sgalkin:sgalkin ${BACKUP_MAIN_REMOTE_DIR}/backups
+$SSH_CMD tar czvf ${BACKUP_MAIN_REMOTE_DIR}/backups/${DATE}.tar.gz ${BACKUP_MAIN_REMOTE_DIR}/backups/$DATE
+$SSH_CMD rm -rf ${BACKUP_MAIN_REMOTE_DIR}/backups/$DATE
+mkdir -p ${BACKUP_MAIN_DIR}/backups
+scp $SHOST:${BACKUP_MAIN_REMOTE_DIR}/backups/${DATE}.tar.gz ${BACKUP_MAIN_DIR}/backups/
diff --git a/jobs/config/sre-jenkins-job-builder-example.ini b/jobs/config/sre-jenkins-job-builder-example.ini
new file mode 100644
index 0000000..efb548b
--- /dev/null
+++ b/jobs/config/sre-jenkins-job-builder-example.ini
@@ -0,0 +1,8 @@
+[job_builder]
+recursive=True
+keep_descriptions=True
+
+[jenkins]
+url=http://sre-ci.scc.mirantis.net/
+user=some_user
+password=some_password
diff --git a/jobs/deploy.sh b/jobs/deploy.sh
new file mode 100755
index 0000000..352e36f
--- /dev/null
+++ b/jobs/deploy.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+set -e
+cd "$(dirname "$0")"
+### Prepare
+if [ ! -d .venv ]; then
+  echo "Can't find python virtal env, installing"
+  virtualenv -p python3 .venv
+fi
+if [ -z "$(./.venv/bin/pip freeze | grep  jenkins-job-builder)" ]; then
+   ./.venv/bin/pip install 'jenkins-job-builder>=2.0.0.0b2'
+fi
+
+### Check ini file
+CFG_FILE="${HOME}/.config/sre-jenkins-job-builder.ini"
+if [ ! -f "$CFG_FILE" ]; then
+   cat << EOF
+Can't find configuration file $CFG_FILE
+Please create this file from this template with your user and password
+For security reasons do not use password from LDAP and
+use API key generated in http://sre-ci.scc.mirantis.net/user/\$USER/configure.
+File example:
+EOF
+   cat config/sre-jenkins-job-builder-example.ini
+   exit 1
+fi
+# ./.venv/bin/jenkins-jobs --conf $CFG_FILE test ./
+./.venv/bin/jenkins-jobs --conf $CFG_FILE update ./
\ No newline at end of file
diff --git a/jobs/global.yaml b/jobs/global.yaml
new file mode 100644
index 0000000..800afa0
--- /dev/null
+++ b/jobs/global.yaml
@@ -0,0 +1,6 @@
+- defaults:
+    name: global
+    job-description: |
+      Do not edit this job through the web ! <br>
+      Please use jenkins-job-builder in git <br>
+      git clone ssh://gerrit.mcp.mirantis.com:29418/mcp/tcp-qa
diff --git a/jobs/pipelines/self-deploy-jobs.groovy b/jobs/pipelines/self-deploy-jobs.groovy
new file mode 100644
index 0000000..5815cd3
--- /dev/null
+++ b/jobs/pipelines/self-deploy-jobs.groovy
@@ -0,0 +1,38 @@
+node('sre-team-infra') {
+    timestamps() {
+        ansiColor('xterm') {
+            tmp_jenkins_config = '/dev/shm/sre-jenkins-job-builder.ini'
+            stage('Checkout') {
+                checkout scm
+            }
+            stage('Prepre venv'){
+                sh """
+                if [ ! -d .venv ]; then
+                  echo "Can't find python virtal env, installing"
+                  virtualenv -p python3 .venv
+                fi
+                if [ -z "\$(./.venv/bin/pip freeze | grep  jenkins-job-builder)" ]; then
+                   ./.venv/bin/pip install 'jenkins-job-builder>=2.0.0.0b2'
+                fi
+                """
+            }
+            stage('Prepre config'){
+                withCredentials([usernamePassword(credentialsId: 'jenkins-job-builder',
+                    passwordVariable: 'jpass', usernameVariable: 'juser')]) {
+                    sh """
+                    cp jobs/config/sre-jenkins-job-builder-example.ini ${tmp_jenkins_config}
+                    sed -i "s/user=some_user/user=\${juser}/g" ${tmp_jenkins_config}
+                    sed -i "s/password=some_password/password=\${jpass}/g" ${tmp_jenkins_config}
+                    """
+                }
+            }
+            stage('Deploy jobs'){
+                sh """
+                cd jobs
+                ../.venv/bin/jenkins-jobs --conf ${tmp_jenkins_config} update ./
+                rm ${tmp_jenkins_config}
+                """
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/jobs/project.yaml b/jobs/project.yaml
new file mode 100644
index 0000000..bca767c
--- /dev/null
+++ b/jobs/project.yaml
@@ -0,0 +1,28 @@
+---
+
+- project:
+    name: sre
+    jobs:
+      - heat-cicd-pike-dvr-sl
+      - heat-cicd-queens-contrail41-sl
+      - heat-cicd-queens-dvr-sl
+      - self-deploy-jobs
+      # - bm-cicd-pike-ovs-maas
+      # - bm-cicd-queens-ovs-maas
+      - deploy_bm
+      # - heat-bm-cicd-pike-contrail-sl
+      # - heat-bm-cicd-queens-contrail-sl
+      # - released-bm-pike-ovs
+      # - show_networks_used_by_libvirt
+      - maintenance-heat-cicd-pike-dvr-sl
+      - download-config-drive
+      # - generate-report
+      # - mark-reports
+      - cookied-cicd-queens-dvr-sl-heat
+      # - diff_params_reclass_system
+      - environment-template-ci
+      - tcp-qa-ci
+      - test_cleanup
+      # - testrail-reporter-ci
+      # - testrail-reporter-gerrit-mcp-ci
+...
\ No newline at end of file
diff --git a/jobs/templates/2019.2.0-heat-cicd-pike-dvr-sl.yml b/jobs/templates/2019.2.0-heat-cicd-pike-dvr-sl.yml
new file mode 100644
index 0000000..e13e7e4
--- /dev/null
+++ b/jobs/templates/2019.2.0-heat-cicd-pike-dvr-sl.yml
@@ -0,0 +1,204 @@
+- job-template:
+    project-type: pipeline
+    description: '{job-description}'
+    concurrent: true
+    disabled: false
+    name: 2019.2.0-heat-cicd-pike-dvr-sl
+    parameters:
+    - string:
+        default: heat-cicd-pike-dvr-sl
+        description: ''
+        name: LAB_CONFIG_NAME
+        trim: 'false'
+    - string:
+        default: core,cicd
+        description: Comma-separated list of stacks to deploy the drivetrain (salt
+          cluster and cicd nodes)
+        name: DRIVETRAIN_STACK_INSTALL
+        trim: 'false'
+    - string:
+        default: '12000'
+        description: ''
+        name: DRIVETRAIN_STACK_INSTALL_TIMEOUT
+        trim: 'false'
+    - string:
+        default: openstack,ovs,ceph,stacklight
+        description: Comma-separated list of stacks to deploy the target platform
+          (openstack and additional components)
+        name: PLATFORM_STACK_INSTALL
+        trim: 'false'
+    - string:
+        default: '12000'
+        description: ''
+        name: PLATFORM_STACK_INSTALL_TIMEOUT
+        trim: 'false'
+    - string:
+        default: 2019.2.0
+        description: ''
+        name: MCP_VERSION
+        trim: 'false'
+    - string:
+        default: jenkins-master-si
+        description: ''
+        name: NODE_NAME
+        trim: 'false'
+    - string:
+        default: /home/jenkins/images/ubuntu-16-04-x64-mcp${{MCP_VERSION}}.qcow2
+        description: ''
+        name: MCP_IMAGE_PATH1604
+        trim: 'false'
+    - string:
+        default: /home/jenkins/images/cfg01-day01.qcow2
+        description: ''
+        name: IMAGE_PATH_CFG01_DAY01
+        trim: 'false'
+    - string:
+        default: cfg01.${{LAB_CONFIG_NAME}}-config-drive.iso
+        description: ISO name that will be generated and downloaded to the /home/jenkins/images/
+        name: CFG01_CONFIG_IMAGE_NAME
+        trim: 'false'
+    - string:
+        default: heat-cicd-pike-dvr-sl
+        description: ''
+        name: ENV_NAME
+        trim: 'false'
+    - string:
+        default: ''
+        description: |-
+          Example: refs/changes/89/411189/36
+          (for now - only one reference allowed)
+        name: TCP_QA_REFS
+        trim: 'false'
+    - string:
+        default: ''
+        description: reference to patchset in pipeline-library
+        name: PIPELINE_LIBRARY_REF
+        trim: 'false'
+    - string:
+        default: ''
+        description: reference to patchset in mk-pipelines
+        name: MK_PIPELINES_REF
+        trim: 'false'
+    - string:
+        default: ''
+        description: Can be 'master' or 'proposed'. If empty, then takes ${{MCP_VERSION}}
+          value
+        name: COOKIECUTTER_TEMPLATE_COMMIT
+        trim: 'false'
+    - string:
+        default: ''
+        description: Can be 'master' or 'proposed'. If empty, then takes ${{MCP_VERSION}}
+          value
+        name: SALT_MODELS_SYSTEM_COMMIT
+        trim: 'false'
+    - string:
+        default: -m "run_cvp_func_sanity|run_tempest|run_stacklight"
+        description: |-
+          Pytest option -k or -m, with expression to select necessary tests.
+          Additional pytest options are allowed.
+        name: RUN_TEST_OPTS
+        trim: 'false'
+    - bool:
+        default: true
+        description: ''
+        name: SHUTDOWN_ENV_ON_TEARDOWN
+    - string:
+        default: ''
+        description: ''
+        name: COOKIECUTTER_REF_CHANGE
+        trim: 'false'
+    - string:
+        default: ''
+        description: ''
+        name: ENVIRONMENT_TEMPLATE_REF_CHANGE
+        trim: 'false'
+    - string:
+        default: '[MCP1.1_PIKE]Tempest'
+        description: ''
+        name: TEMPEST_TEST_SUITE_NAME
+        trim: 'false'
+    - string:
+        default: pike
+        description: ''
+        name: TEMPEST_IMAGE_VERSION
+        trim: 'false'
+    - string:
+        default: ''
+        description: ''
+        name: TEMPEST_TARGET
+        trim: 'false'
+    - string:
+        default: ''
+        description: ''
+        name: UPDATE_REPO_CUSTOM_TAG
+        trim: 'false'
+    - bool:
+        default: true
+        description: If set, reports will be created in TestRail for this build
+        name: REPORT_TO_TESTRAIL
+    - choice:
+        choices:
+        - heat
+        - devops
+        description: ''
+        name: ENV_MANAGER
+    - string:
+        default: https://ic-eu.ssl.mirantis.net:5000/v3
+        description: 'Openstack keystone catalog endpoint, for example https://10.90.0.80:5000/v3
+
+          '
+        name: OS_AUTH_URL
+        trim: 'false'
+    - string:
+        default: sre-team
+        description: OpenStack project (tenant) name
+        name: OS_PROJECT_NAME
+        trim: 'false'
+    - string:
+        default: ldap_mirantis
+        description: OpenStack user domain name
+        name: OS_USER_DOMAIN_NAME
+        trim: 'false'
+    - string:
+        default: sre-qa-team-ci
+        description: Jenkins credentials ID with username and password to create a
+          heat stack in OpenStack
+        name: OS_CREDENTIALS
+        trim: 'false'
+    - string:
+        default: us-cloud.env
+        description: |-
+          Heat template environment filename with 'parameter_defaults' dict, placed in tcp_tests/templates/_heat_environments/
+          , for example: microcloud-8116.env
+        name: LAB_PARAM_DEFAULTS
+        trim: 'false'
+    - string:
+        default: ''
+        description: ''
+        name: JENKINS_PIPELINE_BRANCH
+        trim: 'false'
+    - string:
+        default: ''
+        description: ''
+        name: TEMPEST_PATTERN
+        trim: 'false'
+    - string:
+        default: ''
+        description: ''
+        name: MCP_COMMON_SCRIPTS_REFS
+        trim: 'false'
+    - string:
+        default: 2019.2.0
+        description: ''
+        name: UPDATE_VERSION
+        trim: 'false'
+    pipeline-scm:
+      lightweight-checkout: false
+      scm:
+      - git:
+          branches:
+          - FETCH_HEAD
+          refspec: ${{TCP_QA_REFS}}
+          url: https://gerrit.mcp.mirantis.com/mcp/tcp-qa
+      script-path: jobs/pipelines/deploy-cicd-and-run-tests.groovy
+
diff --git a/jobs/templates/2019.2.0-heat-cicd-queens-contrail41-sl.yml b/jobs/templates/2019.2.0-heat-cicd-queens-contrail41-sl.yml
new file mode 100644
index 0000000..9427ea4
--- /dev/null
+++ b/jobs/templates/2019.2.0-heat-cicd-queens-contrail41-sl.yml
@@ -0,0 +1,204 @@
+- job-template:
+    project-type: pipeline
+    description: '{job-description}'
+    concurrent: true
+    disabled: false
+    name: 2019.2.0-heat-cicd-queens-contrail41-sl
+    parameters:
+    - string:
+        default: heat-cicd-queens-contrail41-sl
+        description: ''
+        name: LAB_CONFIG_NAME
+        trim: 'false'
+    - string:
+        default: core,cicd
+        description: Comma-separated list of stacks to deploy the drivetrain (salt
+          cluster and cicd nodes)
+        name: DRIVETRAIN_STACK_INSTALL
+        trim: 'false'
+    - string:
+        default: '12000'
+        description: ''
+        name: DRIVETRAIN_STACK_INSTALL_TIMEOUT
+        trim: 'false'
+    - string:
+        default: openstack,contrail,ceph,stacklight
+        description: Comma-separated list of stacks to deploy the target platform
+          (openstack and additional components)
+        name: PLATFORM_STACK_INSTALL
+        trim: 'false'
+    - string:
+        default: '12000'
+        description: ''
+        name: PLATFORM_STACK_INSTALL_TIMEOUT
+        trim: 'false'
+    - string:
+        default: 2019.2.0
+        description: ''
+        name: MCP_VERSION
+        trim: 'false'
+    - string:
+        default: sre-team-infra
+        description: ''
+        name: NODE_NAME
+        trim: 'false'
+    - string:
+        default: /home/jenkins/images/ubuntu-16-04-x64-mcp${{MCP_VERSION}}.qcow2
+        description: ''
+        name: MCP_IMAGE_PATH1604
+        trim: 'false'
+    - string:
+        default: /home/jenkins/images/cfg01-day01.qcow2
+        description: ''
+        name: IMAGE_PATH_CFG01_DAY01
+        trim: 'false'
+    - string:
+        default: cfg01.${{LAB_CONFIG_NAME}}-config-drive.iso
+        description: ISO name that will be generated and downloaded to the /home/jenkins/images/
+        name: CFG01_CONFIG_IMAGE_NAME
+        trim: 'false'
+    - string:
+        default: heat-cicd-queens-contrail41-sl
+        description: ''
+        name: ENV_NAME
+        trim: 'false'
+    - string:
+        default: ''
+        description: |-
+          Example: refs/changes/89/411189/36
+          (for now - only one reference allowed)
+        name: TCP_QA_REFS
+        trim: 'false'
+    - string:
+        default: ''
+        description: reference to patchset in pipeline-library
+        name: PIPELINE_LIBRARY_REF
+        trim: 'false'
+    - string:
+        default: ''
+        description: reference to patchset in mk-pipelines
+        name: MK_PIPELINES_REF
+        trim: 'false'
+    - string:
+        default: ''
+        description: Can be 'master' or 'proposed'. If empty, then takes ${{MCP_VERSION}}
+          value
+        name: COOKIECUTTER_TEMPLATE_COMMIT
+        trim: 'false'
+    - string:
+        default: ''
+        description: Can be 'master' or 'proposed'. If empty, then takes ${{MCP_VERSION}}
+          value
+        name: SALT_MODELS_SYSTEM_COMMIT
+        trim: 'false'
+    - string:
+        default: -m "run_cvp_func_sanity|run_tempest|run_stacklight"
+        description: |-
+          Pytest option -k or -m, with expression to select necessary tests.
+          Additional pytest options are allowed.
+        name: RUN_TEST_OPTS
+        trim: 'false'
+    - bool:
+        default: true
+        description: ''
+        name: SHUTDOWN_ENV_ON_TEARDOWN
+    - string:
+        default: ''
+        description: ''
+        name: COOKIECUTTER_REF_CHANGE
+        trim: 'false'
+    - string:
+        default: ''
+        description: ''
+        name: ENVIRONMENT_TEMPLATE_REF_CHANGE
+        trim: 'false'
+    - string:
+        default: '[MCP1.1_QUEENS]Tempest'
+        description: ''
+        name: TEMPEST_TEST_SUITE_NAME
+        trim: 'false'
+    - string:
+        default: queens
+        description: ''
+        name: TEMPEST_IMAGE_VERSION
+        trim: 'false'
+    - string:
+        default: ''
+        description: ''
+        name: TEMPEST_TARGET
+        trim: 'false'
+    - string:
+        default: ''
+        description: ''
+        name: UPDATE_REPO_CUSTOM_TAG
+        trim: 'false'
+    - bool:
+        default: true
+        description: If set, reports will be created in TestRail for this build
+        name: REPORT_TO_TESTRAIL
+    - choice:
+        choices:
+        - heat
+        - devops
+        description: ''
+        name: ENV_MANAGER
+    - string:
+        default: https://ic-eu.ssl.mirantis.net:5000/v3
+        description: 'Openstack keystone catalog endpoint, for example https://10.90.0.80:5000/v3
+
+          '
+        name: OS_AUTH_URL
+        trim: 'false'
+    - string:
+        default: sre-team
+        description: OpenStack project (tenant) name
+        name: OS_PROJECT_NAME
+        trim: 'false'
+    - string:
+        default: ldap_mirantis
+        description: OpenStack user domain name
+        name: OS_USER_DOMAIN_NAME
+        trim: 'false'
+    - string:
+        default: sre-qa-team-ci
+        description: Jenkins credentials ID with username and password to create a
+          heat stack in OpenStack
+        name: OS_CREDENTIALS
+        trim: 'false'
+    - string:
+        default: us-cloud.env
+        description: |-
+          Heat template environment filename with 'parameter_defaults' dict, placed in tcp_tests/templates/_heat_environments/
+          , for example: microcloud-8116.env
+        name: LAB_PARAM_DEFAULTS
+        trim: 'false'
+    - string:
+        default: ''
+        description: ''
+        name: JENKINS_PIPELINE_BRANCH
+        trim: 'false'
+    - string:
+        default: ''
+        description: ''
+        name: MCP_COMMON_SCRIPTS_REFS
+        trim: 'false'
+    - string:
+        default: ^heat_tempest_plugin.tests*|^tempest.api.image*|^tempest_horizon*|^tempest.api.identity*|^tempest.api.network*|^tempest.api.compute*|^tempest.api.volume*|^tempest.scenario*|^tempest.api.object_storage*
+        description: Exclude tungsten tests by default
+        name: TEMPEST_PATTERN
+        trim: 'false'
+    - string:
+        default: 2019.2.0
+        description: ''
+        name: UPDATE_VERSION
+        trim: 'false'
+    pipeline-scm:
+      lightweight-checkout: false
+      scm:
+      - git:
+          branches:
+          - FETCH_HEAD
+          refspec: ${{TCP_QA_REFS}}
+          url: https://gerrit.mcp.mirantis.com/mcp/tcp-qa
+      script-path: jobs/pipelines/deploy-cicd-and-run-tests.groovy
+    project-type: pipeline
diff --git a/jobs/templates/2019.2.0-heat-cicd-queens-dvr-sl.yml b/jobs/templates/2019.2.0-heat-cicd-queens-dvr-sl.yml
new file mode 100644
index 0000000..b9cdba1
--- /dev/null
+++ b/jobs/templates/2019.2.0-heat-cicd-queens-dvr-sl.yml
@@ -0,0 +1,203 @@
+- job-template:
+    project-type: pipeline
+    description: '{job-description}'
+    concurrent: true
+    disabled: false
+    name: 2019.2.0-heat-cicd-queens-dvr-sl
+    parameters:
+    - string:
+        default: heat-cicd-queens-dvr-sl
+        description: ''
+        name: LAB_CONFIG_NAME
+        trim: 'false'
+    - string:
+        default: core,cicd
+        description: Comma-separated list of stacks to deploy the drivetrain (salt
+          cluster and cicd nodes)
+        name: DRIVETRAIN_STACK_INSTALL
+        trim: 'false'
+    - string:
+        default: '12000'
+        description: ''
+        name: DRIVETRAIN_STACK_INSTALL_TIMEOUT
+        trim: 'false'
+    - string:
+        default: openstack,ovs,ceph,stacklight
+        description: Comma-separated list of stacks to deploy the target platform
+          (openstack and additional components)
+        name: PLATFORM_STACK_INSTALL
+        trim: 'false'
+    - string:
+        default: '12000'
+        description: ''
+        name: PLATFORM_STACK_INSTALL_TIMEOUT
+        trim: 'false'
+    - string:
+        default: 2019.2.0
+        description: ''
+        name: MCP_VERSION
+        trim: 'false'
+    - string:
+        default: sre-team-infra
+        description: ''
+        name: NODE_NAME
+        trim: 'false'
+    - string:
+        default: /home/jenkins/images/ubuntu-16-04-x64-mcp${{MCP_VERSION}}.qcow2
+        description: ''
+        name: MCP_IMAGE_PATH1604
+        trim: 'false'
+    - string:
+        default: /home/jenkins/images/cfg01-day01.qcow2
+        description: ''
+        name: IMAGE_PATH_CFG01_DAY01
+        trim: 'false'
+    - string:
+        default: cfg01.${{LAB_CONFIG_NAME}}-config-drive.iso
+        description: ISO name that will be generated and downloaded to the /home/jenkins/images/
+        name: CFG01_CONFIG_IMAGE_NAME
+        trim: 'false'
+    - string:
+        default: heat-cicd-queens-dvr-sl
+        description: ''
+        name: ENV_NAME
+        trim: 'false'
+    - string:
+        default: ''
+        description: |-
+          Example: refs/changes/89/411189/36
+          (for now - only one reference allowed)
+        name: TCP_QA_REFS
+        trim: 'false'
+    - string:
+        default: ''
+        description: reference to patchset in pipeline-library
+        name: PIPELINE_LIBRARY_REF
+        trim: 'false'
+    - string:
+        default: ''
+        description: reference to patchset in mk-pipelines
+        name: MK_PIPELINES_REF
+        trim: 'false'
+    - string:
+        default: ''
+        description: Can be 'master' or 'proposed'. If empty, then takes ${{MCP_VERSION}}
+          value
+        name: COOKIECUTTER_TEMPLATE_COMMIT
+        trim: 'false'
+    - string:
+        default: ''
+        description: Can be 'master' or 'proposed'. If empty, then takes ${{MCP_VERSION}}
+          value
+        name: SALT_MODELS_SYSTEM_COMMIT
+        trim: 'false'
+    - string:
+        default: -m "run_cvp_func_sanity|run_tempest|run_stacklight"
+        description: |-
+          Pytest option -k or -m, with expression to select necessary tests.
+          Additional pytest options are allowed.
+        name: RUN_TEST_OPTS
+        trim: 'false'
+    - bool:
+        default: true
+        description: ''
+        name: SHUTDOWN_ENV_ON_TEARDOWN
+    - string:
+        default: ''
+        description: ''
+        name: COOKIECUTTER_REF_CHANGE
+        trim: 'false'
+    - string:
+        default: ''
+        description: ''
+        name: ENVIRONMENT_TEMPLATE_REF_CHANGE
+        trim: 'false'
+    - string:
+        default: '[MCP1.1_QUEENS]Tempest'
+        description: ''
+        name: TEMPEST_TEST_SUITE_NAME
+        trim: 'false'
+    - string:
+        default: queens
+        description: ''
+        name: TEMPEST_IMAGE_VERSION
+        trim: 'false'
+    - string:
+        default: ''
+        description: ''
+        name: TEMPEST_TARGET
+        trim: 'false'
+    - string:
+        default: ''
+        description: ''
+        name: UPDATE_REPO_CUSTOM_TAG
+        trim: 'false'
+    - bool:
+        default: true
+        description: If set, reports will be created in TestRail for this build
+        name: REPORT_TO_TESTRAIL
+    - choice:
+        choices:
+        - heat
+        - devops
+        description: ''
+        name: ENV_MANAGER
+    - string:
+        default: https://ic-eu.ssl.mirantis.net:5000/v3
+        description: 'Openstack keystone catalog endpoint, for example https://10.90.0.80:5000/v3
+
+          '
+        name: OS_AUTH_URL
+        trim: 'false'
+    - string:
+        default: sre-team
+        description: OpenStack project (tenant) name
+        name: OS_PROJECT_NAME
+        trim: 'false'
+    - string:
+        default: ldap_mirantis
+        description: OpenStack user domain name
+        name: OS_USER_DOMAIN_NAME
+        trim: 'false'
+    - string:
+        default: sre-qa-team-ci
+        description: Jenkins credentials ID with username and password to create a
+          heat stack in OpenStack
+        name: OS_CREDENTIALS
+        trim: 'false'
+    - string:
+        default: us-cloud.env
+        description: |-
+          Heat template environment filename with 'parameter_defaults' dict, placed in tcp_tests/templates/_heat_environments/
+          , for example: microcloud-8116.env
+        name: LAB_PARAM_DEFAULTS
+        trim: 'false'
+    - string:
+        default: ''
+        description: ''
+        name: JENKINS_PIPELINE_BRANCH
+        trim: 'false'
+    - string:
+        default: ''
+        description: ''
+        name: TEMPEST_PATTERN
+        trim: 'false'
+    - string:
+        default: ''
+        description: ''
+        name: MCP_COMMON_SCRIPTS_REFS
+        trim: 'false'
+    - string:
+        default: 2019.2.0
+        description: ''
+        name: UPDATE_VERSION
+        trim: 'false'
+    pipeline-scm:
+      lightweight-checkout: false
+      scm:
+      - git:
+          branches:
+          - FETCH_HEAD
+          refspec: ${{TCP_QA_REFS}}
+          url: https://gerrit.mcp.mirantis.com/mcp/tcp-qa
+      script-path: jobs/pipelines/deploy-cicd-and-run-tests.groovy
diff --git a/jobs/templates/cookied-cicd-queens-dvr-sl-heat.yml b/jobs/templates/cookied-cicd-queens-dvr-sl-heat.yml
new file mode 100644
index 0000000..fcfbfea
--- /dev/null
+++ b/jobs/templates/cookied-cicd-queens-dvr-sl-heat.yml
@@ -0,0 +1,183 @@
+- job-template:
+    project-type: pipeline
+    description: '{job-description}'
+    concurrent: true
+    disabled: false
+    name: cookied-cicd-queens-dvr-sl-heat
+    parameters:
+    - string:
+        default: cookied-cicd-queens-dvr-sl-heat
+        description: ''
+        name: LAB_CONFIG_NAME
+        trim: 'false'
+    - string:
+        default: core,cicd
+        description: Comma-separated list of stacks to deploy the drivetrain (salt
+          cluster and cicd nodes)
+        name: DRIVETRAIN_STACK_INSTALL
+        trim: 'false'
+    - string:
+        default: '12000'
+        description: ''
+        name: DRIVETRAIN_STACK_INSTALL_TIMEOUT
+        trim: 'false'
+    - string:
+        default: openstack,ovs,ceph,stacklight
+        description: Comma-separated list of stacks to deploy the target platform
+          (openstack and additional components)
+        name: PLATFORM_STACK_INSTALL
+        trim: 'false'
+    - string:
+        default: '12000'
+        description: ''
+        name: PLATFORM_STACK_INSTALL_TIMEOUT
+        trim: 'false'
+    - string:
+        default: 2019.2.0
+        description: ''
+        name: MCP_VERSION
+        trim: 'false'
+    - string:
+        default: cz8133
+        description: ''
+        name: NODE_NAME
+        trim: 'false'
+    - string:
+        default: /home/jenkins/images/ubuntu-16-04-x64-mcp${{MCP_VERSION}}.qcow2
+        description: ''
+        name: MCP_IMAGE_PATH1604
+        trim: 'false'
+    - string:
+        default: /home/jenkins/images/cfg01-day01.qcow2
+        description: ''
+        name: IMAGE_PATH_CFG01_DAY01
+        trim: 'false'
+    - string:
+        default: cfg01.${{LAB_CONFIG_NAME}}-config-drive.iso
+        description: ISO name that will be generated and downloaded to the /home/jenkins/images/
+        name: CFG01_CONFIG_IMAGE_NAME
+        trim: 'false'
+    - string:
+        default: test_under_heat
+        description: ''
+        name: ENV_NAME
+        trim: 'false'
+    - string:
+        default: ''
+        description: |-
+          Example: refs/changes/89/411189/36
+          (for now - only one reference allowed)
+        name: TCP_QA_REFS
+        trim: 'false'
+    - string:
+        default: ''
+        description: reference to patchset in pipeline-library
+        name: PIPELINE_LIBRARY_REF
+        trim: 'false'
+    - string:
+        default: ''
+        description: reference to patchset in mk-pipelines
+        name: MK_PIPELINES_REF
+        trim: 'false'
+    - string:
+        default: ''
+        description: Can be 'master' or 'proposed'. If empty, then takes ${{MCP_VERSION}}
+          value
+        name: COOKIECUTTER_TEMPLATE_COMMIT
+        trim: 'false'
+    - string:
+        default: ''
+        description: Can be 'master' or 'proposed'. If empty, then takes ${{MCP_VERSION}}
+          value
+        name: SALT_MODELS_SYSTEM_COMMIT
+        trim: 'false'
+    - string:
+        default: -m "run_cvp_func_sanity|run_tempest|run_stacklight"
+        description: |-
+          Pytest option -k or -m, with expression to select necessary tests.
+          Additional pytest options are allowed.
+        name: RUN_TEST_OPTS
+        trim: 'false'
+    - bool:
+        default: true
+        description: ''
+        name: SHUTDOWN_ENV_ON_TEARDOWN
+    - string:
+        default: ''
+        description: ''
+        name: COOKIECUTTER_REF_CHANGE
+        trim: 'false'
+    - string:
+        default: ''
+        description: ''
+        name: ENVIRONMENT_TEMPLATE_REF_CHANGE
+        trim: 'false'
+    - string:
+        default: '[MCP1.1_QUEENS]Tempest'
+        description: ''
+        name: TEMPEST_TEST_SUITE_NAME
+        trim: 'false'
+    - string:
+        default: queens
+        description: ''
+        name: TEMPEST_IMAGE_VERSION
+        trim: 'false'
+    - string:
+        default: ''
+        description: ''
+        name: TEMPEST_TARGET
+        trim: 'false'
+    - string:
+        default: proposed
+        description: ''
+        name: UPDATE_REPO_CUSTOM_TAG
+        trim: 'false'
+    - bool:
+        default: true
+        description: If set, reports will be created in TestRail for this build
+        name: REPORT_TO_TESTRAIL
+    - choice:
+        choices:
+        - heat
+        - devops
+        description: ''
+        name: ENV_MANAGER
+    - string:
+        default: https://10.60.0.80:5000/v3
+        description: 'Openstack keystone catalog endpoint, for example https://10.90.0.80:5000/v3
+
+          '
+        name: OS_AUTH_URL
+        trim: 'false'
+    - string:
+        default: admin
+        description: OpenStack project (tenant) name
+        name: OS_PROJECT_NAME
+        trim: 'false'
+    - string:
+        default: admin
+        description: OpenStack user domain name
+        name: OS_USER_DOMAIN_NAME
+        trim: 'false'
+    - string:
+        default: openstack_on_cz8133
+        description: Jenkins credentials ID with username and password to create a
+          heat stack in OpenStack
+        name: OS_CREDENTIALS
+        trim: 'false'
+    - string:
+        default: microcloud-8133.env
+        description: |-
+          Heat template environment filename with 'parameter_defaults' dict, placed in tcp_tests/templates/_heat_environments/
+          , for example: microcloud-8116.env
+        name: LAB_PARAM_DEFAULTS
+        trim: 'false'
+    pipeline-scm:
+      lightweight-checkout: false
+      scm:
+      - git:
+          branches:
+          - FETCH_HEAD
+          refspec: ${{TCP_QA_REFS}}
+          url: https://review.gerrithub.io/Mirantis/tcp-qa
+      script-path: jobs/pipelines/deploy-cicd-and-run-tests.groovy
diff --git a/jobs/templates/deploy_bm.yml b/jobs/templates/deploy_bm.yml
new file mode 100644
index 0000000..3f1d02a
--- /dev/null
+++ b/jobs/templates/deploy_bm.yml
@@ -0,0 +1,155 @@
+- job-template:
+    project-type: pipeline
+    description: '{job-description}'
+    concurrent: true
+    disabled: false
+    sandbox: true
+    triggers:
+    - timed: H(40-59) 0 * * 1-5
+    dsl: |-
+      /**
+      *
+      * Deploy the product cluster using Jenkins master on CICD cluster
+      *
+      * Expected parameters:
+      *   STACKS                        List of deployments from 'all physical' view in the Jenkins
+      They should be separated by newline
+      *   PARENT_NODE_NAME
+      *   OS_AUTH_URL                   OpenStack keystone catalog URL
+      *   OS_PROJECT_NAME               OpenStack project (tenant) name
+      *   OS_CREDENTIALS                OpenStack username and password credentials ID in Jenkins
+
+      *   TCP_QA_REFS                   Reference to the tcp-qa change on Gerrit, like refs/changes/46/418546/41
+      */
+      @Library('tcp-qa')_
+
+      common = new com.mirantis.mk.Common()
+      shared = new com.mirantis.system_qa.SharedPipeline()
+      import jenkins.model.*
+
+      def stacks = env.STACKS.readLines()
+
+      def get_last_build_time(job_name) {{
+      def job = Hudson.instance.getJob(job_name)
+      def last_build = Jenkins.instance.getItemByFullName(job.fullName).getLastBuild()
+      if (last_build == null) {{
+      return null
+      }}
+      def upStreamBuild = Jenkins.getInstance().getItemByFullName(job.fullName).getBuildByNumber(last_build.getNumber())
+      return upStreamBuild.getTime()
+      }}
+
+      @NonCPS
+      def oldest_job(map) {{
+      println map.sort({{a, b -> a.value <=> b.value}})*.value
+      return map.sort({{a, b -> a.value <=> b.value}})*.key[0]
+      }}
+
+      // ============================================================================
+      timeout(time: 15, unit: 'HOURS') {{
+      node (env.PARENT_NODE_NAME) {{
+      stage("Remove extra stacks") {{
+      withCredentials([
+      [$class          : 'UsernamePasswordMultiBinding',
+      credentialsId   : env.OS_CREDENTIALS,
+      passwordVariable: 'OS_PASSWORD',
+      usernameVariable: 'OS_USERNAME']
+      ]) {{
+      env.OS_IDENTITY_API_VERSION = 3
+      for (stack_name in stacks) {{
+      shared.run_cmd("""
+      # export OS_IDENTITY_API_VERSION=3
+      # export OS_AUTH_URL=${{OS_AUTH_URL}}
+      # export OS_USERNAME=${{OS_USERNAME}}
+      # export OS_PASSWORD=${{OS_PASSWORD}}
+      # export OS_PROJECT_NAME=${{OS_PROJECT_NAME}}
+      openstack --insecure stack delete -y ${{stack_name}} || true
+      timeout 20m /bin/bash -c "while openstack --insecure stack show ${{stack_name}} -f value -c stack_status; do sleep 10; done";
+      """)
+      }}
+      }}
+      }}
+
+      stage("Reboot HW nodes ") {{
+      bm_ips = [
+      "185.8.59.227",
+      "185.8.59.229",
+      "5.43.225.88",
+      "5.43.225.112",
+      "5.43.225.208",
+      "5.43.227.118",
+      "185.8.58.248",
+      "185.8.59.222",
+      "5.43.225.228",
+      "5.43.229.28",
+      "5.43.225.23",
+      "185.8.58.9",
+      "185.8.58.246",
+      "185.8.58.243",
+      "185.8.58.244"
+      ]
+
+      lab_user = "engineer"
+      lab_pass = "KBwdcRqwed3w2"
+      for (ip in bm_ips) {{ sh ("ipmitool -H ${{ip}} -U ${{lab_user}} -P ${{lab_pass}} chassis power off")}}
+      for (ip in bm_ips) {{ sh ("ipmitool -H ${{ip}} -U ${{lab_user}} -P ${{lab_pass}} chassis bootdev pxe")}}
+      }}
+
+      stage("Start deployment") {{
+      def jobs_map = [:]
+      for (stack_name in stacks) {{
+      println stack_name
+      println get_last_build_time(stack_name)
+      jobs_map.put ("${{stack_name}}", get_last_build_time(stack_name))
+      }}
+      stack_to_deploy = oldest_job(jobs_map)
+
+      println "Build ${{stack_to_deploy}}"
+      currentBuild.description = "${{stack_to_deploy}}"
+      // Trigger job
+      def deploy = build job: "${{stack_to_deploy}}",
+      parameters: [
+      string(name: 'PARENT_NODE_NAME', value: env.PARENT_NODE_NAME),
+      string(name: 'OS_CREDENTIALS', value: env.OS_CREDENTIALS)
+      ]
+      // currentBuild.status = deploy.status
+      }}
+      }}
+      }}
+    name: deploy_bm
+    parameters:
+    - string:
+        default: sre-qa-ci-eu
+        description: ''
+        name: OS_CREDENTIALS
+        trim: 'false'
+    - text:
+        default: |-
+          bm-cicd-pike-ovs-maas
+          bm-cicd-queens-ovs-maas
+          heat-bm-cicd-pike-contrail-sl
+          heat-bm-cicd-queens-contrail-sl
+        description: List of stacks for deployment. Separated by newline
+        name: STACKS
+        trim: 'false'
+    - string:
+        default: ''
+        description: ''
+        name: TCP_QA_REFS
+        trim: 'false'
+    - string:
+        default: sre-team-infra
+        description: ''
+        name: PARENT_NODE_NAME
+        trim: 'false'
+    - string:
+        default: https://ic-eu.ssl.mirantis.net:5000/v3
+        description: ''
+        name: OS_AUTH_URL
+        trim: 'false'
+    - string:
+        default: sre-team
+        description: ''
+        name: OS_PROJECT_NAME
+        trim: 'false'
+
diff --git a/jobs/templates/download-config-drive.yml b/jobs/templates/download-config-drive.yml
new file mode 100644
index 0000000..8e8fc90
--- /dev/null
+++ b/jobs/templates/download-config-drive.yml
@@ -0,0 +1,117 @@
+- job-template:
+    project-type: pipeline
+    description: '{job-description}'
+    sandbox: true
+    concurrent: true
+    disabled: false
+    dsl: |2-
+
+
+      def image_sha = null
+      def image_md5 = null
+      def image_name = null
+      def image_size = null
+      def storage_path = '/home/jenkins/images'
+      def node_name = "${{NODE_NAME}}"
+      def DOWNLOAD_FLAG = true
+
+      node(node_name) {{
+
+      stage("Clean Workspace") {{
+      step([$class: 'WsCleanup'])
+      }}
+
+      stage("Check already exist file") {{
+      try {{
+      def file_name = "${{IMAGE_URL}}".split('/').last()
+      sh "[ -f ${{storage_path}}/${{file_name}} ]"
+      echo "We have already downloaded the image ${{IMAGE_URL}} in ${{storage_path}}"
+      DOWNLOAD_FLAG = false
+      currentBuild.result = 'NOT_BUILT'
+      }} catch (e) {{
+      echo "We don't have an image, need to download"
+      DOWNLOAD_FLAG = true
+      }}
+      }}
+
+      stage("Download image") {{
+      if (DOWNLOAD_FLAG) {{
+      sh "wget --progress=dot:giga ${{IMAGE_URL}}"
+      image_name = sh(returnStdout: true, script: "basename ${{IMAGE_URL}}").trim()
+      image_size = sh(returnStdout: true, script: "stat --printf='%s' ${{image_name}}").trim()
+      }} else {{
+      echo "Skip due to DOWNLOAD_FLAG ins't true"
+      }}
+
+      }}
+
+      stage("Calculate sha") {{
+      if (DOWNLOAD_FLAG) {{
+      image_sha = sh(returnStdout: true, script: "sha256sum ${{image_name}} | cut -d ' ' -f 1").trim()
+      image_md5 = sh(returnStdout: true, script: "md5sum ${{image_name}} | cut -d ' ' -f 1").trim()
+      }} else {{
+      echo "Skip due to DOWNLOAD_FLAG ins't true"
+      }}
+      }}
+
+      stage("Save in home") {{
+      if (DOWNLOAD_FLAG) {{
+      // sh "mv ${{image_name}} ${{image_name}}-${{image_md5}}"
+      // sh "mv ${{image_name}}-${{image_md5}} ${{storage_path}}/"
+      sh "mv ${{image_name}} ${{storage_path}}/"
+      }} else {{
+      echo "Skip due to DOWNLOAD_FLAG ins't true"
+      }}
+      }}
+
+      stage("Create source file") {{
+      if (DOWNLOAD_FLAG) {{
+      sh """
+      touch image_data.txt
+      echo IMAGE_URL=${{IMAGE_URL}} >> image_data.txt
+      echo IMAGE_SHA256=${{image_sha}} >> image_data.txt
+      echo IMAGE_MD5=${{image_md5}} >> image_data.txt
+      echo IMAGE_NAME=\$(basename ${{IMAGE_URL}}) >> image_data.txt
+      echo IMAGE_PATH=${{storage_path}}/${{image_name}} >> image_data.txt
+      echo IMAGE_DOWNLOADED=\$(date +%Y%m%d%H%M%S) >> image_data.txt
+      """
+      sh """
+      touch image_data.json
+      cat << EOM > image_data.json
+      {{
+      "IMAGE_URL": "${{IMAGE_URL}}",
+      "IMAGE_SHA256": "${{image_sha}}",
+      "IMAGE_MD5": "${{image_md5}}",
+      "IMAGE_NAME": "\$(basename ${{IMAGE_URL}})",
+      "IMAGE_PATH": "${{storage_path}}/${{image_name}}",
+      "IMAGE_DOWNLOADED": "\$(date +%Y%m%d%H%M%S)"
+      }}
+      EOM
+      """
+      }} else {{
+      echo "Skip due to DOWNLOAD_FLAG ins't true"
+      }}
+
+      }}
+
+      stage("Save artifacts") {{
+      if (DOWNLOAD_FLAG) {{
+      archiveArtifacts allowEmptyArchive: false,
+      artifacts: "image_data.*"
+      }} else {{
+      echo "Skip due to DOWNLOAD_FLAG ins't true"
+      }}
+      }}
+
+      }}
+    name: download-config-drive
+    parameters:
+    - string:
+        default: ''
+        description: ''
+        name: IMAGE_URL
+    - string:
+        default: offline-deploy
+        description: ''
+        name: NODE_NAME
+
diff --git a/jobs/templates/environment-template-ci.yml b/jobs/templates/environment-template-ci.yml
new file mode 100644
index 0000000..fd88833
--- /dev/null
+++ b/jobs/templates/environment-template-ci.yml
@@ -0,0 +1,26 @@
+- job-template:
+    project-type: freestyle
+    description: '{job-description}'
+    block-downstream: false
+    block-upstream: false
+    builders:
+    - shell: |-
+        set -e
+        git fetch https://review.gerrithub.io/Mirantis/environment-template ${{GERRIT_REFSPEC}}
+        git checkout FETCH_HEAD
+        tox
+    concurrent: false
+    disabled: false
+    name: environment-template-ci
+    node: gerrithub.io
+    scm:
+    - git:
+        branches:
+        - '**'
+        url: https://review.gerrithub.io/Mirantis/environment-template
+    # wrappers:
+    # - timeout:
+    #     abort: true
+    #     fail: true
+    #     timeout: 10
+    #     type: absolute
diff --git a/jobs/templates/heat-cicd-pike-dvr-sl.yml b/jobs/templates/heat-cicd-pike-dvr-sl.yml
new file mode 100644
index 0000000..dad3390
--- /dev/null
+++ b/jobs/templates/heat-cicd-pike-dvr-sl.yml
@@ -0,0 +1,210 @@
+---
+- job-template:
+    project-type: pipeline
+    concurrent: true
+    disabled: false
+    description: '{job-description}'
+    name: heat-cicd-pike-dvr-sl
+    triggers:
+       - timed: H(5-30) 22 * * 1-7
+    properties:
+    - build-discarder:
+        days-to-keep: 60
+        num-to-keep: 50
+    parameters:
+    - string:
+        default: heat-cicd-pike-dvr-sl
+        description: ''
+        name: LAB_CONFIG_NAME
+        trim: 'false'
+    - string:
+        default: core,cicd
+        description: Comma-separated list of stacks to deploy the drivetrain (salt
+          cluster and cicd nodes)
+        name: DRIVETRAIN_STACK_INSTALL
+        trim: 'false'
+    - string:
+        default: '12000'
+        description: ''
+        name: DRIVETRAIN_STACK_INSTALL_TIMEOUT
+        trim: 'false'
+    - string:
+        default: openstack,ovs,ceph,stacklight
+        description: Comma-separated list of stacks to deploy the target platform
+          (openstack and additional components)
+        name: PLATFORM_STACK_INSTALL
+        trim: 'false'
+    - string:
+        default: '12000'
+        description: ''
+        name: PLATFORM_STACK_INSTALL_TIMEOUT
+        trim: 'false'
+    - string:
+        default: 2019.2.0
+        description: ''
+        name: MCP_VERSION
+        trim: 'false'
+    - string:
+        default: sre-team-infra
+        description: ''
+        name: NODE_NAME
+        trim: 'false'
+    - string:
+        default: '/home/jenkins/images/ubuntu-16-04-x64-mcp${{MCP_VERSION}}.qcow2'
+        description: ''
+        name: MCP_IMAGE_PATH1604
+        trim: 'false'
+    - string:
+        default: /home/jenkins/images/cfg01-day01.qcow2
+        description: ''
+        name: IMAGE_PATH_CFG01_DAY01
+        trim: 'false'
+    - string:
+        default: 'cfg01.${{LAB_CONFIG_NAME}}-config-drive.iso'
+        description: ISO name that will be generated and downloaded to the /home/jenkins/images/
+        name: CFG01_CONFIG_IMAGE_NAME
+        trim: 'false'
+    - string:
+        default: heat-cicd-pike-dvr-sl
+        description: ''
+        name: ENV_NAME
+        trim: 'false'
+    - string:
+        default: ''
+        description: |-
+          Example: refs/changes/89/411189/36
+          (for now - only one reference allowed)
+        name: TCP_QA_REFS
+        trim: 'false'
+    - string:
+        default: refs/heads/release/proposed/2019.2.0
+        description: reference to patchset in pipeline-library
+        name: PIPELINE_LIBRARY_REF
+        trim: 'false'
+    - string:
+        default: refs/heads/release/proposed/2019.2.0
+        description: reference to patchset in mk-pipelines
+        name: MK_PIPELINES_REF
+        trim: 'false'
+    - string:
+        default: release/proposed/2019.2.0
+        description: Can be 'master' or 'proposed'. If empty, then takes ${{MCP_VERSION}}
+          value
+        name: COOKIECUTTER_TEMPLATE_COMMIT
+        trim: 'false'
+    - string:
+        default: release/proposed/2019.2.0
+        description: Can be 'master' or 'proposed'. If empty, then takes ${{MCP_VERSION}}
+          value
+        name: SALT_MODELS_SYSTEM_COMMIT
+        trim: 'false'
+    - string:
+        default: -m "run_cvp_func_sanity|run_tempest|run_stacklight"
+        description: |-
+          Pytest option -k or -m, with expression to select necessary tests.
+          Additional pytest options are allowed.
+        name: RUN_TEST_OPTS
+        trim: 'false'
+    - bool:
+        default: true
+        description: ''
+        name: SHUTDOWN_ENV_ON_TEARDOWN
+    - string:
+        default: ''
+        description: ''
+        name: COOKIECUTTER_REF_CHANGE
+        trim: 'false'
+    - string:
+        default: ''
+        description: ''
+        name: ENVIRONMENT_TEMPLATE_REF_CHANGE
+        trim: 'false'
+    - string:
+        default: '[MCP1.1_PIKE]Tempest'
+        description: ''
+        name: TEMPEST_TEST_SUITE_NAME
+        trim: 'false'
+    - string:
+        default: pike
+        description: ''
+        name: TEMPEST_IMAGE_VERSION
+        trim: 'false'
+    - string:
+        default: ''
+        description: ''
+        name: TEMPEST_TARGET
+        trim: 'false'
+    - string:
+        default: proposed
+        description: ''
+        name: UPDATE_REPO_CUSTOM_TAG
+        trim: 'false'
+    - bool:
+        default: true
+        description: If set, reports will be created in TestRail for this build
+        name: REPORT_TO_TESTRAIL
+    - choice:
+        choices:
+        - heat
+        - devops
+        description: ''
+        name: ENV_MANAGER
+    - string:
+        default: https://ic-eu.ssl.mirantis.net:5000/v3
+        description: 'Openstack keystone catalog endpoint, for example https://10.90.0.80:5000/v3'
+        name: OS_AUTH_URL
+        trim: 'false'
+    - string:
+        default: sre-team
+        description: OpenStack project (tenant) name
+        name: OS_PROJECT_NAME
+        trim: 'false'
+    - string:
+        default: ldap_mirantis
+        description: OpenStack user domain name
+        name: OS_USER_DOMAIN_NAME
+        trim: 'false'
+    - string:
+        default: sre-qa-team-ci
+        description: Jenkins credentials ID with username and password to create a
+          heat stack in OpenStack
+        name: OS_CREDENTIALS
+        trim: 'false'
+    - string:
+        default: us-cloud.env
+        description: |-
+          Heat template environment filename with 'parameter_defaults' dict, placed in tcp_tests/templates/_heat_environments/
+          , for example: microcloud-8116.env
+        name: LAB_PARAM_DEFAULTS
+        trim: 'false'
+    - string:
+        default: release/proposed/2019.2.0
+        description: ''
+        name: JENKINS_PIPELINE_BRANCH
+        trim: 'false'
+    - string:
+        default: ''
+        description: ''
+        name: TEMPEST_PATTERN
+        trim: 'false'
+    - string:
+        default: refs/heads/release/proposed/2019.2.0
+        description: ''
+        name: MCP_COMMON_SCRIPTS_REFS
+        trim: 'false'
+    - string:
+        default: proposed
+        description: ''
+        name: UPDATE_VERSION
+        trim: 'false'
+    pipeline-scm:
+      lightweight-checkout: false
+      scm:
+      - git:
+          branches:
+          - FETCH_HEAD
+          refspec: '${{TCP_QA_REFS}}'
+          url: https://gerrit.mcp.mirantis.com/mcp/tcp-qa
+          clean:
+            before: true
+      script-path: jobs/pipelines/deploy-cicd-and-run-tests.groovy
diff --git a/jobs/templates/heat-cicd-queens-contrail41-sl.yml b/jobs/templates/heat-cicd-queens-contrail41-sl.yml
new file mode 100644
index 0000000..99f03e4
--- /dev/null
+++ b/jobs/templates/heat-cicd-queens-contrail41-sl.yml
@@ -0,0 +1,207 @@
+---
+- job-template:
+    project-type: pipeline
+    description: '{job-description}'
+    concurrent: true
+    disabled: false
+    name: heat-cicd-queens-contrail41-sl
+    triggers:
+    - timed: H(5-30) 23 * * 1-7
+    parameters:
+    - string:
+        default: heat-cicd-queens-contrail41-sl
+        description: ''
+        name: LAB_CONFIG_NAME
+        trim: 'false'
+    - string:
+        default: core,cicd
+        description: Comma-separated list of stacks to deploy the drivetrain (salt cluster and cicd nodes)
+        name: DRIVETRAIN_STACK_INSTALL
+        trim: 'false'
+    - string:
+        default: '12000'
+        description: ''
+        name: DRIVETRAIN_STACK_INSTALL_TIMEOUT
+        trim: 'false'
+    - string:
+        default: openstack,contrail,ceph,stacklight
+        description: Comma-separated list of stacks to deploy the target platform
+          (openstack and additional components)
+        name: PLATFORM_STACK_INSTALL
+        trim: 'false'
+    - string:
+        default: '12000'
+        description: ''
+        name: PLATFORM_STACK_INSTALL_TIMEOUT
+        trim: 'false'
+    - string:
+        default: 2019.2.0
+        description: ''
+        name: MCP_VERSION
+        trim: 'false'
+    - string:
+        default: sre-team-infra
+        description: ''
+        name: NODE_NAME
+        trim: 'false'
+    - string:
+        default: /home/jenkins/images/ubuntu-16-04-x64-mcp${{MCP_VERSION}}.qcow2
+        description: ''
+        name: MCP_IMAGE_PATH1604
+        trim: 'false'
+    - string:
+        default: /home/jenkins/images/cfg01-day01.qcow2
+        description: ''
+        name: IMAGE_PATH_CFG01_DAY01
+        trim: 'false'
+    - string:
+        default: cfg01.${{LAB_CONFIG_NAME}}-config-drive.iso
+        description: ISO name that will be generated and downloaded to the /home/jenkins/images/
+        name: CFG01_CONFIG_IMAGE_NAME
+        trim: 'false'
+    - string:
+        default: heat-cicd-queens-contrail41-sl
+        description: ''
+        name: ENV_NAME
+        trim: 'false'
+    - string:
+        default: ''
+        description: |-
+          Example: refs/changes/89/411189/36
+          (for now - only one reference allowed)
+        name: TCP_QA_REFS
+        trim: 'false'
+    - string:
+        default: refs/heads/release/proposed/2019.2.0
+        description: reference to patchset in pipeline-library
+        name: PIPELINE_LIBRARY_REF
+        trim: 'false'
+    - string:
+        default: refs/heads/release/proposed/2019.2.0
+        description: reference to patchset in mk-pipelines
+        name: MK_PIPELINES_REF
+        trim: 'false'
+    - string:
+        default: release/proposed/2019.2.0
+        description: Can be 'master' or 'proposed'. If empty, then takes ${{MCP_VERSION}} value
+        name: COOKIECUTTER_TEMPLATE_COMMIT
+        trim: 'false'
+    - string:
+        default: release/proposed/2019.2.0
+        description: Can be 'master' or 'proposed'. If empty, then takes ${{MCP_VERSION}} value
+        name: SALT_MODELS_SYSTEM_COMMIT
+        trim: 'false'
+    - string:
+        default: -m "run_cvp_func_sanity|run_tempest|run_stacklight"
+        description: |-
+          Pytest option -k or -m, with expression to select necessary tests.
+          Additional pytest options are allowed.
+        name: RUN_TEST_OPTS
+        trim: 'false'
+    - bool:
+        default: true
+        description: ''
+        name: SHUTDOWN_ENV_ON_TEARDOWN
+    - string:
+        default: ''
+        description: ''
+        name: COOKIECUTTER_REF_CHANGE
+        trim: 'false'
+    - string:
+        default: ''
+        description: ''
+        name: ENVIRONMENT_TEMPLATE_REF_CHANGE
+        trim: 'false'
+    - string:
+        default: '[MCP1.1_QUEENS]Tempest'
+        description: ''
+        name: TEMPEST_TEST_SUITE_NAME
+        trim: 'false'
+    - string:
+        default: queens
+        description: ''
+        name: TEMPEST_IMAGE_VERSION
+        trim: 'false'
+    - string:
+        default: ''
+        description: ''
+        name: TEMPEST_TARGET
+        trim: 'false'
+    - string:
+        default: proposed
+        description: ''
+        name: UPDATE_REPO_CUSTOM_TAG
+        trim: 'false'
+    - bool:
+        default: true
+        description: If set, reports will be created in TestRail for this build
+        name: REPORT_TO_TESTRAIL
+    - choice:
+        choices:
+        - heat
+        - devops
+        description: ''
+        name: ENV_MANAGER
+    - string:
+        default: https://ic-eu.ssl.mirantis.net:5000/v3
+        description: 'Openstack keystone catalog endpoint, for example https://10.90.0.80:5000/v3'
+        name: OS_AUTH_URL
+        trim: 'false'
+    - string:
+        default: sre-team
+        description: OpenStack project (tenant) name
+        name: OS_PROJECT_NAME
+        trim: 'false'
+    - string:
+        default: ldap_mirantis
+        description: OpenStack user domain name
+        name: OS_USER_DOMAIN_NAME
+        trim: 'false'
+    - string:
+        default: sre-qa-team-ci
+        description: Jenkins credentials ID with username and password to create a
+          heat stack in OpenStack
+        name: OS_CREDENTIALS
+        trim: 'false'
+    - string:
+        default: us-cloud.env
+        description: |-
+          Heat template environment filename with 'parameter_defaults' dict, placed in tcp_tests/templates/_heat_environments/,
+          for example: microcloud-8116.env
+        name: LAB_PARAM_DEFAULTS
+        trim: 'false'
+    - string:
+        default: release/proposed/2019.2.0
+        description: ''
+        name: JENKINS_PIPELINE_BRANCH
+        trim: 'false'
+    - string:
+        default: refs/heads/release/proposed/2019.2.0
+        description: ''
+        name: MCP_COMMON_SCRIPTS_REFS
+        trim: 'false'
+    - string:
+        default: proposed
+        description: ''
+        name: UPDATE_VERSION
+        trim: 'false'
+    - string:
+        default: ''
+        description: ''
+        name: TEMPEST_EXTRA_ARGS
+        trim: 'false'
+    - string:
+        default: ^heat_tempest_plugin.tests*|^tempest.api.image*|^tempest_horizon*|^tempest.api.identity*|^tempest.api.network*|^tempest.api.compute*|^tempest.api.volume*|^tempest.scenario*|^tempest.api.object_storage*
+        description: Exclude tungsten tests by default
+        name: TEMPEST_PATTERN
+        trim: 'false'
+    pipeline-scm:
+      lightweight-checkout: false
+      scm:
+      - git:
+          branches:
+          - FETCH_HEAD
+          refspec: ${{TCP_QA_REFS}}
+          url: https://gerrit.mcp.mirantis.com/mcp/tcp-qa
+      script-path: jobs/pipelines/deploy-cicd-and-run-tests.groovy
+
diff --git a/jobs/templates/heat-cicd-queens-dvr-sl.yml b/jobs/templates/heat-cicd-queens-dvr-sl.yml
new file mode 100644
index 0000000..3c5ce0f
--- /dev/null
+++ b/jobs/templates/heat-cicd-queens-dvr-sl.yml
@@ -0,0 +1,208 @@
+---
+- job-template:
+    project-type: pipeline
+    concurrent: true
+    disabled: false
+    name: heat-cicd-queens-dvr-sl
+    description: '{job-description}'
+    triggers:
+    - timed: H(5-30) 21 * * 1-7
+    parameters:
+    - string:
+        default: heat-cicd-queens-dvr-sl
+        description: ''
+        name: LAB_CONFIG_NAME
+        trim: 'false'
+    - string:
+        default: core,cicd
+        description: Comma-separated list of stacks to deploy the drivetrain (salt cluster and cicd nodes)
+        name: DRIVETRAIN_STACK_INSTALL
+        trim: 'false'
+    - string:
+        default: '12000'
+        description: ''
+        name: DRIVETRAIN_STACK_INSTALL_TIMEOUT
+        trim: 'false'
+    - string:
+        default: openstack,ovs,ceph,stacklight
+        description: Comma-separated list of stacks to deploy the target platform (openstack and additional components)
+        name: PLATFORM_STACK_INSTALL
+        trim: 'false'
+    - string:
+        default: '12000'
+        description: ''
+        name: PLATFORM_STACK_INSTALL_TIMEOUT
+        trim: 'false'
+    - string:
+        default: 2019.2.0
+        description: ''
+        name: MCP_VERSION
+        trim: 'false'
+    - string:
+        default: sre-team-infra
+        description: ''
+        name: NODE_NAME
+        trim: 'false'
+    - string:
+        default: /home/jenkins/images/ubuntu-16-04-x64-mcp${{MCP_VERSION}}.qcow2
+        description: ''
+        name: MCP_IMAGE_PATH1604
+        trim: 'false'
+    - string:
+        default: /home/jenkins/images/cfg01-day01.qcow2
+        description: ''
+        name: IMAGE_PATH_CFG01_DAY01
+        trim: 'false'
+    - string:
+        default: cfg01.${{LAB_CONFIG_NAME}}-config-drive.iso
+        description: ISO name that will be generated and downloaded to the /home/jenkins/images/
+        name: CFG01_CONFIG_IMAGE_NAME
+        trim: 'false'
+    - string:
+        default: heat-cicd-queens-dvr-sl
+        description: ''
+        name: ENV_NAME
+        trim: 'false'
+    - string:
+        default: ''
+        description: |-
+          Example: refs/changes/89/411189/36
+          (for now - only one reference allowed)
+        name: TCP_QA_REFS
+        trim: 'false'
+    - string:
+        default: refs/heads/release/proposed/2019.2.0
+        description: reference to patchset in pipeline-library
+        name: PIPELINE_LIBRARY_REF
+        trim: 'false'
+    - string:
+        default: refs/heads/release/proposed/2019.2.0
+        description: reference to patchset in mk-pipelines
+        name: MK_PIPELINES_REF
+        trim: 'false'
+    - string:
+        default: release/proposed/2019.2.0
+        description: Can be 'master' or 'proposed'. If empty, then takes ${{MCP_VERSION}}
+          value
+        name: COOKIECUTTER_TEMPLATE_COMMIT
+        trim: 'false'
+    - string:
+        default: release/proposed/2019.2.0
+        description: Can be 'master' or 'proposed'. If empty, then takes ${{MCP_VERSION}}
+          value
+        name: SALT_MODELS_SYSTEM_COMMIT
+        trim: 'false'
+    - string:
+        default: -m "run_cvp_func_sanity|run_tempest|run_stacklight"
+        description: |-
+          Pytest option -k or -m, with expression to select necessary tests.
+          Additional pytest options are allowed.
+        name: RUN_TEST_OPTS
+        trim: 'false'
+    - bool:
+        default: true
+        description: ''
+        name: SHUTDOWN_ENV_ON_TEARDOWN
+    - string:
+        default: ''
+        description: ''
+        name: COOKIECUTTER_REF_CHANGE
+        trim: 'false'
+    - string:
+        default: ''
+        description: ''
+        name: ENVIRONMENT_TEMPLATE_REF_CHANGE
+        trim: 'false'
+    - string:
+        default: '[MCP1.1_QUEENS]Tempest'
+        description: ''
+        name: TEMPEST_TEST_SUITE_NAME
+        trim: 'false'
+    - string:
+        default: queens
+        description: ''
+        name: TEMPEST_IMAGE_VERSION
+        trim: 'false'
+    - string:
+        default: ''
+        description: ''
+        name: TEMPEST_TARGET
+        trim: 'false'
+    - string:
+        default: proposed
+        description: ''
+        name: UPDATE_REPO_CUSTOM_TAG
+        trim: 'false'
+    - bool:
+        default: true
+        description: If set, reports will be created in TestRail for this build
+        name: REPORT_TO_TESTRAIL
+    - choice:
+        choices:
+        - heat
+        - devops
+        description: ''
+        name: ENV_MANAGER
+    - string:
+        default: https://ic-eu.ssl.mirantis.net:5000/v3
+        description: 'Openstack keystone catalog endpoint, for example https://10.90.0.80:5000/v3'
+        name: OS_AUTH_URL
+        trim: 'false'
+    - string:
+        default: sre-team
+        description: OpenStack project (tenant) name
+        name: OS_PROJECT_NAME
+        trim: 'false'
+    - string:
+        default: ldap_mirantis
+        description: OpenStack user domain name
+        name: OS_USER_DOMAIN_NAME
+        trim: 'false'
+    - string:
+        default: sre-qa-team-ci
+        description: Jenkins credentials ID with username and password to create a
+          heat stack in OpenStack
+        name: OS_CREDENTIALS
+        trim: 'false'
+    - string:
+        default: us-cloud.env
+        description: |-
+          Heat template environment filename with 'parameter_defaults' dict, placed in tcp_tests/templates/_heat_environments/,
+          for example: microcloud-8116.env
+        name: LAB_PARAM_DEFAULTS
+        trim: 'false'
+    - string:
+        default: release/proposed/2019.2.0
+        description: ''
+        name: JENKINS_PIPELINE_BRANCH
+        trim: 'false'
+    - string:
+        default: ''
+        description: ''
+        name: TEMPEST_PATTERN
+        trim: 'false'
+    - string:
+        default: refs/heads/release/proposed/2019.2.0
+        description: ''
+        name: MCP_COMMON_SCRIPTS_REFS
+        trim: 'false'
+    - string:
+        default: proposed
+        description: ''
+        name: UPDATE_VERSION
+        trim: 'false'
+    - string:
+        default: ''
+        description: ''
+        name: TEMPEST_EXTRA_ARGS
+        trim: 'false'
+    pipeline-scm:
+      lightweight-checkout: false
+      scm:
+      - git:
+          branches:
+          - FETCH_HEAD
+          refspec: ${{TCP_QA_REFS}}
+          url: https://gerrit.mcp.mirantis.com/mcp/tcp-qa.git
+      script-path: jobs/pipelines/deploy-cicd-and-run-tests.groovy
+
diff --git a/jobs/templates/maintenance-heat-cicd-pike-dvr-sl.yml b/jobs/templates/maintenance-heat-cicd-pike-dvr-sl.yml
new file mode 100644
index 0000000..1ec57b0
--- /dev/null
+++ b/jobs/templates/maintenance-heat-cicd-pike-dvr-sl.yml
@@ -0,0 +1,203 @@
+- job-template:
+    project-type: pipeline
+    description: '{job-description}'
+    concurrent: true
+    disabled: false
+    name: maintenance-heat-cicd-pike-dvr-sl
+    parameters:
+    - string:
+        default: heat-cicd-pike-dvr-sl
+        description: ''
+        name: LAB_CONFIG_NAME
+        trim: 'false'
+    - string:
+        default: core,cicd
+        description: Comma-separated list of stacks to deploy the drivetrain (salt
+          cluster and cicd nodes)
+        name: DRIVETRAIN_STACK_INSTALL
+        trim: 'false'
+    - string:
+        default: '12000'
+        description: ''
+        name: DRIVETRAIN_STACK_INSTALL_TIMEOUT
+        trim: 'false'
+    - string:
+        default: openstack,ovs,ceph,stacklight
+        description: Comma-separated list of stacks to deploy the target platform
+          (openstack and additional components)
+        name: PLATFORM_STACK_INSTALL
+        trim: 'false'
+    - string:
+        default: '12000'
+        description: ''
+        name: PLATFORM_STACK_INSTALL_TIMEOUT
+        trim: 'false'
+    - string:
+        default: 2019.2.0
+        description: ''
+        name: MCP_VERSION
+        trim: 'false'
+    - string:
+        default: sre-team-infra
+        description: ''
+        name: NODE_NAME
+        trim: 'false'
+    - string:
+        default: /home/jenkins/images/ubuntu-16-04-x64-mcp${{MCP_VERSION}}.qcow2
+        description: ''
+        name: MCP_IMAGE_PATH1604
+        trim: 'false'
+    - string:
+        default: /home/jenkins/images/cfg01-day01.qcow2
+        description: ''
+        name: IMAGE_PATH_CFG01_DAY01
+        trim: 'false'
+    - string:
+        default: cfg01.${{LAB_CONFIG_NAME}}-config-drive.iso
+        description: ISO name that will be generated and downloaded to the /home/jenkins/images/
+        name: CFG01_CONFIG_IMAGE_NAME
+        trim: 'false'
+    - string:
+        default: maintenance-heat-cicd-pike-dvr-sl
+        description: ''
+        name: ENV_NAME
+        trim: 'false'
+    - string:
+        default: ''
+        description: |-
+          Example: refs/changes/89/411189/36
+          (for now - only one reference allowed)
+        name: TCP_QA_REFS
+        trim: 'false'
+    - string:
+        default: refs/heads/release/proposed/2019.2.0
+        description: reference to patchset in pipeline-library
+        name: PIPELINE_LIBRARY_REF
+        trim: 'false'
+    - string:
+        default: refs/heads/release/proposed/2019.2.0
+        description: reference to patchset in mk-pipelines
+        name: MK_PIPELINES_REF
+        trim: 'false'
+    - string:
+        default: release/proposed/2019.2.0
+        description: Can be 'master' or 'proposed'. If empty, then takes ${{MCP_VERSION}}
+          value
+        name: COOKIECUTTER_TEMPLATE_COMMIT
+        trim: 'false'
+    - string:
+        default: release/proposed/2019.2.0
+        description: Can be 'master' or 'proposed'. If empty, then takes ${{MCP_VERSION}}
+          value
+        name: SALT_MODELS_SYSTEM_COMMIT
+        trim: 'false'
+    - string:
+        default: -m "run_cvp_func_sanity|run_tempest|run_stacklight"
+        description: |-
+          Pytest option -k or -m, with expression to select necessary tests.
+          Additional pytest options are allowed.
+        name: RUN_TEST_OPTS
+        trim: 'false'
+    - bool:
+        default: false
+        description: ''
+        name: SHUTDOWN_ENV_ON_TEARDOWN
+    - string:
+        default: ''
+        description: ''
+        name: COOKIECUTTER_REF_CHANGE
+        trim: 'false'
+    - string:
+        default: ''
+        description: ''
+        name: ENVIRONMENT_TEMPLATE_REF_CHANGE
+        trim: 'false'
+    - string:
+        default: '[MCP1.1_PIKE]Tempest'
+        description: ''
+        name: TEMPEST_TEST_SUITE_NAME
+        trim: 'false'
+    - string:
+        default: pike
+        description: ''
+        name: TEMPEST_IMAGE_VERSION
+        trim: 'false'
+    - string:
+        default: ''
+        description: ''
+        name: TEMPEST_TARGET
+        trim: 'false'
+    - string:
+        default: proposed
+        description: ''
+        name: UPDATE_REPO_CUSTOM_TAG
+        trim: 'false'
+    - bool:
+        default: false
+        description: If set, reports will be created in TestRail for this build
+        name: REPORT_TO_TESTRAIL
+    - choice:
+        choices:
+        - heat
+        - devops
+        description: ''
+        name: ENV_MANAGER
+    - string:
+        default: https://ic-eu.ssl.mirantis.net:5000/v3
+        description: 'Openstack keystone catalog endpoint, for example https://10.90.0.80:5000/v3
+
+          '
+        name: OS_AUTH_URL
+        trim: 'false'
+    - string:
+        default: maintenance-team
+        description: OpenStack project (tenant) name
+        name: OS_PROJECT_NAME
+        trim: 'false'
+    - string:
+        default: ldap_mirantis
+        description: OpenStack user domain name
+        name: OS_USER_DOMAIN_NAME
+        trim: 'false'
+    - string:
+        default: maintenance-team
+        description: Jenkins credentials ID with username and password to create a
+          heat stack in OpenStack
+        name: OS_CREDENTIALS
+        trim: 'false'
+    - string:
+        default: us-cloud.env
+        description: |-
+          Heat template environment filename with 'parameter_defaults' dict, placed in tcp_tests/templates/_heat_environments/
+          , for example: microcloud-8116.env
+        name: LAB_PARAM_DEFAULTS
+        trim: 'false'
+    - string:
+        default: release/proposed/2019.2.0
+        description: ''
+        name: JENKINS_PIPELINE_BRANCH
+        trim: 'false'
+    - string:
+        default: ''
+        description: ''
+        name: TEMPEST_PATTERN
+        trim: 'false'
+    - string:
+        default: refs/heads/release/proposed/2019.2.0
+        description: ''
+        name: MCP_COMMON_SCRIPTS_REFS
+        trim: 'false'
+    - string:
+        default: proposed
+        description: ''
+        name: UPDATE_VERSION
+        trim: 'false'
+    pipeline-scm:
+      lightweight-checkout: false
+      scm:
+      - git:
+          branches:
+          - FETCH_HEAD
+          refspec: ${{TCP_QA_REFS}}
+          url: https://gerrit.mcp.mirantis.com/mcp/tcp-qa
+      script-path: jobs/pipelines/deploy-cicd-and-run-tests.groovy
diff --git a/jobs/templates/released-heat-cicd-pike-contrail41-sl.yml b/jobs/templates/released-heat-cicd-pike-contrail41-sl.yml
new file mode 100644
index 0000000..22ebc40
--- /dev/null
+++ b/jobs/templates/released-heat-cicd-pike-contrail41-sl.yml
@@ -0,0 +1,204 @@
+- job-template:
+    project-type: pipeline
+    description: '{job-description}'
+    concurrent: true
+    disabled: false
+    name: released-heat-cicd-pike-contrail41-sl
+    parameters:
+    - string:
+        default: released-heat-cicd-pike-contrail41-sl
+        description: ''
+        name: LAB_CONFIG_NAME
+        trim: 'false'
+    - string:
+        default: core,cicd
+        description: Comma-separated list of stacks to deploy the drivetrain (salt
+          cluster and cicd nodes)
+        name: DRIVETRAIN_STACK_INSTALL
+        trim: 'false'
+    - string:
+        default: '12000'
+        description: ''
+        name: DRIVETRAIN_STACK_INSTALL_TIMEOUT
+        trim: 'false'
+    - string:
+        default: openstack,contrail,ceph,stacklight
+        description: Comma-separated list of stacks to deploy the target platform
+          (openstack and additional components)
+        name: PLATFORM_STACK_INSTALL
+        trim: 'false'
+    - string:
+        default: '12000'
+        description: ''
+        name: PLATFORM_STACK_INSTALL_TIMEOUT
+        trim: 'false'
+    - string:
+        default: 2019.2.0
+        description: ''
+        name: MCP_VERSION
+        trim: 'false'
+    - string:
+        default: jenkins-master-si
+        description: ''
+        name: NODE_NAME
+        trim: 'false'
+    - string:
+        default: /home/jenkins/images/ubuntu-16-04-x64-mcp${{MCP_VERSION}}.qcow2
+        description: ''
+        name: MCP_IMAGE_PATH1604
+        trim: 'false'
+    - string:
+        default: /home/jenkins/images/cfg01-day01.qcow2
+        description: ''
+        name: IMAGE_PATH_CFG01_DAY01
+        trim: 'false'
+    - string:
+        default: cfg01.${{LAB_CONFIG_NAME}}-config-drive.iso
+        description: ISO name that will be generated and downloaded to the /home/jenkins/images/
+        name: CFG01_CONFIG_IMAGE_NAME
+        trim: 'false'
+    - string:
+        default: released-heat-cicd-pike-contrail41-sl
+        description: ''
+        name: ENV_NAME
+        trim: 'false'
+    - string:
+        default: ''
+        description: |-
+          Example: refs/changes/89/411189/36
+          (for now - only one reference allowed)
+        name: TCP_QA_REFS
+        trim: 'false'
+    - string:
+        default: refs/tags/2019.2.6
+        description: reference to patchset in pipeline-library
+        name: PIPELINE_LIBRARY_REF
+        trim: 'false'
+    - string:
+        default: refs/tags/2019.2.6
+        description: reference to patchset in mk-pipelines
+        name: MK_PIPELINES_REF
+        trim: 'false'
+    - string:
+        default: 380f83f44ecca210825f3d3070a9c202e00adc58
+        description: Can be 'master' or 'proposed'. If empty, then takes ${{MCP_VERSION}}
+          value
+        name: COOKIECUTTER_TEMPLATE_COMMIT
+        trim: 'false'
+    - string:
+        default: c2458cb04793900195ee68a1e80edaf5c2cff7dc
+        description: Can be 'master' or 'proposed'. If empty, then takes ${{MCP_VERSION}}
+          value
+        name: SALT_MODELS_SYSTEM_COMMIT
+        trim: 'false'
+    - string:
+        default: -m "run_cvp_func_sanity|run_tempest|run_stacklight"
+        description: |-
+          Pytest option -k or -m, with expression to select necessary tests.
+          Additional pytest options are allowed.
+        name: RUN_TEST_OPTS
+        trim: 'false'
+    - bool:
+        default: true
+        description: ''
+        name: SHUTDOWN_ENV_ON_TEARDOWN
+    - string:
+        default: ''
+        description: ''
+        name: COOKIECUTTER_REF_CHANGE
+        trim: 'false'
+    - string:
+        default: ''
+        description: ''
+        name: ENVIRONMENT_TEMPLATE_REF_CHANGE
+        trim: 'false'
+    - string:
+        default: '[MCP1.1_PIKE]Tempest'
+        description: ''
+        name: TEMPEST_TEST_SUITE_NAME
+        trim: 'false'
+    - string:
+        default: pike
+        description: ''
+        name: TEMPEST_IMAGE_VERSION
+        trim: 'false'
+    - string:
+        default: ''
+        description: ''
+        name: TEMPEST_TARGET
+        trim: 'false'
+    - string:
+        default: ''
+        description: ''
+        name: UPDATE_REPO_CUSTOM_TAG
+        trim: 'false'
+    - bool:
+        default: true
+        description: If set, reports will be created in TestRail for this build
+        name: REPORT_TO_TESTRAIL
+    - choice:
+        choices:
+        - heat
+        - devops
+        description: ''
+        name: ENV_MANAGER
+    - string:
+        default: https://ic-eu.ssl.mirantis.net:5000/v3
+        description: 'Openstack keystone catalog endpoint, for example https://10.90.0.80:5000/v3
+
+          '
+        name: OS_AUTH_URL
+        trim: 'false'
+    - string:
+        default: sre-team
+        description: OpenStack project (tenant) name
+        name: OS_PROJECT_NAME
+        trim: 'false'
+    - string:
+        default: ldap_mirantis
+        description: OpenStack user domain name
+        name: OS_USER_DOMAIN_NAME
+        trim: 'false'
+    - string:
+        default: sre-qa-team-ci
+        description: Jenkins credentials ID with username and password to create a
+          heat stack in OpenStack
+        name: OS_CREDENTIALS
+        trim: 'false'
+    - string:
+        default: us-cloud.env
+        description: |-
+          Heat template environment filename with 'parameter_defaults' dict, placed in tcp_tests/templates/_heat_environments/
+          , for example: microcloud-8116.env
+        name: LAB_PARAM_DEFAULTS
+        trim: 'false'
+    - string:
+        default: refs/tags/2019.2.6
+        description: ''
+        name: JENKINS_PIPELINE_BRANCH
+        trim: 'false'
+    - string:
+        default: refs/tags/2019.2.6
+        description: ''
+        name: MCP_COMMON_SCRIPTS_REFS
+        trim: 'false'
+    - string:
+        default: 2019.2.0
+        description: ''
+        name: UPDATE_VERSION
+        trim: 'false'
+    - string:
+        default: ^heat_tempest_plugin.tests*|^tempest.api.image*|^tempest_horizon*|^tempest.api.identity*|^tempest.api.network*|^tempest.api.compute*|^tempest.api.volume*|^tempest.scenario*|^tempest.api.object_storage*
+        description: Exclude tungsten tests by default
+        name: TEMPEST_PATTERN
+        trim: 'false'
+    pipeline-scm:
+      lightweight-checkout: false
+      scm:
+      - git:
+          branches:
+          - FETCH_HEAD
+          refspec: ${{TCP_QA_REFS}}
+          url: https://gerrit.mcp.mirantis.com/mcp/tcp-qa
+      script-path: jobs/pipelines/deploy-cicd-and-run-tests.groovy
+
diff --git a/jobs/templates/released-heat-cicd-pike-dvr-sl.yml b/jobs/templates/released-heat-cicd-pike-dvr-sl.yml
new file mode 100644
index 0000000..b297eda
--- /dev/null
+++ b/jobs/templates/released-heat-cicd-pike-dvr-sl.yml
@@ -0,0 +1,203 @@
+- job-template:
+    project-type: pipeline
+    description: '{job-description}'
+    concurrent: true
+    disabled: false
+    name: released-heat-cicd-pike-dvr-sl
+    parameters:
+    - string:
+        default: released-heat-cicd-pike-dvr-sl
+        description: ''
+        name: LAB_CONFIG_NAME
+        trim: 'false'
+    - string:
+        default: core,cicd
+        description: Comma-separated list of stacks to deploy the drivetrain (salt
+          cluster and cicd nodes)
+        name: DRIVETRAIN_STACK_INSTALL
+        trim: 'false'
+    - string:
+        default: '12000'
+        description: ''
+        name: DRIVETRAIN_STACK_INSTALL_TIMEOUT
+        trim: 'false'
+    - string:
+        default: openstack,ovs,ceph,stacklight
+        description: Comma-separated list of stacks to deploy the target platform
+          (openstack and additional components)
+        name: PLATFORM_STACK_INSTALL
+        trim: 'false'
+    - string:
+        default: '12000'
+        description: ''
+        name: PLATFORM_STACK_INSTALL_TIMEOUT
+        trim: 'false'
+    - string:
+        default: 2019.2.0
+        description: ''
+        name: MCP_VERSION
+        trim: 'false'
+    - string:
+        default: jenkins-master-si
+        description: ''
+        name: NODE_NAME
+        trim: 'false'
+    - string:
+        default: /home/jenkins/images/ubuntu-16-04-x64-mcp${{MCP_VERSION}}.qcow2
+        description: ''
+        name: MCP_IMAGE_PATH1604
+        trim: 'false'
+    - string:
+        default: /home/jenkins/images/cfg01-day01.qcow2
+        description: ''
+        name: IMAGE_PATH_CFG01_DAY01
+        trim: 'false'
+    - string:
+        default: cfg01.${{LAB_CONFIG_NAME}}-config-drive.iso
+        description: ISO name that will be generated and downloaded to the /home/jenkins/images/
+        name: CFG01_CONFIG_IMAGE_NAME
+        trim: 'false'
+    - string:
+        default: released-heat-cicd-pike-dvr-sl
+        description: ''
+        name: ENV_NAME
+        trim: 'false'
+    - string:
+        default: ''
+        description: |-
+          Example: refs/changes/89/411189/36
+          (for now - only one reference allowed)
+        name: TCP_QA_REFS
+        trim: 'false'
+    - string:
+        default: refs/tags/2019.2.6
+        description: reference to patchset in pipeline-library
+        name: PIPELINE_LIBRARY_REF
+        trim: 'false'
+    - string:
+        default: refs/tags/2019.2.6
+        description: reference to patchset in mk-pipelines
+        name: MK_PIPELINES_REF
+        trim: 'false'
+    - string:
+        default: 380f83f44ecca210825f3d3070a9c202e00adc58
+        description: Can be 'master' or 'proposed'. If empty, then takes ${{MCP_VERSION}}
+          value
+        name: COOKIECUTTER_TEMPLATE_COMMIT
+        trim: 'false'
+    - string:
+        default: c2458cb04793900195ee68a1e80edaf5c2cff7dc
+        description: Can be 'master' or 'proposed'. If empty, then takes ${{MCP_VERSION}}
+          value
+        name: SALT_MODELS_SYSTEM_COMMIT
+        trim: 'false'
+    - string:
+        default: -m "run_cvp_func_sanity|run_tempest|run_stacklight"
+        description: |-
+          Pytest option -k or -m, with expression to select necessary tests.
+          Additional pytest options are allowed.
+        name: RUN_TEST_OPTS
+        trim: 'false'
+    - bool:
+        default: true
+        description: ''
+        name: SHUTDOWN_ENV_ON_TEARDOWN
+    - string:
+        default: ''
+        description: ''
+        name: COOKIECUTTER_REF_CHANGE
+        trim: 'false'
+    - string:
+        default: ''
+        description: ''
+        name: ENVIRONMENT_TEMPLATE_REF_CHANGE
+        trim: 'false'
+    - string:
+        default: '[MCP1.1_PIKE]Tempest'
+        description: ''
+        name: TEMPEST_TEST_SUITE_NAME
+        trim: 'false'
+    - string:
+        default: pike
+        description: ''
+        name: TEMPEST_IMAGE_VERSION
+        trim: 'false'
+    - string:
+        default: ''
+        description: ''
+        name: TEMPEST_TARGET
+        trim: 'false'
+    - string:
+        default: ''
+        description: ''
+        name: UPDATE_REPO_CUSTOM_TAG
+        trim: 'false'
+    - bool:
+        default: true
+        description: If set, reports will be created in TestRail for this build
+        name: REPORT_TO_TESTRAIL
+    - choice:
+        choices:
+        - heat
+        - devops
+        description: ''
+        name: ENV_MANAGER
+    - string:
+        default: https://ic-eu.ssl.mirantis.net:5000/v3
+        description: 'Openstack keystone catalog endpoint, for example https://10.90.0.80:5000/v3
+
+          '
+        name: OS_AUTH_URL
+        trim: 'false'
+    - string:
+        default: sre-team
+        description: OpenStack project (tenant) name
+        name: OS_PROJECT_NAME
+        trim: 'false'
+    - string:
+        default: ldap_mirantis
+        description: OpenStack user domain name
+        name: OS_USER_DOMAIN_NAME
+        trim: 'false'
+    - string:
+        default: sre-qa-team-ci
+        description: Jenkins credentials ID with username and password to create a
+          heat stack in OpenStack
+        name: OS_CREDENTIALS
+        trim: 'false'
+    - string:
+        default: us-cloud.env
+        description: |-
+          Heat template environment filename with 'parameter_defaults' dict, placed in tcp_tests/templates/_heat_environments/
+          , for example: microcloud-8116.env
+        name: LAB_PARAM_DEFAULTS
+        trim: 'false'
+    - string:
+        default: refs/tags/2019.2.6
+        description: ''
+        name: JENKINS_PIPELINE_BRANCH
+        trim: 'false'
+    - string:
+        default: ''
+        description: ''
+        name: TEMPEST_PATTERN
+        trim: 'false'
+    - string:
+        default: refs/tags/2019.2.6
+        description: ''
+        name: MCP_COMMON_SCRIPTS_REFS
+        trim: 'false'
+    - string:
+        default: 2019.2.0
+        description: ''
+        name: UPDATE_VERSION
+        trim: 'false'
+    pipeline-scm:
+      lightweight-checkout: false
+      scm:
+      - git:
+          branches:
+          - FETCH_HEAD
+          refspec: ${{TCP_QA_REFS}}
+          url: https://gerrit.mcp.mirantis.com/mcp/tcp-qa
+      script-path: jobs/pipelines/deploy-cicd-and-run-tests.groovy
diff --git a/jobs/templates/released-heat-cicd-queens-dvr-sl.yml b/jobs/templates/released-heat-cicd-queens-dvr-sl.yml
new file mode 100644
index 0000000..01cf37f
--- /dev/null
+++ b/jobs/templates/released-heat-cicd-queens-dvr-sl.yml
@@ -0,0 +1,203 @@
+- job-template:
+    project-type: pipeline
+    description: '{job-description}'
+    concurrent: true
+    disabled: false
+    name: released-heat-cicd-queens-dvr-sl
+    parameters:
+    - string:
+        default: released-heat-cicd-queens-dvr-sl
+        description: ''
+        name: LAB_CONFIG_NAME
+        trim: 'false'
+    - string:
+        default: core,cicd
+        description: Comma-separated list of stacks to deploy the drivetrain (salt
+          cluster and cicd nodes)
+        name: DRIVETRAIN_STACK_INSTALL
+        trim: 'false'
+    - string:
+        default: '12000'
+        description: ''
+        name: DRIVETRAIN_STACK_INSTALL_TIMEOUT
+        trim: 'false'
+    - string:
+        default: openstack,ovs,ceph,stacklight
+        description: Comma-separated list of stacks to deploy the target platform
+          (openstack and additional components)
+        name: PLATFORM_STACK_INSTALL
+        trim: 'false'
+    - string:
+        default: '12000'
+        description: ''
+        name: PLATFORM_STACK_INSTALL_TIMEOUT
+        trim: 'false'
+    - string:
+        default: 2019.2.0
+        description: ''
+        name: MCP_VERSION
+        trim: 'false'
+    - string:
+        default: jenkins-master-si
+        description: ''
+        name: NODE_NAME
+        trim: 'false'
+    - string:
+        default: /home/jenkins/images/ubuntu-16-04-x64-mcp${{MCP_VERSION}}.qcow2
+        description: ''
+        name: MCP_IMAGE_PATH1604
+        trim: 'false'
+    - string:
+        default: /home/jenkins/images/cfg01-day01.qcow2
+        description: ''
+        name: IMAGE_PATH_CFG01_DAY01
+        trim: 'false'
+    - string:
+        default: cfg01.${{LAB_CONFIG_NAME}}-config-drive.iso
+        description: ISO name that will be generated and downloaded to the /home/jenkins/images/
+        name: CFG01_CONFIG_IMAGE_NAME
+        trim: 'false'
+    - string:
+        default: released-heat-cicd-queens-dvr-sl
+        description: ''
+        name: ENV_NAME
+        trim: 'false'
+    - string:
+        default: ''
+        description: |-
+          Example: refs/changes/89/411189/36
+          (for now - only one reference allowed)
+        name: TCP_QA_REFS
+        trim: 'false'
+    - string:
+        default: refs/tags/2019.2.6
+        description: reference to patchset in pipeline-library
+        name: PIPELINE_LIBRARY_REF
+        trim: 'false'
+    - string:
+        default: refs/tags/2019.2.6
+        description: reference to patchset in mk-pipelines
+        name: MK_PIPELINES_REF
+        trim: 'false'
+    - string:
+        default: 380f83f44ecca210825f3d3070a9c202e00adc58
+        description: Can be 'master' or 'proposed'. If empty, then takes ${{MCP_VERSION}}
+          value
+        name: COOKIECUTTER_TEMPLATE_COMMIT
+        trim: 'false'
+    - string:
+        default: c2458cb04793900195ee68a1e80edaf5c2cff7dc
+        description: Can be 'master' or 'proposed'. If empty, then takes ${{MCP_VERSION}}
+          value
+        name: SALT_MODELS_SYSTEM_COMMIT
+        trim: 'false'
+    - text:
+        default: -m "run_cvp_func_sanity|run_tempest|run_stacklight"
+        description: |-
+          Pytest option -k or -m, with expression to select necessary tests.
+          Additional pytest options are allowed.
+        name: RUN_TEST_OPTS
+        trim: 'false'
+    - bool:
+        default: true
+        description: ''
+        name: SHUTDOWN_ENV_ON_TEARDOWN
+    - string:
+        default: ''
+        description: ''
+        name: COOKIECUTTER_REF_CHANGE
+        trim: 'false'
+    - string:
+        default: ''
+        description: ''
+        name: ENVIRONMENT_TEMPLATE_REF_CHANGE
+        trim: 'false'
+    - string:
+        default: '[MCP1.1_QUEENS]Tempest'
+        description: ''
+        name: TEMPEST_TEST_SUITE_NAME
+        trim: 'false'
+    - string:
+        default: queens
+        description: ''
+        name: TEMPEST_IMAGE_VERSION
+        trim: 'false'
+    - string:
+        default: ''
+        description: ''
+        name: TEMPEST_TARGET
+        trim: 'false'
+    - string:
+        default: ''
+        description: ''
+        name: UPDATE_REPO_CUSTOM_TAG
+        trim: 'false'
+    - bool:
+        default: true
+        description: If set, reports will be created in TestRail for this build
+        name: REPORT_TO_TESTRAIL
+    - choice:
+        choices:
+        - heat
+        - devops
+        description: ''
+        name: ENV_MANAGER
+    - string:
+        default: https://ic-eu.ssl.mirantis.net:5000/v3
+        description: 'Openstack keystone catalog endpoint, for example https://10.90.0.80:5000/v3
+
+          '
+        name: OS_AUTH_URL
+        trim: 'false'
+    - string:
+        default: sre-team
+        description: OpenStack project (tenant) name
+        name: OS_PROJECT_NAME
+        trim: 'false'
+    - string:
+        default: ldap_mirantis
+        description: OpenStack user domain name
+        name: OS_USER_DOMAIN_NAME
+        trim: 'false'
+    - string:
+        default: sre-qa-team-ci
+        description: Jenkins credentials ID with username and password to create a
+          heat stack in OpenStack
+        name: OS_CREDENTIALS
+        trim: 'false'
+    - string:
+        default: us-cloud.env
+        description: |-
+          Heat template environment filename with 'parameter_defaults' dict, placed in tcp_tests/templates/_heat_environments/
+          , for example: microcloud-8116.env
+        name: LAB_PARAM_DEFAULTS
+        trim: 'false'
+    - string:
+        default: refs/tags/2019.2.6
+        description: ''
+        name: JENKINS_PIPELINE_BRANCH
+        trim: 'false'
+    - string:
+        default: ''
+        description: ''
+        name: TEMPEST_PATTERN
+        trim: 'false'
+    - string:
+        default: refs/tags/2019.2.6
+        description: ''
+        name: MCP_COMMON_SCRIPTS_REFS
+        trim: 'false'
+    - string:
+        default: 2019.2.0
+        description: ''
+        name: UPDATE_VERSION
+        trim: 'false'
+    pipeline-scm:
+      lightweight-checkout: false
+      scm:
+      - git:
+          branches:
+          - FETCH_HEAD
+          refspec: ${{TCP_QA_REFS}}
+          url: https://gerrit.mcp.mirantis.com/mcp/tcp-qa
+      script-path: jobs/pipelines/deploy-cicd-and-run-tests.groovy
diff --git a/jobs/templates/self-deploy-jobs.yaml b/jobs/templates/self-deploy-jobs.yaml
new file mode 100644
index 0000000..e04f62d
--- /dev/null
+++ b/jobs/templates/self-deploy-jobs.yaml
@@ -0,0 +1,22 @@
+---
+- job-template:
+    project-type: pipeline
+    concurrent: false
+    disabled: false
+    description: '{job-description}'
+    name: self-deploy-jobs
+    parameters:
+    - string:
+        default: 'master'
+        description: 'tcp-qa review refspec'
+        name: TCP_QA_REFS
+        trim: 'true'
+    pipeline-scm:
+      lightweight-checkout: false
+      scm:
+      - git:
+          branches:
+          - FETCH_HEAD
+          refspec: '${{TCP_QA_REFS}}'
+          url: https://gerrit.mcp.mirantis.com/mcp/tcp-qa
+      script-path: jobs/pipelines/self-deploy-jobs.groovy
diff --git a/jobs/templates/tcp-qa-ci.yml b/jobs/templates/tcp-qa-ci.yml
new file mode 100644
index 0000000..37529db
--- /dev/null
+++ b/jobs/templates/tcp-qa-ci.yml
@@ -0,0 +1,28 @@
+- job-template:
+    project-type: freestyle
+    description: '{job-description}'
+    block-downstream: false
+    block-upstream: false
+    builders:
+    - shell: |-
+        set -e
+        git fetch https://review.gerrithub.io/Mirantis/tcp-qa ${{GERRIT_REFSPEC}}
+        git checkout FETCH_HEAD
+        tox
+    concurrent: false
+    disabled: true
+    name: tcp-qa-ci
+    node: gerrithub.io
+    publishers: []
+    scm:
+    - git:
+        branches:
+        - '**'
+        url: https://review.gerrithub.io/Mirantis/tcp-qa
+    triggers: []
+    # wrappers:
+    # - timeout:
+    #     abort: true
+    #     fail: true
+    #     timeout: 10
+    #     type: absolute
diff --git a/jobs/templates/test_cleanup.yml b/jobs/templates/test_cleanup.yml
new file mode 100644
index 0000000..6b6d31a
--- /dev/null
+++ b/jobs/templates/test_cleanup.yml
@@ -0,0 +1,14 @@
+- job-template:
+    project-type: pipeline
+    description: '{job-description}'
+    concurrent: true
+    disabled: false
+    name: test_cleanup
+    pipeline-scm:
+      lightweight-checkout: true
+      scm:
+      - git:
+          branches:
+          - '*/master'
+          url: https://github.com/sgudz/kaas.git
+      script-path: si_tests/utils/run-cleanup.groovy
\ No newline at end of file
diff --git a/jobs/view.yaml b/jobs/view.yaml
new file mode 100644
index 0000000..6998d5a
--- /dev/null
+++ b/jobs/view.yaml
@@ -0,0 +1,182 @@
+---
+- view:
+    name: MCP-2019.2.x-proposed-updates
+    view-type: list
+    description: |
+      MCP-2019.2.x-proposed-updates, <b>managed by JJB</b>
+    filter-executors: true
+    filter-queue: true
+    job-name:
+      - heat-cicd-pike-dvr-sl
+      - heat-cicd-queens-contrail41-sl
+      - heat-cicd-queens-dvr-sl
+    columns:
+      - status
+      - weather
+      - job
+      - last-success
+      - last-failure
+      - last-duration
+      - build-button
+- view:
+    name: MCP-2019.x-release
+    view-type: list
+    description: |
+      Managed by JJB <br>
+      <b>!!! Jobs run on manual trigger, deploy 2019.2.4 release with enabled Q4 updates repos from http://mirror.mirantis.com/update/2019.2.0/ !!!</b><br>
+      see deploy details To enable deploy from tags 2019.2.4<br>
+      SALT_MODELS_SYSTEM_COMMIT: fe72c46d604dcf1d44e4478d60204846b899a77a<br>
+      COOKIECUTTER_TEMPLATE_COMMIT:1deaf78727cb3bad748fbd73bcfb6af451a046c1<br>
+      MK_PIPELINES_REF: refs/tags/2019.2.4<br>
+      PIPELINE_LIBRARY_REF: refs/tags/2019.2.4<br>
+    filter-executors: true
+    filter-queue: true
+    job-name:
+      - released-heat-cicd-pike-contrail41-sl
+      - released-heat-cicd-pike-dvr-sl
+      - released-heat-cicd-queens-dvr-sl
+    columns:
+      - status
+      - weather
+      - job
+      - last-success
+      - last-failure
+      - last-duration
+      - build-button
+- view:
+    name: MCP-2019.x-release-artifacts
+    view-type: list
+    description: |
+      Managed by JJB <br>
+      <b>!!! Jobs run on manual trigger, deploy CLEAR 2019.2.0(Q4) release with enabled updates repos from http://mirror.mirantis.com/update/2019.2.0/ !!!</b><br>
+      MCP_VERSION: 2019.2.0<br>
+      Run after publishing of release artifatc to be sure that everything is rpomoted in the right way<br>
+    filter-executors: true
+    filter-queue: true
+    job-name:
+      - 2019.2.0-heat-cicd-pike-dvr-sl
+      - 2019.2.0-heat-cicd-queens-contrail41-sl
+      - 2019.2.0-heat-cicd-queens-dvr-sl
+    columns:
+      - status
+      - weather
+      - job
+      - last-success
+      - last-failure
+      - last-duration
+      - build-button
+- view:
+    name: self-deploy
+    view-type: list
+    description: |
+      MCP-2019.2.x-proposed-updates, managed by JJB
+    filter-executors: true
+    filter-queue: true
+    job-name:
+      - self-deploy-jobs
+    columns:
+      - status
+      - weather
+      - job
+      - last-success
+      - last-failure
+      - last-duration
+      - build-button
+- view:
+    name: all physical
+    view-type: list
+    description: |
+      Managed by JJB
+    filter-executors: true
+    filter-queue: true
+    job-name:
+      - bm-cicd-pike-ovs-maas
+      - bm-cicd-queens-ovs-maas
+      - deploy_bm
+      - heat-bm-cicd-pike-contrail-sl
+      - heat-bm-cicd-queens-contrail-sl
+      - released-bm-pike-ovs
+      - show_networks_used_by_libvirt
+    columns:
+      - status
+      - weather
+      - job
+      - last-success
+      - last-failure
+      - last-duration
+      - build-button
+- view:
+    name: maintenance
+    view-type: list
+    description: |
+      Maintenance, managed by JJB
+    filter-executors: true
+    filter-queue: true
+    job-name:
+      - maintenance-heat-cicd-pike-dvr-sl
+    columns:
+      - status
+      - weather
+      - job
+      - last-success
+      - last-failure
+      - last-duration
+      - build-button
+- view:
+    name: offline-deployment
+    view-type: list
+    description: |
+      Offline-deployment, managed by JJB
+    filter-executors: true
+    filter-queue: true
+    job-name:
+      - download-config-drive
+    columns:
+      - status
+      - weather
+      - job
+      - last-success
+      - last-failure
+      - last-duration
+      - build-button
+- view:
+    name: report
+    view-type: list
+    description: |
+      Report, managed by JJB
+    filter-executors: true
+    filter-queue: true
+    job-name:
+      - generate-report
+      - mark-reports
+    columns:
+      - status
+      - weather
+      - job
+      - last-success
+      - last-failure
+      - last-duration
+      - build-button
+- view:
+    name: xperimental
+    view-type: list
+    description: |
+      Xperimental, managed by JJB
+    filter-executors: true
+    filter-queue: true
+    job-name:
+      - cookied-cicd-queens-dvr-sl-heat
+      - diff_params_reclass_system
+      - environment-template-ci
+      - tcp-qa-ci
+      - test_cleanup
+      - testrail-reporter-ci
+      - testrail-reporter-gerrit-mcp-ci
+    columns:
+      - status
+      - weather
+      - job
+      - last-success
+      - last-failure
+      - last-duration
+      - build-button
\ No newline at end of file