diff --git a/jenkins/jobs/macros.yaml b/jenkins/jobs/macros.yaml
index ecd21adce2..f7ae291857 100644
--- a/jenkins/jobs/macros.yaml
+++ b/jenkins/jobs/macros.yaml
@@ -141,7 +141,12 @@
 - builder:
     name: uninstall-puppet
     builders:
-      - shell: "sudo apt-get remove -y --purge facter puppet puppet-common"
+      - shell: |
+          if [ -f /usr/bin/yum ]; then
+              sudo yum -y remove facter puppet
+          elif [ -f /usr/bin/apt-get ]; then
+              sudo apt-get remove -y --purge facter puppet puppet-common
+          fi
 
 - builder:
     name: puppet-lint
diff --git a/jenkins/jobs/projects.yaml b/jenkins/jobs/projects.yaml
index 6a0c5d7a03..b6f9fc2685 100755
--- a/jenkins/jobs/projects.yaml
+++ b/jenkins/jobs/projects.yaml
@@ -2831,7 +2831,6 @@
 
     jobs:
       - puppet-check-jobs
-      - gate-{name}-puppet-beaker-rspec
       - '{name}-forge-upload'
 
 - project:
@@ -4570,7 +4569,7 @@
     jobs:
       - puppet-check-jobs
       - puppet-module-unit
-      - gate-{name}-puppet-beaker-rspec
+      - puppet-beaker-jobs
       - gate-{name}-puppet-syntax-future
 
 - project:
@@ -4581,7 +4580,7 @@
     jobs:
       - puppet-check-jobs
       - puppet-module-unit
-      - gate-{name}-puppet-beaker-rspec
+      - puppet-beaker-jobs
       - gate-{name}-puppet-syntax-future
 
 - project:
@@ -4592,7 +4591,7 @@
     jobs:
       - puppet-check-jobs
       - puppet-module-unit
-      - gate-{name}-puppet-beaker-rspec
+      - puppet-beaker-jobs
       - gate-{name}-puppet-syntax-future
 
 - project:
@@ -4603,7 +4602,7 @@
     jobs:
       - puppet-check-jobs
       - puppet-module-unit
-      - gate-{name}-puppet-beaker-rspec
+      - puppet-beaker-jobs
       - gate-{name}-puppet-syntax-future
 
 - project:
@@ -4614,7 +4613,7 @@
     jobs:
       - puppet-check-jobs
       - puppet-module-unit
-      - gate-{name}-puppet-beaker-rspec
+      - puppet-beaker-jobs
       - gate-{name}-puppet-syntax-future
 
 - project:
@@ -4635,7 +4634,7 @@
     jobs:
       - puppet-check-jobs
       - puppet-module-unit
-      - gate-{name}-puppet-beaker-rspec
+      - puppet-beaker-jobs
       - gate-{name}-puppet-syntax-future
 
 - project:
@@ -4646,7 +4645,7 @@
     jobs:
       - puppet-check-jobs
       - puppet-module-unit
-      - gate-{name}-puppet-beaker-rspec
+      - puppet-beaker-jobs
       - gate-{name}-puppet-syntax-future
 
 - project:
@@ -4657,7 +4656,7 @@
     jobs:
       - puppet-check-jobs
       - puppet-module-unit
-      - gate-{name}-puppet-beaker-rspec
+      - puppet-beaker-jobs
       - gate-{name}-puppet-syntax-future
 
 - project:
@@ -4668,7 +4667,7 @@
     jobs:
       - puppet-check-jobs
       - puppet-module-unit
-      - gate-{name}-puppet-beaker-rspec
+      - puppet-beaker-jobs
       - gate-{name}-puppet-syntax-future
 
 - project:
@@ -4679,7 +4678,7 @@
     jobs:
       - puppet-check-jobs
       - puppet-module-unit
-      - gate-{name}-puppet-beaker-rspec
+      - puppet-beaker-jobs
       - gate-{name}-puppet-syntax-future
 
 - project:
@@ -4690,7 +4689,6 @@
     jobs:
       - puppet-check-jobs
       - puppet-module-unit
-      - gate-{name}-puppet-beaker-rspec
       - gate-{name}-puppet-syntax-future
 
 - project:
@@ -4701,7 +4699,6 @@
     jobs:
       - puppet-check-jobs
       - puppet-module-unit
-      - gate-{name}-puppet-beaker-rspec
       - gate-{name}-puppet-syntax-future
 
 - project:
@@ -4712,7 +4709,6 @@
     jobs:
       - puppet-check-jobs
       - puppet-module-unit
-      - gate-{name}-puppet-beaker-rspec
       - gate-{name}-puppet-syntax-future
 
 - project:
@@ -4723,7 +4719,7 @@
     jobs:
       - puppet-check-jobs
       - puppet-module-unit
-      - gate-{name}-puppet-beaker-rspec
+      - puppet-beaker-jobs
       - gate-{name}-puppet-syntax-future
 
 - project:
@@ -4734,7 +4730,7 @@
     jobs:
       - puppet-check-jobs
       - puppet-module-unit
-      - gate-{name}-puppet-beaker-rspec
+      - puppet-beaker-jobs
       - gate-{name}-puppet-syntax-future
 
 - project:
@@ -4772,7 +4768,6 @@
     jobs:
       - puppet-check-jobs
       - puppet-module-unit
-      - gate-{name}-puppet-beaker-rspec
       - gate-{name}-puppet-syntax-future
 
 - project:
@@ -4783,7 +4778,7 @@
     jobs:
       - puppet-check-jobs
       - puppet-module-unit
-      - gate-{name}-puppet-beaker-rspec
+      - puppet-beaker-jobs
       - gate-{name}-puppet-syntax-future
 
 - project:
@@ -4794,7 +4789,7 @@
     jobs:
       - puppet-check-jobs
       - puppet-module-unit
-      - gate-{name}-puppet-beaker-rspec
+      - puppet-beaker-jobs
       - gate-{name}-puppet-syntax-future
 
 - project:
@@ -4813,7 +4808,7 @@
     jobs:
       - puppet-check-jobs
       - puppet-module-unit
-      - gate-{name}-puppet-beaker-rspec
+      - puppet-beaker-jobs
       - gate-{name}-puppet-syntax-future
 
 - project:
@@ -4824,7 +4819,7 @@
     jobs:
       - puppet-check-jobs
       - puppet-module-unit
-      - gate-{name}-puppet-beaker-rspec
+      - puppet-beaker-jobs
       - gate-{name}-puppet-syntax-future
 
 - project:
@@ -4844,7 +4839,7 @@
     jobs:
       - puppet-check-jobs
       - puppet-module-unit
-      - gate-{name}-puppet-beaker-rspec
+      - puppet-beaker-jobs
       - gate-{name}-puppet-syntax-future
 
 - project:
@@ -4865,7 +4860,7 @@
     jobs:
       - puppet-check-jobs
       - puppet-module-unit
-      - gate-{name}-puppet-beaker-rspec
+      - puppet-beaker-jobs
       - gate-{name}-puppet-syntax-future
 
 - project:
diff --git a/jenkins/jobs/puppet-module-jobs.yaml b/jenkins/jobs/puppet-module-jobs.yaml
index c405b8a55c..82ac9e95a6 100644
--- a/jenkins/jobs/puppet-module-jobs.yaml
+++ b/jenkins/jobs/puppet-module-jobs.yaml
@@ -23,13 +23,18 @@
 
 
 - job-template:
-    name: 'gate-{name}-puppet-beaker-rspec'
-    node: '{node}'
+    name: 'gate-{name}-puppet-beaker-rspec-dsvm-{ostype}'
+    node: 'devstack-{ostype}'
 
     builders:
       - uninstall-puppet
       - shell: |
-          sudo apt-get install -y libxml2-dev libxslt-dev
+          if [ -f /usr/bin/yum ]; then
+              sudo yum -y install libxml2-devel libxslt-devel ruby-devel
+              sudo yum -y groupinstall "Development Tools"
+          elif [ -f /usr/bin/apt-get ]; then
+              sudo apt-get install -y libxml2-dev libxslt-dev
+          fi
       - gerrit-git-prep
       - shell: |
           echo "" | sudo tee -a /etc/ssh/sshd_config
@@ -141,3 +146,11 @@
       - 4.0
     jobs:
       - 'gate-{name}-puppet-unit-{puppet_version}'
+
+- job-group:
+    name: 'puppet-beaker-jobs'
+    ostype:
+      - trusty
+      - centos7
+    jobs:
+      - 'gate-{name}-puppet-beaker-rspec-dsvm-{ostype}'
diff --git a/zuul/layout.yaml b/zuul/layout.yaml
index 6fd5dec2f8..0cc4595aef 100755
--- a/zuul/layout.yaml
+++ b/zuul/layout.yaml
@@ -465,7 +465,8 @@ project-templates:
 
   - name: puppet-beaker-jobs
     check:
-      - gate-{name}-puppet-beaker-rspec
+      - gate-{name}-puppet-beaker-rspec-dsvm-trusty
+      - gate-{name}-puppet-beaker-rspec-dsvm-centos7
 
   - name: puppet-syntax-future
     check:
@@ -1030,7 +1031,7 @@ jobs:
   - name: ^gate-puppet-.*-puppet-unit-4.0$
     voting: false
   # Beaker tests have been introduced after Juno release
-  - name: ^gate-puppet-.*-puppet-beaker-rspec$
+  - name: ^gate-puppet-.*-puppet-beaker-rspec-dsvm-.*$
     branch: ^(?!stable/(havana|icehouse|juno)).*$
     voting: false
   - name: ^gate-puppet-.*-puppet-syntax-future$
@@ -4296,8 +4297,6 @@ projects:
       - name: merge-check
       - name: puppet-check-jobs
       - name: infra-puppet-apply-jobs
-    check:
-      - gate-puppet-storyboard-puppet-beaker-rspec
     release:
       - puppet-storyboard-forge-upload
 
@@ -6305,7 +6304,6 @@ projects:
       - name: merge-check
       - name: puppet-check-jobs
       - name: puppet-module-unit-jobs
-      - name: puppet-beaker-jobs
       - name: puppet-syntax-future
 
   - name: stackforge/puppet-murano
@@ -6313,7 +6311,6 @@ projects:
       - name: merge-check
       - name: puppet-check-jobs
       - name: puppet-module-unit-jobs
-      - name: puppet-beaker-jobs
       - name: puppet-syntax-future
 
   - name: stackforge/puppet-n1k-vsm
@@ -6321,7 +6318,6 @@ projects:
       - name: merge-check
       - name: puppet-check-jobs
       - name: puppet-module-unit-jobs
-      - name: puppet-beaker-jobs
       - name: puppet-syntax-future
 
   - name: stackforge/puppet-neutron
@@ -6377,7 +6373,6 @@ projects:
       - name: merge-check
       - name: puppet-check-jobs
       - name: puppet-module-unit-jobs
-      - name: puppet-beaker-jobs
       - name: puppet-syntax-future
 
   - name: stackforge/puppet-openstack-specs