Add swarm-bootstrap-salt-cluster-heat to jjb

Change-Id: Ib1c6038271232927e31e9825405f843c3239658b
diff --git a/jobs/project.yaml b/jobs/project.yaml
index 31ca31a..1b52f3c 100644
--- a/jobs/project.yaml
+++ b/jobs/project.yaml
@@ -51,6 +51,7 @@
       - swarm-run-pytest
       - generate-report
       - swarm-testrail-report-jjb
+      - swarm-bootstrap-salt-cluster-heat-jjb
       # - mark-reports - can't moved to JJB, a lot of parameters is not supported like Inject environment variables
       # - diff_params_reclass_system - can't moved to JJB, unsupported parameters
       # - diff_params_reclass_system - can't moved to JJB, unsupported parameters
diff --git a/jobs/templates/swarm-bootstrap-salt-cluster-heat-jjb.yaml b/jobs/templates/swarm-bootstrap-salt-cluster-heat-jjb.yaml
new file mode 100755
index 0000000..2dbc28b
--- /dev/null
+++ b/jobs/templates/swarm-bootstrap-salt-cluster-heat-jjb.yaml
@@ -0,0 +1,241 @@
+- job-template:

+    project-type: pipeline

+    description: '{job-description}'

+    concurrent: true

+    disabled: false

+    name: swarm-bootstrap-salt-cluster-heat-jjb

+    properties:

+      - throttle:

+          option: project

+          max-per-node: 3

+          max-total: 3

+    parameters:

+    - string:

+        name: ENV_NAME

+        default:

+        description: 'Required: Fuel-devops environment name'

+        trim: 'false'

+    - string:

+        name: LAB_CONFIG_NAME

+        default: ''

+        description: ''

+        trim: 'false'

+    - string:

+        name: PARENT_NODE_NAME

+        default: ''

+        description: |-

+          Required: Name of the jenkins slave to create the environment<br>

+          To be set by the parent deployment job.

+        trim: 'false'

+    - string:

+        name: PARENT_WORKSPACE

+        default: ''

+        description: |-

+          Required: Workspace on the jenkins slave to reuse for the job<br>

+          To be set by the parent deployment job.

+        trim: 'false'

+    - string:

+        name: MCP_VERSION

+        default: 'proposed'

+        description: ''

+        trim: 'false'

+    - string:

+        name: MCP_IMAGE_PATH1604

+        default: '/home/jenkins/images/ubuntu-16-04-x64-mcpproposed.qcow2'

+        description: |-

+          Required: Local path to the image 

+          http://ci.mcp.mirantis.net:8085/images/ubuntu-16-04-x64-mcpproposed.qcow2'

+        trim: 'false'

+    - string:

+        name: CFG01_CONFIG_IMAGE_NAME

+        default: cfg01.${{LAB_CONFIG_NAME}}-config-drive.iso

+        description: |-

+          ISO name that will be generated and downloaded to the /home/jenkins/images/

+        trim: 'false'

+    - string:

+        name: IMAGE_PATH_CFG01_DAY01

+        default: '/home/jenkins/images/cfg01-day01.qcow2'

+        description: |-

+          Required: Local path to the image 

+          http://ci.mcp.mirantis.net:8085/images/ubuntu-16-04-x64-mcpproposed.qcow2'

+        trim: 'false'

+    - string:

+        name: TCP_QA_REFS

+        default: ''

+        description: |-

+          Example: refs/changes/89/411189/36 (for now - only one reference allowed)

+        trim: 'false'

+    - string:

+        name: PIPELINE_LIBRARY_REF

+        default: ''

+        description: |-

+          reference to patchset in pipeline-library

+        trim: 'false'

+    - string:

+        name: MK_PIPELINES_REF

+        default: ''

+        description: |-

+          reference to patchset in mk-pipelines

+        trim: 'false'

+    - string:

+        name: COOKIECUTTER_TEMPLATE_COMMIT

+        default: ''

+        description: |-

+          Can be 'master' or 'proposed'. If empty, then takes ${{MCP_VERSION}} value

+        trim: 'false'

+    - string:

+        name: SALT_MODELS_SYSTEM_COMMIT

+        default: ''

+        description: |-

+          Can be 'master' or 'proposed'. If empty, then takes ${{MCP_VERSION}} value

+        trim: 'false'

+    - bool:

+        name: SHUTDOWN_ENV_ON_TEARDOWN

+        default: true

+        description: |-

+          Shutdown the fuel-devops environment at the end of the job

+        trim: 'false'

+    - string:

+        name: JENKINS_SLAVE_NODE_NAME

+        default: ''

+        trim: 'false'

+    - string:

+        name: PARENT_WORKSPACE

+        default: ''

+        description: |-

+          Required: Workspace on the jenkins slave to reuse for the job

+          To be set by the parent deployment job.

+        trim: 'false'

+    - string:

+        name: COOKIECUTTER_REF_CHANGE

+        default: ''

+        description: ''

+        trim: 'false'

+    - string:

+        name: ENVIRONMENT_TEMPLATE_REF_CHANGE

+        default: ''

+        description: ''

+        trim: 'false'

+    - string:

+        name: LAB_MANAGEMENT_IFACE

+        default: ''

+        description: 'For BareMetal only'

+        trim: 'false'

+    - string:

+        name: LAB_CONTROL_IFACE

+        default: ''

+        description: 'For BareMetal only'

+        trim: 'false'

+    - password:

+        name: IPMI_USER

+        default: admin

+        description: "For maas only"

+    - password:

+        name: IPMI_PASS

+        default: password

+        description: "For maas only"

+    - string:

+        name: MCP_SALT_REPO_URL

+        default: ''

+        description: |-

+          If empty: use default from mcp-common-scripts config-drive/master_config.yaml

+          For offline deploy: http://10.10.0.14/ubuntu-xenial

+          For online deploy: http://mirror.mirantis.com/

+    - string:

+        name: MCP_SALT_REPO_KEY

+        default: ''

+        description: |-

+          If empty: use default from mcp-common-scripts config-drive/master_config.yaml

+          For offline deploy: http://10.10.0.14/public.gpg

+          For online deploy: 

+          ${{MCP_SALT_REPO_URL}}/${{MCP_VERSION}}/salt-formulas/xenial/archive-salt-formulas.key

+    - string:

+        name: MCP_COMMON_SCRIPTS_REFS

+        default: ''

+        description: ''

+        trim: 'false'

+    - string:

+        name: SALT_MODELS_SYSTEM_REF_CHANGE

+        default: ''

+        description: ''

+        trim: 'false'

+    - string:

+        name: UPDATE_REPO_CUSTOM_TAG

+        default: ''

+        description: 'The custom tag for update repos. Could be like `2018.11.0`, `2019.2.0`, `proposed` etc.'

+        trim: 'false'

+    - string:

+        name: OS_AUTH_URL

+        default: ''

+        description: 'Openstack keystone catalog endpoint, for example https://10.90.0.80:5000/v3'

+        trim: 'false'

+    - string:

+        name: OS_PROJECT_NAME

+        default: 'admin'

+        description: 'OpenStack project (tenant) name'

+        trim: 'false'

+    - string:

+        name: OS_CREDENTIALS

+        default: ''

+        description: 'Jenkins credentials ID with username and password to create a heat stack in OpenStack'

+        trim: 'false'

+    - string:

+        name: LAB_PARAM_DEFAULTS

+        default: ''

+        description: |-

+          Heat template environment filename with 'parameter_defaults' 

+          dict, placed in tcp_tests/templates/_heat_environments/, 

+          for example: microcloud-8116.env

+        trim: 'false'

+    - string:

+        name: CREATE_JENKINS_NODE_CREDENTIALS

+        default: 'create_jenkins_node_cz8133'

+        description: |-

+          Credentials with username and password with rights to create a Jenkins slave node

+        trim: 'false'

+    - string:

+        name: ACCESS_JENKINS_NODE_CREDENTIALS

+        default: '02177449-43b5-41d7-b31f-0ab77acedb71'

+        description: |-

+          Credentials with SSH username and private key to run a Jenkins agent on slave node

+        trim: 'false'

+    - string:

+        name: OS_USER_DOMAIN_NAME

+        default: ''

+        description: |-

+          OpenStack user domain name

+        trim: 'false'

+    - string:

+        name: JENKINS_PIPELINE_BRANCH

+        default: ''

+        description: ''

+        trim: 'false'

+    - string:

+        name: UPDATE_VERSION

+        default: 'proposed'

+        description: ''

+        trim: 'false'

+    - string:

+        name: UPDATES_MIRANTIS_VERSION

+        default: ''

+        description: |

+            Overwrite subsection of updates.mirantis.com repository.

+            Effective only if enabled in cookiecutter context!

+    - password:

+        name: CISCO_PASS

+        default: '1fac0DlhILBo'

+        description: "For maas only"

+    - bool:

+        name: DEPLOY_EMPTY_NODE

+        default: '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/swarm-bootstrap-salt-cluster-heat.groovy

+    logrotate:

+      daysToKeep: 30
\ No newline at end of file
diff --git a/jobs/view.yaml b/jobs/view.yaml
index 660579d..b7b4e17 100644
--- a/jobs/view.yaml
+++ b/jobs/view.yaml
@@ -168,4 +168,21 @@
       - last-success
       - last-failure
       - last-duration
+      - build-button
+- view:
+    name: common
+    view-type: list
+    description: |
+      for service deployment jobs
+    filter-executors: true
+    filter-queue: true
+    job-name:
+      - swarm-bootstrap-salt-cluster-heat-jjb
+    columns:
+      - status
+      - weather
+      - job
+      - last-success
+      - last-failure
+      - last-duration
       - build-button
\ No newline at end of file
diff --git a/src/com/mirantis/system_qa/SharedPipeline.groovy b/src/com/mirantis/system_qa/SharedPipeline.groovy
index 30de7bc..0f839c6 100644
--- a/src/com/mirantis/system_qa/SharedPipeline.groovy
+++ b/src/com/mirantis/system_qa/SharedPipeline.groovy
@@ -314,7 +314,7 @@
                 booleanParam(name: 'DEPLOY_EMPTY_NODE', value: deploy_empty_node),
             ]
 
-        build_pipeline_job('swarm-bootstrap-salt-cluster-heat', parameters)
+        build_pipeline_job('swarm-bootstrap-salt-cluster-heat-jjb', parameters)
 }
 
 def swarm_deploy_cicd(String stack_to_install, String install_timeout, String jenkins_slave_node_name, Boolean make_snapshot_stages, String batch_size, Boolean dist_upgrade_nodes, Boolean upgrade_saltstack) {