Gerrt upgrade from 2.14.9 to 3.7

116 views
Skip to first unread message

praveenm

unread,
Feb 25, 2025, 10:08:39 PM2/25/25
to Repo and Gerrit Discussion
We are planing  upgrade our gerrit version  from 2.14.x release to the latest 3.7 release
Please suggest

Thanks

Ewout Maertens

unread,
Feb 26, 2025, 3:37:59 AM2/26/25
to Repo and Gerrit Discussion
Hi Praveenm,

I would suggest starting by reading the release notes. 2.14 to 3.7 is a major bump that includes a lot of breaking changes.

Then I would set up a test environment with 2.14 and incrementally increase one minor release (2.14 -> 2.15 -> 2.16) and check if everything remains working. While still on 2.16 I recommend migrating the ReviewDB to NoteDB using the following guide: https://gerrit-review.googlesource.com/Documentation/note-db.html?utm_source=chatgpt.com#migration

ReviewDB is no longer supported from 3.x on out, and 2.16 is the latest supported version. Keep in mind that any Gerrit plugins will likely need different versions as well and will have to be updated continuously, keep marks of which plugins you upgrade when. I suggest creating a checklist on how to test plugin/gerrit functionality.

After this I would continue upgrading to 3.0 and checking the integrity of NoteDB and other plugins, also keep checking the Gerrit logs, then continue upgrading to 3.7. You can probably go from 3.0 -> 3.2, but if you want to feel more confident jumping one minor release is suggested.

After you have performed the full upgrade on a test environment, and you feel confident enough, you can start upgrading production with steps you have written down during testing.

Please take backups before starting any upgrades in production

Upgrading from 2.14 to 3.7 is a major bump and will likely take a lot of work, but it will make you feel more confident to keep Gerrit at the latest stable release and will help you to perform upgrades in the future.

Kind regards,
Ewout Maertens

Daniele Sassoli

unread,
Feb 26, 2025, 3:57:27 AM2/26/25
to Repo and Gerrit Discussion
Hi Praveenm

On Wednesday, 26 February 2025 at 08:37:59 UTC ewo...@arista.com wrote:
Hi Praveenm,

I would suggest starting by reading the release notes. 2.14 to 3.7 is a major bump that includes a lot of breaking changes.

Then I would set up a test environment with 2.14 and incrementally increase one minor release (2.14 -> 2.15 -> 2.16) and check if everything remains working. While still on 2.16 I recommend migrating the ReviewDB to NoteDB using the following guide: https://gerrit-review.googlesource.com/Documentation/note-db.html?utm_source=chatgpt.com#migration

ReviewDB is no longer supported from 3.x on out, and 2.16 is the latest supported version. Keep in mind that any Gerrit plugins will likely need different versions as well and will have to be updated continuously, keep marks of which plugins you upgrade when. I suggest creating a checklist on how to test plugin/gerrit functionality.

After this I would continue upgrading to 3.0 and checking the integrity of NoteDB and other plugins, also keep checking the Gerrit logs, then continue upgrading to 3.7. You can probably go from 3.0 -> 3.2, but if you want to feel more confident jumping one minor release is suggested.

After you have performed the full upgrade on a test environment, and you feel confident enough, you can start upgrading production with steps you have written down during testing.

Please take backups before starting any upgrades in production

Upgrading from 2.14 to 3.7 is a major bump and will likely take a lot of work, but it will make you feel more confident to keep Gerrit at the latest stable release and will help you to perform upgrades in the future.
 
Everything Ewout says is correct. However, this being such a big upgrade there are going to be a few different ways of doing it.
First of all, why target 3.7 when it's already EOL, the latest release is 3.11, with 3.12 soon to come out.

Also remember you'll need to stop on Gerrit 3.5 to run the copy-approvals command.

You could also skip directly from 3.5 to 3.10 and beyond as I describe in [1].

As Ewout says, it's a big task so test your plan in pre-prod until you're confident.

[1] https://www.youtube.com/watch?v=vK5qsb0W7q4&list=PLySCWiWz9cNtZ1W0QzWq3TwPTRB7UWwy-&index=8
 
Reply all
Reply to author
Forward
0 new messages