From 6b95efed50dcf4e565207537fb48c322560450c1 Mon Sep 17 00:00:00 2001 From: Jeremy Stanley Date: Tue, 11 Dec 2012 18:38:25 +0000 Subject: [PATCH] Update Gerrit docs for CLA and group changes. * doc/source/gerrit.rst: Changes to the CLA process and group management have removed the need for Launchpad synchronization. * doc/source/stackforge.rst: Rewrite the core group section to refer to new Gerrit-specific workflow instead of the old Launchpad method. * doc/source/systems.rst: Remove recommendation for adding core groups to Launchpad since those are a Gerrit-only concept now (bugs and drivers groups remain relevant to LP however). Change-Id: I2532b93a43821848bb48d12fcaf3f1b0b07dd207 Reviewed-on: https://review.openstack.org/17868 Reviewed-by: James E. Blair Approved: James E. Blair Tested-by: Jenkins --- doc/source/gerrit.rst | 49 ++++++++++++++++----------------------- doc/source/stackforge.rst | 13 +++++++---- doc/source/systems.rst | 2 -- 3 files changed, 28 insertions(+), 36 deletions(-) diff --git a/doc/source/gerrit.rst b/doc/source/gerrit.rst index 6bf3a309c5..4c799f072a 100644 --- a/doc/source/gerrit.rst +++ b/doc/source/gerrit.rst @@ -209,35 +209,17 @@ we're not happy with people for submitting the patch in the first place: set name="I would prefer that you didn't merge this" where category_id='CRVW' and value=-1; -OpenStack currently uses a hybrid approach for CLA enforcement. We -use Gerrit's built in CLA system to ensure that contributors have -signed the CLA, but contributors don't actually use Gerrit to sign it. -Instead, developers use an external service (Echosign) to agree to the -CLA, and then request membership in a Launchpad group called -"openstack-cla". The moderators of that group (core members of any -OpenStack project) approve membership requests after verifying that -new contributors have signed the CLA at Echosign. The openstack-cla -group is kept synchronized with Gerrit. Gerrit is then configured -with a "dummy" CLA (which users are not expected to see), and the -administrator indicates to Gerrit that the entire openstack-cla group -has agreed to the CLA. This lets Gerrit enforce that the CLA has been -signed while the actual facility to sign it in Gerrit is disabled via -a source patch. - -This configuration is not recommended for new projects and is merely -an artifact of legal requirements placed on the OpenStack project. -Here are the SQL commands to set it up: +OpenStack currently uses Gerrit's built in CLA system. This +configuration is not recommended for new projects and is merely an +artifact of legal requirements placed on the OpenStack project. Here are +the SQL commands to set it up: .. code-block:: mysql - insert into contributor_agreement_id values (NULL); - insert into contributor_agreements values ('Y', 'N', 'N', 'CLA (Echosign)', - 'OpenStack CLA via Echosign', 'static/echosign-cla.html', 1); - - insert into account_group_agreements values ( - now(), 'V', 1, now(), NULL, - (select group_id from account_group_names where name='openstack-cla'), - 1); + insert into contributor_agreements values ( + 'Y', 'Y', 'Y', 'ICLA', + 'OpenStack Individual Contributor License Agreement', + 'static/cla.html', 2); Install Apache @@ -436,6 +418,17 @@ onto the gerrit servers. This script follows two rules: If your review gets touched by either of these rules it is possible to unabandon a review on the gerrit web interface. +Launchpad Integration +===================== + +Keys +---- + +The key for the launchpad account is in ~/.ssh/launchpad_rsa. Connecting +to Launchpad requires oauth authentication - so open the URL in a +browser and log in to launchpad as the hudson-openstack user. Subsequent +runs will use the cached credentials. + Gerrit IRC Bot ============== @@ -591,9 +584,7 @@ use this method whenever possible. Puppet and its related scripts are able to create the new project in Gerrit, create the new project on Github, create a local git replica on the Gerrit host, configure the project Access Controls, and create new -groups in Gerrit that are mentioned in the Access Controls. The only -potential piece missing from this process is the management of group -membership, which is currently performed through launchpad. You might +groups in Gerrit that are mentioned in the Access Controls. You might also want to configure Zuul and Jenkins to run tests on the new project. The details for that process are in the next section. diff --git a/doc/source/stackforge.rst b/doc/source/stackforge.rst index b7fe566401..b1821be457 100644 --- a/doc/source/stackforge.rst +++ b/doc/source/stackforge.rst @@ -26,15 +26,18 @@ What StackForge is not: Add a Project to StackForge *************************** -Create Core Group in Launchpad +Request a Core Group in Gerrit ============================== -StackForge uses Launchpad for group management. The first step in -creating a StackForge project is to create a team on Launchpad called +StackForge uses Gerrit for group management. The first step in +creating a StackForge project is to request a group in Gerrit called ``your-project-name-core``. Members of this team will have permissions -to approve code changes to your project. +to approve code changes to your project, and to add other Gerrit users +to the group. -You can create launchpad teams at https://launchpad.net/people/+newteam. +You can request Gerrit groups by opening a bug at +https://bugs.launchpad.net/openstack-ci/+filebug (make sure to mention +the Gerrit name or E-mail address of at least one initial member). Create a new StackForge Project with Puppet =========================================== diff --git a/doc/source/systems.rst b/doc/source/systems.rst index b5fa9b42ba..669f92c0f6 100644 --- a/doc/source/systems.rst +++ b/doc/source/systems.rst @@ -161,8 +161,6 @@ Launchpad Teams Each OpenStack project should have the following teams on Launchpad: - * foo -- contributors to project 'foo' - * foo-core -- core developers * foo-bugs -- people interested in receieving bug reports * foo-drivers -- people who may approve and target blueprints