---
#
# ============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 verifying cloud-infra
# engine from the tip of the master branch periodically to check the stability of it.
#
# These jobs are set to run on slaves with label vpod-deploy-ubuntu1604.
# The slaves have
#   - Ubuntu1604 as the base distro
#   - nested virtualization
#   - internet access
#   - passwordless sudo
#   - 16 CPUs/32GB RAM/200 GB Disk
#   - docker, git vim curl wget zip unzip chrony apt-transport-https ca-certificates curl
#     gnupg-agent software-properties-common docker-ce docker-ce-cli containerd.io openjdk-8-jre
#
# The slaves should not have a cloud infra scenario deployed on them.
#--------------------------------------------------------------------------------------

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

    project: 'infra/engine'

    stream:
      - 'master':
          branch: '{stream}'
          disabled: 'false'

    os:
      - ubuntu1804:
          disabled: 'false'
          distribution: 'ubuntu18'
          ipa_dib_os_element: 'coreos'
          dib_os_release: 'bionic'
          dib_os_element: 'ubuntu-minimal'
      - centos7:
          disabled: 'true'
          distribution: 'centos7'
          ipa_dib_os_element: 'coreos'
          dib_os_release: '7'
          dib_os_element: 'centos-minimal'

    type:
      - virtual:
          slave-label: 'vpod-deploy-city'
          yardstick-dispatcher: 'file'
          build-trigger: 'H H/3 * * *'
      - baremetal:
          slave-label: 'baremetal-deploy'
          yardstick-dispatcher: 'influxdb'
          build-trigger: '@daily'

    phase:
      - deploy:
          build-timeout: 60
      - functest:
          build-timeout: 120
      - yardstick:
          build-timeout: 30

    jobs:
      - 'cloud-infra-periodic-engine-{os}-{type}-{stream}'
      - 'cloud-infra-periodic-{os}-{phase}-{type}-{stream}'

- job-template:
    name: 'cloud-infra-periodic-engine-{os}-{type}-{stream}'

    project-type: multijob

    disabled: '{obj:disabled}'

    concurrent: true

    parameters:
      - project-parameters:
          project: '{project}'
          branch: '{branch}'
      - nordix-gerrit-parameters
      - 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: DISTRIBUTION
          default: '{distribution}'
          description: 'Distribution to use for configuring target nodes (networking etc.)'
      - string:
          name: DEPLOY_TYPE
          default: '{type}'
          description: 'Type of the deployment'
      - string:
          name: USE_PREBUILT_DEPLOYMENT_IMAGE
          default: 'true'
          description: 'Use prebuilt deployment image while running as part of CI/CD'
      - string:
          name: IPA_DIB_OS_ELEMENT
          default: '{ipa_dib_os_element}'
          description: 'DIB OS Element to use for building the ramdisk image'
      - string:
          name: DIB_OS_RELEASE
          default: '{dib_os_release}'
          description: 'DIB OS Release to use for building the deployment image to provision target nodes with'
      - string:
          name: DIB_OS_ELEMENT
          default: '{dib_os_element}'
          description: 'DIB OS Element to use for building the deployment image to provision target nodes with'
      - string:
          name: INSTALLER_TYPE
          default: 'kubespray'
          description: 'Installer to use for deploying the scenario'
      - string:
          name: DEPLOY_SCENARIO
          default: 'k8-calico-nofeature'
          description: 'Scenario to deploy and test'
      - string:
          name: TEST_SUITE
          default: 'smoke'
          description: 'Test suite to run'
      - string:
          name: YARDSTICK_DISPATCHER
          default: '{yardstick-dispatcher}'
          description: 'Dispatcher to use for Yardstick reporting'
      - string:
          name: CLEANUP
          default: 'true'
          description: 'Cleanup leftovers of the previous run'

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

    wrappers:
      - build-timeout:
          timeout: 210
      - fix-workspace-permissions

    scm:
      - git-scm:
          ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
          branch: '{branch}'
          refspec: ''

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

    builders:
      - multijob:
          name: deploy
          condition: SUCCESSFUL
          projects:
            - name: 'cloud-infra-periodic-{os}-deploy-{type}-{stream}'
              current-parameters: true
              predefined-parameters: |
                DISTRIBUTION=$DISTRIBUTION
                DEPLOY_TYPE=$DEPLOY_TYPE
                USE_PREBUILT_DEPLOYMENT_IMAGE=$USE_PREBUILT_DEPLOYMENT_IMAGE
                IPA_DIB_OS_ELEMENT=$IPA_DIB_OS_ELEMENT
                DIB_OS_RELEASE=$DIB_OS_RELEASE
                DIB_OS_ELEMENT=$DIB_OS_ELEMENT
                INSTALLER_TYPE=$INSTALLER_TYPE
                DEPLOY_SCENARIO=$DEPLOY_SCENARIO
                CLEANUP=$CLEANUP
              git-revision: true
              node-parameters: true
              kill-phase-on: FAILURE
              abort-all-job: true
      - multijob:
          name: functest
          condition: ALWAYS
          projects:
            - name: 'cloud-infra-periodic-{os}-functest-{type}-{stream}'
              current-parameters: true
              predefined-parameters: |
                DISTRIBUTION=$DISTRIBUTION
                DEPLOY_TYPE=$DEPLOY_TYPE
                INSTALLER_TYPE=$INSTALLER_TYPE
                DEPLOY_SCENARIO=$DEPLOY_SCENARIO
                TEST_SUITE=$TEST_SUITE
                YARDSTICK_DISPATCHER=$YARDSTICK_DISPATCHER
                CLEANUP=$CLEANUP
              node-parameters: true
              kill-phase-on: NEVER
              abort-all-job: false
      - multijob:
          name: yardstick
          condition: ALWAYS
          projects:
            - name: 'cloud-infra-periodic-{os}-yardstick-{type}-{stream}'
              current-parameters: true
              predefined-parameters: |
                DISTRIBUTION=$DISTRIBUTION
                DEPLOY_TYPE=$DEPLOY_TYPE
                INSTALLER_TYPE=$INSTALLER_TYPE
                DEPLOY_SCENARIO=$DEPLOY_SCENARIO
                TEST_SUITE=$TEST_SUITE
                YARDSTICK_DISPATCHER=$YARDSTICK_DISPATCHER
                CLEANUP=$CLEANUP
              node-parameters: true
              kill-phase-on: NEVER
              abort-all-job: false

- job-template:
    name: 'cloud-infra-periodic-{os}-{phase}-{type}-{stream}'

    disabled: false

    concurrent: true

    properties:
      - logrotate

    parameters:
      - string:
          name: PROJECT
          default: $GERRIT_PROJECT
      - string:
          name: DISTRIBUTION
          default: 'ubuntu18'
          description: 'Distribution to use for configuring target nodes (networking etc.). Overriden by upstream job.'
      - string:
          name: DEPLOY_TYPE
          default: 'virtual'
          description: 'Type of the deployment. Overriden by upstream job.'
      - string:
          name: USE_PREBUILT_DEPLOYMENT_IMAGE
          default: 'false'
          description: 'Use prebuilt deployment image while running as part of CI/CD'
      - string:
          name: IPA_DIB_OS_ELEMENT
          default: 'fedora'
          description: 'DIB OS Element to use for building the ramdisk image. Overriden by upstream job.'
      - string:
          name: DIB_OS_RELEASE
          default: 'bionic'
          description: 'DIB OS Release to use for building the deployment image to provision target nodes with. Overriden by upstream job.'
      - string:
          name: DIB_OS_ELEMENT
          default: 'ubuntu-minimal'
          description: 'DIB OS Element to use for building the deployment image to provision target nodes with. Overriden by upstream job.'
      - string:
          name: ENGINE_ANSIBLE_PARAMS
          default: ' -v '
          description: 'Extra paramters that can be added when run the play books.'
      - string:
          name: INSTALLER_TYPE
          default: 'kubespray'
          description: 'Installer to use for deploying the scenario'
      - string:
          name: DEPLOY_SCENARIO
          default: 'k8-calico-nofeature'
          description: 'Scenario to deploy and test'
      - string:
          name: TEST_FW
          default: '{phase}'
          description: 'Test framework to use'
      - string:
          name: TEST_SUITE
          default: 'smoke'
          description: 'Test suite to run'
      - string:
          name: TEST_REPO_URL
          default: 'https://gerrit.nordix.org/infra/test.git'
          description: 'URL to Nordix Cloud Infra test repository'
      - string:
          name: YARDSTICK_DISPATCHER
          default: 'file'
          description: 'Dispatcher to use for Yardstick reporting'
      - string:
          name: CLEANUP
          default: 'false'

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

    scm:
      - git-scm:
          ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
          branch: '{branch}'
          refspec: ''

    builders:
      - 'cloud-infra-{phase}-macro'

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