---
- job:
    name: kolla-ansible-base
    pre-run: tests/pre.yml
    run: tests/run.yml
    post-run: tests/post.yml
    attempts: 5
    timeout: 7200
    required-projects:
      - openstack/kolla-ansible
    irrelevant-files:
      - ^.*\.rst$
      - ^doc/.*
      - ^lower-constraints.txt$
      - ^releasenotes/.*$
      - ^deploy-guide/.*$
      - ^test-requirements.txt$
      - ^etc/kolla/globals.yml$
      - ^tox.ini$
      - ^\..+
      - ^LICENSE$
      - ^contrib/
      - ^specs/
      - ^kolla_ansible/tests/
    vars:
      previous_release: train
      scenario: core
      is_upgrade: no
      api_network_prefix: "192.0.2."
      api_network_prefix_length: "24"
      api_interface_name: vxlan0
      kolla_internal_vip_address: "192.0.2.10"
      address_family: 'ipv4'
    roles:
      - zuul: zuul/zuul-jobs

- job:
    name: kolla-ansible-ceph-base
    parent: kolla-ansible-base
    voting: false
    vars:
      scenario: ceph
    host-vars:
      primary:
        ceph_osd_storetype: filestore
      secondary1:
        ceph_osd_storetype: bluestore
      secondary2:
        ceph_osd_storetype: bluestore

- job:
    name: kolla-ansible-ipv6-base
    parent: kolla-ansible-base
    voting: false
    vars:
      api_network_prefix: "fd::"
      api_network_prefix_length: "64"
      kolla_internal_vip_address: "fd::ff:0"
      address_family: 'ipv6'

- job:
    name: kolla-ansible-bifrost-base
    parent: kolla-ansible-base
    voting: false
    files:
      - ^ansible/roles/bifrost/
      - ^tests/test-bifrost.sh
    vars:
      scenario: bifrost
      install_type: source

- job:
    name: kolla-ansible-ironic-base
    parent: kolla-ansible-base
    voting: false
    files:
      - ^ansible/roles/(ironic|nova)/
      - ^tests/test-ironic.sh
      - ^tests/test-dashboard.sh
    vars:
      scenario: ironic

- job:
    name: kolla-ansible-zun-base
    parent: kolla-ansible-base
    voting: false
    files:
      - ^ansible/roles/(zun|kuryr|etcd)/
      - ^tests/setup_disks.sh
      - ^tests/test-zun.sh
      - ^tests/test-dashboard.sh
    vars:
      scenario: zun

- job:
    name: kolla-ansible-swift-base
    parent: kolla-ansible-base
    voting: false
    files:
      - ^ansible/roles/(glance|swift)/
      - ^tests/setup_disks.sh
      - ^tests/init-swift.sh
      - ^tests/test-core-openstack.sh
      - ^tests/test-dashboard.sh
      - ^tests/test-swift.sh
    vars:
      scenario: swift

- job:
    name: kolla-ansible-ceph-ansible-base
    parent: kolla-ansible-base
    voting: false
    files:
      - ^ansible/roles/(cinder|glance|gnocchi|nova-cell)/
      - ^tests/deploy-ceph-ansible.sh
    vars:
      scenario: ceph-ansible
      ceph_osd_storetype: ceph-lvm
    required-projects:
      - name: github.com/ceph/ceph-ansible
        override-checkout: v4.0.7

- job:
    name: kolla-ansible-cinder-lvm-base
    parent: kolla-ansible-base
    voting: false
    files:
      - ^ansible/roles/(cinder|iscsi)/
      - ^tests/setup_disks.sh
      - ^tests/test-core-openstack.sh
      - ^tests/test-dashboard.sh
    vars:
      scenario: cinder-lvm

- job:
    name: kolla-ansible-masakari-base
    parent: kolla-ansible-base
    voting: false
    files:
      - ^ansible/roles/masakari/
      - ^tests/test-masakari.sh
      - ^tests/test-dashboard.sh
    vars:
      scenario: masakari

- job:
    name: kolla-ansible-mariadb-base
    parent: kolla-ansible-base
    voting: false
    files:
      - ^ansible/roles/mariadb/
      - ^tests/test-mariadb.sh
    vars:
      scenario: mariadb

- job:
    name: kolla-ansible-scenario-nfv-base
    parent: kolla-ansible-base
    voting: false
    files:
      - ^ansible/roles/(barbican|heat|mistral|redis|tacker)/
      - ^tests/test-scenario-nfv.sh
      - ^tests/test-dashboard.sh
    vars:
      scenario: scenario_nfv

- job:
    name: kolla-ansible-cells-base
    parent: kolla-ansible-base
    voting: false
    vars:
      scenario: cells
