- job-template:
    name: '{pipeline}-congress-dsvm-api{job-suffix}'
    node: '{node}'

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

    builders:
      - link-logs
      - net-info
      - devstack-checkout
      - shell: |
          #!/bin/bash -xe
          ENABLED_SERVICES=tempest,
          ENABLED_SERVICES+=key,g-api,g-reg,
          ENABLED_SERVICES+=n-api,n-crt,n-cpu,n-sch,n-cauth,
          # n-obj has been removed from mitaka
          if [[ "stable/kilo stable/liberty" =~ $ZUUL_BRANCH ]]; then
              ENABLED_SERVICES+=n-obj,
          fi
          ENABLED_SERVICES+=horizon,mysql,rabbit,sysstat,
          ENABLED_SERVICES+=cinder,c-api,c-vol,c-sch,n-cond,
          ENABLED_SERVICES+=neutron,q-svc,q-agt,q-dhcp,q-l3,q-meta,
          ENABLED_SERVICES+=s-proxy,s-object,s-container,s-account,
          ENABLED_SERVICES+=h-eng,h-api,h-api-cfn,h-api-cw

          DEVSTACK_LOCAL_CONFIG="enable_plugin ceilometer git://git.openstack.org/openstack/ceilometer"

          export PYTHONUNBUFFERED=true
          export DEVSTACK_GATE_TEMPEST=1
          export DEVSTACK_GATE_TEMPEST_ALL_PLUGINS=1
          export DEVSTACK_GATE_TEMPEST_REGEX="congress_tempest_tests"
          export DEVSTACK_GATE_NEUTRON=1
          export PROJECTS="openstack/congress $PROJECTS"
          export PROJECTS="openstack/python-congressclient $PROJECTS"
          export DEVSTACK_PROJECT_FROM_GIT=python-congressclient
          export PROJECTS="openstack/murano $PROJECTS"
          export PROJECTS="openstack/murano-dashboard $PROJECTS"
          export PROJECTS="openstack/python-muranoclient $PROJECTS"

          if [[ "stable/kilo stable/liberty" =~ $ZUUL_BRANCH ]]; then
              # Kilo/Liberty version uses the older 'hooks' approach to adding
              # the congress plugin
              ENABLED_SERVICES+=,congress
              # Kilo/Liberty doesn't support tempest plugin
              export DEVSTACK_GATE_TEMPEST_ALL_PLUGINS=0
              export DEVSTACK_GATE_TEMPEST_REGEX="congress"
              function pre_test_hook {{
                # Install congress-devstack and congress-tempest integration
                cp -r $BASE/new/congress/contrib/devstack/* $BASE/new/devstack/
                cp -r $BASE/new/congress/contrib/tempest/* $BASE/new/tempest/
              }}
              export -f pre_test_hook
          else
              # Enable congress devstack plugin.
              DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin congress git://git.openstack.org/openstack/congress"
              # To be enabled for Mitaka and later
              DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin murano git://git.openstack.org/openstack/murano"
          fi

          export ENABLED_SERVICES
          export DEVSTACK_LOCAL_CONFIG
          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:
      - test-results
      - devstack-logs
      - console-log

- job-template:
    name: '{pipeline}-congress-new-arch-devstack{job-suffix}'
    node: '{node}'

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

    builders:
      - link-logs
      - net-info
      - devstack-checkout
      - shell: |
          #!/bin/bash -xe
          ENABLED_SERVICES=tempest,
          ENABLED_SERVICES+=key,g-api,g-reg,
          ENABLED_SERVICES+=n-api,n-crt,n-cpu,n-sch,n-cauth,
          ENABLED_SERVICES+=horizon,mysql,rabbit,sysstat,
          ENABLED_SERVICES+=cinder,c-api,c-vol,c-sch,n-cond,
          ENABLED_SERVICES+=neutron,q-svc,q-agt,q-dhcp,q-l3,q-meta,
          ENABLED_SERVICES+=s-proxy,s-object,s-container,s-account,
          ENABLED_SERVICES+=h-eng,h-api,h-api-cfn,h-api-cw

          DEVSTACK_LOCAL_CONFIG="enable_plugin ceilometer git://git.openstack.org/openstack/ceilometer"

          export ENABLED_SERVICES
          export DEVSTACK_LOCAL_CONFIG
          export PYTHONUNBUFFERED=true
          export DEVSTACK_GATE_TEMPEST=1
          export DEVSTACK_GATE_TEMPEST_ALL_PLUGINS=1
          export DEVSTACK_GATE_TEMPEST_REGEX="congress_tempest_tests"
          export DEVSTACK_GATE_NEUTRON=1
          export PROJECTS="openstack/congress $PROJECTS"
          export PROJECTS="openstack/python-congressclient $PROJECTS"
          export DEVSTACK_PROJECT_FROM_GIT=python-congressclient
          # Enable congress devstack plugin.
          DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin congress git://git.openstack.org/openstack/congress"
          DEVSTACK_LOCAL_CONFIG+=$'\n'"CONGRESS_DISTRIBUTED_ARCHITECTURE=True"
          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:
      - test-results
      - devstack-logs
      - console-log