---

- project-template:
    name: devstack-tobiko-octavia
    description: |
      DevStack jobs intended to gate Tobiko project changes
    check: &CHECK
      jobs:
        - devstack-tobiko-octavia
        - devstack-tobiko-ovs-octavia
    gate: &GATE
      jobs:
        - devstack-tobiko-octavia
    periodic: *CHECK


# --- STANDALONE -------------------------------------------------------------

- job:
    name: devstack-tobiko-octavia
    parent: devstack-tobiko
    required-projects:
      - openstack/octavia
      - openstack/octavia-lib
      - openstack/diskimage-builder
      - openstack/ovn-octavia-provider
      - openstack/tripleo-image-elements
      - openstack/barbican
    irrelevant-files: &IRRELEVANT_FILES
      - ^.*\.rst$
      - ^doc/
      - ^infrared_plugin/
      - ^playbooks/vagrant
      - ^releasenotes/
      - ^report/
      - ^tobiko/tests/functional/
      - ^tobiko/tests/sanity/
      - ^tobiko/tests/unit/
      - ^Vagrantfile
    vars:
      devstack_local_conf:
        post-config:
          "$NOVA_CONF":
            scheduler:
              discover_hosts_in_cells_interval: 2
          $OCTAVIA_CONF:
            haproxy_amphora:
              # Set these higher for non-nested virt nodepool instances
              connection_max_retries: 1200
              build_active_retries: 300
            amphora_agent:
              forward_all_logs: true
            controller_worker:
              loadbalancer_topology: SINGLE
      devstack_localrc:
        OCTAVIA_NODE: standalone
        TOBIKO_OCTAVIA_CHECK_TIMEOUT: 600
      devstack_plugins:
        barbican: https://opendev.org/openstack/barbican.git
        octavia: https://opendev.org/openstack/octavia.git
        ovn-octavia-provider:
          https://opendev.org/openstack/ovn-octavia-provider.git
        neutron: https://opendev.org/openstack/neutron.git
      devstack_services:
        # Octavia services
        octavia: true
        o-api: true
        o-cw: true
        o-hk: true
        o-hm: true
        o-da: true
      test_workflow: octavia-faults
      zuul_copy_output:
        '/var/log/dib-build/': logs
        '/var/log/octavia-tenant-traffic.log': logs
        '/var/log/octavia-amphora.log': logs


- job:
    name: devstack-tobiko-ovs-octavia
    parent: devstack-tobiko-ovs
    voting: false
    required-projects:
      - openstack/octavia
      - openstack/octavia-lib
      - openstack/tripleo-image-elements
    irrelevant-files: *IRRELEVANT_FILES
    vars:
      devstack_plugins:
        octavia: https://opendev.org/openstack/octavia.git
      devstack_services:
        # Octavia services
        octavia: true
        o-api: true
        o-cw: true
        o-hk: true
        o-hm: true
        o-da: true
      test_workflow: octavia-faults
      zuul_copy_output:
        '/var/log/dib-build/': logs
        '/var/log/octavia-tenant-traffic.log': logs
        '/var/log/octavia-amphora.log': logs