diff --git a/modules/gerritbot/files/gerritbot_channel_config.yaml b/modules/gerritbot/files/gerritbot_channel_config.yaml
index e174cf1638..fc1deb29e0 100644
--- a/modules/gerritbot/files/gerritbot_channel_config.yaml
+++ b/modules/gerritbot/files/gerritbot_channel_config.yaml
@@ -189,6 +189,7 @@ openstack-qa:
       - openstack/tempest
       - openstack-dev/devstack
       - openstack-dev/grenade
+      - openstack-infra/elastic-recheck
       - openstack-infra/devstack-gate
     branches:
       - master
diff --git a/modules/openstack_project/files/gerrit/acls/openstack-infra/elastic-recheck.config b/modules/openstack_project/files/gerrit/acls/openstack-infra/elastic-recheck.config
new file mode 100644
index 0000000000..111fdb4317
--- /dev/null
+++ b/modules/openstack_project/files/gerrit/acls/openstack-infra/elastic-recheck.config
@@ -0,0 +1,15 @@
+[access "refs/*"]
+        create = group elastic-recheck-ptl
+[access "refs/heads/*"]
+        label-Approved = +0..+1 group elastic-recheck-core
+        label-Code-Review = -2..+2 group elastic-recheck-core
+[access "refs/tags/*"]
+        create = group elastic-recheck-ptl
+        pushTag = group elastic-recheck-ptl
+[project]
+        state = active
+[receive]
+        requireChangeId = true
+        requireContributorAgreement = true
+[submit]
+        mergeContent = true
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 18a6c44021..426054773d 100644
--- a/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml
+++ b/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml
@@ -211,6 +211,15 @@
       - python-jobs
       - pypi-jobs
 
+- project:
+    name: elastic-recheck
+    github-org: openstack-infra
+    node: precise
+    tarball-site: tarballs.openstack.org
+
+    jobs:
+      - gate-{name}-pep8
+
 
 - project:
     name: statusbot
diff --git a/modules/openstack_project/files/zuul/layout.yaml b/modules/openstack_project/files/zuul/layout.yaml
index d3119be469..b9653c8f73 100644
--- a/modules/openstack_project/files/zuul/layout.yaml
+++ b/modules/openstack_project/files/zuul/layout.yaml
@@ -1533,6 +1533,12 @@ projects:
       - gate-grenade-devstack-vm-stable
       - gate-devstack-vm-cells
 
+  - name: openstack-infra/elastic-recheck
+    check:
+      - gate-elastic-recheck-pep8
+    gate:
+      - gate-elastic-recheck-pep8
+
   - name: openstack-infra/devstack-gate
     check:
       - gate-tempest-devstack-vm-smoke
diff --git a/modules/openstack_project/templates/review.projects.yaml.erb b/modules/openstack_project/templates/review.projects.yaml.erb
index 44e53ecc85..3eb8c49734 100644
--- a/modules/openstack_project/templates/review.projects.yaml.erb
+++ b/modules/openstack_project/templates/review.projects.yaml.erb
@@ -422,3 +422,6 @@
   upstream: git://github.com/bswartz/manila.git
 - project: stackforge/python-manilaclient
   upstream: git://github.com/bswartz/python-manilaclient.git
+- project: openstack-infra/elastic-recheck
+  upstream: git://github.com/jogo/elasticRecheck
+  description: Classify tempest-devstack failures using ElasticSearch