infra-specs/specs/gerrit-2.13.rst
Jeremy Stanley 607e3f2d0d Make Gerrit contactstore removal a priority
Because we've agreed that the Gerrit 2.13 upgrade effort is a
priority, and because we need to stop relying on the contactstore
feature to be able to do that, we should consider the
gerrit-contactstore-removal spec a transitive priority as an
explicit dependency of a priority spec.

Change-Id: I1b12bca9eb9b46dacbc42e9f36b8f6042ee3d90c
2017-07-13 20:37:47 +00:00

142 lines
3.0 KiB
ReStructuredText

::
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
============
Because Gerrit 2.12 and later have dropped the ``contact store``
feature, we need to first :doc:`stop relying on it
<gerrit-contactstore-removal>`.