Closed Bug 855282 Opened 13 years ago Closed 11 years ago

Change scheduling model to only trigger one OS version out of 10.6/10.7/10.8 and WinXP/Win7/Win8 except on PGO triggered changesets (was "Stop scheduling 10.6 and 10.7 tests on m-i and try")

Categories

(Release Engineering :: General, defect, P2)

defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: armenzg, Unassigned)

References

Details

Attachments

(1 file, 1 obsolete file)

aki let me know if you would like me help with this.
Assignee: aki → armenzg
Blocks: 860728
Whiteboard: [buildduty]
Hunh, I didn't even see this bug. Maybe because I was focused on the unowned-buildduty queue.
Depends on: ppod
Summary: A bunch of lion test machines have not taken jobs → Having bad rev4 (lion & snow) wait times
No longer blocks: 860728
I had no time to look into this week but I should be able to for next week.
Priority: -- → P1
I have tried to bring machines back into the pool but a lot of them have the need for memory to be replaced. We also don't have enough machines to keep up for 10.6 & 10.7. I'm going to push hard on reducing number of jobs on 10.6.
I will paste the changes needed to reduce the testing of 10.7.
Priority: P1 → P2
Summary: Having bad rev4 (lion & snow) wait times → Reduce scheduling of 10.7 opt/debug jobs and re-purpose 10.7 machines as 10.6 machines to improve the wait times for 10.6
This should reduce almost 2/3 of the load on 10.7 machines.
Attachment #742414 - Attachment is obsolete: true
I'm going to take the approach mentioned by jlebar on the thread but I have a couple of questions. This is what my proposal plus jlebar's would be: * on m-i: 1) do not trigger 10.6 and 10.7 opt/debug test jobs on every check-in 2) when the time of PGO jobs comes around we test on 10.6, 10.7 & 10.8 ** 10.8 is untouched * on try: 3) do not trigger 10.7 by default I think I can do #2 but I am fearing a lot of hackery. I have no clue if we can actually do #3. I have been able to disable win64 *builds* by default but I don't know if we can have 10.7 disabled by default yet be able to trigger it with -u none[10.7] catlee: what would you suggest me to do?
"the time of PGO jobs" is actually to a very large extent "when we trigger PGO through self-serve" since the scheduler fails to know that a push it chooses will wind up in the middle of a huge bustage and multiple overlapping backouts range, so we trigger quite a bit of PGO on csets that we believe will wind up being our good merge points. Having both periodic PGO and self-serve PGO also trigger the missing Mac tests would probably work out well (other than the headaches for you, since there's no promise that periodic PGO will be triggered on a push that even has Mac builds); having periodic PGO trigger them but self-serve not trigger them is unlikely to work for how we manage inbound.
I have a patch that does the following: * stops testing 10.7 on Jetpack * stops running 10.7 talos jobs (as suggested by mbrubeck) * stops running unit tests for 10.7 on m-i and try Adding periodic tests for 10.7 on m-i is going to be an *interesting* code refactoring but I will give it a shot. I would like to drop 10.7's try support as it would be way too much work for the gain that we would get (do not run by default but find a way to trigger it when needed).
> I would like to drop 10.7's try support as it would be way too much work for the gain that we would > get (do not run by default but find a way to trigger it when needed). So if a developer has a failure on 10.7 only on m-c, they're up a creek without a paddle? I don't think that's OK unless you can prove that this never happens. The logic for not dropping 10.7 altogether was that we couldn't prove that 10.6 + 10.8 is sufficient to catch all failures we care about, so it seems that we're expecting some failures on 10.7.
(In reply to Justin Lebar [:jlebar] from comment #10) > > I would like to drop 10.7's try support as it would be way too much work for the gain that we would > > get (do not run by default but find a way to trigger it when needed). > > So if a developer has a failure on 10.7 only on m-c, they're up a creek > without a paddle? > > I don't think that's OK unless you can prove that this never happens. The > logic for not dropping 10.7 altogether was that we couldn't prove that 10.6 > + 10.8 is sufficient to catch all failures we care about, so it seems that > we're expecting some failures on 10.7. If I knew how to do it I would do it but because I know to the most part how buildbot is designed I would have to redesign it just to support a platform that has less users that Windows Vista does (Vista has more Firefox users than *all* Mac versions together). The proposal was to make 10.7 a tier2 platform (which Asa and akeybl approved) to improve our testing on 10.6 *or* 10.7. We'll have to put a lot of effort into it and might not be sufficient. It is not ideal; we know. We have to be able to come to a middle ground. We can't support everything just because we have to. On another note, is there anyone from development that could help improve our running times for some of the jobs? Not sure if this link is reachable by everybody. For instance, I've noticed that "mochitest-browser-chrome" debug jobs are extremely bad: https://secure.pub.build.mozilla.org/buildapi/reports/builders?detail_level=builder&platform=lion,mountainlion,snowleopard,snowleopard-r4&build_type=debug,opt&job_type=repack,talos,unittest The average running time for this are: 10.7 mozilla-central debug test mochitest-browser-chrome 1h 41m 10.6 mozilla-central debug test mochitest-browser-chrome 1h 30m 10.8 mozilla-central debug test mochitest-browser-chrome 1h 10m
(In reply to Armen Zambrano G. [:armenzg] (Release Enginerring) from comment #11) > For instance, I've noticed > that "mochitest-browser-chrome" debug jobs are extremely bad Bug 864085
On another note, we do zero testing on Windows 7 64-bit yet we are OK to not test it there and be convinced that we ship an OK browser there.
> On another note, we do zero testing on Windows 7 64-bit yet we are OK to not test it there and be > convinced that we ship an OK browser there. Two wrongs don't make a right... If we're going to make Mac 10.7 a tier-two platform, then we should go all the way and shut everything off. Running tests only on m-c and having no capability to run them on both try and m-i is a recipe for disaster. It was not clear to me that your proposal was to make 10.7 a tier-two platform, so if this is actually what we're going to do, I think we need to start a new newsgroup thread with "Making Mac OS 10.7 a tier-two platform" as the subject. Please understand that it's frustrating from my perspective to de-support a platform because it's too hard to modify our infrastructure to support it. We do hard things all the time at Mozilla; that's the nature of shipping a web browser to millions of people on many different platforms. It's not your fault if you don't have time to do this, but I think it is our fault, as an organization, that we're making decisions about which platforms to support based solely on how difficult it is to modify buildbot.
I will re-post the thread with a new title sometime this week to make it clearer. On another note, I don't know how to be clear on what type of tier this would be [1]. Meanwhile, I'm going to try to figure out if some jobs could be merged and how to do so before disabling anything. [1] https://developer.mozilla.org/en-US/docs/Supported_build_configurations
Why would it be something other than tier-two?
(In reply to Justin Lebar [:jlebar] from comment #16) > Why would it be something other than tier-two? The document talks about build configurations rather than test configurations (even though it points to tbpl). It also merges OS specific versions (10.6, 10.7, 10.8) into architecture buckets (OS X/x86 and x86-64). That is why I wasn't sure if it would become a tier-3.
Attachment #743103 - Flags: review?(catlee) → review+
What we decided at the build infra meeting was that we'd like to try: 1. Run 10.6 / 10.7 tests on m-c only. 2. Provide a way to opt in to 10.6 / 10.7 tests on try. (1) can be this bug, and (2) can be bug 793989. It's not ideal, because you might have to wait until the mac build finishes before requesting the tests, but it might be good enough to start with. If this results in lots of difficult m-c closures due to orange on 10.6 / 10.7, we could revisit this decision. That call will be made by the sheriffs.
Depends on: 793989
It would be great if we could get a rough estimate of when we might expect this work to be done, so that this bug doesn't languish interminably.
Summary: Reduce scheduling of 10.7 opt/debug jobs and re-purpose 10.7 machines as 10.6 machines to improve the wait times for 10.6 → Stop scheduling 10.6 and 10.7 tests on m-i and try
> 1. Run 10.6 / 10.7 tests on m-c only. Perhaps this should be instead 1. Don't run 10.6 and 10.7 tests on m-i or try. We still want them on e.g. b2g18 and probably other trees.
Though I will point out that bug 851066 has been on file for quite some time about the number of builds/tests we run on b2g18.
I'm spending a bunch of stuff on infrastructure planning this week and I can have a look at the bug that Ryan points out first (since it is an immediate gain).
in production
I'm looking at my queue and I don't have time for this for a while.
Assignee: armenzg → nobody
(In reply to Justin Lebar [:jlebar] from comment #18) > 2. Provide a way to opt in to 10.6 / 10.7 tests on try. > > (1) can be this bug, and > (2) can be bug 793989. It's not ideal, because you might have to wait until > the mac build finishes before requesting the tests, but it might be good > enough to start with. Unless I'm missing something, #2 just means making them non-default on try. Request those specifically with testname[10.6,10.7]. Or get everything ever defined in the world, including everybody else's funky nondefault tests, with testname[]. I guess I should make a way of selecting default plus selected other tests, but for now this should be good enough to handle your #2 need.
Whiteboard: [buildduty]
No longer depends on: ppod
Summary: Stop scheduling 10.6 and 10.7 tests on m-i and try → Change scheduling model to only trigger one OS version out of 10.6/10.7/10.8 and WinXP/Win7/Win8 except on PGO triggered changesets (was "Stop scheduling 10.6 and 10.7 tests on m-i and try")
This is a scheduling change so it belongs in the Automation component.
Component: Release Engineering: Machine Management → Release Engineering: Automation (General)
OS: Mac OS X → All
QA Contact: armenzg → catlee
Hardware: x86 → All
Product: mozilla.org → Release Engineering
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Component: General Automation → General
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: