---
# ============LICENSE_START=======================================================
#  Copyright (C) 2019 Nordix Foundation.
# ================================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# SPDX-License-Identifier: Apache-2.0
# ============LICENSE_END=========================================================

- project:
    name: 'engine-deployment'

    project: 'engine-deployment'

    stream:
      - 'master':
          branch: '{stream}'
          gated-projects: 'infra\/engine'

    environment-type:
      - online:
          disabled: false
          execution-mode: online-deployment
          pdf: 'https://gerrit.nordix.org/gitweb?p=infra/hwconfig.git;a=blob_plain;f=pods/nordix-vpod1-pdf.yml'
          idf: 'https://gerrit.nordix.org/gitweb?p=infra/hwconfig.git;a=blob_plain;f=pods/nordix-vpod1-idf.yml'
          successful: false
          failed: false
          unstable: false
          notbuilt: false
      - offline:
          disabled: false
          execution-mode: offline-deployment
          pdf: 'file:///opt/engine/offline/git/hwconfig/pods/nordix-vpod1-pdf.yml'
          idf: 'file:///opt/engine/offline/git/hwconfig/pods/nordix-vpod1-idf.yml'
          successful: false
          failed: false
          unstable: false
          notbuilt: false

    distro:
      - ubuntu1804

    cloud:
      - city:
          openrc-credentials-file: 'est-jenkins-openrcfile-city-karlskrona-onap'

    jobs:
      - 'engine-verify-{environment-type}-{distro}-{cloud}-{stream}'
      - 'engine-verify-packaging-{distro}-{stream}'

