diff --git a/doc/source/index.rst b/doc/source/index.rst index 9f974bc..cdab5d5 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -42,6 +42,7 @@ permits. specs/deploy-ci-dashboard specs/deploy-stackviz specs/doc-publishing + specs/gerrit-2.13 specs/jenkins-job-builder_2.0.0-api-changes specs/neutral-governance-website specs/nodepool-launch-workers diff --git a/specs/gerrit-2.13.rst b/specs/gerrit-2.13.rst new file mode 100644 index 0000000..7a8efe7 --- /dev/null +++ b/specs/gerrit-2.13.rst @@ -0,0 +1,138 @@ +:: + + Copyright 2015 OpenStack Foundation + + This work is licensed under a Creative Commons Attribution 3.0 + Unported License. + http://creativecommons.org/licenses/by/3.0/legalcode + +=================== +Gerrit 2.13 Upgrade +=================== + +We will upgrade our current Gerrit 2.11 production instance to 2.13. + +Problem Description +=================== + +Our production Gerrit server is two minor releases behind the latest +release of Gerrit. We want to update gerrit from 2.11.4 to 2.13.x so +that we can get the latest features and bug fixes. Also we don't +want to fall to far behind upstream otherwise it might be more +difficult to upgrade later. + + +Proposed Change +=============== + +Upgrade to Gerrit 2.13 in a maintenance window. + +Alternatives +------------ + +1. Stay on 2.11. and go without useful new fixes/features. +Pros: We know the issues with this release. +Cons: We are behind upstream and don't get many new features. + +2. Upgrade to 2.12.x +Many companies have already upgraded to 2.12.x which makes this a viable +option. +Pros: Other companies have vetted this version. +Cons: Fixes might be difficult to get into this branch. + +3. Upgrade to master +Pros: May get fixes faster on master than on stable branches +Cons: Only Google and GerritForge is on master. + +Risks +----- + +2.13.x has not been installed by many companies so it really hasn't been +vetted by other companies yet. + +Implementation +============== + +Assignee(s) +----------- + +Primary assignee: + zaro + + +Gerrit Topic +------------ + +Use Gerrit topic "gerrit-upgrade" for all patches related to this spec. + +.. code-block:: bash + + git-review -t gerrit-upgrade + +Work Items +---------- + +We don't have a zuul dev environemnt that uses review-dev. Currently zuul-dev.o.o +does not run jobs for review-dev.o.o. The first step is to update zuul-dev.o.o to +simulate production zuul. We need to update it to the same version and get it to +run jobs triggered off of the gerrit stream events. Once that happens we'll have +a valid dev environment for testing Gerrit 2.13. There's more on testing gerrit +in the testing section. + +In case we need to rollback, we should create a mysql database rollback script. + +Create a fork from Gerrit stable-2.13 branch and add build jobs for 2.13 and it's +associated plugins. + +Puppet up some changes to swap out new versions. + + +Repositories +------------ + +Create an 'openstack/2.13.1' fork from the latest Gerrit 2.13.x tag + + +Servers +------- + +N/A + +DNS Entries +----------- + +N/A + +Documentation +------------- + +N/A + +Security +-------- + +N/A + +Testing +------- + +We need to update review-dev.o.o with Gerrit 2.13 and test the +following integrations: + - data migration + - gerrit replication + - gerrit javascript (toggle-ci & test results) + - jeepyb integration + - zuul integration + - storyboard integration (its-storyboard plugin) + - launchpad integration + - gerrty + - rollback + - javamelody plugin + - gerrit hooks + - git-review + + +Dependencies +============ + +N/A