---
#
# ============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=========================================================

#--------------------------------------------------------------------------------------
# The jobs declared in this JJB configuration file are used for deploying and testing
# ONAP scenario onap-nofeature-noha.
#--------------------------------------------------------------------------------------

- project:
    name: 'cloud-infra-periodic-onap'

    project: 'infra/engine'

    cloud:
      - city:
          slave-label: 'city-jumphost-ubuntu1804'
          openrc-credentials-file: 'est-jenkins-openrcfile-city-frankfurt-onap'
          daily-trigger: '@midnight'
      - xerces:
          slave-label: 'xerces-jumphost-ubuntu1804'
          openrc-credentials-file: 'est-estinfra-openrcfile-xerces-lund-onap'
          daily-trigger: '#@midnight'

    onap-branch:
      - 'dublin':
          nordix-branch: master
          onap-version: dublin
          onap-flavor: full
          engine-version: master
          engine-refspec: master
          deploy-scenario: 'onap-nofeature-noha'
          deploy-scenario-version: master
          deploy-scenario-refspec: master
          disabled: false
          delete-stack: 'yes'
      - 'master':
          nordix-branch: master
          onap-version: master
          onap-flavor: full
          engine-version: master
          engine-refspec: master
          deploy-scenario: 'onap-nofeature-noha'
          deploy-scenario-version: master
          deploy-scenario-refspec: master
          disabled: false
          delete-stack: 'no'

    distro:
      - ubuntu1804

    ci-loop:
      - daily

    type:
      - cloud:
          pod-name: est-cloud
          provisioner-type: heat
          installer-type: kubespray

    onap-other-phases:
      - onap-deploy:
          build-timeout: 210
      - oom-hc:
          build-timeout: 30
          test-type: oom-healthcheck
      - promote-onap:
          build-timeout: 240

    onap-healthcheck-phases:
      - onap-hc-core:
          build-timeout: 30
          test-type: onap-healthcheck
      - onap-hc-small:
          build-timeout: 30
          test-type: onap-healthcheck
      - onap-hc-medium:
          build-timeout: 30
          test-type: onap-healthcheck
      - onap-hc-full:
          build-timeout: 30
          test-type: onap-healthcheck
      - onap-hc-healthdist:
          build-timeout: 30
          test-type: onap-healthcheck

    jobs:
      - 'onap-online-{onap-flavor}-{distro}-{installer-type}-{cloud}-{type}-{ci-loop}-{onap-branch}'
      - '{onap-other-phases}-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}'
      - '{onap-healthcheck-phases}-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}'

