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

    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'

    deploy-scenario:
      - k8-calico-nofeature:
          installer-type: kubespray
      - k8-flannel-nofeature:
          installer-type: kubespray
      - k8-canal-nofeature:
          installer-type: kubespray
      - k8-cilium-nofeature:
          installer-type: kubespray
      - k8-weave-nofeature:
          installer-type: kubespray

    type:
      - baremetal:
          slave-label: 'baremetal-deploy'
          yardstick-dispatcher: 'influxdb'

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

    jobs:
      - '{deploy-scenario}-periodic-{os}-{type}-{stream}'
      - '{deploy-scenario}-periodic-{os}-{phase}-{type}-{stream}'

- job-template:
    name: '{deploy-scenario}-periodic-{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: '{installer-type}'
          description: 'Installer to use for deploying the scenario'
      - string:
          name: DEPLOY_SCENARIO
          default: '{deploy-scenario}'
          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-periodic-engine-{os}-.*'
            - 'k8-.*?-periodic-.*'
          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: '@daily'

    builders:
      - description-setter:
          description: $INSTALLER_TYPE
      - multijob:
          name: deploy
          condition: SUCCESSFUL
          projects:
            - name: '{deploy-scenario}-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: '{deploy-scenario}-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: FAILURE
              abort-all-job: true
      - multijob:
          name: yardstick
          condition: ALWAYS
          projects:
            - name: '{deploy-scenario}-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: FAILURE
              abort-all-job: true
      - multijob:
          name: promote
          condition: ALWAYS
          projects:
            - name: '{deploy-scenario}-periodic-{os}-promote-{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: FAILURE
              abort-all-job: true

- job-template:
    name: '{deploy-scenario}-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: DEPLOY_SCENARIO
          default: 'k8-calico-nofeature'
          description: 'Scenario to deploy and test'
      - string:
          name: INSTALLER_TYPE
          default: 'kubespray'
          description: 'Installer to use for deploying the scenario'
      - 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:
      - description-setter:
          description: $INSTALLER_TYPE - $DEPLOY_SCENARIO
      - 'scenario-{phase}-macro'

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