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) (deleted) — 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)
Comment on attachment 8947637 [details] [diff] [review]
add cltbld to group 'kvm'

Applied and pushed to default:
remote:   https://hg.mozilla.org/build/puppet/rev/e0b8edd536eeda08e8257e5d20df35ff03839118
Travis passed. Pushing to production:
remote:   https://hg.mozilla.org/build/puppet/rev/ddf48ed338e732e6ff8acd1f50015bd809e47b8a
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.
Attached patch add user to kvm group only on 64bit ubuntu (obsolete) (deleted) — Splinter Review
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)
Attached patch ensure kvm group exists (deleted) — Splinter Review
Attachment #8948695 - Attachment is obsolete: true
Attachment #8948721 - Flags: review?(jwatkins)
Attachment #8948721 - Flags: review?(dcrisan)
Attachment #8948721 - Flags: review?(dcrisan) → review+
Comment on attachment 8948721 [details] [diff] [review]
ensure kvm group exists

Applied and pushed to default:
https://hg.mozilla.org/build/puppet/rev/dc0e2a121b1b6a8147200713e53d73a258851ec2
Travis passed. Pushed to production:
remote:   https://hg.mozilla.org/build/puppet/rev/db4a657bd169f6854aaa43f42d8f72d1757f8308
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: