- job-template:
    name: '{pipeline}-octavia-{octaviaversion}-dsvm-{octaviatest}-{node}{suffix}'
    node: '{node}'

    wrappers:
      - build-timeout:
          timeout: 130
      - timestamps

    builders:
      - print-template-name:
          template-name: "{template-name}"
      - link-logs
      - net-info
      - devstack-checkout
      - shell: |
          #!/bin/bash -xe
          export PYTHONUNBUFFERED=true
          export DEVSTACK_GATE_TEMPEST=1
          export DEVSTACK_GATE_TEMPEST_NOTESTS=1
          export DEVSTACK_GATE_EXERCISES=0
          export DEVSTACK_GATE_NEUTRON=1
          export DEVSTACK_GATE_INSTALL_TESTONLY=1
          export BRANCH_OVERRIDE={branch-override}
          if [ "$BRANCH_OVERRIDE" != "default" ] ; then
              export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
          fi
          export PROJECTS="openstack/barbican $PROJECTS"
          export PROJECTS="openstack/python-barbicanclient $PROJECTS"
          export PROJECTS="openstack/diskimage-builder $PROJECTS"
          export PROJECTS="openstack/tripleo-image-elements $PROJECTS"
          export PROJECTS="openstack/neutron-lbaas $PROJECTS"
          export PROJECTS="openstack/octavia $PROJECTS"

          if ! [[ "$ZUUL_BRANCH" =~ "stable/newton"|"stable/ocata" ]]; then
              export DEVSTACK_PROJECT_FROM_GIT="python-octaviaclient"
              export OVERRIDE_PYTHON_OCTAVIACLIENT_PROJECT_BRANCH=$ZUUL_BRANCH
          fi

          function gate_hook {{
              $BASE/new/octavia/octavia/tests/contrib/gate_hook.sh tempest {octaviaversion} {octaviatest}
          }}
          export -f gate_hook

          function post_test_hook {{
              $BASE/new/octavia/octavia/tests/contrib/post_test_hook.sh tempest {octaviaversion} {octaviatest}
          }}
          export -f post_test_hook

          cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
          ./safe-devstack-vm-gate-wrap.sh

    publishers:
      - devstack-logs
      - console-log

- job-template:
    name: '{pipeline}-octavia-{octaviaversion}-dsvm-py3x-{octaviatest}-{node}{suffix}'
    node: '{node}'

    wrappers:
      - build-timeout:
          timeout: 130
      - timestamps

    builders:
      - print-template-name:
          template-name: "{template-name}"
      - link-logs
      - net-info
      - devstack-checkout
      - shell: |
          #!/bin/bash -xe
          export DEVSTACK_GATE_USE_PYTHON3=True
          export PYTHONUNBUFFERED=true
          export DEVSTACK_GATE_TEMPEST=1
          export DEVSTACK_GATE_TEMPEST_NOTESTS=1
          export DEVSTACK_GATE_EXERCISES=0
          export DEVSTACK_GATE_NEUTRON=1
          export DEVSTACK_GATE_INSTALL_TESTONLY=1
          export BRANCH_OVERRIDE={branch-override}
          if [ "$BRANCH_OVERRIDE" != "default" ] ; then
              export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
          fi
          export PROJECTS="openstack/barbican $PROJECTS"
          export PROJECTS="openstack/python-barbicanclient $PROJECTS"
          export PROJECTS="openstack/diskimage-builder $PROJECTS"
          export PROJECTS="openstack/tripleo-image-elements $PROJECTS"
          export PROJECTS="openstack/neutron-lbaas $PROJECTS"
          export PROJECTS="openstack/octavia $PROJECTS"

          if ! [[ "$ZUUL_BRANCH" =~ "stable/newton"|"stable/ocata" ]]; then
              export DEVSTACK_PROJECT_FROM_GIT="python-octaviaclient"
              export OVERRIDE_PYTHON_OCTAVIACLIENT_PROJECT_BRANCH=$ZUUL_BRANCH
          fi

          function gate_hook {{
              $BASE/new/octavia/octavia/tests/contrib/gate_hook.sh tempest {octaviaversion} {octaviatest}
          }}
          export -f gate_hook

          function post_test_hook {{
              $BASE/new/octavia/octavia/tests/contrib/post_test_hook.sh tempest {octaviaversion} {octaviatest}
          }}
          export -f post_test_hook

          cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
          ./safe-devstack-vm-gate-wrap.sh

    publishers:
      - devstack-logs
      - console-log

- job-template:
    name: '{pipeline}-octavia-{octaviaversion}-dsvm-{octaviatest}-multinode{suffix}'
    node: '{node}'

    wrappers:
      - build-timeout:
          timeout: 130
      - timestamps

    builders:
      - print-template-name:
          template-name: "{template-name}"
      - link-logs
      - net-info
      - devstack-checkout
      - shell: |
          #!/bin/bash -xe
          export PYTHONUNBUFFERED=true
          export DEVSTACK_GATE_TEMPEST=1
          export DEVSTACK_GATE_TEMPEST_NOTESTS=1
          export DEVSTACK_GATE_EXERCISES=0
          export DEVSTACK_GATE_NEUTRON=1
          export DEVSTACK_GATE_INSTALL_TESTONLY=1
          export DEVSTACK_GATE_TOPOLOGY="multinode"
          export BRANCH_OVERRIDE={branch-override}
          if [ "$BRANCH_OVERRIDE" != "default" ] ; then
              export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
          fi
          export PROJECTS="openstack/barbican $PROJECTS"
          export PROJECTS="openstack/python-barbicanclient $PROJECTS"
          export PROJECTS="openstack/diskimage-builder $PROJECTS"
          export PROJECTS="openstack/tripleo-image-elements $PROJECTS"
          export PROJECTS="openstack/neutron-lbaas $PROJECTS"
          export PROJECTS="openstack/octavia $PROJECTS"

          if ! [[ "$ZUUL_BRANCH" =~ "stable/newton"|"stable/ocata" ]]; then
              export DEVSTACK_PROJECT_FROM_GIT="python-octaviaclient"
              export OVERRIDE_PYTHON_OCTAVIACLIENT_PROJECT_BRANCH=$ZUUL_BRANCH
          fi

          function gate_hook {{
              $BASE/new/octavia/octavia/tests/contrib/gate_hook.sh tempest {octaviaversion} {octaviatest}
          }}
          export -f gate_hook

          function post_test_hook {{
              $BASE/new/octavia/octavia/tests/contrib/post_test_hook.sh tempest {octaviaversion} {octaviatest}
          }}
          export -f post_test_hook

          cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
          ./safe-devstack-vm-gate-wrap.sh

    publishers:
      - devstack-logs
      - console-log

- job-template:
    name: '{pipeline}-octavia-{octaviaversion}-dsvm-py3x-{octaviatest}-multinode{suffix}'
    node: '{node}'

    wrappers:
      - build-timeout:
          timeout: 130
      - timestamps

    builders:
      - print-template-name:
          template-name: "{template-name}"
      - link-logs
      - net-info
      - devstack-checkout
      - shell: |
          #!/bin/bash -xe
          export DEVSTACK_GATE_USE_PYTHON3=True
          export PYTHONUNBUFFERED=true
          export DEVSTACK_GATE_TEMPEST=1
          export DEVSTACK_GATE_TEMPEST_NOTESTS=1
          export DEVSTACK_GATE_EXERCISES=0
          export DEVSTACK_GATE_NEUTRON=1
          export DEVSTACK_GATE_INSTALL_TESTONLY=1
          export DEVSTACK_GATE_TOPOLOGY="multinode"
          export BRANCH_OVERRIDE={branch-override}
          if [ "$BRANCH_OVERRIDE" != "default" ] ; then
              export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
          fi
          export PROJECTS="openstack/barbican $PROJECTS"
          export PROJECTS="openstack/python-barbicanclient $PROJECTS"
          export PROJECTS="openstack/diskimage-builder $PROJECTS"
          export PROJECTS="openstack/tripleo-image-elements $PROJECTS"
          export PROJECTS="openstack/neutron-lbaas $PROJECTS"
          export PROJECTS="openstack/octavia $PROJECTS"

          if ! [[ "$ZUUL_BRANCH" =~ "stable/newton"|"stable/ocata" ]]; then
              export DEVSTACK_PROJECT_FROM_GIT="python-octaviaclient"
              export OVERRIDE_PYTHON_OCTAVIACLIENT_PROJECT_BRANCH=$ZUUL_BRANCH
          fi

          function gate_hook {{
              $BASE/new/octavia/octavia/tests/contrib/gate_hook.sh tempest {octaviaversion} {octaviatest}
          }}
          export -f gate_hook

          function post_test_hook {{
              $BASE/new/octavia/octavia/tests/contrib/post_test_hook.sh tempest {octaviaversion} {octaviatest}
          }}
          export -f post_test_hook

          cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
          ./safe-devstack-vm-gate-wrap.sh

    publishers:
      - devstack-logs
      - console-log

- job-template:
    name: '{pipeline}-octavia-{octaviaversion}-dsvm-{octaviatest}-lxd-{node}{suffix}'
    node: '{node}'

    wrappers:
      - build-timeout:
          timeout: 130
      - timestamps

    builders:
      - print-template-name:
          template-name: "{template-name}"
      - link-logs
      - net-info
      - devstack-checkout
      - local_conf:
          conf: |
              [[local|localrc]]
              enable_plugin nova-lxd https://git.openstack.org/openstack/nova-lxd
      - shell: |
          #!/bin/bash -xe
          export PYTHONUNBUFFERED=true
          export DEVSTACK_GATE_TEMPEST=1
          export DEVSTACK_GATE_TEMPEST_NOTESTS=1
          export DEVSTACK_GATE_EXERCISES=0
          export DEVSTACK_GATE_NEUTRON=1
          export DEVSTACK_GATE_INSTALL_TESTONLY=1
          export BRANCH_OVERRIDE={branch-override}
          if [ "$BRANCH_OVERRIDE" != "default" ] ; then
              export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
          fi
          export PROJECTS="openstack/barbican $PROJECTS"
          export PROJECTS="openstack/barbican-tempest-plugin $PROJECTS"
          export PROJECTS="openstack/python-barbicanclient $PROJECTS"
          export PROJECTS="openstack/diskimage-builder $PROJECTS"
          export PROJECTS="openstack/tripleo-image-elements $PROJECTS"
          export PROJECTS="openstack/neutron-lbaas $PROJECTS"
          export PROJECTS="openstack/nova-lxd $PROJECTS"
          export PROJECTS="openstack/octavia $PROJECTS"

          if ! [[ "$ZUUL_BRANCH" =~ "stable/newton"|"stable/ocata" ]]; then
              export DEVSTACK_PROJECT_FROM_GIT="python-octaviaclient"
              export OVERRIDE_PYTHON_OCTAVIACLIENT_PROJECT_BRANCH=$ZUUL_BRANCH
          fi

          function gate_hook {{
              $BASE/new/octavia/octavia/tests/contrib/gate_hook.sh tempest {octaviaversion} {octaviatest}
          }}
          export -f gate_hook

          function post_test_hook {{
              $BASE/new/octavia/octavia/tests/contrib/post_test_hook.sh tempest {octaviaversion} {octaviatest}
          }}
          export -f post_test_hook

          cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
          ./safe-devstack-vm-gate-wrap.sh

    publishers:
      - devstack-logs
      - console-log

- job-template:
    name: '{pipeline}-octavia-{octaviaversion}-dsvm-{octaviatest}-{hypervisor}-{amphora_os}.{amphora_os_version}-{node}{suffix}'
    node: '{node}'

    wrappers:
      - build-timeout:
          timeout: 130
      - timestamps

    builders:
      - print-template-name:
          template-name: "{template-name}"
      - link-logs
      - net-info
      - devstack-checkout
      - local_conf:
          conf: |
            [[local|localrc]]
            OCTAVIA_HYPERVISOR={hypervisor}
            OCTAVIA_AMP_BASE_OS={amphora_os}
            OCTAVIA_AMP_DISTRIBUTION_RELEASE_ID={amphora_os_version}
      - shell: |
          #!/bin/bash -xe
          export PYTHONUNBUFFERED=true
          export DEVSTACK_GATE_TEMPEST=1
          export DEVSTACK_GATE_TEMPEST_NOTESTS=1
          export DEVSTACK_GATE_EXERCISES=0
          export DEVSTACK_GATE_NEUTRON=1
          export DEVSTACK_GATE_INSTALL_TESTONLY=1
          export BRANCH_OVERRIDE={branch-override}
          if [ "$BRANCH_OVERRIDE" != "default" ] ; then
              export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
          fi
          export PROJECTS="openstack/barbican $PROJECTS"
          export PROJECTS="openstack/barbican-tempest-plugin $PROJECTS"
          export PROJECTS="openstack/python-barbicanclient $PROJECTS"
          export PROJECTS="openstack/diskimage-builder $PROJECTS"
          export PROJECTS="openstack/tripleo-image-elements $PROJECTS"
          export PROJECTS="openstack/neutron-lbaas $PROJECTS"
          export PROJECTS="openstack/octavia $PROJECTS"

          if ! [[ "$ZUUL_BRANCH" =~ "stable/newton"|"stable/ocata" ]]; then
              export DEVSTACK_PROJECT_FROM_GIT="python-octaviaclient"
              export OVERRIDE_PYTHON_OCTAVIACLIENT_PROJECT_BRANCH=$ZUUL_BRANCH
          fi

          function gate_hook {{
              $BASE/new/octavia/octavia/tests/contrib/gate_hook.sh tempest {octaviaversion} {octaviatest}
          }}
          export -f gate_hook

          function post_test_hook {{
              $BASE/new/octavia/octavia/tests/contrib/post_test_hook.sh tempest {octaviaversion} {octaviatest}
          }}
          export -f post_test_hook

          cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
          ./safe-devstack-vm-gate-wrap.sh

    publishers:
      - devstack-logs
      - console-log

- job-template:
    name: gate-octavia-dashboard-dsvm-integration-{node}{suffix}
    node: '{node}'

    wrappers:
      - build-timeout:
          timeout: 60
      - timestamps

    builders:
      - link-logs
      - net-info
      - devstack-checkout
      - firefox-install
      - xvfb-install
      - shell: |
          #!/bin/bash -xe
          export PYTHONUNBUFFERED=true
          export DEVSTACK_GATE_TEMPEST=0
          export DEVSTACK_GATE_EXERCISES=0
          export DEVSTACK_GATE_INSTALL_TESTONLY=1
          export DEVSTACK_GATE_NEUTRON=1
          export PROJECTS="openstack/octavia-dashboard $PROJECTS"


          function pre_test_hook {{
              $BASE/new/octavia-dashboard/tools/gate/integration/pre_test_hook.sh
          }}
          export -f pre_test_hook

          function post_test_hook {{
              $BASE/new/octavia-dashboard/tools/gate/integration/post_test_hook.sh
          }}
          export -f post_test_hook

          cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
          ./safe-devstack-vm-gate-wrap.sh

    publishers:
      - test-results
      - devstack-logs
      - publish-screenshots
      - console-log

- job-template:
    name: gate-octavia-dashboard-dsvm-py3x-integration-{node}{suffix}
    node: '{node}'

    wrappers:
      - build-timeout:
          timeout: 60
      - timestamps

    builders:
      - link-logs
      - net-info
      - devstack-checkout
      - firefox-install
      - xvfb-install
      - shell: |
          #!/bin/bash -xe
          export DEVSTACK_GATE_USE_PYTHON3=True
          export PYTHONUNBUFFERED=true
          export DEVSTACK_GATE_TEMPEST=0
          export DEVSTACK_GATE_EXERCISES=0
          export DEVSTACK_GATE_INSTALL_TESTONLY=1
          export DEVSTACK_GATE_NEUTRON=1
          export PROJECTS="openstack/octavia-dashboard $PROJECTS"


          function pre_test_hook {{
              $BASE/new/octavia-dashboard/tools/gate/integration/pre_test_hook.sh
          }}
          export -f pre_test_hook

          function post_test_hook {{
              $BASE/new/octavia-dashboard/tools/gate/integration/post_test_hook.sh
          }}
          export -f post_test_hook

          cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
          ./safe-devstack-vm-gate-wrap.sh

    publishers:
      - test-results
      - devstack-logs
      - publish-screenshots
      - console-log