Closed Bug 1190868 Opened 9 years ago Closed 8 years ago

Add a runner task to check resolution on Windows testers before starting buildbot

Categories

(Infrastructure & Operations :: RelOps: General, task)

task
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: coop, Assigned: q)

References

Details

(Whiteboard: [Windows])

To avoid situations where we start running tests at the wrong resolution (whether due to the wrong graphics adapter being used, or whatever), we should check the resolution of the machine *before* starting buildbot. Sounds like a job for runner!

A while ago, Armen wrote this script that may be useful:

http://hg.mozilla.org/build/tools/file/default/scripts/support/mouse_and_screen_resolution.py
Vlad did some digging here yesterday and came up with additional data:

* we currently run a fakemon.vbs script as part of startTalos.bat on Windows machines. We believe this is the most up-to-date version of the current resolution, but by Q's own admission in the fakemon.vbs header:
"This Script is a HORIBLE HORIBLE hack and should be replaced as soon as possible."

* there are various startTalos platform-specific scripts in puppet that appear to be snapshots of previous versions that aren't currently used. e.g. In https://hg.mozilla.org/build/puppet/file/bfa14e8c16ab/modules/buildslave/files/startTalos-xp.bat we run the following command on XP to check/set the resolution: dc.exe -width=1280 -height=1024

* none of these scripts seem to do any explicit error checking, and I'm not sure how the exit status of, say, fakemon.vbs, influences the continued execution of startTalos.bat, or whether that behavior changes based on the flavor of Windows.

I've asked Vlad to make some tweaks to startTalos.bat/fakemon.vbs on a loaner to get a better understanding about the last point.

Q: do you have a better solution for fakemon.vbs that is less of a hack? Is something like Armen's  mouse_and_screen_resolution.py script from comment #0 a better approach? This is something that Vlad and Alin might have time to help with given some direction.
Flags: needinfo?(q)
The resolution isn't a problem it is the adding of the second screen that is the big problem. Adding error checking is easy getting either the low level sdk calls working to add the second screen without an edid device is the hard part. We had an attempted rewrite of that vbs in python and powershell both got cut do to time and the difficulty of adding the second screen.
Flags: needinfo?(q)
(In reply to Q from comment #2)
> The resolution isn't a problem it is the adding of the second screen that is
> the big problem. Adding error checking is easy getting either the low level
> sdk calls working to add the second screen without an edid device is the
> hard part. We had an attempted rewrite of that vbs in python and powershell
> both got cut do to time and the difficulty of adding the second screen.

Amy: now that the initial Windows puppetization work is deployed, would it be possible to get one of your Windows people to look at making the second screen detection more robust? Triage has turned up a *lot* of different bugs with this same root cause.
Flags: needinfo?(arich)
We don't have puppet for windows in the datacenter (or any test platforms) at the moment. BUT Q is working on this for w7 in AWS now, and we should be able to backport that to GPO for all the testers still using the domain.
Assignee: nobody → q
Flags: needinfo?(arich)
(In reply to Amy Rich [:arr] [:arich] from comment #5)
> We don't have puppet for windows in the datacenter (or any test platforms)
> at the moment. BUT Q is working on this for w7 in AWS now, and we should be
> able to backport that to GPO for all the testers still using the domain.

I meant it more from the standpoint of "if they're no longer focused on X, maybe they can do Y" rather than using puppet for deployment, but it's encouraging that Q is already looking at this.
Component: Platform Support → RelOps
Product: Release Engineering → Infrastructure & Operations
QA Contact: coop → arich
The focus now is on getting windows test machines into the cloud (and a reliable resolution check is part of that). This will start out as minimal puppet involvement (managing secrets and keys for w7) and progress till we do system tweaks and install packages. We're doing a multi-step process because we desperately need the capacity for e10s, so this is top priority.
Whiteboard: [Windows]
This is running in AWS we still do not have runner in Hardware. We have used a new python script to test harness to creect his on all platform. mouse_and_screen_resolution.py
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
On which repo is that script?
I would like to share it with the TC team as we're hitting this for the Windows 10 machines on TC.
You need to log in before you can comment on or make changes to this bug.