refactor deploy job structure

Change-Id: I7962328d524dfc57348c0d070f29731f8222475e
diff --git a/jenkins/client/job/deploy/lab/mk/cleanup.yml b/jenkins/client/job/deploy/lab/cleanup.yml
similarity index 100%
rename from jenkins/client/job/deploy/lab/mk/cleanup.yml
rename to jenkins/client/job/deploy/lab/cleanup.yml
diff --git a/jenkins/client/job/deploy/lab/component/aaa.yml b/jenkins/client/job/deploy/lab/component/aaa.yml
new file mode 100644
index 0000000..61d0b60
--- /dev/null
+++ b/jenkins/client/job/deploy/lab/component/aaa.yml
@@ -0,0 +1,10 @@
+classes:
+  - system.jenkins.client.job.deploy.lab.deploy
+parameters:
+  _param:
+    jenkins_deploy_jobs:
+      - stack_name: aaa_ha_freeipa
+        stack_type: heat
+        stack_install: core,aaa
+        stack_test: ""
+        job_timer: ""
diff --git a/jenkins/client/job/deploy/lab/component/ceph.yml b/jenkins/client/job/deploy/lab/component/ceph.yml
new file mode 100644
index 0000000..0d84374
--- /dev/null
+++ b/jenkins/client/job/deploy/lab/component/ceph.yml
@@ -0,0 +1,10 @@
+classes:
+  - system.jenkins.client.job.deploy.lab.deploy
+parameters:
+  _param:
+    jenkins_deploy_jobs:
+      - stack_name: ceph_ha
+        stack_type: heat
+        stack_install: core,ceph
+        stack_test: "ceph"
+        job_timer: ""
diff --git a/jenkins/client/job/deploy/lab/component/drivetrain.yml b/jenkins/client/job/deploy/lab/component/drivetrain.yml
new file mode 100644
index 0000000..e9e00e7
--- /dev/null
+++ b/jenkins/client/job/deploy/lab/component/drivetrain.yml
@@ -0,0 +1,15 @@
+classes:
+  - system.jenkins.client.job.deploy.lab.deploy
+parameters:
+  _param:
+    jenkins_deploy_jobs:
+      - stack_name: drivetrain_ha
+        stack_type: heat
+        stack_install: core
+        stack_test: ""
+        job_timer: ""
+      - stack_name: drivetrain_ha_clusters
+        stack_type: heat
+        stack_install: core
+        stack_test: ""
+        job_timer: ""
diff --git a/jenkins/client/job/deploy/lab/component/kubernetes.yml b/jenkins/client/job/deploy/lab/component/kubernetes.yml
new file mode 100644
index 0000000..9e80c64
--- /dev/null
+++ b/jenkins/client/job/deploy/lab/component/kubernetes.yml
@@ -0,0 +1,30 @@
+classes:
+  - system.jenkins.client.job.deploy.lab.deploy
+parameters:
+  _param:
+    jenkins_deploy_jobs:
+      - stack_name: k8s_aio_calico
+        stack_type: heat
+        stack_install: core,k8s,calico
+        stack_test: ""
+        job_timer: ""
+      - stack_name: k8s_aio_contrail
+        stack_type: heat
+        stack_install: core,k8s,contrail
+        stack_test: ""
+        job_timer: ""
+      - stack_name: k8s_ha_calico
+        stack_type: aws
+        stack_install: core,k8s,calico
+        stack_test: ""
+        job_timer: "H H(0-6) * * *"
+      - stack_name: k8s_ha_calico
+        stack_type: heat
+        stack_install: core,k8s,calico
+        stack_test: ""
+        job_timer: "H H(0-6) * * *"
+      - stack_name: k8s_ha_contrail
+        stack_type: heat
+        stack_install: core,k8s,contrail
+        stack_test: ""
+        job_timer: "H H(0-6) * * *"
diff --git a/jenkins/client/job/deploy/lab/component/openstack.yml b/jenkins/client/job/deploy/lab/component/openstack.yml
new file mode 100644
index 0000000..33c03f3
--- /dev/null
+++ b/jenkins/client/job/deploy/lab/component/openstack.yml
@@ -0,0 +1,24 @@
+classes:
+  - system.jenkins.client.job.deploy.lab.deploy
+parameters:
+  _param:
+    jenkins_deploy_jobs:
+      - stack_name: os_aio_contrail
+        stack_type: heat
+        stack_install: core,openstack,contrail
+        stack_test: ""
+        job_timer: ""
+      - stack_name: os_aio_ovs
+        stack_type: heat
+        stack_install: core,openstack,ovs
+        job_timer: ""
+      - stack_name: os_ha_contrail
+        stack_type: heat
+        stack_install: core,openstack,contrail
+        stack_test: ""
+        job_timer: "H H(0-6) * * *"
+      - stack_name: os_ha_ovs
+        stack_type: heat
+        stack_install: core,openstack,ovs
+        stack_test: ""
+        job_timer: "H H(0-6) * * *"
diff --git a/jenkins/client/job/deploy/lab/component/stacklight.yml b/jenkins/client/job/deploy/lab/component/stacklight.yml
new file mode 100644
index 0000000..2802e13
--- /dev/null
+++ b/jenkins/client/job/deploy/lab/component/stacklight.yml
@@ -0,0 +1,20 @@
+classes:
+  - system.jenkins.client.job.deploy.lab.deploy
+parameters:
+  _param:
+    jenkins_deploy_jobs:
+      - stack_name: stacklight_k8s_calico
+        stack_type: heat
+        stack_install: core,k8s,calico,stacklight
+        stack_test: ""
+        job_timer: "H H(0-6) * * *"
+      - stack_name: stacklight_os_contrail
+        stack_type: heat
+        stack_install: core,openstack,contrail,stacklight
+        stack_test: ""
+        job_timer: "H H(0-6) * * *"
+      - stack_name: stacklight_os_ovs
+        stack_type: heat
+        stack_install: core,openstack,ovs,stacklight
+        stack_test: ""
+        job_timer: "H H(0-6) * * *"
diff --git a/jenkins/client/job/deploy/lab/mk/init.yml b/jenkins/client/job/deploy/lab/deploy.yml
similarity index 90%
rename from jenkins/client/job/deploy/lab/mk/init.yml
rename to jenkins/client/job/deploy/lab/deploy.yml
index f847b45..5d87340 100644
--- a/jenkins/client/job/deploy/lab/mk/init.yml
+++ b/jenkins/client/job/deploy/lab/deploy.yml
@@ -1,19 +1,19 @@
 parameters:
   _param:
-    jenkins_deploy_lab_mk_jobs: []
+    jenkins_deploy_jobs: []
   jenkins:
     client:
       job_template:
-        deploy_heat_template:
-          name: deploy-{{stack_type}}-{{lab}}
-          jobs: ${_param:jenkins_deploy_lab_mk_jobs}
+        deploy_template:
+          name: deploy-{{stack_type}}-{{stack_name}}
+          jobs: ${_param:jenkins_deploy_jobs}
           template:
             type: workflow-scm
             discard:
               build:
                 keep_num: 20
             concurrent: true
-            display_name: "Deploy - {{lab}} {{stack_type}} lab"
+            display_name: "Deploy - {{stack_name}} {{stack_type}}"
             scm:
               type: git
               url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
@@ -21,7 +21,7 @@
               script: cloud-deploy-pipeline.groovy
             trigger:
               timer:
-                spec: "{{timer}}"
+                spec: "{{job_timer}}"
             param:
               # general parameters
               ASK_ON_ERROR:
@@ -37,10 +37,10 @@
                 default: "{{stack_type}}"
               STACK_INSTALL:
                 type: string
-                default: "{{install}}"
+                default: "{{stack_install}}"
               STACK_TEST:
                 type: string
-                default: "{{test}}"
+                default: "{{stack_test}}"
               STACK_REUSE:
                 type: boolean
                 default: 'false'
@@ -54,7 +54,7 @@
 
               STACK_TEMPLATE:
                 type: string
-                default: "{{lab}}"
+                default: "{{stack_name}}"
               STACK_TEMPLATE_URL:
                 type: string
                 default: "${_param:jenkins_gerrit_url}/mk/heat-templates"
@@ -129,7 +129,7 @@
                 type: string
                 default: "3"
 
-              # k8s setttings
+              # test
               TEST_K8S_API_SERVER:
                 type: string
                 default: "http://127.0.0.1:8080"
@@ -137,10 +137,9 @@
                 type: string
                 default: "docker-dev-virtual.docker.mirantis.net/mirantis/kubernetes/k8s-conformance:v1.5.1-3_1482332392819"
 
-              # Tempest settings
               TEST_TEMPEST_IMAGE:
                 type: string
-                description: "Tempest image link"
+                description: "Tempest docker image"
                 default: "sandbox-docker-prod-local.docker.mirantis.net/mirantis/rally_tempest:0.1"
               TEST_TEMPEST_TARGET:
                 type: string
diff --git a/jenkins/client/job/deploy/lab/init.yml b/jenkins/client/job/deploy/lab/init.yml
index 6b0d5ab..881e425 100644
--- a/jenkins/client/job/deploy/lab/init.yml
+++ b/jenkins/client/job/deploy/lab/init.yml
@@ -1,11 +1,16 @@
 classes:
-  - system.jenkins.client.job.deploy.lab.mk.physical
-  - system.jenkins.client.job.deploy.lab.mk.virtual
-  - system.jenkins.client.job.deploy.lab.mk.cleanup
-  - system.jenkins.client.job.deploy.lab.mk.cloud
   - system.jenkins.client.job.deploy.lab.cicd
   - system.jenkins.client.job.deploy.lab.test-cicd
   - system.jenkins.client.job.deploy.lab.demo
+  - system.jenkins.client.job.deploy.lab.cleanup
+  - system.jenkins.client.job.deploy.lab.release.mcp05
+  - system.jenkins.client.job.deploy.lab.release.mcp10
+  - system.jenkins.client.job.deploy.lab.release.mcp11
+  - system.jenkins.client.job.deploy.lab.component.aaa
+  - system.jenkins.client.job.deploy.lab.component.ceph
+  - system.jenkins.client.job.deploy.lab.component.kubernetes
+  - system.jenkins.client.job.deploy.lab.component.openstack
+  - system.jenkins.client.job.deploy.lab.component.stacklight
 
 parameters:
   jenkins:
diff --git a/jenkins/client/job/deploy/lab/mk/cloud.yml b/jenkins/client/job/deploy/lab/mk/cloud.yml
deleted file mode 100644
index e9b1ec2..0000000
--- a/jenkins/client/job/deploy/lab/mk/cloud.yml
+++ /dev/null
@@ -1,237 +0,0 @@
-parameters:
-  _param:
-    jenkins_cloud_deploy_pipelines:
-      # Identity AAA
-      - stack_name: aaa_ha_freeipa
-        stack_type: heat
-        stack_install: core,aaa
-        stack_test: ""
-        job_timer: ""
-        extra_formulas: ""
-      - stack_name: k8s_ha_calico
-        stack_type: aws
-        stack_install: core,k8s,calico
-        stack_test: ""
-        job_timer: "H H * * *"
-      - stack_name: ceph_ha
-        stack_type: heat
-        stack_install: core,ceph
-        stack_test: "ceph"
-        job_timer: ""
-#      - stack_name: drivetrain_ha
-#        stack_type: heat
-#        stack_install: core
-#        stack_test: ""
-#        job_timer: ""
-#      - stack_name: drivetrain_ha_clusters
-#        stack_type: heat
-#        stack_install: core
-#        stack_test: ""
-#        job_timer: ""
-      - stack_name: k8s_aio_calico
-        stack_type: heat
-        stack_install: core,k8s,calico
-        stack_test: ""
-        job_timer: ""
-      - stack_name: k8s_aio_contrail
-        stack_type: heat
-        stack_install: core,k8s,contrail
-        stack_test: ""
-        job_timer: ""
-      - stack_name: k8s_ha_calico
-        stack_type: heat
-        stack_install: core,k8s,calico
-        stack_test: ""
-        job_timer: "H H(0-6) * * *"
-      - stack_name: k8s_ha_contrail
-        stack_type: heat
-        stack_install: core,k8s,contrail
-        stack_test: ""
-        job_timer: "H H(0-6) * * *"
-      - stack_name: os_aio_contrail
-        stack_type: heat
-        stack_install: core,openstack,contrail
-        stack_test: ""
-        job_timer: ""
-      - stack_name: os_aio_ovs
-        stack_type: heat
-        stack_install: core,openstack,ovs
-        job_timer: ""
-      - stack_name: os_ha_contrail
-        stack_type: heat
-        stack_install: core,openstack,contrail
-        stack_test: ""
-        job_timer: "H H(0-6) * * *"
-      - stack_name: os_ha_ovs
-        stack_type: heat
-        stack_install: core,openstack,ovs
-        stack_test: ""
-        job_timer: "H H(0-6) * * *"
-      - stack_name: stacklight_k8s_calico
-        stack_type: heat
-        stack_install: core,k8s,calico,stacklight
-        stack_test: ""
-        job_timer: "H H(0-6) * * *"
-      - stack_name: stacklight_os_contrail
-        stack_type: heat
-        stack_install: core,openstack,contrail,stacklight
-        stack_test: ""
-        job_timer: "H H(0-6) * * *"
-      - stack_name: stacklight_os_ovs
-        stack_type: heat
-        stack_install: core,openstack,ovs,stacklight
-        stack_test: ""
-        job_timer: "H H(0-6) * * *"
-  jenkins:
-    client:
-      job_template:
-        cloud_deploy_heat_template:
-          name: deploy-{{stack_type}}-{{stack_name}}
-          jobs: ${_param:jenkins_cloud_deploy_pipelines}
-          template:
-            type: workflow-scm
-            discard:
-              build:
-                keep_num: 20
-            concurrent: true
-            display_name: "Deploy - {{stack_name}} {{stack_type}}"
-            scm:
-              type: git
-              url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
-              credentials: "gerrit"
-              script: cloud-deploy-pipeline.groovy
-            trigger:
-              timer:
-                spec: "{{job_timer}}"
-            param:
-              # general parameters
-              ASK_ON_ERROR:
-                type: boolean
-                default: 'false'
-
-              # deployments
-              STACK_NAME:
-                type: string
-                description: Heat stack name. Will be generated if missing.
-              STACK_TYPE:
-                type: string
-                default: "{{stack_type}}"
-              STACK_INSTALL:
-                type: string
-                default: "{{stack_install}}"
-              STACK_TEST:
-                type: string
-                default: "{{stack_test}}"
-              STACK_REUSE:
-                type: boolean
-                default: 'false'
-              STACK_DELETE:
-                type: boolean
-                default: 'true'
-                description: "Don't enable it if you need to use the lab after"
-              STACK_COMPUTE_COUNT:
-                type: string
-                default: '2'
-
-              STACK_TEMPLATE:
-                type: string
-                default: "{{stack_name}}"
-              STACK_TEMPLATE_URL:
-                type: string
-                default: "${_param:jenkins_gerrit_url}/mk/heat-templates"
-              STACK_TEMPLATE_CREDENTIALS:
-                type: string
-                default: "gerrit"
-              STACK_TEMPLATE_BRANCH:
-                type: string
-                default: "master"
-              STACK_CLEANUP_JOB:
-                type: string
-                default: 'deploy-stack-cleanup'
-
-              # salt
-              SALT_MASTER_CREDENTIALS:
-                type: string
-                default: "salt-qa-credentials"
-              SALT_MASTER_URL:
-                type: string
-                default: ""
-              SALT_OVERRIDES:
-                type: text
-                default: ""
-                description: "YAML with overrides for Salt deployment"
-
-              # aws api
-              AWS_STACK_REGION:
-                type: string
-                default: "us-west-2"
-              AWS_API_CREDENTIALS:
-                type: string
-                default: "aws-credentials"
-              AWS_SSH_KEY:
-                type: string
-                default: "jenkins-mk"
-
-              # heat
-              HEAT_STACK_ENVIRONMENT:
-                type: string
-                default: "devcloud"
-              HEAT_STACK_ZONE:
-                type: string
-                default: "mcp-mk"
-              HEAT_STACK_PUBLIC_NET:
-                type: string
-                default: "public"
-
-              # openstack api
-              OPENSTACK_API_URL:
-                type: string
-                default: "https://cloud-cz.bud.mirantis.net:5000"
-              OPENSTACK_API_CREDENTIALS:
-                type: string
-                default: "openstack-devcloud-credentials"
-              OPENSTACK_API_PROJECT:
-                type: string
-                default: "mcp-mk"
-              OPENSTACK_API_PROJECT_DOMAIN:
-                type: string
-                default: "default"
-              OPENSTACK_API_PROJECT_ID:
-                type: string
-                default: ""
-              OPENSTACK_API_USER_DOMAIN:
-                type: string
-                default: "default"
-
-              OPENSTACK_API_CLIENT:
-                type: string
-                default: ""
-              OPENSTACK_API_VERSION:
-                type: string
-                default: "3"
-
-              # test
-              TEST_K8S_API_SERVER:
-                type: string
-                default: "http://127.0.0.1:8080"
-              TEST_K8S_CONFORMANCE_IMAGE:
-                type: string
-                default: "docker-dev-virtual.docker.mirantis.net/mirantis/kubernetes/k8s-conformance:v1.5.1-3_1482332392819"
-
-              TEST_TEMPEST_IMAGE:
-                type: string
-                description: "Tempest docker image"
-                default: "sandbox-docker-prod-local.docker.mirantis.net/mirantis/rally_tempest:0.1"
-              TEST_TEMPEST_TARGET:
-                type: string
-                description: "Node to run tests"
-                default: ""
-              TEST_DOCKER_INSTALL:
-                type: boolean
-                description: "Install docker on the target if true"
-                default: "true"
-              TEST_TEMPEST_PATTERN:
-                type: string
-                description: "Run tests matched to pattern only"
-                default: ""
-
diff --git a/jenkins/client/job/deploy/lab/mk/physical.yml b/jenkins/client/job/deploy/lab/mk/physical.yml
deleted file mode 100644
index 8e6d498..0000000
--- a/jenkins/client/job/deploy/lab/mk/physical.yml
+++ /dev/null
@@ -1,25 +0,0 @@
-classes:
-  - system.jenkins.client.job.deploy.lab.mk
-parameters:
-  _param:
-    jenkins_deploy_lab_mk_jobs:
-      - lab: mcp10_contrail
-        install: core,kvm,openstack,contrail
-        stack_type: physical
-        test: openstack
-        timer: ""
-      - lab: mcp10_opencontrail_nfv
-        install: core,kvm,openstack,nfv
-        stack_type: physical
-        test: openstack
-        timer: ""
-      - lab: mcp10_dvr
-        install: core,kvm,openstack,dvr
-        stack_type: physical
-        test: openstack
-        timer: ""
-      - lab: mcp10_non_dvr
-        install: core,kvm,openstack
-        stack_type: physical
-        test: openstack
-        timer: ""
diff --git a/jenkins/client/job/deploy/lab/mk/virtual.yml b/jenkins/client/job/deploy/lab/mk/virtual.yml
deleted file mode 100644
index 31b035f..0000000
--- a/jenkins/client/job/deploy/lab/mk/virtual.yml
+++ /dev/null
@@ -1,125 +0,0 @@
-classes:
-  - system.jenkins.client.job.deploy.lab.mk
-parameters:
-  _param:
-    jenkins_deploy_lab_mk_jobs:
-      # mk20
-      - lab: virtual_mk20_advanced
-        install: core,openstack
-        stack_type: heat
-        test: ""
-        timer: ""
-        extra_formulas: ""
-      - lab: virtual_mk20_basic
-        install: core,openstack
-        stack_type: heat
-        test: ""
-        timer: ""
-        extra_formulas: ""
-      # mk22
-      - lab: virtual_mk22_advanced
-        install: core,openstack
-        stack_type: heat
-        test: ""
-        timer: ""
-        extra_formulas: ""
-      - lab: virtual_mk22_basic
-        install: core,openstack
-        stack_type: heat
-        test: ""
-        timer: ""
-        extra_formulas: ""
-      # mcp05
-      - lab: virtual_mcp05_dvr
-        install: core,openstack,dvr
-        stack_type: heat
-        test: ""
-        timer: ""
-        extra_formulas: ""
-      - lab: virtual_mcp05_ovs
-        install: core,openstack,ovs
-        stack_type: heat
-        test: ""
-        timer: ""
-        extra_formulas: ""
-      # mcp10
-      - lab: virtual_mcp10_contrail
-        install: core,openstack,contrail
-        stack_type: heat
-        test: ""
-        timer: "H H(0-6) * * *"
-        extra_formulas: ""
-      - lab: virtual_mcp10_dvr
-        install: core,openstack,dvr
-        stack_type: heat
-        test: ""
-        timer: "H H(0-6) * * *"
-        extra_formulas: ""
-      - lab: virtual_mcp10_ovs
-        install: core,openstack,ovs
-        stack_type: heat
-        test: ""
-        timer: "H H(0-6) * * *"
-        extra_formulas: ""
-      # mcp11
-      - lab: virtual_mcp11_contrail
-        install: core,openstack,contrail
-        stack_type: heat
-        test: ""
-        extra_formulas: ""
-        timer: ""
-      - lab: virtual_mcp11_dvr
-        install: core,openstack,dvr
-        stack_type: heat
-        test: ""
-        timer: ""
-        extra_formulas: ""
-      - lab: virtual_mcp11_ovs
-        install: core,openstack,ovs
-        stack_type: heat
-        test: ""
-        timer: ""
-        extra_formulas: ""
-      - lab: virtual_mcp11_ironic_small
-        install: core,openstack
-        stack_type: heat
-        test: ""
-        timer: ""
-        extra_formulas: ""
-      - lab: virtual_mcp11_aio
-        install: core,openstack
-        stack_type: heat
-        test: ""
-        timer: ""
-        extra_formulas: ""
-      - lab: virtual_mcp11_k8s_calico
-        install: core,k8s,calico
-        stack_type: heat
-        test: k8s
-        timer: "H H(0-6) * * *"
-        extra_formulas: ""
-      - lab: virtual_mcp11_k8s_contrail
-        install: core,k8s,contrail
-        stack_type: heat
-        test: k8s
-        timer: "H H(0-6) * * *"
-        extra_formulas: ""
-      - lab: virtual_mcp11_contrail_nfv
-        install: core,openstack,contrail
-        stack_type: heat
-        test: ""
-        timer: "H H(0-6) * * *"
-        extra_formulas: ""
-      - lab: virtual_mcp11_ovs_dpdk
-        install: core,openstack,ovs
-        stack_type: heat
-        test: ""
-        timer: "H H(0-6) * * *"
-        extra_formulas: ""
-      # Identity AAA
-      - lab: virtual_aaa_freeipa
-        install: core,aaa
-        stack_type: heat
-        test: ""
-        timer: ""
-        extra_formulas: ""
diff --git a/jenkins/client/job/deploy/lab/release/mcp05.yml b/jenkins/client/job/deploy/lab/release/mcp05.yml
new file mode 100644
index 0000000..3dbc25f
--- /dev/null
+++ b/jenkins/client/job/deploy/lab/release/mcp05.yml
@@ -0,0 +1,15 @@
+classes:
+  - system.jenkins.client.job.deploy.lab.deploy
+parameters:
+  _param:
+    jenkins_deploy_jobs:
+      - stack_name: virtual_mcp05_dvr
+        stack_install: core,openstack,dvr
+        stack_type: heat
+        stack_test: ""
+        job_timer: ""
+      - stack_name: virtual_mcp05_ovs
+        stack_install: core,openstack,ovs
+        stack_type: heat
+        stack_test: ""
+        job_timer: ""
diff --git a/jenkins/client/job/deploy/lab/release/mcp10.yml b/jenkins/client/job/deploy/lab/release/mcp10.yml
new file mode 100644
index 0000000..e8905ac
--- /dev/null
+++ b/jenkins/client/job/deploy/lab/release/mcp10.yml
@@ -0,0 +1,43 @@
+classes:
+  - system.jenkins.client.job.deploy.lab.deploy
+parameters:
+  _param:
+    jenkins_deploy_jobs:
+      # physical
+      - stack_name: mcp10_contrail
+        stack_install: core,kvm,openstack,contrail
+        stack_type: physical
+        stack_test: openstack
+        job_timer: ""
+      - stack_name: mcp10_opencontrail_nfv
+        stack_install: core,kvm,openstack,nfv
+        stack_type: physical
+        stack_test: openstack
+        job_timer: ""
+      - stack_name: mcp10_dvr
+        stack_install: core,kvm,openstack,dvr
+        stack_type: physical
+        stack_test: openstack
+        job_timer: ""
+      - stack_name: mcp10_non_dvr
+        stack_install: core,kvm,openstack
+        stack_type: physical
+        stack_test: openstack
+        job_timer: ""
+
+      # virtual
+      - stack_name: virtual_mcp10_contrail
+        stack_install: core,openstack,contrail
+        stack_type: heat
+        stack_test: ""
+        job_timer: "H H(0-6) * * *"
+      - stack_name: virtual_mcp10_dvr
+        stack_install: core,openstack,dvr
+        stack_type: heat
+        stack_test: ""
+        job_timer: "H H(0-6) * * *"
+      - stack_name: virtual_mcp10_ovs
+        stack_install: core,openstack,ovs
+        stack_type: heat
+        stack_test: ""
+        job_timer: "H H(0-6) * * *"
diff --git a/jenkins/client/job/deploy/lab/release/mcp11.yml b/jenkins/client/job/deploy/lab/release/mcp11.yml
new file mode 100644
index 0000000..98c8a5c
--- /dev/null
+++ b/jenkins/client/job/deploy/lab/release/mcp11.yml
@@ -0,0 +1,50 @@
+classes:
+  - system.jenkins.client.job.deploy.lab.deploy
+parameters:
+  _param:
+    jenkins_deploy_jobs:
+      - stack_name: virtual_mcp11_contrail
+        stack_install: core,openstack,contrail
+        stack_type: heat
+        stack_test: ""
+        job_timer: ""
+      - stack_name: virtual_mcp11_dvr
+        stack_install: core,openstack,dvr
+        stack_type: heat
+        stack_test: ""
+        job_timer: ""
+      - stack_name: virtual_mcp11_ovs
+        stack_install: core,openstack,ovs
+        stack_type: heat
+        stack_test: ""
+        job_timer: ""
+      - stack_name: virtual_mcp11_ironic_small
+        stack_install: core,openstack
+        stack_type: heat
+        stack_test: ""
+        job_timer: ""
+      - stack_name: virtual_mcp11_aio
+        stack_install: core,openstack
+        stack_type: heat
+        stack_test: ""
+        job_timer: ""
+      - stack_name: virtual_mcp11_k8s_calico
+        stack_install: core,k8s,calico
+        stack_type: heat
+        stack_test: k8s
+        job_timer: "H H(0-6) * * *"
+      - stack_name: virtual_mcp11_k8s_contrail
+        stack_install: core,k8s,contrail
+        stack_type: heat
+        stack_test: k8s
+        job_timer: "H H(0-6) * * *"
+      - stack_name: virtual_mcp11_contrail_nfv
+        stack_install: core,openstack,contrail
+        stack_type: heat
+        stack_test: ""
+        job_timer: "H H(0-6) * * *"
+      - stack_name: virtual_mcp11_ovs_dpdk
+        stack_install: core,openstack,ovs
+        stack_type: heat
+        stack_test: ""
+        job_timer: "H H(0-6) * * *"
diff --git a/jenkins/client/job/deploy/lab/release/mk.yml b/jenkins/client/job/deploy/lab/release/mk.yml
new file mode 100644
index 0000000..4fce1c5
--- /dev/null
+++ b/jenkins/client/job/deploy/lab/release/mk.yml
@@ -0,0 +1,27 @@
+classes:
+  - system.jenkins.client.job.deploy.lab.deploy
+parameters:
+  _param:
+    jenkins_deploy_jobs:
+      # mk20
+      - stack_name: virtual_mk20_advanced
+        stack_install: core,openstack
+        stack_type: heat
+        stack_test: ""
+        job_timer: ""
+      - stack_name: virtual_mk20_basic
+        stack_install: core,openstack
+        stack_type: heat
+        stack_test: ""
+        job_timer: ""
+      # mk22
+      - stack_name: virtual_mk22_advanced
+        stack_install: core,openstack
+        stack_type: heat
+        stack_test: ""
+        job_timer: ""
+      - stack_name: virtual_mk22_basic
+        stack_install: core,openstack
+        stack_type: heat
+        stack_test: ""
+        job_timer: ""