Closed Bug 997708 Opened 11 years ago Closed 10 years ago

git.m.o mirroring

Categories

(Developer Services :: Git, defect)

x86
macOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 1163749

People

(Reporter: fubar, Unassigned)

References

Details

(Whiteboard: [kanban:engops:https://mozilla.kanbanize.com/ctrl_board/6/1030] )

We need to set up mirroring for gitmo, both for performance reasons (e.g. 985864) and for DR/BC (Q/YR goal). Initial scope should just be within SCL3, but we should keep an eye towards PHX1/AWS. While this is a Q goal, the next major merge day is June 9. We should use that as our need-before date.
Depends on: 997714
Blocks: 997746
git[23].stage.dmz.scl3 kickstarted on a pair of seamicro xeons, puppetized, and added to puppet. zeus set up for git-stage-zlb.vips.scl3; ssh pool to git1, http/https pools to git[23]. git.allizom.org reclaimed and pointed at git-stage-zlb. should be ready for setting up gitolite to mirror frmo git1 to git[23].
Depends on: 999659
git is still seeing occasional high load spikes taking out git.m.o port 80 and 443. Hopefully this work can be finished sooner rather than later.
To get this done I'll need to: 1) Put the changes present in git staging hosts (that currently have this set up) into puppet 2) Deploy this on the newly built git mirror hosts 3) Have releng QA the new infra
Assignee: server-ops-webops → bkero
bkero: any updates?
Flags: needinfo?(bkero)
The git mirrors have been built out and have puppet configs applied. The next step is to coordinate with release engineering to get the hook into production. The scripts are written, and are currently being run on the staging infrastructure.
Flags: needinfo?(bkero)
Catlee: based on our last meeting, is there any testing you wish to see performed on the staging area before this is rolled to production? bkero: once catlee signs off, you are good to proceed with go-live
Flags: needinfo?(catlee)
Is there an URL we can use for testing? If so, I'd like to do a basic smoketest that we can do a few B2G builds at once against the new mirrors.
Flags: needinfo?(catlee)
https://git.allizom.org/ is the URL that can be used for testing
catlee, This is tied to one of our quarterly goals. Could I get a response one way or another with this by the 19th, that way we have time to get this done before quarter end?
Flags: needinfo?(catlee)
We can't test this because it doesn't have any of the B2G repos I need on it. Please have the full contents of git.m.o mirrored for testing.
Flags: needinfo?(catlee)
So we have competing priorities here. Let's see if we can find a reasonable path. Catlee: the smoke test would only catch something 'by chance', many eyes would still be needed when rolled out to production. It also would require significant effort, including support from the vcs-sync system, adding yet-another dependency. Which of the following 2 approaches would meet your needs: a) See the detailed deploy and rollback plan, and thus feel comfortable with skipping the smoke test. (Worst case, it will prove the process of rolling back to address any can-be-found-only-in-production issues.) b) Working out the specifics of a smoke test that doesn't require vcssync to support. bkero: we'll need (a) no matter what. Can you open a separate bug for "deploy mirroring to production" with all the puppet changes, etc. needed please? Along with rollback operations?
Flags: needinfo?(catlee)
Flags: needinfo?(bkero)
The staging setup has none of the repos I need to do even basic testing. The only one it has is gecko.git, which isn't used by our automation. Can we rsync over the repos to staging so I can test some b2g builds?
Flags: needinfo?(catlee)
(In reply to Chris AtLee [:catlee] from comment #12) > The staging setup has none of the repos I need to do even basic testing. The > only one it has is gecko.git, which isn't used by our automation. > > Can we rsync over the repos to staging so I can test some b2g builds? bkero: do we have enough disk for that? Catlee means everything under: b2g/* external/* releases/*
We have space for those repositories, so I am mirroring all of them over now.
Flags: needinfo?(bkero)
One gotcha is to keep them in sync we're going to need the deployment hook installed on the SSH master. Otherwise you're going to have to do smoke testing with the content that is being mirrored over there now.
(In reply to Ben Kero [:bkero] from comment #15) > One gotcha is to keep them in sync we're going to need the deployment hook > installed on the SSH master. Otherwise you're going to have to do smoke > testing with the content that is being mirrored over there now. Right - we are not going to keep them in sync with the live content. That is a major difference between production and staging. Deploying the hook on the ssh host would change the config from production. Catlee: I am assuming that, if you want to push any changes, you'll want to do that in a controlled fashion to uncover the race condition behavior. Bkero: on staging after doing the rsync, can you set all these repos to be writable by scm level 1 (so anyone can test), and update catlee on how to push to staging, please?
FYI: git1.dmz.phx1 and gitweb3.dmz.scl3 are out of warranty and will be looked at for p2v. I'm fine waiting til this is done and we hit more robust/steady-state, but wanted to mention in case that has any bearing on how you approach this bug.
Component: WebOps: Source Control → Git
Product: Infrastructure & Operations → Developer Services
Whiteboard: [kanban:engops:https://kanbanize.com/ctrl_board/6/214]
Whiteboard: [kanban:engops:https://kanbanize.com/ctrl_board/6/214] → [kanban:engops:https://mozilla.kanbanize.com/ctrl_board/6/1022] [kanban:engops:https://kanbanize.com/ctrl_board/6/214]
Whiteboard: [kanban:engops:https://mozilla.kanbanize.com/ctrl_board/6/1022] [kanban:engops:https://kanbanize.com/ctrl_board/6/214] → [kanban:engops:https://mozilla.kanbanize.com/ctrl_board/6/1029] [kanban:engops:https://kanbanize.com/ctrl_board/6/214]
Whiteboard: [kanban:engops:https://mozilla.kanbanize.com/ctrl_board/6/1029] [kanban:engops:https://kanbanize.com/ctrl_board/6/214] → [kanban:engops:https://mozilla.kanbanize.com/ctrl_board/6/1030] [kanban:engops:https://kanbanize.com/ctrl_board/6/214]
Whiteboard: [kanban:engops:https://mozilla.kanbanize.com/ctrl_board/6/1030] [kanban:engops:https://kanbanize.com/ctrl_board/6/214] → [kanban:engops:https://mozilla.kanbanize.com/ctrl_board/6/1030]
And, in more full disclosure, the staging environment has been p2v'ed in bug 1079089, due to the seamicros closing in on being out of warranty.
Depends on: 1150249
gitweb[123].dmz.scl3 are set up and receiving updated contents of the repositories on a minutely cronjob. Adding these hosts to the zeus git.m.o node pool was determined to be too large of an impact. To fix this we should determine whether we'd like to add a push-to-pull model to the cronjob, or to set up the hosts as mirror.git.mozilla.org and determine that the 1 minute sync delay is acceptable to us.
Assignee: bkero → nobody
QA Contact: nmaul
Appears to have been done in bug 1163749
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.