diff --git a/modules/openstack_project/files/jenkins_job_builder/config/devstack-gate.yaml b/modules/openstack_project/files/jenkins_job_builder/config/devstack-gate.yaml
index 023d9254a4..b1e2b5265d 100644
--- a/modules/openstack_project/files/jenkins_job_builder/config/devstack-gate.yaml
+++ b/modules/openstack_project/files/jenkins_job_builder/config/devstack-gate.yaml
@@ -1,3 +1,54 @@
+- job-template:
+    name: 'check-dg-tempest-dsvm-full'
+    node: '{node}'
+
+    wrappers:
+      - timeout:
+          timeout: 90
+          fail: true
+      - timestamps
+
+    builders:
+      - experimental-devstack-checkout
+      - shell: |
+          #!/bin/bash -xe
+          export PYTHONUNBUFFERED=true
+          export DEVSTACK_GATE_TEMPEST=1
+          export DEVSTACK_GATE_TEMPEST_FULL=1
+          export ZUUL_PROJECT=none
+          cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
+          ./safe-devstack-vm-gate-wrap.sh
+      - link-logs
+
+    publishers:
+      - devstack-logs
+      - console-log
+
+- job-template:
+    name: 'check-dg-tempest-dsvm-full-reexec'
+    node: '{node}'
+
+    wrappers:
+      - timeout:
+          timeout: 90
+          fail: true
+      - timestamps
+
+    builders:
+      - experimental-devstack-checkout
+      - shell: |
+          #!/bin/bash -xe
+          export PYTHONUNBUFFERED=true
+          export DEVSTACK_GATE_TEMPEST=1
+          export DEVSTACK_GATE_TEMPEST_FULL=1
+          cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
+          ./safe-devstack-vm-gate-wrap.sh
+      - link-logs
+
+    publishers:
+      - devstack-logs
+      - console-log
+
 - job-template:
     name: '{pipeline}-tempest-dsvm-full{branch-designator}'
     node: '{node}'
@@ -643,6 +694,13 @@
       - console-log
 
 
+- job-group:
+    name: devstack-gate-jobs
+    jobs:
+      - 'check-dg-tempest-dsvm-full'
+      - 'check-dg-tempest-dsvm-full-reexec'
+
+
 - job-group:
     name: devstack-jobs
     jobs:
diff --git a/modules/openstack_project/files/jenkins_job_builder/config/macros.yaml b/modules/openstack_project/files/jenkins_job_builder/config/macros.yaml
index a7022e3711..bdf4a041b2 100644
--- a/modules/openstack_project/files/jenkins_job_builder/config/macros.yaml
+++ b/modules/openstack_project/files/jenkins_job_builder/config/macros.yaml
@@ -201,6 +201,18 @@
               cd ..
           fi
 
+- builder:
+    name: experimental-devstack-checkout
+    builders:
+      - shell: |
+          #!/bin/bash -xe
+          if [[ ! -e devstack-gate ]]; then
+              git clone git://git.openstack.org/openstack-infra/devstack-gate
+          fi
+          cd devstack-gate
+          /usr/local/jenkins/slave_scripts/gerrit-git-prep.sh https://review.openstack.org http://zuul.openstack.org git://git.openstack.org
+          cd ..
+
 - builder:
     name: link-logs
     builders:
diff --git a/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml b/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml
index 4393fc18f4..23ccc3e2b6 100644
--- a/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml
+++ b/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml
@@ -1062,6 +1062,9 @@
           branch-designator: '-master'
           branch-override: master
           node: devstack-precise
+      # Special jobs for devstack-gate
+      - devstack-gate-jobs:
+          node: devstack-precise
 
 
 - project:
diff --git a/modules/openstack_project/files/zuul/layout.yaml b/modules/openstack_project/files/zuul/layout.yaml
index ccf86e02eb..b2192c9637 100644
--- a/modules/openstack_project/files/zuul/layout.yaml
+++ b/modules/openstack_project/files/zuul/layout.yaml
@@ -1696,6 +1696,8 @@ projects:
 
   - name: openstack-infra/devstack-gate
     check:
+      - check-dg-tempest-dsvm-full
+      - check-dg-tempest-dsvm-full-reexec
       - check-tempest-dsvm-full
       - check-tempest-dsvm-postgres-full
       - check-tempest-dsvm-neutron