Confirmed users
142
edits
(Clarify lack of SLA on loaner, mention MS remote desktop app for OS X) |
(Added information about RDP in generic-worker 10.5.0 onwards) |
||
Line 3: | Line 3: | ||
__TOC__ | __TOC__ | ||
= How does it work? = | = For generic-worker 10.5.0 onwards = | ||
1) Find a the task you want to play with in treeherder, and follow the link to the Taskcluster Task Inspector.<br /> | |||
2) Go to ''Actions -> Edit Task''.<br /> | |||
3) Add <code>rdpInfo</code> to the payload section: | |||
payload: | |||
rdpInfo: 'login-identity/<login-identity>/rdpinfo.txt' | |||
For example: | |||
payload: | |||
rdpInfo: 'login-identity/mozilla-auth0/ad|Mozilla-LDAP|pmoore/rdpinfo.txt' | |||
(check https://tools.taskcluster.net/credentials to see what your login identity is, e.g. you should have the scope <code>queue:create-artifact:login-identity/<login-identity>/*</code>). | |||
4) Check which <code>workerType</code> the task uses from the task definition, and then add the following scope to the list of task scopes: | |||
scopes: | |||
- 'generic-worker:allow-rdp:aws-provisioner-v1/<workerType>' | |||
For example: | |||
scopes: | |||
- 'generic-worker:allow-rdp:aws-provisioner-v1/gecko-t-win7-32' | |||
5) Run the task, and when it starts, go to ''Run Artifacts'' to see the <code>rdpInfo.txt</code> file appear with rdp connection information.<br /> | |||
6) Enter the connection information into your RDP client of choice.<br /> | |||
7) Connect with screen resolution 1280x1024 ! Note, it is '''important''' to use this resolution for gecko tests, since this is the screen size used by the tests, and the screen size cannot change once you have made a connection. | |||
= For earlier versions of generic-worker (<10.5.0) = | |||
== How does it work? == | |||
TaskCluster Windows instances can be borrowed for debugging at will. There is no need to raise a bug. The process is triggered by running a special task that tells the instance you intend to commandeer it. | TaskCluster Windows instances can be borrowed for debugging at will. There is no need to raise a bug. The process is triggered by running a special task that tells the instance you intend to commandeer it. | ||
Line 13: | Line 47: | ||
* delete the generic-worker and associated user and configuration | * delete the generic-worker and associated user and configuration | ||
= How is it triggered? = | == How is it triggered? == | ||
Visit https://tools.taskcluster.net/task-creator and create a new task that looks something like below. | Visit https://tools.taskcluster.net/task-creator and create a new task that looks something like below. | ||
Line 68: | Line 102: | ||
gpg2 --decrypt credentials.txt.gpg | gpg2 --decrypt credentials.txt.gpg | ||
= How do I connect to my borrowed instance? = | == How do I connect to my borrowed instance? == | ||
Remote Desktop is the only currently supported mechanism. Further, the processes that manage cleanup of abandoned or unused loaner instances check for RDP sessions to determine if the instance is actually in use or if it has been abandoned. | Remote Desktop is the only currently supported mechanism. Further, the processes that manage cleanup of abandoned or unused loaner instances check for RDP sessions to determine if the instance is actually in use or if it has been abandoned. | ||
== Connecting from Windows == | === Connecting from Windows === | ||
* GUI: Start > Remote Desktop Connection > enter the IP Address and credentials from the decrypted credentials.txt file and connect | * GUI: Start > Remote Desktop Connection > enter the IP Address and credentials from the decrypted credentials.txt file and connect | ||
Line 79: | Line 113: | ||
mstsc /w:1024 /h:768 /v:<ip_address> | mstsc /w:1024 /h:768 /v:<ip_address> | ||
== Connecting from Linux == | === Connecting from Linux === | ||
=== Fedora === | ==== Fedora ==== | ||
# install xfreerdp | # install xfreerdp | ||
sudo dnf install -y xfreerdp | sudo dnf install -y xfreerdp | ||
Line 92: | Line 126: | ||
For other keyboard layouts, see: https://github.com/FreeRDP/FreeRDP/blob/master/include/freerdp/locale/keyboard.h | For other keyboard layouts, see: https://github.com/FreeRDP/FreeRDP/blob/master/include/freerdp/locale/keyboard.h | ||
== Connecting from Mac OSX == | === Connecting from Mac OSX === | ||
Untested. Please edit this section if you know more. | Untested. Please edit this section if you know more. | ||
Line 101: | Line 135: | ||
Microsoft also has a Remote Desktop app for macOS (available on the app store at https://itunes.apple.com/us/app/microsoft-remote-desktop-10/id1295203466?mt=12) that works pretty well and is easy to use. | Microsoft also has a Remote Desktop app for macOS (available on the app store at https://itunes.apple.com/us/app/microsoft-remote-desktop-10/id1295203466?mt=12) that works pretty well and is easy to use. | ||
= How do I return it when I'm done? = | == How do I return it when I'm done? == | ||
There's no need. Your loaned instance is an Amazon EC2 spot instance whose lifetime is finite. It can even die while it's in the middle of working for you, if the spot price is outbid. Think of it as a disposable minion whose survival depends on being busy and who will expire when exhausted, bored, or will defect to a higher-paying villain at any time. If you don't create an RDP connection to your instance within 30 minutes of requesting it, it will die of boredom. If you disconnect your RDP session for more than 15 minutes, it will die of boredom. If you shut it down. It will die fulfilled. When working on the loaner, it would be advisable to save your intermediate results periodically and script your actions, so that if the loaner disappears you can quickly get back to where you were on a new loaner. | There's no need. Your loaned instance is an Amazon EC2 spot instance whose lifetime is finite. It can even die while it's in the middle of working for you, if the spot price is outbid. Think of it as a disposable minion whose survival depends on being busy and who will expire when exhausted, bored, or will defect to a higher-paying villain at any time. If you don't create an RDP connection to your instance within 30 minutes of requesting it, it will die of boredom. If you disconnect your RDP session for more than 15 minutes, it will die of boredom. If you shut it down. It will die fulfilled. When working on the loaner, it would be advisable to save your intermediate results periodically and script your actions, so that if the loaner disappears you can quickly get back to where you were on a new loaner. | ||
= How do I get help if it's not working? = | == How do I get help if it's not working? == | ||
* raise a bug in the [https://bugzilla.mozilla.org/enter_bug.cgi?product=Infrastructure%20%26%20Operations&component=RelOps RelOps component]. cc or assign rthijssen@mozilla.com | * raise a bug in the [https://bugzilla.mozilla.org/enter_bug.cgi?product=Infrastructure%20%26%20Operations&component=RelOps RelOps component]. cc or assign rthijssen@mozilla.com | ||
* ping :grenade in #taskcluster on IRC (during normal working hours: 9 - 5 GMT+3) | * ping :grenade in #taskcluster on IRC (during normal working hours: 9 - 5 GMT+3) |