refactor deploy job structure

Change-Id: I7962328d524dfc57348c0d070f29731f8222475e
diff --git a/jenkins/client/job/deploy/lab/deploy.yml b/jenkins/client/job/deploy/lab/deploy.yml
new file mode 100644
index 0000000..5d87340
--- /dev/null
+++ b/jenkins/client/job/deploy/lab/deploy.yml
@@ -0,0 +1,156 @@
+parameters:
+  _param:
+    jenkins_deploy_jobs: []
+  jenkins:
+    client:
+      job_template:
+        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 - {{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: ""
+