Page MenuHomePhabricator

Gerrit switchover process
Closed, ResolvedPublic

Description

A part of the effort to standardize failover procedures for Collab services.

Details

Related Changes in Gerrit:
SubjectAuthorRepoBranchLines +/-
Arnaudboperations/puppetproduction+0 -7
Arnaudboperations/cookbooksmaster+3 -5
Arnaudboperations/cookbooksmaster+9 -9
Arnaudboperations/dnsmaster+5 -6
Arnaudboperations/cookbooksmaster+0 -0
Arnaudboperations/puppetproduction+2 -2
Arnaudboperations/puppetproduction+134 -65
Arnaudboperations/cookbooksmaster+23 -23
Arnaudboperations/puppetproduction+1 -1
Arnaudboperations/puppetproduction+4 -4
Arnaudboperations/puppetproduction+1 -1
Arnaudboperations/puppetproduction+3 -3
Arnaudboperations/puppetproduction+79 -40
Arnaudboperations/cookbooksmaster+2 -0
Arnaudboperations/cookbooksmaster+15 -14
Arnaudboperations/puppetproduction+2 -0
Arnaudboperations/cookbooksmaster+289 -129
Hasharoperations/dnsmaster+25 -13
Arnaudboperations/puppetproduction+79 -40
Arnaudboperations/cookbooksmaster+8 -48
Arnaudboperations/cookbooksmaster+144 -0
Arnaudboperations/cookbooksmaster+12 -6
Arnaudboperations/cookbooksmaster+7 -43
Arnaudboperations/puppetproduction+25 -0
Arnaudboperations/cookbooksmaster+0 -8
Arnaudboperations/cookbooksmaster+6 -4
Arnaudboperations/cookbooksmaster+12 -7
Arnaudboperations/puppetproduction+2 -2
Arnaudboperations/cookbooksmaster+5 -3
Arnaudboperations/cookbooksmaster+1 -1
Arnaudboperations/puppetproduction+0 -2
Arnaudboperations/dnsmaster+8 -8
Arnaudboperations/puppetproduction+70 -33
Arnaudboperations/cookbooksmaster+4 -4
Arnaudboperations/dnsmaster+8 -8
Arnaudboperations/puppetproduction+70 -33
Arnaudboperations/puppetproduction+70 -33
Hasharoperations/software/gerritdeploy/wmf/stable-3.10+114 -0
Hasharoperations/software/gerritdeploy/wmf/stable-3.10+4 -4
Hasharoperations/software/gerritdeploy/wmf/stable-3.10+5 -3
Arnaudboperations/cookbooksmaster+9 -10
Arnaudboperations/cookbooksmaster+98 -97
Arnaudboperations/dnsmaster+8 -8
Dzahnoperations/puppetproduction+5 -3
Arnaudboperations/cookbooksmaster+5 -3
Arnaudboperations/cookbooksmaster+24 -9
Dzahnoperations/puppetproduction+2 -2
Arnaudboperations/puppetproduction+46 -30
Arnaudboperations/puppetproduction+19 -0
Arnaudboperations/puppetproduction+1 -0
Arnaudboperations/puppetproduction+1 -6
Arnaudboperations/puppetproduction+19 -0
Arnaudboperations/puppetproduction+5 -3
Arnaudboperations/dnsmaster+8 -3
Arnaudboperations/cookbooksmaster+64 -218
Dzahnoperations/puppetproduction+18 -21
Dzahnoperations/puppetproduction+1 -1
Dzahnoperations/puppetproduction+11 -2
Hasharoperations/software/gerritdeploy/wmf/stable-3.10+3 -0
Arnaudboperations/cookbooksmaster+1 -1
Arnaudboperations/cookbooksmaster+52 -150
Arnaudboperations/cookbooksmaster+304 -0
Arnaudboperations/software/gerritwmf/stable-3.10+4 -0
Arnaudboperations/software/gerritwmf/stable-3.10+4 -0
Arnaudboperations/software/gerritdeploy/wmf/stable-3.10+0 -0
Dzahnoperations/puppetproduction+3 -2
Dzahnoperations/puppetproduction+1 -1
Dzahnoperations/puppetproduction+16 -8
Dzahnoperations/puppetproduction+1 -0
Arnaudboperations/puppetproduction+5 -3
Arnaudboperations/dnsmaster+8 -8
Arnaudboperations/puppetproduction+3 -3
Arnaudboperations/dnsmaster+8 -8
Show related patches Customize query in gerrit

Related Objects

StatusSubtypeAssignedTask
ResolvedDzahn
ResolvedABran-WMF
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
ResolvedABran-WMF
OpenNone
ResolvedNone
ResolvedABran-WMF
OpenNone
ResolvedABran-WMF
ResolvedABran-WMF
ResolvedABran-WMF
ResolvedDzahn
OpenNone
ResolvedMatthewVernon
ResolvedLSobanski
ResolvedABran-WMF
ResolvedABran-WMF
ResolvedLSobanski
Resolvedhashar
Resolvedhashar
Resolvedhashar
OpenNone
OpenNone
Resolvedhashar
ResolvedABran-WMF
ResolvedABran-WMF
ResolvedABran-WMF
Resolveddancy
ResolvedABran-WMF
DuplicateNone
DuplicateABran-WMF
ResolvedABran-WMF
ResolvedABran-WMF
ResolvedABran-WMF
ResolvedABran-WMF
ResolvedABran-WMF
ResolvedABran-WMF
ResolvedABran-WMF
ResolvedABran-WMF

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

Here are the notes / commands from a gerrit failover in the past:

https://phabricator.wikimedia.org/P47782

Here is how we did the DNS change without having to merge while Gerrit is down:

  1. merge DNS change that removes gerrit-new and switches IP of gerrit.wikimedia.org - in web UI of gerrit(-old)
  2. run authdns-update on ns0.wikimedia.org, see the diff but do NOT commit yet
  3. disable puppet, stop gerrit, do the rsync, run chmod -R ...
  4. say "yes" to authdns-update and actually merge DNS change that removes gerrit-new and switches IP of gerrit.wikimedia.org

Change #1196792 had a related patch set uploaded (by Arnaudb; author: Arnaudb):

[operations/puppet@production] gerrit: unmask service & disable backup temporarily

https://gerrit.wikimedia.org/r/1196792

Here is how we did the DNS change without having to merge while Gerrit is down:

Thanks for the dig! I tweaked the process and the cookbook to be closer to this, the puppet merge timing was inconsistent with that approach.

Change #1196684 merged by jenkins-bot:

[operations/cookbooks@master] gerrit: rsync and chown fixes

https://gerrit.wikimedia.org/r/1196684

Change #1196694 merged by jenkins-bot:

[operations/cookbooks@master] gerrit: stop puppet across all instances

https://gerrit.wikimedia.org/r/1196694

Change #1196695 merged by jenkins-bot:

[operations/cookbooks@master] gerrit: stop stopping gerrit.service

https://gerrit.wikimedia.org/r/1196695

Change #1193599 abandoned by Arnaudb:

[operations/cookbooks@master] gerrit: remove localbackup logic from failover

Reason:

obsolete, will workaround the merge conflict with another change

https://gerrit.wikimedia.org/r/1193599

Change #1210386 had a related patch set uploaded (by Arnaudb; author: Arnaudb):

[operations/cookbooks@master] gerrit: remove localbackup logic from failover

https://gerrit.wikimedia.org/r/1210386

Change #1195437 merged by jenkins-bot:

[operations/cookbooks@master] gerrit: add dry run rsync

https://gerrit.wikimedia.org/r/1195437

Change #1193590 merged by jenkins-bot:

[operations/cookbooks@master] gerrit: add a local backup cookbook

https://gerrit.wikimedia.org/r/1193590

Change #1210560 had a related patch set uploaded (by Hashar; author: Hashar):

[operations/dns@master] gerrit: add a layer of CNAME to ease switch overs

https://gerrit.wikimedia.org/r/1210560

Change #1210386 merged by jenkins-bot:

[operations/cookbooks@master] gerrit: remove localbackup logic from failover

https://gerrit.wikimedia.org/r/1210386

