
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
142 lines
3.0 KiB
ReStructuredText
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>`.
|