From c7cfb89c5a03f27829514edf01dba6de1c9449db Mon Sep 17 00:00:00 2001
From: Sergey Lukjanov <slukjanov@mirantis.com>
Date: Wed, 5 Feb 2014 17:37:36 +0400
Subject: [PATCH] Add savanna-guestagent project

At the last design summit, we agreed to use guest agent in Savanna. This repo
will contain the first version (proof-of-concept) of guest agent implementation
for Savanna. It's a first step of unified agents approach implementation.

Separated ACL will be used for early dev / proof-of-concept period.

Change-Id: I68842135740cadb7d34b2f0889265239fe247dc1
---
 .../files/gerritbot_channel_config.yaml         |  1 +
 .../acls/stackforge/savanna-guestagent.config   | 17 +++++++++++++++++
 .../jenkins_job_builder/config/projects.yaml    | 10 ++++++++++
 .../files/review.projects.yaml                  |  3 +++
 .../openstack_project/files/zuul/layout.yaml    | 16 ++++++++++++++++
 5 files changed, 47 insertions(+)
 create mode 100644 modules/openstack_project/files/gerrit/acls/stackforge/savanna-guestagent.config

diff --git a/modules/gerritbot/files/gerritbot_channel_config.yaml b/modules/gerritbot/files/gerritbot_channel_config.yaml
index 6678a85eec..5852b0dd15 100644
--- a/modules/gerritbot/files/gerritbot_channel_config.yaml
+++ b/modules/gerritbot/files/gerritbot_channel_config.yaml
@@ -171,6 +171,7 @@ savanna:
       - openstack/savanna-image-elements
       - stackforge/puppet-savanna
       - stackforge/savanna-ci-config
+      - stackforge/savanna-guestagent
     branches:
       - master
       - stable/0.1
diff --git a/modules/openstack_project/files/gerrit/acls/stackforge/savanna-guestagent.config b/modules/openstack_project/files/gerrit/acls/stackforge/savanna-guestagent.config
new file mode 100644
index 0000000000..da88b28677
--- /dev/null
+++ b/modules/openstack_project/files/gerrit/acls/stackforge/savanna-guestagent.config
@@ -0,0 +1,17 @@
+[access "refs/heads/*"]
+        label-Code-Review = -2..+2 group savanna-guestagent-core
+        label-Approved = +0..+1 group savanna-guestagent-core
+        workInProgress = group savanna-guestagent-core
+[access "refs/heads/stable/*"]
+        exclusiveGroupPermissions = label-Code-Review label-Approved
+        label-Code-Review = -2..+2 group savanna-guestagent-core
+        label-Approved = +0..+1 group savanna-guestagent-core
+        label-Code-Review = -1..+1 group Registered Users
+[access "refs/tags/*"]
+        create = group savanna-guestagent-milestone
+        pushTag = group savanna-guestagent-milestone
+[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 af8928f4dd..a583675c2b 100644
--- a/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml
+++ b/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml
@@ -1412,6 +1412,16 @@
     jobs:
       - gate-{name}-pep8
 
+- project:
+    name: savanna-guestagent
+    github-org: stackforge
+    node: precise
+    tarball-site: tarballs.openstack.org
+
+    jobs:
+      - python-jobs
+      - pypi-jobs
+
 - project:
     name: puppet-swift
     github-org: stackforge
diff --git a/modules/openstack_project/files/review.projects.yaml b/modules/openstack_project/files/review.projects.yaml
index 284ba1930f..a442b555d9 100644
--- a/modules/openstack_project/files/review.projects.yaml
+++ b/modules/openstack_project/files/review.projects.yaml
@@ -717,6 +717,9 @@
 - project: stackforge/savanna-ci-config
   description: savanna-ci 3rd party testing configs (jjb, zuul, etc.)
   acl-config: /home/gerrit2/acls/stackforge/savanna-ci-config.config
+- project: stackforge/savanna-guestagent
+  description: Guest agent for Savanna project
+  acl-config: /home/gerrit2/acls/stackforge/savanna-guestagent.config
 - project: stackforge/solum
   description: 'An OpenStack related project designed to make cloud services easier to consume and integrate into your application development process. See: https://wiki.openstack.org/wiki/Solum'
   upstream: git://github.com/rackerlabs/solum
diff --git a/modules/openstack_project/files/zuul/layout.yaml b/modules/openstack_project/files/zuul/layout.yaml
index 0f35365590..4b64691a54 100644
--- a/modules/openstack_project/files/zuul/layout.yaml
+++ b/modules/openstack_project/files/zuul/layout.yaml
@@ -3745,6 +3745,22 @@ projects:
     gate:
       - gate-savanna-ci-config-pep8
 
+  - name: stackforge/savanna-guestagent
+    template:
+      - name: python-jobs
+    check:
+      - gate-savanna-guestagent-requirements
+    gate:
+      - gate-savanna-guestagent-requirements
+    pre-release:
+      - savanna-guestagent-tarball
+    release:
+      - savanna-guestagent-tarball:
+        - savanna-guestagent-pypi-upload:
+          - post-mirror-python26
+          - post-mirror-python27
+          - post-mirror-python33
+
   - name: stackforge/puppet-swift
     check:
       - gate-puppet-swift-puppet-lint