Convert cookiecutter job to pipeline

PROD-37197

Change-Id: I30b0506ed9c0ad2f82524e4413d10963b03e7731
diff --git a/jobs/pipelines/cookied-model-generator.groovy b/jobs/pipelines/cookied-model-generator.groovy
new file mode 100644
index 0000000..3a82388
--- /dev/null
+++ b/jobs/pipelines/cookied-model-generator.groovy
@@ -0,0 +1,49 @@
+/*
+*   DEPLOY_EMPTY_NODE             Add extra node to heat stack. Node without a role and with salt-minion
+*/
+
+@Library('tcp-qa')_
+
+def common = new com.mirantis.mk.Common()
+def shared = new com.mirantis.system_qa.SharedPipeline()
+
+def batch_size = env.BATCH_SIZE ?: ''
+def dist_upgrade_nodes = "${env.DIST_UPGRADE_NODES}" != "false" ? true : false
+env.LAB_CONFIG_NAME = 'cookied-model-generator'
+
+timeout(time: 23, unit: 'HOURS') {
+  node ("${NODE_NAME}") {
+    env.slave_workdir = pwd()
+
+    def inject_env_vars = [
+        'VENV_PATH=/home/jenkins/fuel-devops30',
+        "ENV_NAME=swarm_model_${BUILD_NUMBER}",
+        'LAB_CONFIG_NAME=cookied-model-generator',
+        "SALT_STEPS_PATH=templates/${LAB_CONFIG_NAME}/salt_${LAB_CONTEXT_NAME}.yaml",
+        'TEST_GROUP=test_generate_model',
+        'PYTHONIOENCODING=UTF-8',
+        'MAKE_SNAPSHOT_STAGES=false',
+        'DEVOPS_LOCK_FILE=/run/lock/devops_lock',
+    ]
+
+    withEnv(inject_env_vars) {
+      try {
+        checkout scm
+        sshagent(credentials: ['f4fb9dd6-ba63-4085-82f7-3fa601334d95']) {
+          sh "/bin/bash ./jobs/pipelines/cookied-model-generator.sh"
+        }
+      } finally {
+        dir("${env.slave_workdir }") {
+          archiveArtifacts artifacts: 'tcp_tests/*.log,tcp_tests/*.tar.gz,tcp_tests/*.xml'
+          venv_cmd = "source ${VENV_PATH}/bin/activate"
+          if (env.SHUTDOWN_ENV_ON_TEARDOWN.toBoolean()){
+            sh "${venv_cmd} && dos.py destroy ${ENV_NAME}"
+          }
+          if (env.ERASE_ENVIRONMENT_AFTER_BUILD.toBoolean()){
+            sh = "${venv_cmd} && dos.py erase ${ENV_NAME}"
+          }
+        }
+      } //try
+    } // withEnv
+  } // node
+} // timeout
diff --git a/jobs/pipelines/cookied-model-generator.sh b/jobs/pipelines/cookied-model-generator.sh
index 8774552..4a5e0b8 100644
--- a/jobs/pipelines/cookied-model-generator.sh
+++ b/jobs/pipelines/cookied-model-generator.sh
@@ -53,9 +53,6 @@
 rm -rf ./model
 mkdir -p ./model
 
-eval $(ssh-agent)
-ssh-add ${COOKIECUTTER_TEMPLATES_REPOSITORY_KEY_PATH}
-
 # Create remote repository
 ssh jenkins@${REMOTE_JENKINS} "
   if [[ ! -d /home/jenkins/salt-models/${LAB_CONTEXT_NAME}.git ]]; then
diff --git a/jobs/templates/swarm-cookied-model-generator.yml b/jobs/templates/swarm-cookied-model-generator.yml
index 4ea8a03..d06d422 100644
--- a/jobs/templates/swarm-cookied-model-generator.yml
+++ b/jobs/templates/swarm-cookied-model-generator.yml
@@ -1,5 +1,5 @@
 - job-template:
-    project-type: freestyle
+    project-type: pipeline
     description: "{job-description}
       WARNING! models are pushed to the same LAB_CONTEXT_NAME repositories under the specified tags! 
       Fuel-devops environment is erased after the build by default"
@@ -135,48 +135,13 @@
           default: ''
     logrotate:
       daysToKeep: 365
-    scm:
+    pipeline-scm:
+      lightweight-checkout: false
+      scm:
       - git:
           branches:
-            - FETCH_HEAD
-          refspec: '${{TCP_QA_REFS}}'
+          - FETCH_HEAD
+          refspec: ${{TCP_QA_REFS}}
           url: https://gerrit.mcp.mirantis.com/mcp/tcp-qa
-    wrappers:
-      - inject:
-          properties-content: |-
-              VENV_PATH=/home/jenkins/fuel-devops30
-              ENV_NAME=swarm_model_$BUILD_NUMBER
-              LAB_CONFIG_NAME=cookied-model-generator
+      script-path: jobs/pipelines/cookied-model-generator.groovy
 
-              SALT_STEPS_PATH=templates/$LAB_CONFIG_NAME/salt_$LAB_CONTEXT_NAME.yaml
-
-              TEST_GROUP=test_generate_model
-              #STORAGE_POOL_NAME=second_pool
-              PYTHONIOENCODING=UTF-8
-              MAKE_SNAPSHOT_STAGES=false
-              DEVOPS_LOCK_FILE=/run/lock/devops_lock
-      - credentials-binding:
-          - ssh-user-private-key:
-              credential-id: f4fb9dd6-ba63-4085-82f7-3fa601334d95
-              key-file-variable: COOKIECUTTER_TEMPLATES_REPOSITORY_KEY_PATH
-    builders:
-      - shell: "chmod +x jobs/pipelines/cookied-model-generator.sh"
-      - shell: "./jobs/pipelines/cookied-model-generator.sh"
-    publishers:
-      - archive:
-          artifacts: 'tcp_tests/*.log,tcp_tests/*.tar.gz,tcp_tests/*.xml'
-          allow-empty: false
-      - post-tasks:
-        - run-if-job-successful: false
-          matches:
-            # Small hack to start post-tasks every time after build
-            - log-text: test session starts
-            - operator: OR
-          script: " . $VENV_PATH/bin/activate;
-          if [ $SHUTDOWN_ENV_ON_TEARDOWN = 'true' ]; then
-          dos.py destroy $ENV_NAME || true;
-          fi;
-          
-          if [ $ERASE_ENVIRONMENT_AFTER_BUILD = 'true' ]; then
-              dos.py erase $ENV_NAME || true;
-          fi;"