diff --git a/gerrit/acls/openstack/os-performance-tools.config b/gerrit/acls/openstack/os-performance-tools.config
new file mode 100644
index 0000000000..d10a85aa1d
--- /dev/null
+++ b/gerrit/acls/openstack/os-performance-tools.config
@@ -0,0 +1,14 @@
+[access "refs/heads/*"]
+abandon = group os-performance-tools-core
+label-Code-Review = -2..+2 group os-performance-tools-core
+label-Workflow = -1..+1 group os-performance-tools-core
+
+[access "refs/tags/*"]
+pushSignedTag = group os-performance-tools-release
+
+[receive]
+requireChangeId = true
+requireContributorAgreement = true
+
+[submit]
+mergeContent = true
diff --git a/gerrit/projects.yaml b/gerrit/projects.yaml
index c5db7061f7..1cbc376307 100755
--- a/gerrit/projects.yaml
+++ b/gerrit/projects.yaml
@@ -2058,6 +2058,9 @@
 - project: openstack/os-net-config
   description: Host network configuration tool
   acl-config: /home/gerrit2/acls/openstack/os-apply-config.config
+- project: openstack/os-performance-tools
+  description: Python scripts for use in Performance QA work
+  upstream: https://github.com/SpamapS/openstack-qa-tools.git
 - project: openstack/os-refresh-config
   description: Restart services and coordinate data migration on Heat config changes.
   acl-config: /home/gerrit2/acls/openstack/os-apply-config.config
diff --git a/gerritbot/channels.yaml b/gerritbot/channels.yaml
index 70a54a3058..7ba023fcd3 100755
--- a/gerritbot/channels.yaml
+++ b/gerritbot/channels.yaml
@@ -765,6 +765,7 @@ openstack-infra:
     - openstack-infra/zuul-packaging
     - openstack/diskimage-builder
     - openstack/gertty
+    - openstack/os-performance-tools
     - openstack/os-testr
     - openstack/python-jenkins
     - openstack/requirements
@@ -1307,6 +1308,7 @@ openstack-qa:
     - openstack-infra/subunit2sql
     - openstack/eslint-config-openstack
     - openstack/openstack-health
+    - openstack/os-performance-tools
     - openstack/os-testr
     - openstack/qa-specs
     - openstack/stackviz
diff --git a/jenkins/jobs/projects.yaml b/jenkins/jobs/projects.yaml
index 81318c8efe..a7f88460f9 100644
--- a/jenkins/jobs/projects.yaml
+++ b/jenkins/jobs/projects.yaml
@@ -3496,6 +3496,15 @@
       - python-jobs
       - pypi-jobs
 
+- project:
+    name: os-performance-tools
+    node: 'bare-precise || bare-trusty'
+    tarball-site: tarballs.openstack.org
+
+    jobs:
+      - python-jobs
+      - pypi-jobs
+
 - project:
     name: os-refresh-config
     node: 'bare-precise || bare-trusty'
diff --git a/zuul/layout.yaml b/zuul/layout.yaml
index 2820ed807a..ff03ab18d4 100644
--- a/zuul/layout.yaml
+++ b/zuul/layout.yaml
@@ -6828,6 +6828,14 @@ projects:
       - os-net-config-coverage
       - os-net-config-branch-tarball
 
+  - name: openstack/os-performance-tools
+    template:
+      - name: merge-check
+      - name: check-requirements
+      - name: publish-to-pypi
+      - name: python-jobs
+      - name: python3-jobs
+
 #TODO: add docs
   - name: openstack/os-refresh-config
     template: