diff --git a/gerrit/acls/openstack/sahara-scenario.config b/gerrit/acls/openstack/sahara-scenario.config
new file mode 100644
index 0000000000..c58e0ea1c0
--- /dev/null
+++ b/gerrit/acls/openstack/sahara-scenario.config
@@ -0,0 +1,14 @@
+[access "refs/heads/*"]
+abandon = group sahara-scenario-core
+label-Code-Review = -2..+2 group sahara-scenario-core
+label-Workflow = -1..+1 group sahara-scenario-core
+
+[access "refs/tags/*"]
+pushSignedTag = group sahara-scenario-release
+
+[receive]
+requireChangeId = true
+requireContributorAgreement = true
+
+[submit]
+mergeContent = true
diff --git a/gerrit/projects.yaml b/gerrit/projects.yaml
index 53eb2d00cd..3382e6648e 100755
--- a/gerrit/projects.yaml
+++ b/gerrit/projects.yaml
@@ -2858,6 +2858,10 @@
     - sahara
   description: Disk image elements for Sahara
   acl-config: /home/gerrit2/acls/openstack/sahara-etc.config
+- project: openstack/sahara-scenario
+  description: Repo for Sahara Scenario Framework
+  groups:
+    - sahara
 - project: openstack/sahara-specs
   groups:
     - sahara
diff --git a/jenkins/jobs/projects.yaml b/jenkins/jobs/projects.yaml
index 5896100ad5..0b98217646 100644
--- a/jenkins/jobs/projects.yaml
+++ b/jenkins/jobs/projects.yaml
@@ -6757,6 +6757,13 @@
       - 'gate-sahara-buildimages-{plugin}':
           plugin: plain
 
+- project:
+    name: sahara-scenario
+    node: 'bare-precise || bare-trusty'
+
+    jobs:
+      - gate-{name}-pep8
+
 - project:
     name: sahara-specs
     node: 'bare-precise || bare-trusty'
diff --git a/zuul/layout.yaml b/zuul/layout.yaml
index 15556ea1aa..50f6879337 100644
--- a/zuul/layout.yaml
+++ b/zuul/layout.yaml
@@ -8852,6 +8852,15 @@ projects:
     post:
       - sahara-image-elements-branch-tarball
 
+# TODO: add docs
+  - name: openstack/sahara-scenario
+    template:
+      - name: merge-check
+    check:
+      - gate-sahara-scenario-pep8
+    gate:
+      - gate-sahara-scenario-pep8
+
   - name: openstack/sahara-specs
     template:
       - name: merge-check