Closed Bug 741353 Opened 12 years ago Closed 11 years ago

Update Mercurial (hg) to 2.5.4

Categories

(Infrastructure & Operations :: Change Requests, task)

x86_64
Linux
task
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: bkero, Assigned: fox2mike)

References

Details

(Whiteboard: [2013Q2] [reit] Waiting on releng)

Our version of hg is out of date, and should be updated.  The 2.0.x version has historically caused incompatibility issues with developers running 2.1.x (bug 725362)

A staging environment should be set up for releng to test against this new version.

I have already created a 2.1.2 RPM for this purpose.
Assignee: server-ops-devservices → bkero
Summary: Update hg to 2.1.2 → Update hg to 2.2.1
Whiteboard: Q3
Whiteboard: Q3 → [2012q3]
bumping this to 2.2.3

Also need to do this asap to pick up http://www.selenic.com/hg/rev/7bf48bc7de23
Summary: Update hg to 2.2.1 → Update hg to 2.2.3
Any updates here?
I can update this any time (and in fact have on our test node, hg1.dmz.scl3.mozilla.com).  I need releng to validate that it does not create any issues for them.  I asked in #build for someone from their team to assist me with this.
After the upgrade, can we make try and try-comm-central non-publishing repositories? http://mercurial.selenic.com/wiki/Phases#What_is_a_.22publishing_repository.22.3F
Depends on: 781012
Please verify access to hg1.dmz.scl3.mozilla.com from the build vpn (where we'll run our tests). ATM, the host name does not resolve, so I can't verify access on ports 80, 443, & 22:
 [hwine@github-sync1-dev.dmz.scl3 ~]$ hostname
 github-sync1-dev.dmz.scl3.mozilla.com
 [hwine@github-sync1-dev.dmz.scl3 ~]$ host hg1.dmz.scl3.mozilla.com
 Host hg1.dmz.scl3.mozilla.com not found: 3(NXDOMAIN)

Also, there was discussion about doing the deploy only to the webheads to help with the try performance issues. Can you clarify if the plan is to deploy everywhere, or just on the webheads?
Whiteboard: [2012q3] → [2012q3] [reit]
The hostname is hgweb1.dmz.scl3.mozilla.com, the hostname you have entered is 'hg1.dmz...'
There were speedups in in several methods that try uses intensively.  We are not fragmenting the hg servers to try and other repositories, so this deployment will affect all hg-hosting servers.

Our current plan for try is to use local disks for caching improvement.  This is currently being tested on hgweb1.dmz.scl3, and is why it's already running hg 2.2.3.
(In reply to Ben Kero [:bkero] from comment #7)
> so this
> deployment will affect all hg-hosting servers.

Does "hg-hosting" include the commitable ssh accessed servers? If so, we need ssh access to the test machine as well, so we can check operations that activate hooks. (Thanks for correcting the host name.)
Depends on: 737865
Blocks: 725362
We could deploy 2.2.3 on webheads first, then the ssh servers later, although I'd greatly prefer to simplify things by upgrading everything at once.

Our patched version of hg is no longer required.  I checked the hook running code in hooks.py in the mercurial source, and it is now performing the same sort() procedure that our patched version did (albeit in a different place).

I'll talk to people about getting you access to do your testing.
Depends on: 781955
2.3 is out now, let's test against that
Assignee: bkero → server-ops-devservices
Summary: Update hg to 2.2.3 → Update hg to 2.3
Assignee: server-ops-devservices → bkero
(In reply to Ben Kero [:bkero] from comment #10)
> 2.3 is out now, let's test against that

Ben, Mercurial updates at the start of each month, so 2.3.1 is out w/ some hotfixes.
Summary: Update hg to 2.3 → Update Mercurial (hg) to 2.3
Pushing this to next quarter, Ben is busy working on git.m.o
Whiteboard: [2012q3] [reit] → [2012q4] [reit]
Blocks: 766810
2.4 has some substantial speedups (likely primarily only for dev workflow, but still won't hurt to have on hg.m.o):
http://mercurial.selenic.com/wiki/WhatsNew#Mercurial_2.4.1_.282012-12-03.29
Summary: Update Mercurial (hg) to 2.3 → Update Mercurial (hg) to 2.4.1
(In reply to Ed Morley [UTC+0; email:edmorley@moco] from comment #13)
> 2.4 has some substantial speedups (likely primarily only for dev workflow,
> but still won't hurt to have on hg.m.o):
> http://mercurial.selenic.com/wiki/WhatsNew#Mercurial_2.4.1_.282012-12-03.29

Well, I'd like releng to approve 2.3 first and then we can jump on to 2.4?
Summary: Update Mercurial (hg) to 2.4.1 → Update Mercurial (hg) to 2.3
Whiteboard: [2012q4] [reit] → [2012q4] [reit] Waiting on releng
catlee, I thought this was blocked on IT, but it is actually waiting for releng approval. Is there someone that could look at this?

Cheers :-)
Flags: needinfo?(catlee)
(In reply to Ed Morley [UTC+0; email:edmorley@moco] from comment #15)
> catlee, I thought this was blocked on IT, but it is actually waiting for
> releng approval. Is there someone that could look at this?
> 
> Cheers :-)

https://bugzilla.mozilla.org/show_bug.cgi?id=781012
Ah missed that, thank you.
Flags: needinfo?(catlee)
Note that in general hg sometimes benefits performance-wise from having client version = server version. However I wouldn't let that hold you back from upgrading hg.
Whiteboard: [2012q4] [reit] Waiting on releng → [2013Q1] [reit] Waiting on releng
Whiteboard: [2013Q1] [reit] Waiting on releng → [2013Q2] [reit] Waiting on releng
current staging and qualification efforts are on hg version 2.4.5 -- updating summary t
Summary: Update Mercurial (hg) to 2.3 → Update Mercurial (hg) to 2.5.4
(In reply to Hal Wine [:hwine] from comment #19)
> current staging and qualification efforts are on hg version 2.4.5 --

Summary is correct - 2.5.4 is current target
No longer depends on: 737865
Component: Server Operations: Developer Services → Server Operations: Change Requests
Flags: needs-treeclosure?
Flags: cab-review?
Copy pasting from email sent out by Ben earlier :

The upgrade plan is as follows:
1. Add the updated package to Mozilla's package repository. This package has already been created and is operating on the staging host.
2. Remove one (out of 8) hosts serving http://hg.mozilla.org/ from the load balancer.
3. Perform the package upgrade.
4. Run tests against this web head to ensure that a selection of HTTP requests are served correctly (including hg clones).
5. Add the host back into the load balancer pool.
6. Repeat steps 2-5 for the remaining hosts.
7. Upgrade the package on the hot standby SSH host.
8. Confirm hg pushes work on the hot standby host.
9. Failover on the load balancer to the hot standby.
10. Repeat the package install on the other SSH host.

TL;DR: This plan means that under ideal conditions no outage will be experienced and risk has been minimized. A staging environment has been set up to simulate this upgrade process and ensure no incompatibilities exist with our code and the newer version.

Looking for a 2 hour window on June 1st for this upgrade. hg.mozilla.org will be completely offline for the duration of the upgrade.
(In reply to Shyam Mani [:fox2mike] from comment #21)
> This plan means that under ideal conditions no outage will be
> experienced and risk has been minimized.
> 
> hg.mozilla.org
> will be completely offline for the duration of the upgrade.

Isn't this contradictory? Or am I misunderstanding something?
(In reply to Gordon P. Hemsley [:gphemsley] from comment #22)
> (In reply to Shyam Mani [:fox2mike] from comment #21)
> > This plan means that under ideal conditions no outage will be
> > experienced and risk has been minimized.
> > 
> > hg.mozilla.org
> > will be completely offline for the duration of the upgrade.
> 
> Isn't this contradictory? Or am I misunderstanding something?

You're not going to be able to commit to hg when we're upgrading the commit hosts (of which there are two). The tree will be closed for the duration of the upgrade. This doesn't stop you from checking out things, but we'd like to minimize probable issues by stopping check-in for a bit.
Approved by the CAB for June 1st. Time TBD.
Flags: cab-review? → cab-review+
Blocks: 875960
Blocks: 878494
Assignee: bkero → shyam
This is done. Woo! 

Trees will be re-opened after other accompanying work (see bug 878494) is complete.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Flags: needs-treeclosure? → needs-treeclosure+
Blocks: 1053705
Product: mozilla.org → Infrastructure & Operations
Change Request: --- → approved
Flags: cab-review+
You need to log in before you can comment on or make changes to this bug.