---
# device-management tests

- project:
    name: device-management-e2e

    project-name: '{name}'

    jobs:
      # Per-patchset Pod builds on Tucson pod
      - 'verify_physical_device-management_patchset_manual':
          name: 'verify_physical_device-management_patchset_manual'
          testvm: 'tucson-pod'
          config-pod: 'tucson-pod'
          branch: 'master'
          oltDebVersion: 'openolt_asfvolt16-3.3.3-1a5d68b50d8bcc5ba6cb1630d3294c30c37cd2f5-40G-NNI.deb'
          profile: 'Default'
          time-trigger: "@daily"

- job-template:
    id: 'device-management-patch-test'
    name: 'verify_{project}_sanity-test{name-extension}'
    extra-helm-flags: ''
    skip-vote: false

    description: |
      <!-- Managed by Jenkins Job Builder -->
      Created by {id} job-template from ci-management/jjb/device-management.yaml  <br /><br />
      Validation for device-management using mock redfish servers

    properties:
      - cord-infra-properties:
          build-days-to-keep: '{build-days-to-keep}'
          artifact-num-to-keep: '{artifact-num-to-keep}'

    wrappers:
      - lf-infra-wrappers:
          build-timeout: '{build-timeout}'
          jenkins-ssh-credential: '{jenkins-ssh-credential}'

    parameters:
      - string:
          name: buildNode
          default: 'ubuntu16.04-basebuild-4c-8g'
          description: 'Name of the Jenkins node to run the job on'

      - string:
          name: manifestUrl
          default: '{gerrit-server-url}/{voltha-test-manifest-repo}'
          description: 'URL to the repo manifest'

      - string:
          name: manifestBranch
          default: 'master'
          description: 'Name of the repo branch to use'

      - string:
          name: gerritProject
          default: '$GERRIT_PROJECT'
          description: 'Name of the Gerrit project'

      - string:
          name: gerritChangeNumber
          default: '$GERRIT_CHANGE_NUMBER'
          description: 'Changeset number in Gerrit'

      - string:
          name: gerritPatchsetNumber
          default: '$GERRIT_PATCHSET_NUMBER'
          description: 'PatchSet number in Gerrit'

      - string:
          name: extraHelmFlags
          default: '{extra-helm-flags}'
          description: 'Helm flags to pass to ./voltha up'

    project-type: pipeline
    concurrent: true

    dsl: !include-raw-escape: pipeline/{pipeline-script}

    triggers:
      - gerrit:
          server-name: '{gerrit-server-name}'
          dependency-jobs: '{dependency-jobs}'
          silent-start: true
          trigger-on:
            - patchset-created-event:
                exclude-drafts: true
                exclude-trivial-rebase: false
                exclude-no-code-change: true
            - draft-published-event
            - comment-added-contains-event:
                comment-contains-value: '(?i)^.*recheck$'
          projects:
            - project-compare-type: REG_EXP
              project-pattern: '^device-management$'
              branches:
                - branch-compare-type: REG_EXP
                  branch-pattern: '{branch-regexp}'
              file-paths:
                - compare-type: REG_EXP
                  pattern: '{all-files-regexp}'
          skip-vote:
            successful: '{skip-vote}'
            failed: '{skip-vote}'
            unstable: '{skip-vote}'
            notbuilt: '{skip-vote}'

# POD Per Patchset Pipeline Jobs

- job-template:
    name: '{name}'
    id: verify_physical_device-management_patchset_manual
    description: |
                  <!-- Managed by Jenkins Job Builder -->
                  Automated build on POD {config-pod} using {pipeline-script} <br /><br />
                  Created from job-template {id} from ci-management/jjb/device-management.yaml <br />
                  Created by Andy Bavier, andy@opennetworking.org <br />
                  Copyright (c) 2019 Open Networking Foundation (ONF)
    sandbox: true
    pipeline-script: 'device-management-physical-build-and-tests.groovy'

    properties:
      - cord-infra-properties:
          build-days-to-keep: '{build-days-to-keep}'
          artifact-num-to-keep: '{artifact-num-to-keep}'

    parameters:
      - string:
          name: buildNode
          default: '{testvm}'
          description: 'Pod management node'

      - string:
          name: manifestUrl
          default: '{gerrit-server-url}/{voltha-test-manifest-repo}'
          description: 'URL to the repo manifest'

      - string:
          name: manifestBranch
          default: master
          description: 'Name of the repo branch to use'

      - string:
          name: gerritProject
          default: 'device-management'
          description: 'Name of the Gerrit project'

      - string:
          name: gerritRefSpec
          default: '$GERRIT_REFSPEC'
          description: 'Refspec for the Gerrit patchset'

      - string:
          name: gerritEventCommentText
          default: '$GERRIT_EVENT_COMMENT_TEXT'
          description: 'Comment text from gerrit commit'

      - string:
          name: cordRepoUrl
          default: '{gerrit-server-url}'
          description: 'The URL of the CORD Project repository'

      - string:
          name: podName
          default: '{config-pod}'

      - string:
          name: deploymentConfigFile
          default: 'pod-configs/deployment-configs/{config-pod}.yaml'
          description: 'Path of deployment config file'

      - string:
          name: kindVolthaValuesFile
          default: 'pod-configs/kubernetes-configs/voltha/{config-pod}.yml'
          description: 'Path of kind-voltha values override file'

      - string:
          name: sadisConfigFile
          default: 'voltha/voltha-system-tests/tests/data/{config-pod}-sadis.json'
          description: 'Path of SADIS config to load'

      - string:
          name: localConfigDir
          default: null
          description: 'If specified, config file paths are relative to this dir; otherwise $WORKSPACE'

      - string:
          name: configRepo
          default: 'pod-configs'
          description: 'A repository containing the config files, will be checked out if specified'

      - string:
          name: oltDebVersion
          default: '{oltDebVersion}'
          description: 'OLT Software version to install'

      - string:
          name: branch
          default: '{branch}'

      - string:
          name: profile
          default: '{profile}'
          description: 'Technology Profile pushed to the ETCD'

      - string:
          name: notificationEmail
          default: 'andy@opennetworking.org'
          description: ''

      - bool:
          name: reinstallOlt
          default: true
          description: "Re-install OLT software"

      - string:
          name: extraRobotArgs
          default: '-i sanity'
          description: 'Arguments to pass to robot'

    project-type: pipeline
    concurrent: true

    dsl: !include-raw-escape: pipeline/{pipeline-script}

    triggers:
      - gerrit:
          server-name: '{gerrit-server-name}'
          dependency-jobs: '{dependency-jobs}'
          silent-start: false
          successful-message: "PASSED hardware test"
          failure-message: "FAILED hardware test"
          unstable-message: "UNSTABLE hardware test"
          trigger-on:
            - comment-added-contains-event:
                comment-contains-value: '^hardware test$'
            - comment-added-contains-event:
                comment-contains-value: '^hardware test with delay$'
          projects:
            - project-compare-type: REG_EXP
              project-pattern: '^device-management$'
              branches:
                - branch-compare-type: PLAIN
                  branch-pattern: 'master'
      - timed: |
                 TZ=America/Los_Angeles
                 {time-trigger}

