[Gluster-infra] Gerrit Upgrade

Nigel Babu nigelb at redhat.com
Thu May 19 11:25:46 UTC 2016


Hello,

We've got a long chain of dependencies for upgrading Gerrit. As I
understand, we need to do the following:

* Upgrade the operating system to CentOS 7.
* Move the database out of H2 to MySQL or PostgreSQL.
* Upgrade gerrit itself.

The hairiest part of this process, I feel is the database. As far as I
understand, we use H2 at the moment and it's a file along with everything
else. From what I read, it's the sqlite3 of the java world.

If we can move the database into PostgreSQL, we can change on risky part of
this process. I've looked at how to do this on a gerrit install on a clean
slate server on digital ocean. So, I know what to do.

What needs to happen:
* We schedule a brief downtime window to copy the db files. We copy the db
files out of the production instance to a test instance (perhaps it's time
we had a staging site?) to export the databases out and migrate the
database to postgres. This will give us a chance to test and catch any
special bugs we may come across.
* We test the instance thoroughly, especially for actions we do frequently
on our current instance - push/pull code, a few reviews, and github logins.
I don't know if a CI trigger is a good thing to do, but that's where I'll
need input.
* Once we know how much time it will take, we schedule a downtime window
and start the upgrade on production. A lot of the process seems to be
removing the data into csv files and loading it back into postgresql. It's
not fun, for sure :)
* Now upgrade the test instance to latest gerrit and run another round of
testing.
* Upgrade production to latest gerrit.

The OS needs to upgrade and I know it's critical, but it can happen
independent of the db migration and gerrit upgrade itself. As long as it
doesn't happen in the same downtime window. If this sounds good, I'd like
to schedule a short downtime (30 mins or so) tomorrow or on Monday to get a
copy of the data. If we have backups somewhere that's something as old as
30 days, that works too.

I'd love to hear thoughts on how crazy this sounds or if there's something
I've missed.

nigelb
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.gluster.org/pipermail/gluster-infra/attachments/20160519/b6695603/attachment.html>


More information about the Gluster-infra mailing list