- job-template:
    name: 'onap-online-{onap-flavor}-{distro}-{installer-type}-{cloud}-{type}-{ci-loop}-{onap-branch}'

    project-type: multijob

    disabled: '{obj:disabled}'

    concurrent: false

    parameters:
      - project-parameters:
          project: '{project}'
          branch: '{nordix-branch}'
      - nordix-gerrit-parameters
      - onap-parameter-macro
      - label:
          name: SLAVE_LABEL
          default: '{slave-label}'
          description: 'Slave label to schedule this job on. All slaves have Ubuntu1604 no matter what distro target nodes use'
      - string:
          name: DISTRO
          default: '{distro}'
          description: 'Distribution to use for configuring target nodes (networking etc.)'
      - string:
          name: OPENSTACK_CLOUD_PROVIDER
          default: '{cloud}'
          description: 'Name of the cloud where this job is run'
      - string:
          name: ONAP_VERSION
          default: '{onap-version}'
          description: 'ONAP version to deploy'
      - string:
          name: ONAP_FLAVOR
          default: '{onap-flavor}'
          description: 'ONAP flavor to deploy - could be core, small, medium, full. Also used for xtesting as run_type.'
      - string:
          name: STACK_NAME
          default: 'nordix-cicd-{deploy-scenario}-{onap-branch}-{onap-flavor}'
      - string:
          name: HEAT_ENVIRONMENT_FILENAME
          default: "heat-environment-{cloud}-{distro}-full.yaml"
          description: 'Type of the deployment'
      - string:
          name: ENGINE_VERSION
          default: '{engine-version}'
          description: 'Development purposes only! Nordix Cloud Infra Engine version to use for deploying ONAP. Could be sha, branch'
      - string:
          name: ENGINE_REFSPEC
          default: '{engine-refspec}'
          description: 'Development purposes only! Nordix Cloud Infra Engine version to use for deploying ONAP. Must be refspec.'
      - string:
          name: DEPLOY_SCENARIO_VERSION
          default: '{deploy-scenario-version}'
          description: 'Development purposes only! Nordix Cloud Infra Scenario version to use for deploying ONAP. Depends on DEPLOY_SCENARIO_REFSPEC and could be sha, branch.'
      - string:
          name: DEPLOY_SCENARIO_REFSPEC
          default: '{deploy-scenario-refspec}'
          description: 'Development purposes only! Nordix Cloud Infra Scenario version to use for deploying ONAP. Depends on DEPLOY_SCENARIO_VERSION and must be refspec.'
      - string:
          name: POD_NAME
          default: '{pod-name}'
          description: 'Development purposes only! Set to none for disabling test results DB reporting.'
      - string:
          name: DELETE_STACK
          default: '{delete-stack}'
          description: 'Development purposes only! Whether delete the stack or not. It must either be yes or no. Setting this to no will increase the cost!'

    properties:
      - logrotate
      - build-blocker:
          use-build-blocker: true
          blocking-jobs:
            - 'cloud-infra-periodic-engine-.*'
            - 'onap-.*'
            - 'k8-.*'
          block-level: 'NODE'
      - throttle:
          max-per-node: 1
          max-total: 1
          option: project

    wrappers:
      - credentials-binding:
          - file:
              credential-id: '{openrc-credentials-file}'
              variable: OPENRC_FILE
      - mask-passwords
      - build-timeout:
          timeout: 630
      - fix-workspace-permissions
      - openstack:
          single-use: True

    triggers:
      - timed: '{daily-trigger}'

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

    builders:
      - description-setter:
          description: $DEPLOY_SCENARIO | $ONAP_FLAVOR
      - shell: |
          #!/bin/bash
          /bin/rm -rf /tmp/openrc && /bin/cp -f $OPENRC_FILE /tmp/openrc
      - multijob:
          name: Deploy ONAP using OOM
          condition: ALWAYS
          projects:
            - name: 'onap-deploy-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}'
              current-parameters: false
              predefined-parameters: |
                DISTRO=$DISTRO
                OPENSTACK_CLOUD_PROVIDER=$OPENSTACK_CLOUD_PROVIDER
                DEPLOY_TYPE=$DEPLOY_TYPE
                PROVISIONER_TYPE=$PROVISIONER_TYPE
                INSTALLER_TYPE=$INSTALLER_TYPE
                DEPLOY_SCENARIO=$DEPLOY_SCENARIO
                ONAP_VERSION=$ONAP_VERSION
                ONAP_FLAVOR=$ONAP_FLAVOR
                POD_NAME=$POD_NAME
                STACK_NAME=$STACK_NAME
                HEAT_ENVIRONMENT_FILENAME=$HEAT_ENVIRONMENT_FILENAME
                ENGINE_VERSION=$ENGINE_VERSION
                ENGINE_REFSPEC=$ENGINE_REFSPEC
                DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION
                DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC
                XTESTING_REPO_URL=$XTESTING_REPO_URL
                ENGINE_ANSIBLE_PARAMS=$ENGINE_ANSIBLE_PARAMS
                CLEANUP=$CLEANUP
              git-revision: true
              node-parameters: true
              kill-phase-on: NEVER
              abort-all-job: false
      - multijob:
          name: K8S and OOM Healthcheck using xtesting
          condition: ALWAYS
          projects:
            - name: 'oom-hc-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}'
              current-parameters: false
              predefined-parameters: |
                DISTRO=$DISTRO
                OPENSTACK_CLOUD_PROVIDER=$OPENSTACK_CLOUD_PROVIDER
                DEPLOY_TYPE=$DEPLOY_TYPE
                PROVISIONER_TYPE=$PROVISIONER_TYPE
                INSTALLER_TYPE=$INSTALLER_TYPE
                DEPLOY_SCENARIO=$DEPLOY_SCENARIO
                ONAP_VERSION=$ONAP_VERSION
                ONAP_FLAVOR=full
                TEST_TYPE=oom-healthcheck
                POD_NAME=$POD_NAME
                STACK_NAME=$STACK_NAME
                HEAT_ENVIRONMENT_FILENAME=$HEAT_ENVIRONMENT_FILENAME
                ENGINE_VERSION=$ENGINE_VERSION
                ENGINE_REFSPEC=$ENGINE_REFSPEC
                DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION
                DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC
                XTESTING_REPO_URL=$XTESTING_REPO_URL
                ENGINE_ANSIBLE_PARAMS=$ENGINE_ANSIBLE_PARAMS
                CLEANUP=$CLEANUP
              node-parameters: true
              kill-phase-on: NEVER
              abort-all-job: false
      - multijob:
          name: ONAP Healthcheck using xtesting
          execution-type: SEQUENTIALLY
          condition: ALWAYS
          projects:
            - name: 'onap-hc-core-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}'
              current-parameters: false
              predefined-parameters: |
                SLAVE_LABEL=$SLAVE_LABEL
                DISTRO=$DISTRO
                OPENSTACK_CLOUD_PROVIDER=$OPENSTACK_CLOUD_PROVIDER
                PROVISIONER_TYPE=$PROVISIONER_TYPE
                INSTALLER_TYPE=$INSTALLER_TYPE
                DEPLOY_SCENARIO=$DEPLOY_SCENARIO
                DEPLOY_TYPE=$DEPLOY_TYPE
                ONAP_VERSION=$ONAP_VERSION
                ONAP_FLAVOR=core
                TEST_TYPE=onap-healthcheck
                POD_NAME=$POD_NAME
                STACK_NAME=$STACK_NAME
                HEAT_ENVIRONMENT_FILENAME=$HEAT_ENVIRONMENT_FILENAME
                ENGINE_VERSION=$ENGINE_VERSION
                ENGINE_REFSPEC=$ENGINE_REFSPEC
                DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION
                DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC
                XTESTING_REPO_URL=$XTESTING_REPO_URL
                ENGINE_ANSIBLE_PARAMS=$ENGINE_ANSIBLE_PARAMS
                CLEANUP=$CLEANUP
              node-parameters: true
              kill-phase-on: NEVER
              abort-all-job: false
            - name: 'onap-hc-small-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}'
              current-parameters: false
              predefined-parameters: |
                SLAVE_LABEL=$SLAVE_LABEL
                DISTRO=$DISTRO
                OPENSTACK_CLOUD_PROVIDER=$OPENSTACK_CLOUD_PROVIDER
                PROVISIONER_TYPE=$PROVISIONER_TYPE
                INSTALLER_TYPE=$INSTALLER_TYPE
                DEPLOY_SCENARIO=$DEPLOY_SCENARIO
                DEPLOY_TYPE=$DEPLOY_TYPE
                ONAP_VERSION=$ONAP_VERSION
                ONAP_FLAVOR=small
                TEST_TYPE=onap-healthcheck
                POD_NAME=$POD_NAME
                STACK_NAME=$STACK_NAME
                HEAT_ENVIRONMENT_FILENAME=$HEAT_ENVIRONMENT_FILENAME
                ENGINE_VERSION=$ENGINE_VERSION
                ENGINE_REFSPEC=$ENGINE_REFSPEC
                DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION
                DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC
                XTESTING_REPO_URL=$XTESTING_REPO_URL
                ENGINE_ANSIBLE_PARAMS=$ENGINE_ANSIBLE_PARAMS
                CLEANUP=$CLEANUP
              node-parameters: true
              kill-phase-on: NEVER
              abort-all-job: false
            - name: 'onap-hc-medium-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}'
              current-parameters: false
              predefined-parameters: |
                SLAVE_LABEL=$SLAVE_LABEL
                DISTRO=$DISTRO
                OPENSTACK_CLOUD_PROVIDER=$OPENSTACK_CLOUD_PROVIDER
                PROVISIONER_TYPE=$PROVISIONER_TYPE
                INSTALLER_TYPE=$INSTALLER_TYPE
                DEPLOY_SCENARIO=$DEPLOY_SCENARIO
                DEPLOY_TYPE=$DEPLOY_TYPE
                ONAP_VERSION=$ONAP_VERSION
                ONAP_FLAVOR=medium
                TEST_TYPE=onap-healthcheck
                POD_NAME=$POD_NAME
                STACK_NAME=$STACK_NAME
                HEAT_ENVIRONMENT_FILENAME=$HEAT_ENVIRONMENT_FILENAME
                ENGINE_VERSION=$ENGINE_VERSION
                ENGINE_REFSPEC=$ENGINE_REFSPEC
                DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION
                DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC
                XTESTING_REPO_URL=$XTESTING_REPO_URL
                ENGINE_ANSIBLE_PARAMS=$ENGINE_ANSIBLE_PARAMS
                CLEANUP=$CLEANUP
              node-parameters: true
              kill-phase-on: NEVER
              abort-all-job: false
            - name: 'onap-hc-full-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}'
              current-parameters: false
              predefined-parameters: |
                SLAVE_LABEL=$SLAVE_LABEL
                DISTRO=$DISTRO
                OPENSTACK_CLOUD_PROVIDER=$OPENSTACK_CLOUD_PROVIDER
                PROVISIONER_TYPE=$PROVISIONER_TYPE
                INSTALLER_TYPE=$INSTALLER_TYPE
                DEPLOY_SCENARIO=$DEPLOY_SCENARIO
                DEPLOY_TYPE=$DEPLOY_TYPE
                ONAP_VERSION=$ONAP_VERSION
                ONAP_FLAVOR=full
                TEST_TYPE=onap-healthcheck
                POD_NAME=$POD_NAME
                STACK_NAME=$STACK_NAME
                HEAT_ENVIRONMENT_FILENAME=$HEAT_ENVIRONMENT_FILENAME
                ENGINE_VERSION=$ENGINE_VERSION
                ENGINE_REFSPEC=$ENGINE_REFSPEC
                DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION
                DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC
                XTESTING_REPO_URL=$XTESTING_REPO_URL
                ENGINE_ANSIBLE_PARAMS=$ENGINE_ANSIBLE_PARAMS
                CLEANUP=$CLEANUP
              node-parameters: true
              kill-phase-on: NEVER
              abort-all-job: false
            - name: 'onap-hc-healthdist-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}'
              current-parameters: false
              predefined-parameters: |
                SLAVE_LABEL=$SLAVE_LABEL
                DISTRO=$DISTRO
                OPENSTACK_CLOUD_PROVIDER=$OPENSTACK_CLOUD_PROVIDER
                PROVISIONER_TYPE=$PROVISIONER_TYPE
                INSTALLER_TYPE=$INSTALLER_TYPE
                DEPLOY_SCENARIO=$DEPLOY_SCENARIO
                DEPLOY_TYPE=$DEPLOY_TYPE
                ONAP_VERSION=$ONAP_VERSION
                ONAP_FLAVOR=healthdist
                TEST_TYPE=onap-healthcheck
                POD_NAME=$POD_NAME
                STACK_NAME=$STACK_NAME
                HEAT_ENVIRONMENT_FILENAME=$HEAT_ENVIRONMENT_FILENAME
                ENGINE_VERSION=$ENGINE_VERSION
                ENGINE_REFSPEC=$ENGINE_REFSPEC
                DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION
                DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC
                XTESTING_REPO_URL=$XTESTING_REPO_URL
                ENGINE_ANSIBLE_PARAMS=$ENGINE_ANSIBLE_PARAMS
                CLEANUP=$CLEANUP
              node-parameters: true
              kill-phase-on: NEVER
              abort-all-job: false
      - multijob:
          name: Promote ONAP (not activated)
          condition: ALWAYS
          projects:
            - name: 'promote-onap-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}'
              current-parameters: false
              predefined-parameters: |
                SLAVE_LABEL=$SLAVE_LABEL
                DISTRO=$DISTRO
                OPENSTACK_CLOUD_PROVIDER=$OPENSTACK_CLOUD_PROVIDER
                DEPLOY_TYPE=$DEPLOY_TYPE
                INSTALLER_TYPE=$INSTALLER_TYPE
                DEPLOY_SCENARIO=$DEPLOY_SCENARIO
                ONAP_VERSION=$ONAP_VERSION
                ONAP_FLAVOR=$ONAP_FLAVOR
                ENGINE_VERSION=$ENGINE_VERSION
                ENGINE_REFSPEC=$ENGINE_REFSPEC
                POD_NAME=$POD_NAME
                STACK_NAME=$STACK_NAME
                HEAT_ENVIRONMENT_FILENAME=$HEAT_ENVIRONMENT_FILENAME
                DEPLOY_SCENARIO_VERSION=$DEPLOY_SCENARIO_VERSION
                DEPLOY_SCENARIO_REFSPEC=$DEPLOY_SCENARIO_REFSPEC
                XTESTING_REPO_URL=$XTESTING_REPO_URL
                ENGINE_ANSIBLE_PARAMS=$ENGINE_ANSIBLE_PARAMS
                CLEANUP=$CLEANUP
              node-parameters: true
              kill-phase-on: NEVER
              abort-all-job: false

    publishers:
      - postbuildscript:
          builders:
            - role: SLAVE
              build-on:
                - SUCCESS
                - FAILURE
                - ABORTED
                - NOT_BUILT
                - UNSTABLE
              build-steps:
                - shell:
                    !include-raw-escape: ./wait-for-pkg-manager.sh
                - shell:
                    !include-raw: ./delete-heat-stack.sh

- job-template:
    name: '{onap-other-phases}-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}'

    disabled: false

    concurrent: true

    properties:
      - logrotate

    parameters:
      - project-parameters:
          project: '{project}'
          branch: '{nordix-branch}'
      - nordix-gerrit-parameters
      - onap-parameter-macro
      - label:
          name: SLAVE_LABEL
          default: 'xerces-jumphost-onap-ubuntu1804'
          description: 'Slave label to schedule this job on. All slaves have Ubuntu1604 no matter what distro target nodes use'
      - string:
          name: OPENSTACK_CLOUD_PROVIDER
          default: 'city'
          description: 'Name of the cloud where this job is run'
      - string:
          name: DISTRO
          default: 'ubuntu1804'
          description: 'Distribution to use for configuring target nodes (networking etc.)'
      - string:
          name: ONAP_FLAVOR
          default: '{onap-flavor}'
          description: 'ONAP flavor to deploy - could be core, small, medium, full. Also used for xtesting as run_type.'
      - string:
          name: ONAP_VERSION
          default: '{onap-version}'
          description: 'ONAP version to deploy'
      - string:
          name: HEAT_ENVIRONMENT_FILENAME
          default: "heat-environment-full.yaml"
          description: 'Type of the deployment'
      - string:
          name: HEAT_ENVIRONMENT_FILE
          default: "file://$WORKSPACE/.cache/repos/swconfig/scenarios/$DEPLOY_SCENARIO/$INSTALLER_TYPE/role/$DEPLOY_SCENARIO/files/$HEAT_ENVIRONMENT_FILENAME"
          description: 'Type of the deployment'

    wrappers:
      - mask-passwords
      - build-timeout:
          timeout: '{build-timeout}'
      - fix-workspace-permissions
      - credentials-binding:
          - username-password-separated:
              credential-id: 'nordix-cicd-arm-credentials'
              username: NORDIX_ARM_USERNAME
              password: NORDIX_ARM_TOKEN
          - username-password-separated:
              credential-id: 'nordix-cicd-harbor-credentials'
              username: NORDIX_HARBOR_USERNAME
              password: NORDIX_HARBOR_PASSWORD

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

    builders:
      - description-setter:
          description: $DEPLOY_SCENARIO | $ONAP_FLAVOR | $OPENSTACK_CLOUD_PROVIDER
      - '{onap-other-phases}-macro'