Change #1211548 had a related patch set uploaded (by Arnaudb; author: Arnaudb):

[operations/puppet@production] gerrit: Switchover gerrit1003 → gerrit2003

https://gerrit.wikimedia.org/r/1211548

Change #1211548 abandoned by Arnaudb:

[operations/puppet@production] gerrit: Switchover gerrit1003 → gerrit2003

Reason:

forgot a step

https://gerrit.wikimedia.org/r/1211548

Change #1211549 had a related patch set uploaded (by Arnaudb; author: Arnaudb):

[operations/puppet@production] gerrit: Switchover gerrit1003 → gerrit2003

https://gerrit.wikimedia.org/r/1211549

Change #1211551 had a related patch set uploaded (by Arnaudb; author: Arnaudb):

[operations/puppet@production] gerrit: re-enable backups on gerrit2003

https://gerrit.wikimedia.org/r/1211551

Change #1214466 had a related patch set uploaded (by Arnaudb; author: Arnaudb):

[operations/cookbooks@master] gerrit: rsync logic extraction from failover

https://gerrit.wikimedia.org/r/1214466

Change #1210560 abandoned by Hashar:

[operations/dns@master] gerrit: add a layer of CNAME to ease switch overs

https://gerrit.wikimedia.org/r/1210560

Change #1214466 merged by jenkins-bot:

[operations/cookbooks@master] gerrit: rsync logic extraction from failover

https://gerrit.wikimedia.org/r/1214466

Change #1216583 had a related patch set uploaded (by Arnaudb; author: Arnaudb):

[operations/puppet@production] gerrit: disable backups temporarily

https://gerrit.wikimedia.org/r/1216583

Change #1216583 merged by Arnaudb:

[operations/puppet@production] gerrit: disable backups temporarily

https://gerrit.wikimedia.org/r/1216583

Change #1216586 had a related patch set uploaded (by Arnaudb; author: Arnaudb):

[operations/cookbooks@master] gerrit: testing sync

https://gerrit.wikimedia.org/r/1216586

Change #1216586 abandoned by Arnaudb:

[operations/cookbooks@master] gerrit: testing sync

Reason:

testing over

https://gerrit.wikimedia.org/r/1216586

Change #1216592 had a related patch set uploaded (by Arnaudb; author: Arnaudb):

[operations/cookbooks@master] gerrit: add a confirmation prompt on rsync

https://gerrit.wikimedia.org/r/1216592

Change #1216592 merged by jenkins-bot:

[operations/cookbooks@master] gerrit: add a confirmation prompt on rsync

https://gerrit.wikimedia.org/r/1216592

Change #1217133 had a related patch set uploaded (by Arnaudb; author: Arnaudb):

[operations/puppet@production] gerrit: Switchover gerrit1003 → gerrit2003

https://gerrit.wikimedia.org/r/1217133

Change #1211549 abandoned by Arnaudb:

[operations/puppet@production] gerrit: Switchover gerrit1003 → gerrit2003

Reason:

1217133

https://gerrit.wikimedia.org/r/1211549

Change #1196792 abandoned by Arnaudb:

[operations/puppet@production] gerrit: unmask service

Reason:

1217133

https://gerrit.wikimedia.org/r/1196792

Change #1211551 abandoned by Arnaudb:

[operations/puppet@production] gerrit: re-enable backups on gerrit2003

Reason:

1217133

https://gerrit.wikimedia.org/r/1211551

Change #1217134 had a related patch set uploaded (by Arnaudb; author: Arnaudb):

[operations/puppet@production] gerrit: re-enable backups and monitoring on gerrit2003

https://gerrit.wikimedia.org/r/1217134

ABran-WMF renamed this task from Gerrit failover process to Gerrit switchover process.Dec 16 2025, 6:17 AM
ABran-WMF updated the task description. (Show Details)

Change #1237450 had a related patch set uploaded (by Arnaudb; author: Arnaudb):

[operations/puppet@production] gerrit: temporarily disable replication on gerrit2003

https://gerrit.wikimedia.org/r/1237450

Change #1237450 merged by Arnaudb:

[operations/puppet@production] gerrit: temporarily disable replication on gerrit2003

https://gerrit.wikimedia.org/r/1237450

Regarding the DNS change, @Dzahn desribed the new situation here: T412779#11581372

The new central DNS CNAME which is used by the tcp-proxy and trafficserver is gerrit.discovery.wmnet. This entry currently points to:

gerrit                300 IN CNAME gerrit1003.wikimedia.org.

So for the switchover, the CNAME should be updated here.

The replica/spare hosts will not be behind the CDN most likely next week. So the DNS switch for those has to happen here.

Change #1238686 had a related patch set uploaded (by Arnaudb; author: Arnaudb):

[operations/puppet@production] gerrit: unmask gerrit.service on gerrit2003

https://gerrit.wikimedia.org/r/1238686

Change #1238686 merged by Arnaudb:

[operations/puppet@production] gerrit: unmask gerrit.service on gerrit2003

https://gerrit.wikimedia.org/r/1238686

Change #1238708 had a related patch set uploaded (by Arnaudb; author: Arnaudb):

[operations/dns@master] gerrit: switchover from gerrit1003 to gerrit2003

https://gerrit.wikimedia.org/r/1238708

ABran-WMF updated the task description. (Show Details)

Change #1238376 had a related patch set uploaded (by Arnaudb; author: Arnaudb):

[operations/cookbooks@master] gerrit: update switchover related cookbooks

https://gerrit.wikimedia.org/r/1238376

Change #1238376 merged by jenkins-bot:

[operations/cookbooks@master] gerrit: update switchover related cookbooks

https://gerrit.wikimedia.org/r/1238376

Change #1238708 merged by Arnaudb:

[operations/dns@master] gerrit: switchover from gerrit1003 to gerrit2003

https://gerrit.wikimedia.org/r/1238708

Change #1217133 merged by Arnaudb:

[operations/puppet@production] gerrit: Switchover gerrit1003 → gerrit2003

https://gerrit.wikimedia.org/r/1217133

Change #1217134 merged by Arnaudb:

[operations/puppet@production] gerrit: re-enable backups and monitoring on gerrit2003

https://gerrit.wikimedia.org/r/1217134

The process has been updated, and the cookbook switchover instructions have also been added to the documentation.

Change #1239693 had a related patch set uploaded (by Arnaudb; author: Arnaudb):

[operations/cookbooks@master] gerrit: rename failover cookbook to switchover

https://gerrit.wikimedia.org/r/1239693

Change #1239693 merged by jenkins-bot:

[operations/cookbooks@master] gerrit: rename failover cookbook to switchover

https://gerrit.wikimedia.org/r/1239693

Change #1240213 had a related patch set uploaded (by Arnaudb; author: Arnaudb):

[operations/cookbooks@master] gerrit: clarify confirmation wording on read-only

https://gerrit.wikimedia.org/r/1240213

Change #1240213 merged by jenkins-bot:

[operations/cookbooks@master] gerrit: clarify confirmation wording on read-only

https://gerrit.wikimedia.org/r/1240213

Change #1240216 had a related patch set uploaded (by Arnaudb; author: Arnaudb):

[operations/cookbooks@master] gerrit: read-only confirmation wording tweaking

https://gerrit.wikimedia.org/r/1240216

Change #1240217 had a related patch set uploaded (by Arnaudb; author: Arnaudb):

[operations/puppet@production] gerrit: remove read-only config

https://gerrit.wikimedia.org/r/1240217

Change #1240216 merged by jenkins-bot:

[operations/cookbooks@master] gerrit: read-only confirmation wording tweaking

https://gerrit.wikimedia.org/r/1240216

ABran-WMF changed the status of subtask T417246: Reimage gerrit1003 from Stalled to In Progress.Feb 20 2026, 7:41 AM
ABran-WMF changed the status of subtask T417247: Reimage gerrit2002 from Open to In Progress.Feb 24 2026, 1:15 PM

Change #1240217 abandoned by Arnaudb:

[operations/puppet@production] gerrit: remove read-only config

https://gerrit.wikimedia.org/r/1240217