- project:
    project: 'releng'

    name: 'bifrost-periodic'
#--------------------------------
# Branch Anchors
#--------------------------------
# the versions stated here default to branches which then later
# on used for checking out the branches, pulling in head of the branch.
    master: &master
        stream: master
        openstack-bifrost-version: '{stream}'
        opnfv-releng-version: 'master'
        gs-pathname: ''
    ocata: &ocata
        stream: ocata
        openstack-bifrost-version: 'stable/{stream}'
        opnfv-releng-version: 'master'
        gs-pathname: '/{stream}'
#--------------------------------
#        XCI PODs
#--------------------------------
    pod:
        - virtual:
            <<: *master
        - virtual:
            <<: *ocata
#--------------------------------
# XCI PODs
#--------------------------------
#--------------------------------
# Supported Distros
#--------------------------------
    distro:
        - 'xenial':
            disabled: false
            slave-label: xci-xenial-virtual
            dib-os-release: 'xenial'
            dib-os-element: 'ubuntu-minimal'
            dib-os-packages: 'vlan,vim,less,bridge-utils,sudo,language-pack-en,iputils-ping,rsyslog,curl,python,debootstrap,ifenslave,ifenslave-2.6,lsof,lvm2,tcpdump,nfs-kernel-server,chrony,iptables'
            extra-dib-elements: 'openssh-server'
        - 'centos7':
            disabled: true
            slave-label: xci-centos7-virtual
            dib-os-release: '7'
            dib-os-element: 'centos7'
            dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl'
            extra-dib-elements: 'openssh-server'
        - 'suse':
            disabled: true
            slave-label: xci-suse-virtual
            dib-os-release: '42.2'
            dib-os-element: 'opensuse-minimal'
            dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl'
            extra-dib-elements: 'openssh-server'

#--------------------------------
# jobs
#--------------------------------
    jobs:
        - 'bifrost-provision-{pod}-{distro}-periodic-{stream}'

#--------------------------------
# job templates
#--------------------------------
- job-template:
    name: 'bifrost-provision-{pod}-{distro}-periodic-{stream}'

    disabled: '{obj:disabled}'

    concurrent: false

    properties:
        - build-blocker:
            use-build-blocker: true
            blocking-jobs:
                - '^xci-os.*'
                - '^xci-deploy.*'
                - '^xci-functest.*'
                - '^bifrost-.*periodic.*'
                - '^osa-.*periodic.*'
            block-level: 'NODE'
        - logrotate-default

    parameters:
        - project-parameter:
            project: '{project}'
            branch: '{opnfv-releng-version}'
        - string:
            name: GIT_BASE
            default: https://gerrit.opnfv.org/gerrit/$PROJECT
        - string:
            name: XCI_FLAVOR
            default: 'ha'
        - string:
            name: OPENSTACK_BIFROST_VERSION
            default: '{openstack-bifrost-version}'
        - string:
            name: OPNFV_RELENG_VERSION
            default: '{opnfv-releng-version}'
        - string:
            name: DISTRO
            default: '{distro}'
        - string:
            name: DIB_OS_RELEASE
            default: '{dib-os-release}'
        - string:
            name: DIB_OS_ELEMENT
            default: '{dib-os-element}'
        - string:
            name: DIB_OS_PACKAGES
            default: '{dib-os-packages}'
        - string:
            name: EXTRA_DIB_ELEMENTS
            default: '{extra-dib-elements}'
        - string:
            name: CLEAN_DIB_IMAGES
            default: 'true'
        - label:
            name: SLAVE_LABEL
            default: '{slave-label}'
        - string:
            name: ANSIBLE_VERBOSITY
            default: ''
        - string:
            name: XCI_LOOP
            default: 'periodic'

    wrappers:
        - fix-workspace-permissions

    scm:
        - git-scm

    # trigger is disabled until we know which jobs we will have
    # and adjust stuff accordingly
    triggers:
        - timed: '#@midnight'

    builders:
        - description-setter:
            description: "Built on $NODE_NAME - Flavor: $XCI_FLAVOR"
        - 'bifrost-provision-builder'

#---------------------------
# builder macros
#---------------------------
- builder:
    name: bifrost-provision-builder
    builders:
        - shell:
            !include-raw: ./bifrost-provision.sh