# Job for Designate+Tempest
- job-template:
    name: 'gate-tempest-dsvm-designate-{designate-driver}{special}-{node}{suffix}'
    node: '{node}'

    wrappers:
      - build-timeout:
          timeout: 70
      - timestamps

    builders:
      - print-template-name:
          template-name: "{template-name}"
      - link-logs
      - print-node-uuid
      - net-info
      - devstack-checkout
      - shell: |
          #!/bin/bash -xe
          export PYTHONUNBUFFERED=true

          export DEVSTACK_GATE_TEMPEST=1
          export DEVSTACK_GATE_TEMPEST_ALL_PLUGINS=1
          export DEVSTACK_GATE_TEMPEST_REGEX=designate

          export DEVSTACK_LOCAL_CONFIG="enable_plugin designate git://git.openstack.org/openstack/designate"
          export DEVSTACK_LOCAL_CONFIG+=$'\n'"DESIGNATE_SERVICE_PORT_DNS=5322"
          export DEVSTACK_LOCAL_CONFIG+=$'\n'"DESIGNATE_BACKEND_DRIVER={designate-driver}"

          export PROJECTS="openstack/designate $PROJECTS"
          export PROJECTS="openstack/python-designateclient $PROJECTS"
          export PROJECTS="openstack/designate-dashboard $PROJECTS"
          export PROJECTS="openstack/designate-tempest-plugin $PROJECTS"

          export BRANCH_OVERRIDE={branch-override}
          if [ "$BRANCH_OVERRIDE" != "default" ] ; then
              export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
          fi

          if [ "{special}" == "-identity-v3-only" ] ; then
              export DEVSTACK_LOCAL_CONFIG+=$'\n'"ENABLE_IDENTITY_V2=False"
          fi

          if [ "{special}" == "-worker-model" ] ; then
              export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_service designate-worker designate-producer"
              export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service designate-pool-manager designate-zone-manager"
          fi

          if [ "{special}" == "-postgres" ] ; then
              export DEVSTACK_GATE_POSTGRES=1
          fi

          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 for Designate+Tempest with an Agent based Backend
- job-template:
    name: 'gate-tempest-dsvm-designate-agent-{designate-driver}-{node}{suffix}'
    node: '{node}'

    wrappers:
      - build-timeout:
          timeout: 70
      - timestamps

    builders:
      - print-template-name:
          template-name: "{template-name}"
      - link-logs
      - print-node-uuid
      - net-info
      - devstack-checkout
      - shell: |
          #!/bin/bash -xe
          export PYTHONUNBUFFERED=true

          export DEVSTACK_GATE_TEMPEST=1
          export DEVSTACK_GATE_TEMPEST_ALL_PLUGINS=1
          export DEVSTACK_GATE_TEMPEST_REGEX=designate

          export DEVSTACK_LOCAL_CONFIG="enable_plugin designate git://git.openstack.org/openstack/designate"
          export DEVSTACK_LOCAL_CONFIG+=$'\n'"DESIGNATE_SERVICE_PORT_DNS=5322"
          export DEVSTACK_LOCAL_CONFIG+=$'\n'"DESIGNATE_BACKEND_DRIVER=agent"
          export DEVSTACK_LOCAL_CONFIG+=$'\n'"DESIGNATE_AGENT_BACKEND_DRIVER={designate-driver}"

          export PROJECTS="openstack/designate $PROJECTS"
          export PROJECTS="openstack/python-designateclient $PROJECTS"
          export PROJECTS="openstack/designate-dashboard $PROJECTS"
          export PROJECTS="openstack/designate-tempest-plugin $PROJECTS"

          export BRANCH_OVERRIDE={branch-override}
          if [ "$BRANCH_OVERRIDE" != "default" ] ; then
              export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
          fi

          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-grenade-dsvm-designate-{designate-driver}-{node}{suffix}'
    node: '{node}'

    wrappers:
      - build-timeout:
          timeout: 180
      - 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_ALL_PLUGINS=1
          export DEVSTACK_GATE_GRENADE=pullup
          export DEVSTACK_GATE_TEMPEST_REGEX=designate

          export DEVSTACK_LOCAL_CONFIG+=$'\n'"DESIGNATE_SERVICE_PORT_DNS=5322"
          export DEVSTACK_LOCAL_CONFIG+=$'\n'"DESIGNATE_BACKEND_DRIVER={designate-driver}"

          export PROJECTS="openstack/designate $PROJECTS"
          export PROJECTS="openstack/python-designateclient $PROJECTS"
          export PROJECTS="openstack/designate-dashboard $PROJECTS"
          export PROJECTS="openstack/designate-tempest-plugin $PROJECTS"
          export PROJECTS="openstack-dev/grenade $PROJECTS"

          export BRANCH_OVERRIDE={branch-override}
          if [ "$BRANCH_OVERRIDE" != "default" ] ; then
              export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
          fi

          export GRENADE_PLUGINRC="enable_grenade_plugin designate https://git.openstack.org/openstack/designate"

          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-designate-dsvm-{designate-driver}-{node}'
    node: '{node}'

    wrappers:
      - build-timeout:
          timeout: 70
      - timestamps

    builders:
      - link-logs
      - net-info
      - devstack-checkout
      - shell: |
          #!/bin/bash -xe
          export PYTHONUNBUFFERED=true
          export DEVSTACK_GATE_INSTALL_TESTONLY=1
          export DEVSTACK_GATE_TEMPEST=1
          export DEVSTACK_GATE_TEMPEST_NOTESTS=1
          export DEVSTACK_GATE_DESIGNATE_DRIVER="{designate-driver}"
          export PROJECTS="openstack/designate $PROJECTS"
          export PROJECTS="openstack/python-designateclient $PROJECTS"
          export PROJECTS="openstack/designate-dashboard $PROJECTS"
          export PROJECTS="openstack/designate-tempest-plugin $PROJECTS"

          export DEVSTACK_LOCAL_CONFIG="enable_plugin designate git://git.openstack.org/openstack/designate"

          function gate_hook {{
              cd /opt/stack/new/designate/devstack/gate
              ./gate_hook.sh
          }}
          export -f gate_hook

          function post_test_hook {{
              cd /opt/stack/new/designate/devstack/gate
              ./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:
      - devstack-logs
      - console-log