- job-template:
    name: '{onap-healthcheck-phases}-{distro}-{installer-type}-{type}-{ci-loop}-{onap-branch}'

    disabled: false

    concurrent: true

    properties:
      - logrotate

    parameters:
      - project-parameters:
          project: '{project}'
          branch: '{nordix-branch}'
      - nordix-gerrit-parameters
      - onap-parameter-macro
      - label:
          name: SLAVE_LABEL
          default: 'xerces-jumphost-onap-ubuntu1804'
          description: 'Slave label to schedule this job on. All slaves have Ubuntu1604 no matter what distro target nodes use'
      - string:
          name: OPENSTACK_CLOUD_PROVIDER
          default: 'city'
          description: 'Name of the cloud where this job is run'
      - string:
          name: DISTRO
          default: 'ubuntu1804'
          description: 'Distribution to use for configuring target nodes (networking etc.)'
      - string:
          name: ONAP_VERSION
          default: '{onap-version}'
          description: 'ONAP version to deploy'
      - string:
          name: HEAT_ENVIRONMENT_FILENAME
          default: "heat-environment-full.yaml"
          description: 'Type of the deployment'
      - string:
          name: HEAT_ENVIRONMENT_FILE
          default: "file://$WORKSPACE/.cache/repos/swconfig/scenarios/$DEPLOY_SCENARIO/$INSTALLER_TYPE/role/$DEPLOY_SCENARIO/files/$HEAT_ENVIRONMENT_FILENAME"
          description: 'Type of the deployment'
      - string:
          name: ENGINE_VERSION
          default: '{engine-version}'
          description: 'Development purposes only! Nordix Cloud Infra Engine version to use for deploying ONAP. Could be sha, branch'
      - string:
          name: ENGINE_REFSPEC
          default: '{engine-refspec}'
          description: 'Development purposes only! Nordix Cloud Infra Engine version to use for deploying ONAP. Must be refspec.'
      - string:
          name: DEPLOY_SCENARIO_VERSION
          default: '{deploy-scenario-version}'
          description: 'Development purposes only! Nordix Cloud Infra Scenario version to use for deploying ONAP. Depends on DEPLOY_SCENARIO_REFSPEC and could be sha, branch.'
      - string:
          name: DEPLOY_SCENARIO_REFSPEC
          default: '{deploy-scenario-refspec}'
          description: 'Development purposes only! Nordix Cloud Infra Scenario version to use for deploying ONAP. Depends on DEPLOY_SCENARIO_VERSION and must be refspec.'
      - string:
          name: POD_NAME
          default: '{pod-name}'
          description: 'Development purposes only! Set to none for disabling test results DB reporting.'

    wrappers:
      - mask-passwords
      - build-timeout:
          timeout: '{build-timeout}'
      - fix-workspace-permissions

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

    builders:
      - description-setter:
          description: $DEPLOY_SCENARIO | $ONAP_FLAVOR | $OPENSTACK_CLOUD_PROVIDER
      - 'onap-healthcheck-macro'

# vim: set ts=2 sw=2 expandtab:
