---
- cntt-jobs: &cntt-jobs
    name: 'cntt-jobs'
    current-parameters: true

- cntt-params: &cntt-params
    name: 'cntt-params'
    repo: 'opnfv'
    port:
    tag:
      - latest:
          branch: master
          slave: intel-pod15
          functest_tag: iruya

- parameter:
    name: cntt-slave
    parameters:
      - label:
          name: slave
          default: '{slave}'

- parameter:
    name: cntt-build_tag
    parameters:
      - random-string:
          name: build_tag

- parameter:
    name: cntt-DEBUG
    parameters:
      - string:
          name: DEBUG
          default: 'false'

- parameter:
    name: cntt-EXTERNAL_NETWORK
    parameters:
      - string:
          name: EXTERNAL_NETWORK
          default: public

- cntt-containers: &cntt-containers
    name: 'cntt-containers'
    repo: '{repo}'
    port: '{port}'
    container: '{container}'
    functest_tag: '{functest_tag}'

- cntt-run-containers: &cntt-run-containers
    name: 'cntt-run-containers'
    <<: *cntt-containers
    test: '{test}'

- builder:
    name: cntt-pull-containers
    builders:
      - shell: |
          set +x
          if [ "{repo}" = "_" ]; then
            image={container}:{functest_tag}
          elif [ "{port}" = "None" ]; then
            image={repo}/{container}:{functest_tag}
          else
            image={repo}:{port}/{container}:{functest_tag}
          fi
          sudo docker pull $image