- job-template:
    name: 'engine-verify-{environment-type}-{distro}-{cloud}-{stream}'

    project-type: multijob

    disabled: '{obj:disabled}'

    concurrent: true

    parameters:
      - string:
          name: EXECUTION_MODE
          default: '{execution-mode}'
          description: 'Engine execution mode - online-deployment or offline-deployment - default is online-deployment'
      - string:
          name: DISTRO
          default: '{distro}'
          description: 'Distribution to use for configuring target nodes (networking etc.)'
      - string:
          name: INSTALLER_TYPE
          default: 'kubespray'
          description: 'Installer type to use'
      - string:
          name: DEPLOY_SCENARIO
          default: 'k8-calico-nofeature'
          description: 'Scenario to deploy and test'
      - string:
          name: PDF
          default: '{pdf}'
          description: 'PDF file to use for deployment'
      - string:
          name: IDF
          default: '{idf}'
          description: 'IDF file to use for deployment'
      - string:
          name: VERBOSITY
          default: 'true'
          description: 'Verbosity setting for the engine - true or false - default is false'
      - string:
          name: NORDIX_ARM_PUBLIC_IP
          default: '91.106.198.25'
          description: 'Public IP of Nordix Artifactory. Offline deployments can not resolve domain name'
      - string:
          name: NORDIX_ARM_HTTPS_URL
          default: 'https://artifactory.nordix.org/artifactory'
          description: 'URL to Nordix Artifactory'
      - string:
          name: NORDIX_ARM_REPO
          default: 'nordix-kubernetes'
          description: 'Name of the repository to upload and download artifact to/from. Depends on the stack'
      - string:
          name: NORDIX_ARTIFACT_URL
          default: "$NORDIX_ARM_HTTPS_URL/$NORDIX_ARM_REPO/installer/oss/change/$GERRIT_CHANGE_NUMBER/k8s-installer-ubuntu1804.bsx"
          description: 'Name of the repository to upload and download artifact to/from. Depends on the stack'
      - label:
          name: SLAVE_LABEL
          default: 'engine-master-{environment-type}-{distro}'
          description: 'Slave label to schedule this job on.'
      - project-parameters:
          project: $GERRIT_PROJECT
          branch: '{branch}'
          description: 'The project and branch which the change is proposed for'
      - nordix-gerrit-parameters

    properties:
      - logrotate
      - throttle:
          max-per-node: 1
          max-total: 3
          option: project

    wrappers:
      - build-timeout:
          timeout: 180
      - mask-passwords
      - fix-workspace-permissions
      - openstack:
          single-use: True

    scm:
      - git-scm-gerrit:
          ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
          branch: '{branch}'
          refspec: $GERRIT_REFSPEC
          wipe_workspace: true
          clean_before: false

    triggers:
      - gerrit:
          server-name: 'Nordix Gerrit'
          trigger-on:
            - patchset-created-event:
                exclude-drafts: 'false'
                exclude-trivial-rebase: 'false'
                exclude-no-code-change: 'false'
            - draft-published-event
            - comment-added-contains-event:
                comment-contains-value: 'recheck'
            - comment-added-contains-event:
                comment-contains-value: 'reverify'
          projects:
            - project-compare-type: 'REG_EXP'
              project-pattern: '{gated-projects}'
              branches:
                - branch-compare-type: 'ANT'
                  branch-pattern: '**/{branch}'
              disable-strict-forbidden-file-verification: 'true'
              forbidden-file-paths:
                - compare-type: ANT
                  pattern: 'docs/**'
          skip-vote:
            successful: '{obj:successful}'
            failed: '{obj:failed}'
            unstable: '{obj:unstable}'
            notbuilt: '{obj:notbuilt}'
          custom-url: '* $JOB_NAME $BUILD_URL'
          readable-message: 'true'

    builders:
      - multijob:
          name: packaging
          condition: SUCCESSFUL
          execution-type: PARALLEL
          projects:
            - name: 'engine-verify-packaging-{distro}-{stream}'
              current-parameters: true
              node-parameters: true
              kill-phase-on: FAILURE
              abort-all-job: true
      - multijob:
          name: "{environment-type} deployment and testing"
          condition: SUCCESSFUL
          execution-type: PARALLEL
          projects:
            - name: 'engine-verify-{environment-type}-deploy-test-{distro}-city-virtual-master'
              current-parameters: false
              node-parameters: false
              predefined-parameters: |
                GIT_BASE_SSH=$GIT_BASE_SSH
                GERRIT_PROJECT=$GERRIT_PROJECT
                GERRIT_BRANCH=$GERRIT_BRANCH
                GERRIT_REFSPEC=$GERRIT_REFSPEC
                GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
                GERRIT_CHANGE_ID=$GERRIT_CHANGE_ID
                GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
                PROJECT=$GERRIT_PROJECT
                BRANCH=$BRANCH
                NORDIX_ARM_PUBLIC_IP=$NORDIX_ARM_PUBLIC_IP
                NORDIX_ARTIFACT_URL=$NORDIX_ARTIFACT_URL
                EXECUTION_MODE=$EXECUTION_MODE
                VERBOSITY=$VERBOSITY
                DISTRO=$DISTRO
                INSTALLER_TYPE=$INSTALLER_TYPE
                DEPLOY_SCENARIO=$DEPLOY_SCENARIO
                PDF=$PDF
                IDF=$IDF
              kill-phase-on: FAILURE
              abort-all-job: false
            - name: 'engine-verify-{environment-type}-deploy-test-{distro}-city-cloud-master'
              current-parameters: false
              node-parameters: false
              predefined-parameters: |
                GIT_BASE_SSH=$GIT_BASE_SSH
                GERRIT_PROJECT=$GERRIT_PROJECT
                GERRIT_BRANCH=$GERRIT_BRANCH
                GERRIT_REFSPEC=$GERRIT_REFSPEC
                GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
                GERRIT_CHANGE_ID=$GERRIT_CHANGE_ID
                GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
                PROJECT=$GERRIT_PROJECT
                BRANCH=$BRANCH
                NORDIX_ARM_PUBLIC_IP=$NORDIX_ARM_PUBLIC_IP
                NORDIX_ARTIFACT_URL=$NORDIX_ARTIFACT_URL
                EXECUTION_MODE=$EXECUTION_MODE
                VERBOSITY=$VERBOSITY
                DISTRO=$DISTRO
                INSTALLER_TYPE=$INSTALLER_TYPE
                DEPLOY_SCENARIO=$DEPLOY_SCENARIO
                PDF=$PDF
                IDF=$IDF
              kill-phase-on: FAILURE
              abort-all-job: false

- job-template:
    name: 'engine-verify-packaging-{distro}-{stream}'

    disabled: '{obj:disabled}'

    concurrent: true

    properties:
      - logrotate
      - throttle:
          max-per-node: 1
          max-total: 3
          option: project

    wrappers:
      - build-timeout:
          timeout: 70
      - credentials-binding:
          - username-password-separated:
              credential-id: 'nordix-cicd-arm-credentials'
              username: NORDIX_ARM_USERNAME
              password: NORDIX_ARM_TOKEN
      - mask-passwords
      - fix-workspace-permissions

    scm:
      - git-scm-gerrit:
          ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
          branch: '{branch}'
          refspec: $GERRIT_REFSPEC
          wipe_workspace: true
          clean_before: false

    builders:
      - 'engine-wait-pkg-mgr-macro'
      - 'engine-generate-ssh-keypair-macro'
      - 'engine-packaging-macro'
      - 'engine-upload-artifact-macro'
