Closed Bug 1435058 Opened 7 years ago Closed 7 years ago

Add cltbld to kvm group on linux talos machines

Categories

(Release Engineering :: General, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: gbrown, Assigned: dhouse)

References

Details

Attachments

(1 file, 2 obsolete files)

On an experimental basis, I'm trying to run the android emulator on the taskcluster worker type "gecko-t-linux-talos", the new linux talos "moonshot" machines. I'd like to use kvm acceleration for the emulator, but the emulator complains that it cannot read /dev/kvm, when running as use cltbld. I see: crw-rw---- 1 root kvm 10, 232 Jan 29 11:31 /dev/kvm and uid=1000(cltbld) gid=1000(cltbld) groups=1000(cltbld),29(audio),44(video) so I suspect this will work if cltbld is added to the kvm group.
The group kvm owns /dev/kvm on the ubuntu16 moonshots: ``` crw-rw---- 1 root kvm 10, 232 Jan 25 03:08 /dev/kvm ``` Testing on Joel's loaner, #003: ``` [root@t-linux64-ms-003 ~]# id cltbld uid=1000(cltbld) gid=1000(cltbld) groups=1000(cltbld),29(audio),44(video),114(kvm) ``` We still have the same groups as on ix: ``` [root@talos-linux64-ix-085 ~]# id cltbld uid=1000(cltbld) gid=1000(cltbld) groups=1000(cltbld),29(audio),44(video) ```
Geoff, please test and let me know if it works. There are a couple of machines in the set that didn't respond, but I think you can test with this. If this fixes the problem, I'll make a patch to apply the group to the cltbld user during build. details: `adduser cltbld kvm` applied to t-linux64-ms- 003..012 (013 timed out) 014..015 046..053 (054, 055 timed-out) 056..060 091..105 I tested and made sure that puppet will not change the group.
Flags: needinfo?(gbrown)
Attached patch add cltbld to group 'kvm' (obsolete) — Splinter Review
Attachment #8947637 - Flags: review?(jwatkins)
Attachment #8947637 - Flags: review?(dcrisan)
I tried to test with https://treeherder.mozilla.org/#/jobs?repo=try&revision=b686f929827b98c21fcbdcfddb4968c2e18a3905 but I got machines outside of the set you noted in comment 2, every time. Am I unlucky, or are we looking at different machine sets? I got: t-linux64-ms-237.test.releng.mdc1.mozilla.com t-linux64-ms-136.test.releng.mdc1.mozilla.com t-linux64-ms-276.test.releng.mdc1.mozilla.com t-linux64-ms-145.test.releng.mdc1.mozilla.com t-linux64-ms-194.test.releng.mdc1.mozilla.com None of those had your change. https://public-artifacts.taskcluster.net/SqFfqC7sRxiHWi9F52hjCg/0/public/logs/live_backing.log [taskcluster] hostBootTime: 2018-01-29T13:05:46-08:00 [taskcluster] hostname: t-linux64-ms-237.test.releng.mdc1.mozilla.com [taskcluster] runId: 0 [taskcluster] taskId: SqFfqC7sRxiHWi9F52hjCg [taskcluster] tasksSinceStartup: 208 [taskcluster] workerGroup: mdc1 [taskcluster] workerType: gecko-t-linux-talos + set -x -e ++ id + echo 'running as' 'uid=1000(cltbld)' 'gid=1000(cltbld)' 'groups=1000(cltbld),29(audio),44(video)' running as uid=1000(cltbld) gid=1000(cltbld) groups=1000(cltbld),29(audio),44(video)
Flags: needinfo?(gbrown)
I'm sorry I missed these; I was thinking that was all that were running for talos right now. I applied the kvm group to cltbld on the higher ranges also: 136..150 181..195 226..240 271..280
Comment on attachment 8947637 [details] [diff] [review] add cltbld to group 'kvm' LGTM
Attachment #8947637 - Flags: review?(dcrisan) → review+
Thanks Dave, but I'm afraid I'm still not seeing a change. https://treeherder.mozilla.org/logviewer.html#?job_id=160100743&repo=try&lineNumber=1-11 [taskcluster] hostBootTime: 2018-01-29T10:50:16-08:00 [taskcluster] hostname: t-linux64-ms-052.test.releng.mdc1.mozilla.com [taskcluster] runId: 0 [taskcluster] taskId: Db2eWjT2RKSDs9WTarWyaw [taskcluster] tasksSinceStartup: 232 [taskcluster] workerGroup: mdc1 [taskcluster] workerType: gecko-t-linux-talos + set -x -e ++ id + echo 'running as' 'uid=1000(cltbld)' 'gid=1000(cltbld)' 'groups=1000(cltbld),29(audio),44(video)' running as uid=1000(cltbld) gid=1000(cltbld) groups=1000(cltbld),29(audio),44(video)
Attachment #8947637 - Flags: review?(jwatkins) → review+
Maybe you need to check-in your patch before I'll see the change in try pushes?
Flags: needinfo?(dhouse)
I checked just now and I see the kvm group is still listed in the cltbld user's groups on the t-linux64-ms-{002..300} machines: ``` uid=1000(cltbld) gid=1000(cltbld) groups=1000(cltbld),29(audio),44(video),114(kvm) ``` I'll apply the patch and we can see if there is a change. Could you give me a url to see the warning or logs for when the android emulator is failing? Then I could try restarting the worker on a few machines and see if I can catch a run to troubleshoot.
Flags: needinfo?(dhouse)
Attachment #8947637 - Flags: checked-in+
I kicked off a bunch of new tasks and this is working great -- thanks much.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Thankyou for persisting with this! I'm happy to help if you need any more adjustments for setting it up with the emulator.
32bit ubuntu does not have qemu-kvm package installed, and no kvm group Tested puppet with this patch on a moonshot and yosemite (sane). Applied, travis passed. Pushed to production: remote: https://hg.mozilla.org/build/puppet/rev/0c8485a6cf85f4f8755eb035d945d503b2554c0b
Attachment #8947637 - Attachment is obsolete: true
Attachment #8948695 - Flags: review?(jwatkins)
Attachment #8948695 - Flags: review?(dcrisan)
Attachment #8948695 - Flags: checked-in+
Attachment #8948695 - Flags: review?(dcrisan) → review+
Comment on attachment 8948695 [details] [diff] [review] add user to kvm group only on 64bit ubuntu The group does not exist yet (chicken before the egg, user before qemu-kvm) on the hosts that will have it. So I need to change the adding of the kvm group to happen after the qemu-kvm package is installed or as part of the package.
Attachment #8948695 - Flags: review?(jwatkins)
Attachment #8948695 - Attachment is obsolete: true
Attachment #8948721 - Flags: review?(jwatkins)
Attachment #8948721 - Flags: review?(dcrisan)
Attachment #8948721 - Flags: review?(dcrisan) → review+
Attachment #8948721 - Flags: review?(jwatkins) → checked-in+
Depends on: 1436097
With the changed conditions for the kvm group, not on 32bit and ensuring the group exists before user creation, the cltbld user has stayed a member of the kvm group owning /dev/kvm on the moonshots: ``` crw-rw---- 1 root kvm 10, 232 Feb 5 20:40 /dev/kvm uid=1000(cltbld) gid=1000(cltbld) groups=1000(cltbld),29(audio),44(video),114(kvm) ```
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: