/srv/irclogs.ubuntu.com/2020/05/08/#snappy.txt

=== diddledan0 is now known as diddledan
mupPR core20#55 closed: hooks: make systemd-modules-load depend on mounts at /usr/lib/{firmware,modules} <Created by anonymouse64> <Closed by anonymouse64> <https://github.com/snapcore/core20/pull/55>00:32
mupPR snapd#8623 opened: tests/lib/prepare.sh: delete patching of the initrd <UC20> <⚠ Critical> <Created by anonymouse64> <https://github.com/snapcore/snapd/pull/8623>00:57
mborzeckimorning05:49
mupPR snapd#8622 closed: cmd/snap-bootstrap/initramfs-mounts: add sudoers to dirs to copy as well <UC20> <Created by anonymouse64> <Merged by bboozzoo> <https://github.com/snapcore/snapd/pull/8622>05:57
mborzeckimvo: hey06:30
mborzeckimvo: we can land https://github.com/snapcore/snapd/pull/862306:31
mupPR #8623: tests/lib/prepare.sh: delete patching of the initrd <UC20> <⚠ Critical> <Created by anonymouse64> <https://github.com/snapcore/snapd/pull/8623>06:31
mvomborzecki: cool06:31
mvomborzecki: done06:32
mborzeckimvo: thanks06:32
mupPR snapd#8623 closed: tests/lib/prepare.sh: delete patching of the initrd <UC20> <⚠ Critical> <Created by anonymouse64> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/8623>06:33
mborzeckiseems like that go 1.9 failure in wrappers is random after all06:33
zygagood morning06:51
zygaeventful evening?06:51
mvozyga: good morning - we did all the bits missing for beta I think06:52
mvozyga: snapd snap just building, that was the last piece, then we hopefully have a working beta06:52
zygathat's impressive06:52
zygamvo: I'll do what claudio mentioned06:53
zygaboot it and leave it running06:53
zygaan aging test06:53
mvozyga: nice06:53
mborzeckizyga: hey06:53
zyga:-)06:54
zygaguys, if you have daughters06:54
mborzeckihm?06:54
zygathen spend 30zł / < 10 euro06:54
zygaand play it with them06:55
zygahttps://www.gog.com/game/foxtail06:55
zygathis game is incredibly beautiful and fun06:55
zygalocalized, with click-to-advance in dialogue, so kids can read at their own pace06:55
mborzeckizyga: hmm looks like an old school adventure game?06:55
zygait is06:55
mborzeckizyga: do you remember teenagent? :P06:56
zygaand the mood and looks are just so nicely crafted06:56
zygamborzecki: yes but this is way better :)06:56
zyga(I bought teenagent as a teen)06:56
mborzeckino way xD06:56
zygayeah :D06:56
mborzeckitoo bad gog doesn't support their client on linux06:57
zygathere's no DRM and it supports linux as well06:57
zygamborzecki: yeah but the game is just a zip to download and run06:57
mborzeckizyga: well, it is, but it's clearly a work in progress title, so on linux you'll have trouble keeping up with the updates, none of the open source clients i tried seem to support updates nicely and there's some issue with gog updates api that apaprently makes it hard to integrate06:59
zygamborzecki: this game is updated roughly once a year06:59
zygamborzecki: anyway, just consider it06:59
zygait really is worth the money07:00
zygamborzecki: each update brings the next episode (3 out of 7 are available now)07:00
zygait is made by a tiny studio07:00
pstolowskimorning07:03
zygagood morning pawel!07:03
mborzeckianyone able to reproduce the unit test timeout in wrappers package?07:13
zygamborzecki: on master?07:13
zygamborzecki: I started go test -count 1000 ./wrappers/07:15
zygaI'll let you know if it triggers07:15
mborzeckipedronis: hi, were you able to reproduce the unit test timeout in wrappers by any chance?07:16
pedronisno07:16
mborzeckihm intersting, also the PRs that ijohnson opened yesterday were green today07:17
pedronisit's definitely weird07:17
pedronisalso it might be that something else failed and the panic covers it because it doesn't get printed07:17
mborzeckiyeah, that's true07:18
pedronismvo: hi, it's not needed for the beta but this also needs to be backported https://github.com/snapcore/snapd/pull/8602  I don't see it in 2.45 yet07:18
mupPR #8602: configcore: only reload journald if systemd is new enough <Squash-merge> <Created by stolowski> <Merged by stolowski> <https://github.com/snapcore/snapd/pull/8602>07:18
pedronismvo: this also wasn't ported  https://github.com/snapcore/snapd/pull/8622/ ?07:21
mupPR #8622: cmd/snap-bootstrap/initramfs-mounts: add sudoers to dirs to copy as well <UC20> <Created by anonymouse64> <Merged by bboozzoo> <https://github.com/snapcore/snapd/pull/8622>07:21
mvopedronis: yes, that is right, let me fix that07:30
zygapedronis: I moved https://github.com/snapcore/snapd/pull/8566 to snaplock07:34
mupPR #8566: cmd/cmdutil: add run inhibition operations <Created by zyga> <https://github.com/snapcore/snapd/pull/8566>07:34
zygaonce this is +1 I will adjust the dependencies07:34
pedronisthx07:34
pedronisneed to do some other things before getting back to reviews07:35
zygasure07:35
zygaI have plenty of things to write so not blocked07:35
mupPR snapd#8624 opened: cmd/snap: fix the order of positional parameters in help output <Simple 😃> <Created by bboozzoo> <https://github.com/snapcore/snapd/pull/8624>07:35
mborzeckitrivial fix ^^07:37
zygamborzecki: I reproduced the panic07:38
zygahttps://www.irccloud.com/pastebin/vmigrXPM/07:38
zygamborzecki: so07:46
zygamborzecki: this trace is funny07:46
zygamborzecki: we clearly exec something07:46
zygayet the SetUpTest says07:46
zyga    s.systemctlRestorer = systemd.MockSystemctl(func(cmd ...string) ([]byte, error) {07:46
zyga        s.sysdLog = append(s.sysdLog, cmd)07:46
zyga        return []byte("ActiveState=inactive\n"), nil07:46
zyga    })07:46
zygawhich seems to suggest this mock is one thing07:46
zygabut calling "systemctl" executable is another07:47
mborzeckizyga: which go version is that?07:47
zyga1.13.807:47
zygabrb07:47
mborzeckiok, so not go specific, probably just borked setup07:48
mborzeckior test07:48
zygabugs, bugs, bugs08:35
zygabut also progres08:35
pedronis#8564 got a +1 from pstolowski and now I applied his suggestions and is ready for 2nd reviews08:40
mupPR #8564: asserts: introduce Pool <Bulk assert refresh :scroll::scroll::scroll:> <Created by pedronis> <https://github.com/snapcore/snapd/pull/8564>08:40
zygapedronis: what is the 'h' assertion header for?08:53
ackkmvo, hi, I canceled today sync as there isn't really anything to talk about08:53
mvoackk: ok, I see there is a bug mentioned, I have a look at that08:53
ackkmvo, ah yeah, not sure if it's really relevant for snapd, but if you want we can talk about it. it's just me today08:54
ackkmvo, mostly, I added it there to ask if there was a best practice for knowing the underlying OS details from a snap08:54
mvoackk: no need to meet just for that :)08:55
mvoackk: we can cover it next time08:55
ackkright08:55
pedroniszyga: they are test-only assertions, they look a bit like snap-declarations and snap-revisions09:01
pedroniszyga: but unless you reviewed the other ones in this chain, I wouldn't recommend looking a tit09:02
pedronisheh09:02
pedronisat it09:02
pedronismborzecki: so that test failed again with the timeout09:04
pedronismvo: some the unit tests changes that came with jamesh PR that was merged yesterday are failing regularly but is not super clear what is going on09:05
pedronismvo: do you need to do a pre4 ?09:06
ackkmvo, I have a very basic snap with just meta/snap.yaml (to test the system-files interface). I snap pack it but when I install I get - Run configure hook of "testsnap" snap if present (run hook "configure": cannot snap-exec: no such file or directory)09:08
ackkmvo, why is it trying hooks when there are none?09:08
zygaackk: do you have meta/hooks/configure?09:09
ackkzyga, nope09:09
zygathough the snap-exec error is also curious09:09
ackkjust meta/snap.yaml and "script" , which is a bash script09:09
ackkI'm using base: bare if that mattes09:09
ackk*matters09:09
zygaah09:09
zygabare base has no shell?09:10
zygano /bin/sh09:10
ackkoh,09:10
zygathough the configure hook is weird still09:10
zygait's bare for a reason :D09:10
zygain fact, it has nothing09:10
zygayou must provide a static binary09:10
ackkright, I forgot09:10
mborzeckipedronis: can you reproduce it?09:11
mborzeckipedronis: or was that in some PR?09:11
pedronismborzecki: a PR09:11
mvopedronis: not sure if we need a pre4, I hope we can test what we have in beta and if it's all working fine I can do a 2.45 for real but it depends a bit. do you know already something that is broken?09:12
pedronismvo: no, just wondered because sudoers bits are not in pre309:12
pedronisso you cannot really test recover09:13
pedronisafaiu09:13
mvopedronis: yeah, that was silly of me, I cherry picked it and pushed to release/2.45 and rebuild the beta. so it will be ~pre3+git but that should be ok for testing :)09:13
mborzeckipedronis: commit d16c44f0aa mentiones some issues with shutting down the session agent09:14
pedronisI know09:15
pedronismaybe we should try undoing and then it happens for often and try to really understand09:15
pedroniss/for/more/09:15
pedronisanyway this is very annoying09:16
mborzeckihm wonde rif it's possible that the agent hits idle timeout and stops listening09:25
pedronismborzecki: ah09:26
pedronismaybe should be possible to write a test to see what happens in that case09:26
mborzeckitrying to provoke that in tests09:26
pedronisbut there's shoould be an Accept around09:26
pedronisin that case, no?09:26
pedronissorry, there shouldn't be09:26
mborzeckiah right09:27
pedroniszyga: I did another pass on #856609:30
mupPR #8566: c/snaplock/runinhibit: add run inhibition operations <Created by zyga> <https://github.com/snapcore/snapd/pull/8566>09:30
pstolowskihmm we could use systemd version check to avoid LazyUnmount on core16 (which generates a lot of noise in system log)10:48
zygapedronis: thank you for the review, I replied to one comment and I'll adjust the rest later today10:49
zygapstolowski: +110:49
zygapstolowski: but then we never rewrite .mount units10:49
zygapstolowski: so -1 unless you know how to do that on systemd upgrades10:49
pstolowskiah, hmm10:50
pstolowskianyway, something to think about10:50
mupPR snapd#8625 opened: wrappers: tweak the  order of restoring, use client timeout in services test teardown <Skip spread> <Created by bboozzoo> <https://github.com/snapcore/snapd/pull/8625>11:01
mborzeckipedronis: ^^ maybe this will give us more insight11:01
mborzeckihm removed that thing poking the client in teardown and can reproduce the timeout now11:07
pstolowskizyga: maybe we could make systemd version part of systemkey11:11
zygapstolowski: we don't rewrite mount units on system key11:12
pstolowskizyga: yes, but maybe then we would11:12
zygapstolowski: what happens when you rewrite mount unit11:12
zygaI tried to propose that but it got stuck on this discussion11:13
zygado we remount things? we cannot really11:13
pstolowskiallright... just thinking aloud11:13
zygano no, that's good11:13
zygait's just we need to think how to do that in practice11:13
pedroniszyga: interesting, firefox does this HOME: $SNAP_USER_COMMOM in its snap.yaml11:15
zygaI hope it's COMMON :)11:15
zygabut interesting, yeah11:15
zygawe give people the means and they get creative11:15
mborzeckimeh, go test -timeout is kinda silly11:26
mupPR snapd#8626 opened: tests: fix passing stdin via session-tool <Created by zyga> <https://github.com/snapcore/snapd/pull/8626>11:26
zygamborzecki: ^ a trivial patch and an annoying discovery11:27
=== pedronis_ is now known as pedornis
=== pedornis is now known as pedronis
pedronismborzecki: your PR is green,  so maybe we were trying to talk to the real agent?11:27
pedronisdo we need that poking code?11:27
mborzeckiyeah, but it'd hard to explain why there would be another agent11:28
zygamaybe we activate it via socket?11:28
zygado we mask the real agent?11:28
mborzeckihowever, go test ./... runs all package tests in parallel, if there's another package starting the agent, we could try to talk to taht other agent ?11:28
zygaah, unit tests11:28
mborzecki(assuming mocking elewhere is incorrect too)11:28
pedronismborzecki: that sounds fragile,  well there are agents own tests of course11:29
pedronismborzecki: anyway I'm still unsure why we need that poking code11:30
mborzeckiright11:30
mborzeckiperhaps we could land #8625 while i'll try to poke further11:31
mupPR #8625: wrappers: tweak the  order of restoring, use client timeout in services test teardown <Skip spread> <Created by bboozzoo> <https://github.com/snapcore/snapd/pull/8625>11:31
pedronismborzecki: yes, that's fine11:31
zygait's finally warm enough to use the standing desk in the colder corner of the office :)11:38
cachiozyga, hi11:44
zygahi11:44
cachioyesteday I left some errors related to session tool11:44
cachioI see you created a new PR with fixes11:44
zygaoh?11:44
zygaI didn't see those11:44
zygawhich fixes? :)11:45
cachiozyga, is it related to this? https://paste.ubuntu.com/p/9Svw3Qd7yB/11:45
cachiohttps://paste.ubuntu.com/p/k7fyPJch78/11:45
zygano11:45
zygarestore EOFs?11:45
cachiozyga, ahh, these fixes #862611:45
mupPR #8626: tests: fix passing stdin via session-tool <Test Robustness> <Created by zyga> <https://github.com/snapcore/snapd/pull/8626>11:45
zygathat is related to another PR but not to the pastebin11:46
zygais this EOF a one-off or something that always happens/11:46
cachiozyga, restore EOF and also the other test11:46
cachiozyga, the test failing on this https://paste.ubuntu.com/p/k7fyPJch78/11:46
cachiozyga, cannot connect to server -> curl --unix-socket /run/user/12345/snapd-session-agent.socket -D- -X POST -H 'Content-Type: application/json' -d '{"action": "daemon-reload"}' http://localhost/v1/service-control11:48
cachiozyga, this is also failing on uc20 https://paste.ubuntu.com/p/NgHhWVVPFW/11:50
cachiozyga, the problem is that as it is failing on restore, it breaks the whole test suite11:50
cachiozyga, my concern is why it is not failing in google execution11:50
cachiobut fails on edge and beta validation11:51
zygare12:06
zygacachio: probably random12:06
zygacachio: unless it happens each time when executing a specific test12:07
mborzeckicachio: can you reproduce the problem in tests/main/snap-session-agent-service-control?12:07
cachiozyga, mborzecki it happens 100% of the time12:07
cachiomborzecki, yes I can12:07
zygacachio: did you collect information about the other session?12:07
zygacachio: from the session-tool failure?12:08
zygaah12:08
zygawait12:08
zygasorry,  I misread12:08
zygait's the EOF12:08
zygaso no new data12:08
mborzeckiperhaps the session agent isn't running yet/already/at all12:08
cachiozyga, no, but I can do it12:08
zygait's only interesting iff we can reproduce it in isolation12:08
zygacachio: if you can run session-tool test _alone_12:08
cachiozyga, sure12:09
zygaok12:09
cachiozyga, running12:10
cachiogime me 5 minutes until it fails12:10
cachiozyga, I reproduced the error12:21
cachiois any info which I could provide?12:21
cachioI have an ssh opened12:22
zygawhat's the last thing that was logged in the spread run?12:22
cachio2020-05-08 09:15:58 Error restoring external:ubuntu-core-18-64:tests/main/session-tool:test (external:ubuntu-core-18-64) : + session-tool --restore -u test12:24
cachio2020-05-08 09:15:58 Error debugging external:ubuntu-core-18-64:tests/main/session-tool:test (external:ubuntu-core-18-64) : EOF12:24
cachio2020-05-08 09:15:58 Restoring external:ubuntu-core-18-64:tests/main/ (external:ubuntu-core-18-64)...12:24
cachio2020-05-08 09:15:58 Error restoring external:ubuntu-core-18-64:tests/main/ (external:ubuntu-core-18-64) : EOF12:24
cachioI could run with the flag to show the output12:25
zygacachio: how do you log into the system?12:25
cachioit is a vm here12:25
zygacachio: how does spread log into the system?12:25
cachioI it does not log12:25
zygawell, does it execute test by magic?12:26
cachioI have a spreac which show ssh on real time12:26
zygait must connect to the system somehow12:26
cachiozyga, I have an image to reproduce the error if you want12:26
zygano12:26
zygaI'd like to understand if this is a normal spread run that uses ssh to connect12:26
cachiozyga, it is a normal spread run12:27
zygaok12:27
cachiousing external backend12:27
zygais it using ssh to log in as the root user on the device under test?12:27
zygaor is there any other user used12:28
cachiozyga, it uses root12:29
cachiosame as in google backend12:29
mupPR snapd#8627 opened: c/snap-bootstrap: port mount state mocking to the new style on master (2.45) <Created by pedronis> <https://github.com/snapcore/snapd/pull/8627>12:29
zygaok12:29
zygacachio: can you log into the system12:29
zygaand run, as root12:29
zygasession-tool --prepare -u test12:30
zygasession-tool --restore -u test12:30
cachiozyga, done12:32
zygadid it EOF?12:32
cachiono12:32
zygaok12:32
zygais there anything in journal from the time of the failure?12:32
cachiozyga, https://paste.ubuntu.com/p/bfJYGthXwB/12:34
cachiothis is the only I see which seems to be relevant12:35
cachioI see it many times12:35
zygacachio: what specifically?12:35
cachioMay 08 12:15:58 localhost systemd[1]: session-tool-c24e7dda-59d7-4fbd-a871-fc2431b4f5d1.service: Main process exited, code=exited, status=1/FAILURE12:36
zygathe test is running "false"12:36
zygaStarting session-tool running false as test...12:37
zygato check that exit status is forwarded12:37
cachioah12:37
zygacachio: K w12:39
zygaI wonder if this is just a network timeout over ssh12:39
zygathis test takes a while to run12:39
zygamaybe tweak it so that there's fewer iterations12:39
zygaand see if that changes anything12:39
cachioI am running again but now showing the output12:40
cachioso I'll see on which line fails12:40
cachiozyga, perhaps it helps12:41
zygayeah, let's try12:41
cachioit is looping12:43
zygacachio: any failures?12:56
cachiostill preparing12:56
zygaok12:56
ackkzyga, am I doing something wrong here https://bugs.launchpad.net/maas/+bug/1876217/comments/5 ?12:56
cachioI had to re-execute12:56
mupBug #1876217: Controllers report Ubuntu Core version in the Snap <MAAS:In Progress by ltrager> <snapd:Incomplete> <https://launchpad.net/bugs/1876217>12:56
cachiobecause once it fails, then the session is not correctly cleaned and fails the next run12:56
ackkzyga, (wrt system-files plug)12:57
cachiozyga, I see same behaviour12:57
cachioas it calls itself it goes into an infinite loop12:57
zygaackk: yeah12:58
zygaackk: probably ..l12:58
zygals -ld /etc/os-release12:58
zygais it a symlink?12:58
ackkzyga, outside or inside the snap?12:58
zygawell12:59
zygaoutside12:59
zygathe hostfs one is failing12:59
ackk/etc/os-release -> ../usr/lib/os-release12:59
zygaso12:59
ackkah I see12:59
ackkso I have to use the actual file?12:59
zygaapparmor grants you rights to read /var/lib/snapd/hostfs/etc/os-release12:59
zygabut you that is a symlink12:59
zygaso you need /var/lib/snapd/hostfs/usr/lib/os-release12:59
zygaand you need to understand this in your app13:00
zygait kind of sucks because symlinks seen via hostfs are "hard"13:00
zygait's good we don't have absolute paths in them13:00
zygaextend the read section13:00
zygato say /var/lib/snapd/hostfs/usr/lib/os-release13:00
zyga(in addition to the etc line)13:00
zygaand you should be good13:00
ackkzyga, so I suspect that won't work for the purpose of being os-agnostic, as on other OSes that might not be a symlink13:00
zygayeah13:00
ackkzyga, so it won't work even if the interface allows both?13:00
zygathe denial would also tell you13:00
zygawell13:00
zygathe symlink can in theory point anywhere13:01
zygain practice it either is not a symlink13:01
zygaor it points to a finite set of files13:01
zygawhich do differ by OS flavour (I recommend booting a fedora workstation)13:01
ackkzyga, I see, thanks13:02
zygagood luck! :)13:02
zygaoh13:02
zygastandup!!13:02
zygaackk: I would prefer a snapctl os-release -like API13:03
zygawhere you could just ask13:03
zygaand we'd tell you without this mess13:04
ackkzyga, yeah, that'd be good13:04
ackkzyga, alternatively the actual /etc/os-release content could be exposed in some other file, like /etc/os-release-host or something13:05
ackkalthough that would only work for core* bases13:05
zygaackk: that's tricky too13:05
zygait's easier to have an API13:05
ackkzyga, yeah I assumed it would be trickier :)13:05
cachiozyga, this is the last part of the output13:06
cachiohttps://paste.ubuntu.com/p/mysVkdXQ4M/13:06
zyga"last" :D13:06
zygaI don't know where to look13:07
zygathe end looks like just cleanup13:07
cachioI am logging the full run now13:08
zygano13:08
zygamaybe just look at the log13:08
zygaI mean13:08
zygaI just don't know what to look at13:08
zygathere are 35K lines there13:08
zygaso a longer log doesn't really help much13:09
zygado you see where it failed?13:09
cachiozyga, https://paste.ubuntu.com/p/2NT6zGG5QB/13:09
cachiothis could help13:09
zygawhat is the status of user-1001.slice?13:09
zygacachio: that does not seem to be a fragment of the earlier log13:10
zygaas I cannot see the EOF messages there13:10
cachiozyga, no, it is a new run13:11
cachiozyga, this is from journal https://paste.ubuntu.com/p/hkcJwwpsV3/13:11
zygaMay 08 13:07:54 localhost sshd[19701]: pam_unix(sshd:session): session closed for user test13:12
zygathis is weird13:12
zygahow come are we logging in as the test user?13:12
cachiocheking13:12
zygaso13:13
zygacachio: let me tell you what I think13:14
zygasession-tool --restore does stop the slice of the test user13:14
zygathat stops all the services running as the test user13:14
zygaand kills all the test users's processes13:14
zygathe only explanation for the EOF13:14
zygais that we ssh as the test user13:14
zyganot as root13:14
zygamaybe both, dunno13:14
zygabut that message looks like we just ssh as test13:14
cachiozyga, I ran with -vv and I see it is running as root13:19
cachioexport USER="root"13:19
zygacachio: can you find the moment where we ssh13:20
zygaor log into the machine and see if we've ssh'd as root or as test/13:20
zygapstolowski: maybe move the window to the mac's main screen?13:21
zygamvo: if you review the shell fix, please merge it, it failed on mount-protocol-error :/13:22
mvozyga: will do13:23
zygathanks13:23
zygacachio: I know what the problem is13:28
zygacachio: look at spread.yaml13:28
zygacachio: and look for user: test13:28
zygathat's the problem13:28
zygawe do connect as the test user13:29
zygano idea why13:29
zygait's probably not a good idea13:29
zyga(username: test)13:29
cachiozyga, yes13:29
cachioyou are right13:29
cachioLet me update the test user and try again13:30
zygaok13:30
zygasome tests failed on the store13:31
zygaupdates: got unexpected HTTP status code 408 via POST to "https://api.snapcraft.io/v2/snaps/refresh"13:32
zygapedronis: ^ is that expected?13:32
cachiozyga, https://paste.ubuntu.com/p/fww8t62NbC/13:37
cachiothanks!13:37
zygaexcellent13:37
zygathanks!13:37
cachioI'll create a PR with the fix13:37
mupPR snapd#8628 opened: cmd/snap: coldplug auto-import assertions from all removable devices <UC20> <Created by bboozzoo> <https://github.com/snapcore/snapd/pull/8628>13:40
zygamvo: if you look at https://tracker.debian.org/pkg/snapd it says there were 8K new commits since release13:44
zygahttps://qa.debian.org/cgi-bin/vcswatch?package=snapd13:44
zygamvo: overrides for https://github.com/snapcore/snapd/pull/8626 and https://github.com/snapcore/snapd/pull/8614 would be great13:50
mupPR #8626: tests: fix passing stdin via session-tool <Test Robustness> <Created by zyga> <https://github.com/snapcore/snapd/pull/8626>13:50
mupPR #8614: tests: don't create root-owned things in ~test <Test Robustness> <Created by zyga> <https://github.com/snapcore/snapd/pull/8614>13:50
zygaI could re-trigger but that would just waste time13:50
mvozyga: sure, OMW13:56
zygathank you13:57
mupPR snapd#8614 closed: tests: don't create root-owned things in ~test <Test Robustness> <Created by zyga> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/8614>13:57
mupPR snapd#8626 closed: tests: fix passing stdin via session-tool <Test Robustness> <Created by zyga> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/8626>13:57
zygathanks!13:58
mupPR snapcraft#3111 opened: elf: fix parsing of notes after patchelf mangling <Created by cjp256> <https://github.com/snapcore/snapcraft/pull/3111>14:04
ijohnsonmvo: you might want to cherry-pick https://github.com/snapcore/snapd/pull/8623 onto 2.45 as well, since spread tests on the release/2.45 branch will fail there without that PR14:13
mupPR #8623: tests/lib/prepare.sh: delete patching of the initrd <UC20> <⚠ Critical> <Created by anonymouse64> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/8623>14:13
ijohnsonmvo: I milestoned the PR as 2.45 for you14:13
mvoijohnson: \o/14:17
mupPR snapd#8629 opened: tests: new test user is used for external backend <Created by sergiocazzolato> <https://github.com/snapcore/snapd/pull/8629>14:35
zygacachio: thank you :)14:36
cachiozyga, yaw14:37
cachiozyga, thaanks to you for helping with the issue14:37
zyga:)14:37
zygayeah, it was a fun thing to discover :)14:37
pedronis#8577 needs a 2nd review, maybe ijohnson ?14:39
mupPR #8577: secboot,cmd/snap-bootstrap: move initramfs-mounts tpm access to secboot <UC20> <Created by cmatsuoka> <https://github.com/snapcore/snapd/pull/8577>14:39
* zyga is sorry for missing the TGIF14:39
zygalunch14:39
ijohnsonpedronis: yes it's been in my queue, will take a look14:43
pedronisI forgot about your 855914:44
pedronismborzecki: so I double checked, the workaround would have poked the real agents, so it cannot have a useful effect14:46
mborzeckipedronis: i think we should just drop that bit that pokes the agent and see how it will perform in the unit tests accross more runs14:49
mborzeckilet me push that change actually14:49
pedronismborzecki: one other thing I notice is that the agent uses SdNotify but I don't see it mocked14:51
mborzeckipedronis: that code shoudl be noop mostly withouth the env vars14:52
mupPR snapd#8630 opened: tests: inject snapd from edge into seeds of the image in manual preseed test <Created by stolowski> <https://github.com/snapcore/snapd/pull/8630>15:09
pstolowskicachio: ^ this should fix the problem, passes for me on 19.10 & 20.0415:10
mborzeckipedronis: so i dropped that bit that poked the session agent, and it failed now ;P15:11
pedronismborzecki: it failed here too, but only with 1.915:12
zyga:D15:12
mborzeckimaybe that shitdown is buggy15:12
zygais it a bug in go?15:12
mborzeckishutdown15:12
zygashitdown :D15:13
mborzeckiheh, funny typo15:13
zygashit happens15:13
zygashutdown may hang15:13
pedronislikely yes, but is not obvious because the shutdown code seems the same15:13
pedronisso it would be lower level15:14
zygamaybe it relies on infra beneath15:14
mborzeckiif we only could restart successful unit test jobs15:14
zygaoh about that15:14
zygamvo: what about bit pusher?15:14
mvozyga: bit-cacher? still an option, someone needs to review my pr15:14
mborzeckigot to go, my father's name day, bringing him some cake and all15:15
zygamborzecki: ^ you have a solution there15:15
zygamborzecki: o/15:15
pedronismmh15:21
pedronisthere is something odd about the code15:21
pedronismaybe it relates to the problem15:21
pedronisor not15:21
seb128kenvandine, btw, I reported https://bugs.launchpad.net/snapd/+bug/1877610 now15:28
mupBug #1877610: The gdb option takes over the user configurations <snapd:New> <https://launchpad.net/bugs/1877610>15:28
seb128about the 'gdb screws the configuration and breaks your application'15:29
kenvandineseb128: thanks15:29
cachiopstolowski, great, thanks15:29
* cachio lunch15:37
mupPR snapd#8631 opened: image,cmd/snap,tests: add support for store-wide cohort keys <Created by xnox> <https://github.com/snapcore/snapd/pull/8631>15:45
pedronismaybe I understand what is going on15:49
mupPR snapd#8624 closed: cmd/snap: fix the order of positional parameters in help output <Simple 😃> <Skip spread> <Created by bboozzoo> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/8624>16:18
mupPR snapd#8627 closed: c/snap-bootstrap: port mount state mocking to the new style on master (2.45) <Created by pedronis> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/8627>16:18
mupPR snapd#8629 closed: tests: new test user is used for external backend <Simple 😃> <Created by sergiocazzolato> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/8629>16:19
mupPR snapd#8632 opened: configcore: only reload journald if systemd is new enough (2.45) <Created by mvo5> <https://github.com/snapcore/snapd/pull/8632>16:23
mupPR snapd#8633 opened: tests: detect and report root-owned files in /home <Created by zyga> <https://github.com/snapcore/snapd/pull/8633>16:27
zygaijohnson: I guess with this ^ we could drop the FIXME comments in the pulseaudio tests16:29
ijohnsonzyga: there's a lot of things there, which one?16:30
pedronisI think I have a fix for the wrappers mystery, actual the workaround would have also helped (if it talks to the right agent as now in Maciej PR)16:30
zygaijohnson: ah sorry, this code says BZZ BROKEN if a test leaks root-owned files in /home16:30
zygaijohnson: this is the code that showed the three tests fixed today16:31
pedronisthe issue is that on older go it seems if you call Shutdown before Serve, you get a race and Shutdown will not quite work16:31
zygapedronis: nice16:31
zygapedronis: what was the problem?16:31
zygaah :)16:31
pedronisin normal usage that shouldnd't happen, but because this is setting up the agent also for a lot of cases that don't use it16:31
pedronisit happens16:31
zygaijohnson: if you scroll to the bottom, you can see how this works16:31
zygapedronis: which go version is fixed?16:32
zygaI was looking at some hangs that I could not explain and perhaps those are related16:32
ijohnsonzyga: no sorry I meant which PR were you referring to, there was like 8 messages from mup above your msg16:32
ijohnsonthe "^" was ambiguous16:32
zygaijohnson: ah :D16:32
zygaijohnson: see here please https://github.com/snapcore/snapd/pull/8633/files#diff-01bb876cbb65b7a336cd99a41c4b97a9R516:33
mupPR #8633: tests: detect and report root-owned files in /home <Created by zyga> <https://github.com/snapcore/snapd/pull/8633>16:33
pedroniszyga: I don't know16:33
pedronisactually16:33
ijohnsonack looking now16:33
pedroniszyga: it's not a change in Shutdown itself16:33
pedronisso it's not very easy to track16:33
pedronisand haven't looked deeply16:33
zygaijohnson: some things we do in ad-hoc way could move there, like looking for selinux denials or apparmor denials or messages from broken udev rules16:34
zygaijohnson: I have one more checker, that shows we don't have processes running as "test" user16:34
ijohnsonthis checker looks nice and I like having more checker things like this that make sure tests clean up after themselves16:35
zygaone thing this buys us16:35
zygais perhaps a way to accelerate prepare/restore16:35
zygaas now it's somewhat heaveyweight because it must be very conservative16:35
zygawe could maybe make it faster over time16:36
ijohnsonright16:36
ijohnsonIt would be good to see what kind of performance that is though, because I wouldn't be surprised if it's not actually that slow16:37
zygathat fast or that slow?16:37
ijohnsonor rather than not doing automatic cleanup doesn't net us that much total performance16:38
zygaah, I see16:38
ijohnson*performance gain16:38
zygaI would be happy if we get a clear message from broken tests :)16:38
ijohnsonyes I think that's  the MVP we should be looking for right now :-)16:38
zygaand not "one of the tests before, guess which please" but "this test right here" :)16:38
zygaagreed16:39
ijohnsonalso zyga what happened to "let's write all the -tool's in python :-P16:39
ijohnson"16:39
zygawell16:39
zygaI did16:39
zygabelieve me16:39
zygabut it's 20K lines now16:39
ijohnsonhaha what16:39
zygaand I just realized this will never get merged16:39
zygaI wrote this16:39
zygawaaaay more complex16:39
zygathat's testbed-tool16:39
zygait supports python and shell plugins16:40
zygaand has tests16:40
zygaand man16:40
zygathis shell script is good enough16:40
ijohnsonah I see what you mean16:40
ijohnsonindeed16:40
zygabut16:40
ijohnsonalso much easier to review than 20000 lines of python16:40
zygasince this is not a source-me shell program16:40
zygawe can :)16:40
zygathat's the important distinction16:40
pedroniszyga: seems it's this issue: https://github.com/golang/go/issues/20239 and it's still thee 1.10 but fixed in 1.1116:41
zygaand we are building with 1.10?16:42
pedroniswe use 1.9 and 1.1016:42
zygaI see16:42
pedronisand 1.1316:42
zygawell, maybe after beta we could discuss having more recent builds16:42
pedronisin our tests16:42
zygamaybe for snapd.snap16:42
zygadunno16:42
zygaI guess apart from core / snapd nobody is on go this old anymore16:43
zygabut after beta16:43
zygapedronis: and great find!16:43
zygaok I should EOW now16:44
zygaijohnson: I'll push a few more checker patches that covert existing random checks into something more organized but probably later tonight only16:45
ijohnsonsure sounds godo16:45
ijohnsongood even16:45
zygathanks, have a great weekend everyone :)16:45
zygao/16:45
ijohnsonyou too zyga o/16:45
mupPR snapd#8625 closed: wrappers: tweak the  order of restoring, use client timeout in services test teardown <Skip spread> <Created by bboozzoo> <Closed by pedronis> <https://github.com/snapcore/snapd/pull/8625>16:47
mupPR snapd#8634 opened: usersession/agent,wrappers: fix races between Shutdown and Serve <Created by pedronis> <https://github.com/snapcore/snapd/pull/8634>16:53
pedronismvo: ijohnson: ^16:53
ijohnsonmmm pedronis I haven't been following this discussion super close, is it ok if I review a bit later, trying to wrap up the reboot from recover -> run PR to propose first16:54
pedronisyes16:54
pedronismostly I pointed it out because it should help with some of the red we are seeing16:55
ijohnsonack, sounds good16:55
mvopedronis: nice!17:36
cmatsuokamvo: is the network fix for recover mode already in 2.45?17:59
cmatsuokamvo: well it seems so, it worked now (but for some reason it failed once before)18:12
ijohnsoncmatsuoka: yes it should be in the kernel snaps available on edge/beta18:30
mupPR snapd#8635 opened: o/devicestate: support doing system action reboots from recover mode <UC20> <Created by anonymouse64> <https://github.com/snapcore/snapd/pull/8635>18:35
=== ijohnson is now known as ijohnson|lunch
cachiozyga, any idea for this? https://paste.ubuntu.com/p/MRVj2xkQJf/18:44
cachioit is happening with the new bionic image18:44
cachiothis happens with session tool as I see18:45
=== ijohnson|lunch is now known as ijohnson
pedronisijohnson: I added some small comments/questions to that PR19:06
ijohnsonpedronis: ack I'm addressing them now19:06
zygacachio: re19:06
zygacachio: I think it's the race I mentioned during standup, I'll send a patch that probably fixes it next week19:07
cachiozyga, nice, thanks19:07
zygaso, why do our test images have an "ubuntu" useR?19:22
zygasorry19:22
zygawhy does spread-created core-16 and core-18 have an ubuntu user?19:22
zygait's really weird19:22
zygathere's a /home/ubuntu/.ssh/authorized keys that's empty19:22
zygabut /home/ubuntu is owned by root:root19:23
zygabut /home/ubuntu/.ssh is ubuntu:ubuntu19:23
zygado we have a snap changes change for creating users?19:23
zygaok, found the bug19:30
cachiozyga, did you find it?19:37
zygano, it was a false trail19:37
zygaI added a few more checks19:37
zygaif you know I'm all ears :)19:37
cachiozyga, I also see this error + session-tool -u test --has-systemd-and-dbus19:38
cachiogrep error: pattern not found, got:19:38
cachiono user dbus.socket19:38
cachiois it related?19:38
zygano19:38
zygawhere do you see it?19:38
zyga16.04?19:38
cachiobionic19:38
cachiousing the new image19:38
cachiowhich I didnt publish yet19:39
cachioimage: test-bionic-119:39
cachiofor this test google:ubuntu-18.04-64:tests/main/session-tool-support:test19:39
zygano-install-recommends probably ate dbus-user-session19:39
cachioshould I install dbus-user-session ?19:40
cachioas a dependency19:40
zygaif it was preinstalled in the other image, yeah19:41
zygaor adjust the test, the test really shows us what the system defaults are19:41
pedronisnow we hit a different snapd-session-agent issue19:43
cachiozyga, it is not installed in the previous version19:44
zygacachio: that's odd, the test really checks if you have dbus.socket as systemctl --user19:45
zygacachio: and we seem to have it in a vanilla bionic image19:45
zygacachio: otherwise it would not pass19:45
zygacachio: perhaps something just removed it19:45
zygacachio: if you have a debug shell, maybe it is in apt/dpkg history log19:45
cachiozyga, I think the problem is that now we have installed dbus-x11 installed and previously we didnt19:46
zygapedronis: what did you run into?19:46
zygacachio: dbus-x11 is not checked by session-tool-support19:46
zygacachio: look at the test and at the filesystem please19:46
pedroniszyga: test are failing in on core 16 for user services saying there's a start limit issue with the snapd-session-agent19:46
zygapedronis: start limit, as in it starts and crashes quicky?19:47
pedronismaybe19:47
zygapedronis: core 16 and core 18 did not ship dbus for user sessions  (20 did)19:47
zygabut did that test ever pass there?19:47
pedronismaybe is my code change, but unsure it happens only on core 1619:47
zygaI see19:47
zygaoh fun19:47
zygaFriday :/19:47
pedronisI'm trying to run the test alone, to see if it's flaky or always fail19:48
pedroniszyga: alone it works19:57
pedronisfwiw19:57
pedroniszyga: do we start sessions for root in tests?20:01
zygapedronis: if the test explicitly wants to, as in runs session-tool --prepare (-u root is default) and session-tool ....20:02
zygapedronis: IIRC some tests do but most don't20:02
zygapedronis: probably only tests that I wrote do that20:02
pedronismaybe those tests are leaving something behind20:02
zygapedronis: try with -repeat 30 or something like this20:02
zygait is good at catching weird mistakes20:02
zygalike test breaking itself20:03
zygaas well as some chance of catching races20:03
zygapedronis: perhaps, which test did you see fail?20:03
zygaif you dump all the information you have here I may have luck over weekend20:03
pedroniszyga: https://github.com/snapcore/snapd/pull/8634/checks?check_run_id=65704671620:04
mupPR #8634: usersession/agent,wrappers: fix races between Shutdown and Serve <Test Robustness> <Created by pedronis> <https://github.com/snapcore/snapd/pull/8634>20:04
zyga- Make snap "test-snapd-user-service" (unset) available to the system (Post http://0/v1/service-control: read unix @->/run/user/0/snapd-session-agent.socket: read: connection reset by peer)20:05
pedronisyes, see /0 is root20:05
zygayeah20:05
zygalet me check the test quickly20:05
pedronisbut the tests really set up a session only for test20:05
pedronissorry the test20:05
pedronisI think there's an issue with the tests but also probably a robustness issue in general20:06
zygawell20:06
zygathe root user has a session20:06
zygabecause spread logs in over ssh20:06
zygaperhaps we should mask session services for root20:06
zygaat least for testing20:07
zygauntil we understand what's going on20:07
zygaso, without using session-tool, there is a session20:07
zygaloginctl shows it20:07
zygait's the ssh we use to connect20:07
pedronismaybe yes20:07
zygaso you get session services there20:07
zygaincluding auto-start and other things20:07
zygaif snapd does something to per-user sessions now20:07
zyga(I kind of forgot how this works)20:08
zygait's plausible it talks to root's session as well20:08
zygaas a quick way to check20:08
pedronisit does, the logic is very naive in some ways20:08
pedronisthat's why I said we might have to think a bit20:08
pedronisbut indeed my concern right now is not even the feature20:08
pedronisbut more test robustness20:09
zygasystemctl --user mask snapd.session-agent.{socket,service}20:09
zygaright20:09
zygathat line in core-16 prepare should disable this for the root user20:09
zygaso no socket, no autostart20:09
zygaif you want to get sanity quickly, maybe that's the solution20:09
pedronisnot today at this point20:10
zygasure,20:10
zygait's super late20:10
pedronisI probably should look a bit more how the world looks when it works20:10
zygathe one problem with root session20:10
zygais that we cannot "wipe the slate" like we do for test20:10
zygasince we're connected as root20:10
zygaso I guess we must be more careful with what happens across tests20:11
pedroniswell it seems we get the user agent for root not working somehow20:13
pedronisijohnson: I don't think I will get to re-review that PR today, also seems the check I made you add is redundant otoh I don't know how covered all that is20:14
zygathe connection reset by peer is simply the agent closing?20:14
ijohnsonpedronis: no problem, I think it's reasonably well tested the only thing I don't have more tests for there that I could add would be that doing various combos of some mode to a differnet mode with a different system20:14
ijohnsonpedronis: but as mentioned all such cases currently just fail20:14
ijohnsonerr are not supported, and thus fail20:15
pedroniszyga: it's socket activated20:15
pedronisor should be20:15
zygamaybe the agent crashes?20:15
zygado we get a journal entry?20:15
zyganote20:15
zygait's funny20:15
pedronisor mabye the stop on idle is naive20:15
zygabecause journalctl --user is distinct20:15
zygaso maybe we should look at journalctl --user as ewll20:15
zyga*well20:15
zygathe test does this in debug20:16
zyga+ session-tool -u test systemctl --user status snapd.session-agent.service20:16
zygawe should also do20:16
zyga+ session-tool -u root systemctl --user status snapd.session-agent.service20:16
zygaor really just20:16
zygasystemctl --user status20:16
zyga(without the extra fanfare)20:16
zygaMay 08 20:23:40 may082014-475733 passwd[1570]: password for 'ubuntu' changed by 'root'20:28
zygacloud init?20:28
zygais our core16 system affected by cloud init data from GCE?20:28
zygaha20:29
zygait seems so20:29
zyga:D20:29
zygaMay 08 20:23:40 may082014-475733 passwd[1570]: password for 'ubuntu' changed by 'root'20:29
zygathat's from cloud-init.service20:30
zygapedronis: ^^ lol20:30
zygais this expecteD?20:30
zygacachio: so, do you know why we get the "ubuntu" user on core16?20:38
zygacachio: we do have a weird ubuntu user that belongs to grup "niemeyer"20:38
zygathis looks very much like an artefact of cloud-init20:38
zygabut I cannot put my finger on it20:38
zygaspecifically the group is surprising20:39
pedronishow do we build images, do we take a image, ssh to it, add package and then clean up and snapshot it?20:40
zygawe build an image and copy some bits but I confirmed that /home/ubuntu does *not* exist at that stage20:42
zygait really shows up during boot20:42
zygaeven timestamps support that20:42
zygaI'm unfamiliar with cloud init detials, looking at some of what the logs say now20:42
zyga(so the directory and the user get added on first boot)20:44
zygaand it really seems that it's cloud init20:44
zygaand I would not really complain20:44
zygaexcept that it's buggy20:44
zygathe owner of /home/ubuntu is root :D20:44
zygaanother fun find20:46
zygacore 16 ships this file20:46
zyga /usr/share/click/frameworks# cat ubuntu-core-15.04-dev1.framework20:46
zyga(messed up but you get the idea)20:47
zygawe also have /usr/share/upstart20:47
zygahttps://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/163995521:10
mupBug #1639955: bad test for snappy systems <cloud-init:Confirmed> <cloud-init (Ubuntu):Confirmed> <https://launchpad.net/bugs/1639955>21:10

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!