- builder:
    name: cntt-run-containers
    builders:
      - shell: |
          set +x
          [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
          if [ "{repo}" = "_" ]; then
            image={container}:{functest_tag}
          elif [ "{port}" = "None" ]; then
            image={repo}/{container}:{functest_tag}
          else
            image={repo}:{port}/{container}:{functest_tag}
          fi
          sudo docker run --rm \
            -e S3_ENDPOINT_URL=https://storage.googleapis.com \
            -e S3_DST_URL=s3://artifacts.opnfv.org/cntt/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
            -e HTTP_DST_URL=http://artifacts.opnfv.org/cntt/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
            -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
            -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
            -e NODE_NAME=$slave \
            -e INSTALLER_TYPE=cntt \
            -e BUILD_TAG=$BUILD_TAG \
            -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
            -v /home/opnfv/functest/.boto:/root/.boto \
            -e DEBUG=$DEBUG \
            -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
            -e DEPLOY_SCENARIO=os-nosdn-nofeature-ha \
            -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
            -v /home/opnfv/functest/images:/home/opnfv/functest/images \
            -v /home/opnfv/functest/tempest_conf.yaml:/usr/lib/python2.7/\
          site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/tempest_conf.yaml \
            $image run_tests -t {test} -r -p

- builder:
    name: cntt-remove-images
    builders:
      - shell: |
          set +x
          if [ "{repo}" = "_" ]; then
            image={container}:{functest_tag}
          elif [ "{port}" = "None" ]; then
            image={repo}/{container}:{functest_tag}
          else
            image={repo}:{port}/{container}:{functest_tag}
          fi
          sudo docker rmi $image || true

- builder:
    name: cntt-deploy
    builders:
      - shell: |
          set +x
          export TERM_OPTS=" "
          sudo -H -E -u opnfv bash -c 'tools/deploy.sh $slave deploy_site'

- scm:
    name: cntt-scm
    scm:
      - git:
          url: https://gerrit.opnfv.org/gerrit/airship
          refspec: '+refs/changes/*:refs/changes/*'
          branches:
            - '{ref}'

- parameter:
    name: cntt-branch
    parameters:
      - string:
          name: branch
          default: '{branch}'

- job-template:
    name: 'cntt-deploy-daily-{tag}'
    parameters:
      - cntt-slave:
          slave: '{slave}'
      - cntt-branch:
          branch: '{branch}'
    scm:
      - cntt-scm:
          ref: $branch
    builders:
      - cntt-deploy

- job-template:
    name: 'cntt-deploy-gate-{tag}'
    parameters:
      - cntt-slave:
          slave: '{slave}'
    scm:
      - cntt-scm:
          ref: $GERRIT_REFSPEC
    builders:
      - cntt-deploy

- project:
    name: 'cntt-deploy'
    <<: *cntt-params
    jobs:
      - 'cntt-deploy-daily-{tag}'
      - 'cntt-deploy-gate-{tag}'

- job-template:
    name: 'cntt-{repo}-{container}-{tag}-pull'
    parameters:
      - cntt-slave:
          slave: '{slave}'
    builders:
      - cntt-pull-containers:
          <<: *cntt-containers

- project:
    name: 'cntt-opnfv-functest-healthcheck-pull'
    <<: *cntt-params
    container: 'functest-healthcheck'
    jobs:
      - 'cntt-{repo}-{container}-{tag}-pull'

- project:
    name: 'cntt-opnfv-functest-smoke-pull'
    <<: *cntt-params
    container: 'functest-smoke'
    jobs:
      - 'cntt-{repo}-{container}-{tag}-pull'

- project:
    name: 'cntt-opnfv-functest-smoke-cntt-pull'
    <<: *cntt-params
    container: 'functest-smoke-cntt'
    jobs:
      - 'cntt-{repo}-{container}-{tag}-pull'

- project:
    name: 'cntt-opnfv-functest-benchmarking-pull'
    <<: *cntt-params
    container: 'functest-benchmarking'
    jobs:
      - 'cntt-{repo}-{container}-{tag}-pull'

- project:
    name: 'cntt-opnfv-functest-benchmarking-cntt-pull'
    <<: *cntt-params
    container: 'functest-benchmarking-cntt'
    jobs:
      - 'cntt-{repo}-{container}-{tag}-pull'

- project:
    name: 'cntt-opnfv-functest-vnf-pull'
    <<: *cntt-params
    container: 'functest-vnf'
    jobs:
      - 'cntt-{repo}-{container}-{tag}-pull'

- job-template:
    name: 'cntt-{repo}-{container}-{tag}-rmi'
    parameters:
      - cntt-slave:
          slave: '{slave}'
    builders:
      - cntt-remove-images:
          <<: *cntt-containers

- project:
    name: 'cntt-opnfv-functest-healthcheck-rmi'
    <<: *cntt-params
    container: 'functest-healthcheck'
    jobs:
      - 'cntt-{repo}-{container}-{tag}-rmi'

- project:
    name: 'cntt-opnfv-functest-smoke-rmi'
    <<: *cntt-params
    container: 'functest-smoke'
    jobs:
      - 'cntt-{repo}-{container}-{tag}-rmi'

- project:
    name: 'cntt-opnfv-functest-smoke-cntt-rmi'
    <<: *cntt-params
    container: 'functest-smoke-cntt'
    jobs:
      - 'cntt-{repo}-{container}-{tag}-rmi'

- project:
    name: 'cntt-opnfv-functest-benchmarking-rmi'
    <<: *cntt-params
    container: 'functest-benchmarking'
    jobs:
      - 'cntt-{repo}-{container}-{tag}-rmi'

- project:
    name: 'cntt-opnfv-functest-benchmarking-cntt-rmi'
    <<: *cntt-params
    container: 'functest-benchmarking-cntt'
    jobs:
      - 'cntt-{repo}-{container}-{tag}-rmi'

- project:
    name: 'cntt-opnfv-functest-vnf-rmi'
    <<: *cntt-params
    container: 'functest-vnf'
    jobs:
      - 'cntt-{repo}-{container}-{tag}-rmi'

- job-template:
    name: 'cntt-{repo}-{container}-{tag}-{test}-run'
    parameters:
      - cntt-slave:
          slave: '{slave}'
      - cntt-build_tag:
          build_tag: ''
      - cntt-DEBUG:
          DEBUG: 'false'
      - cntt-EXTERNAL_NETWORK:
          EXTERNAL_NETWORK: public
    builders:
      - cntt-run-containers:
          <<: *cntt-run-containers

- project:
    name: 'cntt-opnfv-functest-healthcheck'
    <<: *cntt-params
    container: 'functest-healthcheck'
    test:
      - connection_check
      - tenantnetwork1
      - tenantnetwork2
      - vmready1
      - vmready2
      - singlevm1
      - singlevm2
      - vping_ssh
      - vping_userdata
      - cinder_test
      - odl
      - tempest_smoke
      - tempest_horizon
    jobs:
      - 'cntt-{repo}-{container}-{tag}-{test}-run'

- project:
    name: 'cntt-opnfv-functest-smoke'
    <<: *cntt-params
    container: 'functest-smoke'
    test:
      - tempest_neutron
      - tempest_cinder
      - tempest_keystone
      - tempest_heat
      - tempest_telemetry
      - rally_sanity
      - refstack_compute
      - refstack_object
      - refstack_platform
      - tempest_full
      - tempest_scenario
      - tempest_slow
      - patrole
      - networking-bgpvpn
      - networking-sfc
      - tempest_barbican
      - tempest_octavia
    jobs:
      - 'cntt-{repo}-{container}-{tag}-{test}-run'

- project:
    name: 'cntt-opnfv-functest-smoke-cntt'
    <<: *cntt-params
    container: 'functest-smoke-cntt'
    test:
      - tempest_neutron_cntt
      - tempest_cinder_cntt
      - tempest_keystone_cntt
      - tempest_heat_cntt
      - rally_sanity_cntt
      - tempest_full_cntt
      - tempest_scenario_cntt
      - tempest_slow_cntt
    jobs:
      - 'cntt-{repo}-{container}-{tag}-{test}-run'

- project:
    name: 'cntt-opnfv-functest-benchmarking'
    <<: *cntt-params
    container: 'functest-benchmarking'
    test:
      - rally_full
      - rally_jobs
      - vmtp
      - shaker
    jobs:
      - 'cntt-{repo}-{container}-{tag}-{test}-run'

- project:
    name: 'cntt-opnfv-functest-benchmarking-cntt'
    <<: *cntt-params
    container: 'functest-benchmarking-cntt'
    test:
      - rally_full_cntt
      - rally_jobs_cntt
    jobs:
      - 'cntt-{repo}-{container}-{tag}-{test}-run'

- project:
    name: 'cntt-opnfv-functest-vnf'
    <<: *cntt-params
    container: 'functest-vnf'
    test:
      - cloudify
      - cloudify_ims
      - heat_ims
      - vyos_vrouter
      - juju_epc
    jobs:
      - 'cntt-{repo}-{container}-{tag}-{test}-run'

- builder:
    name: cntt-zip
    builders:
      - shell: |
          set +x
          [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
          if [ "{repo}" = "_" ]; then
            image={container}:{functest_tag}
          elif [ "{port}" = "None" ]; then
            image={repo}/{container}:{functest_tag}
          else
            image={repo}:{port}/{container}:{functest_tag}
          fi
          sudo docker run --rm \
            -e S3_ENDPOINT_URL=https://storage.googleapis.com \
            -e S3_DST_URL=s3://artifacts.opnfv.org/cntt \
            -e HTTP_DST_URL=http://artifacts.opnfv.org/cntt/ \
            -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
            -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
            -e BUILD_TAG=$BUILD_TAG \
            -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
            -v /home/opnfv/functest/.boto:/root/.boto \
            $image zip_campaign

- job-template:
    name: 'cntt-{tag}-zip'
    parameters:
      - cntt-build_tag:
          build_tag: ''
    builders:
      - cntt-zip:
          <<: *cntt-containers

- project:
    name: 'cntt-{tag}-zip'
    <<: *cntt-params
    container: 'functest-healthcheck'
    jobs:
      - 'cntt-{tag}-zip'

- job-template:
    name: 'cntt-{tag}-daily'
    disabled: true
    project-type: multijob
    triggers:
      - timed: '@daily'
    parameters:
      - cntt-slave:
          slave: '{slave}'
      - cntt-build_tag:
          build_tag: ''
      - cntt-branch:
          branch: 'master'
      - cntt-DEBUG:
          DEBUG: 'false'
      - cntt-EXTERNAL_NETWORK:
          EXTERNAL_NETWORK: public
    properties:
      - build-blocker:
          use-build-blocker: true
          blocking-level: 'NODE'
          blocking-jobs:
            - '^cntt-{tag}-(daily|gate)$'
    builders:
      - multijob:
          name: deploy
          projects:
            - name: 'cntt-deploy-daily-{tag}'
              <<: *cntt-jobs
      - multijob:
          name: remove former images
          projects:
            - name: 'cntt-opnfv-functest-healthcheck-{tag}-rmi'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-smoke-{tag}-rmi'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-rmi'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-benchmarking-{tag}-rmi'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-benchmarking-cntt-{tag}-rmi'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-vnf-{tag}-rmi'
              <<: *cntt-jobs
      - multijob:
          name: pull containers
          projects:
            - name: 'cntt-opnfv-functest-healthcheck-{tag}-pull'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-smoke-{tag}-pull'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-pull'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-benchmarking-{tag}-pull'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-benchmarking-cntt-{tag}-pull'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-vnf-{tag}-pull'
              <<: *cntt-jobs
      - multijob:
          name: opnfv/functest-healthcheck:{functest_tag}
          condition: ALWAYS
          projects:
            - name: 'cntt-opnfv-functest-healthcheck-{tag}-connection_check-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-healthcheck-{tag}-vmready1-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-healthcheck-{tag}-vmready2-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-healthcheck-{tag}-singlevm1-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-healthcheck-{tag}-singlevm2-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-healthcheck-{tag}-cinder_test-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-healthcheck-{tag}-odl-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
              <<: *cntt-jobs
      - multijob:
          name: opnfv/functest-smoke:{functest_tag}
          condition: ALWAYS
          projects:
            - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_neutron-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_cinder-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_keystone-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_heat-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_telemetry-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-smoke-{tag}-rally_sanity-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-smoke-{tag}-refstack_compute-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-smoke-{tag}-refstack_object-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-smoke-{tag}-refstack_platform-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_full-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_scenario-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_slow-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-smoke-{tag}-patrole-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-smoke-{tag}-networking-sfc-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_barbican-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_octavia-run'
              <<: *cntt-jobs
      - multijob:
          name: opnfv/functest-smoke-cntt:{tag}
          condition: ALWAYS
          projects:
            - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-tempest_neutron_cntt-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-tempest_cinder_cntt-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-tempest_keystone_cntt-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-tempest_heat_cntt-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-rally_sanity_cntt-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-tempest_full_cntt-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-tempest_scenario_cntt-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-tempest_slow_cntt-run'
              <<: *cntt-jobs
      - multijob:
          name: opnfv/functest-benchmarking:{functest_tag}
          condition: ALWAYS
          projects:
            - name: 'cntt-opnfv-functest-benchmarking-{tag}-rally_full-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-benchmarking-{tag}-vmtp-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-benchmarking-{tag}-shaker-run'
              <<: *cntt-jobs
      - multijob:
          name: opnfv/functest-benchmarking-cntt:{functest_tag}
          condition: ALWAYS
          projects:
            - name: 'cntt-opnfv-functest-benchmarking-cntt-{tag}-rally_full_cntt-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-benchmarking-cntt-{tag}-rally_jobs_cntt-run'
              <<: *cntt-jobs
      - multijob:
          name: opnfv/functest-vnf:{functest_tag}
          condition: ALWAYS
          execution-type: SEQUENTIALLY
          projects:
            - name: 'cntt-opnfv-functest-vnf-{tag}-cloudify-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-vnf-{tag}-cloudify_ims-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-vnf-{tag}-heat_ims-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-vnf-{tag}-juju_epc-run'
              <<: *cntt-jobs
      - multijob:
          name: dump all campaign data
          projects:
            - name: 'cntt-{tag}-zip'
              <<: *cntt-jobs

- trigger:
    name: cntt-patchset-created
    triggers:
      - gerrit:
          server-name: 'gerrit.opnfv.org'
          trigger-on:
            - patchset-created-event
            - comment-added-contains-event:
                comment-contains-value: 'recheck'
            - comment-added-contains-event:
                comment-contains-value: 'reverify'
          projects:
            - project-compare-type: 'ANT'
              project-pattern: 'airship'
              branches:
                - branch-compare-type: 'ANT'
                  branch-pattern: '**/{branch}'
          skip-vote:
            successful: false
            failed: false
            unstable: false
            notbuilt: false

- job-template:
    name: 'cntt-{tag}-gate'
    disabled: true
    project-type: multijob
    triggers:
      - cntt-patchset-created:
          branch: '{branch}'
    parameters:
      - cntt-slave:
          slave: '{slave}'
      - cntt-build_tag:
          build_tag: ''
      - cntt-DEBUG:
          DEBUG: 'false'
      - cntt-EXTERNAL_NETWORK:
          EXTERNAL_NETWORK: public
    properties:
      - build-blocker:
          use-build-blocker: true
          blocking-level: 'NODE'
          blocking-jobs:
            - '^cntt-{tag}-(daily|gate)$'
    builders:
      - multijob:
          name: deploy
          projects:
            - name: 'cntt-deploy-gate-{tag}'
              <<: *cntt-jobs
      - multijob:
          name: remove former images
          projects:
            - name: 'cntt-opnfv-functest-healthcheck-{tag}-rmi'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-smoke-{tag}-rmi'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-rmi'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-benchmarking-{tag}-rmi'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-benchmarking-cntt-{tag}-rmi'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-vnf-{tag}-rmi'
              <<: *cntt-jobs
      - multijob:
          name: pull containers
          projects:
            - name: 'cntt-opnfv-functest-healthcheck-{tag}-pull'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-smoke-{tag}-pull'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-pull'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-benchmarking-{tag}-pull'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-benchmarking-cntt-{tag}-pull'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-vnf-{tag}-pull'
              <<: *cntt-jobs
      - multijob:
          name: opnfv/functest-healthcheck:{functest_tag}
          projects:
            - name: 'cntt-opnfv-functest-healthcheck-{tag}-connection_check-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-healthcheck-{tag}-vmready1-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-healthcheck-{tag}-vmready2-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-healthcheck-{tag}-singlevm1-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-healthcheck-{tag}-singlevm2-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-healthcheck-{tag}-cinder_test-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-healthcheck-{tag}-odl-run'
              <<: *cntt-jobs
      - multijob:
          name: opnfv/functest-smoke:{functest_tag}
          projects:
            - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_scenario-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-smoke-{tag}-networking-sfc-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_barbican-run'
              <<: *cntt-jobs
      - multijob:
          name: opnfv/functest-benchmarking:{functest_tag}
          projects:
            - name: 'cntt-opnfv-functest-benchmarking-{tag}-vmtp-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-benchmarking-{tag}-shaker-run'
              <<: *cntt-jobs
      - multijob:
          name: opnfv/functest-vnf:{functest_tag}
          condition: ALWAYS
          execution-type: SEQUENTIALLY
          projects:
            - name: 'cntt-opnfv-functest-vnf-{tag}-cloudify-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-vnf-{tag}-cloudify_ims-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-vnf-{tag}-heat_ims-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
              <<: *cntt-jobs
            - name: 'cntt-opnfv-functest-vnf-{tag}-juju_epc-run'
              <<: *cntt-jobs

- project:
    name: 'cntt'
    <<: *cntt-params
    jobs:
      - 'cntt-{tag}-daily'
      - 'cntt-{tag}-gate'

- view:
    name: cntt
    view-type: list
    columns:
      - status
      - weather
      - job
      - last-success
      - last-failure
      - last-duration
    regex: ^cntt-[a-z]+-(daily|check|gate)$