[06:03] morning guys [06:12] good morning [06:12] it's snowing!!! [06:12] man, I haven't seen snow in years [06:14] zyga-ubuntu: hey [06:15] yeah, splendid weather [06:19] mborzecki: just like I remember it my whole childhood :) [06:19] mborzecki: it will be white by the time my kids go to school today [06:21] zyga-ubuntu: https://forum.snapcraft.io/t/core-snap-fails-auto-review-in-the-store-since-friday/2897 [06:21] mborzecki: yep, I know :/ [06:21] though, let me read about new developments [06:22] mborzecki: the store review code diff was one character [06:28] mborzecki, ogra_: commented [06:28] man it's whiter every second [06:28] the roof is now fully white [06:28] and my wife's car too (poor her!) [06:28] I only wish it was colder so the snow would not melt away so quickly [06:29] so, today, I have a few branches to iterate on [06:29] but I'd like to fix the other LXD issue once and for all [06:29] to have that boulder off my back [06:30] well, it's raining right here, there's still some spots of snow that apparently fell over the night, but it's ugly as hell (i.e. typical november) [06:35] mvo: hello [06:36] mvo: SNOW! :D [06:36] mvo: some unhappy store news [06:36] mvo: new review tools not deployed yet (it seems), jdstrand sent us email over weekend [06:36] mvo: not sure if there are things he said we could do [06:40] hey zyga-ubuntu ! good morning [06:40] zyga-ubuntu: looking at my mail now. any other unhappy news? [06:40] zyga-ubuntu: snow is nice [06:42] mvo: no, nothing other than that [06:42] mvo: but I haven't checked much yet [06:42] mvo: waking kids up now [06:42] mvo: morning [06:43] hey mborzecki - good morning [06:43] (I don't like when they don't go to school at 8AM) [07:02] zyga-ubuntu: FYI, https://bugs.launchpad.net/snapd/+bug/1733211 [07:02] Bug #1733211: lxd snap fails to install w/apparmor "permission denied" error [07:03] zyga-ubuntu: going to bed now, but I expect we'll have more people run into this one as we've pushed a deprecation warning to all our PPA users on Friday telling them to move to the snap or backports [07:03] stgraber: thank you for the note, reading [07:04] stgraber: that looks like a new bug right? [07:04] stgraber: or a regression technically [07:05] but this is weird, we have the rule to read that: [07:05] @{PROC}/@{pid}/cmdline r, [07:06] stgraber: if this is about privileged containers that don't stack apparmor then this is ECANNOTFIX [07:06] stgraber: I sincerely hope it's not, let me read the bug carefully [07:06] zyga-ubuntu: no, I hit this outside of a container [07:06] zyga-ubuntu: usually on machines that are already running other snaps [07:06] stgraber: aha! [07:07] stgraber: thank you, I'll investigate [07:07] since you said that rebooting helped it smells like apparmor cache bug we ran into before [07:07] zyga-ubuntu: the fact that rebooting the system fixes the issue is somewhat puzzling [07:07] I'll try to reproduce now [07:07] oh, yeah, could be the apparmor cache [07:08] not sure why I didn't think of that, I could have dumped the content of the cache and profile before rebooting the system (though to be fair, they were broken production systems, so didn't have much time for debugging :)) [07:08] which makes me wonder, I have that backup host that may actually have the same issue and would let me check this quickly without risk [07:09] and nope, no such luck, that system installs the lxd snap without any problem... [07:09] * stgraber tries a few other random systems in his basement real quick [07:09] stgraber: no worries, enjoy your evening and let us investigate [07:19] good morning [07:19] there is a recent increase of this problem on errors.u.c https://errors.ubuntu.com/problem/cf07c2fa3f39a98f0b52aaf20ff82faab7969129 [07:19] jibel: good morning [07:19] it started around Nov. 14th [07:19] jibel: thank you for the notice [07:21] that sounds surprisingly similar to that issue we were just discussing, also permission denied, also for a path that should be allowed and also in the configure hook [07:22] jibel: oh, interesting, this is a yet another issue [07:22] stgraber: yes, we ran into this one a while ago ~1 month [07:22] stgraber: it was a bug in apparmor then [07:22] stgraber: and we included a workaround for that [07:22] something we need to look into, apparently [07:22] zyga-ubuntu, yeah other crash are with specific snaps, but this one is with the core snap [07:22] on 17.10 and 18.04 [07:23] mvo: so we have more "news" apparently [07:23] 2.29.3 is very worrying, it should have been fixed before [07:28] zyga-ubuntu: the configure script error is probably not 2.29.3 itself, just the fact that we have an update, no? [07:28] zyga-ubuntu: I mean, the mass update of core triggered this I presume? triggered the apparmor bug [07:29] zyga-ubuntu: do you remember the details for the previous workaround? that was part of 2.28.X, right? [07:31] zyga-ubuntu: I don't see a mail from jamie about the script in my inbox, maybe it just went to you? [07:33] mvo: let me check [07:34] PR snapd#4249 opened: release: snapd 2.29.4 [07:34] mvo: the previous bug we did something (AFAIR you did after talking to tyhicks) that casuses cache to be purged on core updates on core [07:35] mvo: ok, I should eat something before jumping into the fray [07:36] mvo: I see that we have three issues: LXD + remove bug (close to being fixed, oldest), bug reported by stgraber above (mysteriously fixes itself on reboot) and the bug form errors.u.c from 14th Nov [07:36] mvo: the other two may be related but not sure if they are yet [07:36] mvo: let's split work in 20 minutes, I need to eat something [07:37] zyga-ubuntu: sure, eat [07:37] zyga-ubuntu: ssee you then [08:07] zyga-ubuntu mvo anything I can help with? [08:12] mvo: ok properly back now [08:12] * zyga-ubuntu made _warm_ breakfast for a change [08:17] mborzecki: definitely! [08:19] zyga-ubuntu, mborzecki I created http://pad.ubuntu.com/Wkp2bPRAnI so that we have a scratchpad, please add all you know there for now and once we have a bit more we can make that three forum topics [08:19] zyga-ubuntu: I'm especially interessted in "lxd-+remove bug", is that the one you were chasing for some time ? [08:20] zyga-ubuntu: i.e. the one where the rshared is not set correctly on /snap ? [08:20] mvo: yes [08:20] mvo: yes [08:20] zyga-ubuntu: and if it is this one, why is it on the list? its not something new in 2.29.4, or is it? [08:21] mvo: can you paste the bug report from errors.ubuntu.com in the pad? I've only requested access there [08:21] mvo: no, nothin new [08:22] zyga-ubuntu: ok, if its nothing new, lets move it down the priorites just for now to figure out if 2 and 3 are regressions and what we can do about them (?) [08:22] mvo: +1 [08:23] done [08:23] mborzecki: I added some more data, unfortunately its not much, I guess we need a reproducer, might be as simple as going from an old core to the new core on 17.10, but then I do that all the time and have not seen it :/ [08:23] I added some ideas on what might happen [08:24] zyga-ubuntu: ta [08:30] mvo: is issue 2 (renumbered) affecting those as LXD guest or host? [08:30] mvo: (those releases) [08:32] zyga-ubuntu: yeah, I wonder the same, I just tried it on a normal system in 17.10 and did not see the error [08:33] mvo: I don't see 2.29.3 in the archive [08:33] on 17.10 [08:33] it's 2.28.5 iirc [08:33] yes, that's what I see [08:33] zyga-ubuntu: not even in -proposed? [08:33] mvo: ah, I didn't look there (not a default setup) [08:34] do you think people affected by 2nd bug used proposed? [08:34] zyga-ubuntu: maybe but its strange [08:35] zyga-ubuntu: because I can't reproduce it on a regular system [08:35] zyga-ubuntu: with 2.29.3 from the debs on 17.10 [08:35] zyga-ubuntu: but maybe I need to try harder [08:36] mvo: same result with stable debs + core [08:36] thanks jibel btw for raising this issue! [08:39] zyga-ubuntu: worth exploring if its happening inside lxd only, but then - the amount of users(17.10) & users(lxd) & users(snapd) are producing a relative high number of errror reports [08:47] mvo, yw [08:49] o/ [08:54] PR snapd#4250 opened: packaging: fix typo [09:18] brb [09:38] re [09:39] mvo: do we retry core configure failures/ [09:41] zyga-ubuntu: no, I we just ignore failures on them [09:41] mvo: that's curious [09:41] mvo: look at those: [09:41] https://errors.ubuntu.com/oops/c8ec99fe-cdd2-11e7-919f-fa163ef911dc [09:41] https://errors.ubuntu.com/oops/7fecbe46-cdd2-11e7-9435-fa163ebeb28a [09:42] mvo: that's one system [09:42] right? [09:43] zyga-ubuntu: yeah, thats strange indeed [09:43] zyga-ubuntu: it looks almost like the install fails and it is retrying [09:43] mvo: could it be a fresh install? [09:43] mvo: after restarting into new snapd [09:44] mvo: maybe another LXD cluster with privileged containers for that cloud certification? [09:44] zyga-ubuntu: it has DidRexec set to 0 [09:44] mvo: ah, I see [09:44] puzzlin [09:44] zyga-ubuntu: yeah [09:44] mvo: so ... proposed testing? [09:44] mvo: maybe this is some adt machine? [09:44] mvo: running off proposed? [09:45] zyga-ubuntu: that sounds like a good theory [09:45] zyga-ubuntu: and its a 16.04 one [09:47] did you have any luck in reproducing this? [09:48] PR snapd#4251 opened: timeutil: include test input in error message in TestParseSchedule() === mup_ is now known as mup [10:16] guys is there any nightly for snappy? [10:16] for ubuntu [10:17] Shibe: we have the edge channel which is just like that [10:17] zyga-ubuntu: how do I enable it on ubuntu? [10:17] Shibe: install snapd, install core snap (if you don't have one already) and snap refresh core --edge [10:31] mvo: no idea how to reproduce this, I tried in various containers with and without proposed [10:34] zyga-ubuntu: yeah, I am also clueless so far, I think we need to move it to the forum and see if we can find someone who actually hits this or can give us other clues [10:35] hmm [10:35] http://pad.ubuntu.com/ep/pad/reconnect - forbidden [10:36] how i "love" etherpad [10:39] zyga-ubuntu: http://pad.ubuntu.com/Wkp2bPRAnI ? [10:39] zyga-ubuntu: and yeah, its very annoying [10:39] mvo: connected back, thanks [10:40] yw [10:40] pull requests are kind of red [10:41] + snap refresh [10:41] error: cannot refresh []: cannot query the store for updates: got unexpected [10:41] HTTP status code 500 via POST to [10:41] "http://localhost:11028/api/v1/snaps/metadata" [10:41] zyga-ubuntu: yeah, I have a look in a tiny bit. but this sounds much like a problem for our friends in #snapstore :) [10:41] that's interesting, why are we refreshing a list of no snaps? [10:43] man [10:43] I *HATE* travis moronic log output behavior [10:44] why does clicking on any line closes the fold? [10:44] Nov 20 09:09:04 li157-129 snapd[31385]: 2017/11/20 09:09:04.824015 logger.go:76: DEBUG: < "HTTP/1.1 500 Internal Server Error\r\nContent-Length: 111\r\nContent-Type: text/plain; charset=utf-8\r\nDate: Mon, 20 Nov 2017 09:09:04 GMT\r\nX-Content-Type-Options: nosniff\r\n\r\ninternal error collecting snaps: open /tmp/read-file456639681/unpack/meta/snap.yaml: no such file or directory\n" [10:44] mvo: is that us or the store is sending that? [10:45] ah, that's fakestore [10:45] zyga-ubuntu: that's our fakestore [10:45] zyga-ubuntu: uhhh, which PR is thisß [10:45] ? [10:46] PR snapd#4252 opened: store: fix download caching and add integration test [10:46] this was 4242 but I just hit restart [10:46] it looks like timing / race in fakestore [10:46] zyga-ubuntu: ok, no worries, I try to reproduce [10:47] PR snapd#4251 closed: timeutil: include test input in error message in TestParseSchedule() [10:47] zyga-ubuntu: hm, not all is terrible, 4251 was green for example. there is a silver lining :) [10:48] PR snapd#4250 closed: packaging: fix typo [10:50] PR snapd#4247 closed: interfaces: allow /bin/chown and fchownat to root:root [10:50] if someone could do a second review on 4242 that would be great, looks like an easy win [10:52] mvo: that 4247 one had a question [10:53] zyga-ubuntu: yes, I'm 99% sure the answer is "its fine", let me write that in the PR [10:53] mvo: done [10:53] zyga-ubuntu: ha! even better, thank you :) [10:53] mvo: I mean 4242 :) [10:54] PR snapd#4235 closed: cmd: pretend we're running on Ubuntu in TestExecInCoreSnapUnsetsDidRe… [10:54] zyga-ubuntu: let me check [10:54] zyga-ubuntu: aha, sorry, async communication is hard ;) [10:57] zyga-ubuntu: comment and I also looked at the source and my confidence is at 99.9 now [10:58] mvo: thank you, I shared that but wanted to check just in case [10:58] mvo: the BPF code just ingores those arguments [10:58] zyga-ubuntu: yeah [11:05] zyga-ubuntu: some PRs in flight, once there tests are green we can merge and will be below 25 again :) [11:09] PR snapd#4253 opened: task tunner: extended task runner test [11:11] mvo: yeah I'll merge them as soon as we can, I restarted a few random failures today [11:11] though way too more for my liking [11:12] zyga-ubuntu: yeah, its too fragile currently [11:27] zyga-ubuntu: the did-rexec in the error reports is a red-herring :/ the problem is that we unset SNAP_DID_REEXEC to not confuse classic confinement snaps. and that is the env that the err tracker picks up [11:28] mvo: are you saying that we should set a new flag SNAPD_WE_ACTUALLY_DID=reexec [11:31] pstolowski: hey, do you have a moment for 2nd look on https://github.com/snapcore/snapd/pull/4224 [11:31] PR #4224: cmd/snap-update-ns: teach update logic to handle synthetic changes [11:31] pstolowski: I changed the approach slightly after your comment [11:31] zyga-ubuntu: maybe, I look into this right now [11:32] mvo: I kind of feel that the set of constraints is lost [11:32] mvo: we have some super ancient versions of snapd that put them [11:32] mvo: but they have now escaped me [11:32] mvo: maybe you could write this down in some reegex.go extented comment? [11:32] ha, and I said "regeexec" instead of reexec :) [11:33] PR snapd#4242 closed: asserts/sysdb: panic early if pointed to staging but staging keys are not compiled-in [11:39] zyga-ubuntu, will do in a few moments [11:46] Hello hello [11:47] niemeyer: hello [11:52] niemeyer: hi there [11:52] o/ [11:54] hey niemeyer ! welcome back [11:54] is there a way to have check do a pretty print of unequal values like spew does? [11:55] mvo: Thanks! [12:04] mborzecki: Not a pretty print, yet at least [12:15] jdstrand: ok got ubports-installer to work pretty nice in devmode now :) now the confined part, how do i handle the usb-raw part? post-install connect thing? [12:15] PR snapd#4254 opened: cmd, errtracker: get rid of SNAP_DID_REEXEC environment [12:17] mvo: ^ you have a conflict there [12:46] PR snapd#4245 closed: interfaces/screen-inhibit-control: handle ScreenSaver/Screensaver in DBus API [13:00] fg [13:00] full grin ? [13:00] :P [13:04] PR snapd#4255 opened: interfaces/screen-inhibit-control: fix case in screen inhibit control [13:11] yikes, my /var/lib/snapd/hostfs is empty!? [13:11] no wonder I'm getting strange failures [13:11] you mean from inside a "snap run --shell" ? [13:12] no, from outside as well [13:12] kalikiana: just passing by, but note it is only populated inside the snap [13:12] it is supposed to be empty on the host [13:12] kalikiana, thats normal, [13:12] only snap-confine mounts sumething there at runtime [13:12] hmmm so it's "only" an issue in the snap [13:12] I got a file not found error [13:14] I can't "--shell" since this is a classic snap... (snapcraft) [13:14] I'm pretty sure the relevant code hasn't changed [13:15] Is it me or hangouts just broke? [13:15] niemeyer: you [13:15] "There is a problem connecting to this video call. Try again in a few minutes." [13:15] niemeyer: you froze after "guys" [13:16] oh, actually --shell does something, but it looks like my real shell [13:16] niemeyer: some more investigation (quite raw) http://pad.ubuntu.com/Wkp2bPRAnI [13:17] jdstrand: ogra_ : so hostfs is empty within `snapcraft run --shell snapcraft` as well [13:17] feels like snapd changed something here [13:17] kalikiana: is snapcraft classic? [13:18] jdstrand: yes [13:18] iirc, is is only populated for non-classic [13:19] jdstrand: correct [13:19] hostfs on classic is / [13:19] so we don't do anything [13:19] perhaps we could use a trick [13:19] so in classic distros hostfs is a symlink to / [13:20] and for confined apps it is a directory and we pivot root there as we do [13:20] jdstrand, zyga-ubuntu: the code in snapcraft hasn't changed, though... [13:22] hrm, lemme debug this a bit [13:24] it's weird actually the fact that hosts even shows up as a path here. the code isn't doing that.. [13:33] hrmpf, now it works again, no change... [13:42] https://forum.snapcraft.io/t/corebird-1-7-3-release-with-added-emoji/2906 [13:42] \o/ [13:51] PR snapd#4256 opened: snap-confine: add workaround for snap-confine on 4.13/upstream [13:52] mvo: +1 [13:52] jdstrand: ^^ [13:54] zyga-ubuntu: I'm running the test in my manual created sid spread image now, will take a little bit [13:56] mvo: mvo thank you [13:56] mvo: my fix didn't work, I probably broke something just a moment ago as it was in a better shape last fix, digging [13:56] zyga-ubuntu: thank *you*, you came up with the right apparmor line [13:57] mvo: no, that was jdstrand :) [13:57] zyga-ubuntu: oh? the fix for the lxd remove? or a different fix that does not work? [13:57] mvo: for the remove [13:57] zyga-ubuntu: aha, ok. still, I think you put it in the forum, I'm sure there is plenty of reason to thank you :) [13:57] :D [13:57] * jdstrand reviewed 4256 [13:57] * zyga-ubuntu tries -shell-before to see what's wrong [14:19] zyga-ubuntu: testing on debian-sid shows some other issues, I will expand this pr a little bit, just fyi [14:21] mvo: ack [14:26] roadmr: hi! hope you had a nice weekend. not sure you read email yet, but can you update the review tools for r945? [14:27] popey: hey, do you have a moment to talk about snapcrafters? [14:33] jdstrand: hey! [14:33] jdstrand: I hadn't, but I'll get the ball rolling [14:34] sergiusens: just to double-check, we have our weekly tomorrow/ Tuesday again? [14:34] roadmr: thanks! [14:34] jdstrand: I was aware of the situation on Friday but there was not much we could do then :( [14:34] sergiusens: I see it in the calendar, just at the back of my head someone said it would be Monday again [14:34] roadmr: yeah. r944 and r945 came in at an unfortunate time [14:36] need to finish for today, enjoy the rest of the day guys, cu [14:39] mvo: hey, I _think_ found the issue now (removed one line of apparmor by vim mistake probably) [14:39] mvo: running again to see [14:39] mvo: how are your stuff? [14:39] (debian) [14:40] * kalikiana going out for lunch shortly, will be back in ~hour or so [14:41] zyga-ubuntu: debian is running, a bit slow but running. it was net-tools missing that broke it earlier, I added it to the PR [14:41] zyga-ubuntu: looking forward for the removal fix PR :) [14:42] zyga-ubuntu: hrm, seems I'm still seeing the weird hostfs issue, it only went away since I tried straight from git, not from the snap... it seems the lxd snap/ lxc command is receiving a path starting with /var/lib/snapd/hostfs/ and that's what I see in the error [14:42] mvo: once this run goes green I'll drop the unrelated changes and test again [14:42] mvo: and publush [14:42] *publish [14:42] kalikiana: can you please refresh my memory? [14:52] zyga-ubuntu: what I just described above [14:53] zyga-ubuntu: error: open /var/lib/snapd/hostfs/home/cris/snap/lxd/common/snapcrafts3h6q44p/core_3440.assert: no such file or directory from subprocess.CalledProcessError: Command '['lxc', 'file', 'push', '/home/cris/snap/lxd/common/snapcrafts3h6q44p/core_3440.assert', 'helga:snapcraft-oman/run/core_3440.assert']' returned non-zero exit status 1. [14:53] when the file exists in the folder [14:53] on the host [14:54] zyga-ubuntu: Wondering what could cause this... the path from snapcraft is the real one [14:59] PR snapd#4257 opened: interfaces/opengl: also allow read on 'revision' in /sys/devices/pci [15:03] PR snapd#4249 closed: release: snapd 2.29.4 [15:06] re [15:07] kalikiana: sorry, no (immediate) idea, trying to wrap up one issue, then will switch context to this if you need help [15:08] zyga-ubuntu: aye, will have my lunch break first, no rush [15:08] well, late lunch haha [15:09] jdstrand: silly question, I get an apparmor denial in snap-confine/debina-sid http://paste.ubuntu.com/26005784/ but the rule looks valid to me, how can I check how @multiarch is expanded? [15:10] * jdstrand looks [15:10] jdstrand: I have the VM in front of me if you need more info, its slightly puzzling [15:12] mvo: the rule looks right [15:12] mvo: is this a reexec situation? [15:12] (or lack thereof) [15:13] jdstrand: no, re-exec is disabled on debian-sid right now [15:13] jdstrand: its also happening when I directly run snap-confine in the shell [15:13] mvo: so /etc/apparmor.d/usr.lib.snapd.snap-confine.real has the rule you pasted? [15:14] * jdstrand isn't sure .real is used in Debian... [15:14] jdstrand: *cough* the file is 0 bytes long [15:14] ah [15:14] jdstrand: so something is fishy here [15:14] well, that might have a consequence or two [15:14] sounds like the cache file is being used [15:15] jdstrand: indeed, looks like the debian packaging is broken :/ the deb is also zero bytes [15:15] yikes [15:15] deb is zero byts?! [15:16] hmmm [15:16] something fishy here: [15:16] umount: /snap/core/3495 unmounted [15:16] + unsquashfs '/var/lib/snapd/snaps/core_3495.snap [15:16] /var/lib/snapd/snaps/core_3495.snap' [15:16] Could not open /var/lib/snapd/snaps/core_3495.snap [15:16] /var/lib/snapd/snaps/core_3495.snap, because No such file or directory [15:17] there's a newline in that filename [15:17] zyga-ubuntu: the snap-confine.real in the deb is zero byte [15:21] mvo: I dropped junk from my branch, trying again [15:30] mvo: it passed :D [15:30] mvo: man, I just had to throw the garbage out [15:30] zyga-ubuntu: yay [15:31] mvo: I'll run a bit more of main to see one more test that broke on me earlier [15:31] mvo: any luck with that @multiarch thing? [15:33] zyga-ubuntu: zero size snap-confine.real apparmor in the package in debina [15:33] zyga-ubuntu: thats the culprit, I still try to understand why [15:33] mvo: kk [15:35] zyga-ubuntu: did you find the source of that permission denied thing? [15:35] stgraber: yes, it was regular permission in the end [15:35] stgraber: that issue is fixed now snap-confine is now setgid root [15:35] stgraber: thank you :) [15:35] stgraber: also chasing (and almost fixed) the bug where snaps don't get removed in LXD [15:35] zyga-ubuntu: oh, any idea why rebooting would solve it? [15:36] stgraber: ah, no, not that one [15:36] stgraber: sorry, no idea what caused that [15:36] stgraber: we tried to reproduce it in the morning without much luck, there's an etherpad with some details: http://pad.ubuntu.com/Wkp2bPRAnI [15:37] mvo: tentative, probably something I need to discuss with jdstrand https://github.com/snapcore/snapd/compare/master...zyga:fix/lxd-remove-bug?expand=1 [15:37] actually [15:37] the commit message is stale, one sec [15:45] zyga-ubuntu: so I think the problem is that we disable apparmor in debian, this leads to the zero byte file. do you think we should unconditionally enable apparor in debian now? or just install the apparmor profile for snapd and leave the rest as is? (cc jdstrand ) [15:46] zyga-ubuntu: left a comment in the pad about setup but yeah, it's certainly not trivial to reproduce as I tried a dozen other systems here and none of them are affected despite all of them also being 16.04 with live patch [15:50] mvo: I think the idea was that we would enable 'partial' support in Debian, which would mean all the policy is in place. zyga-ubuntu was working towards that [15:51] jdstrand: ok, I will go with that then [15:52] zyga-ubuntu: this is a short week for me. I have 4170 and 4109 on my list for reviews this week. is there anything else pressing? [15:52] (reviews for you that is) [15:52] zyga-ubuntu: are both of those ready for me to review? [16:02] mvo: yes, we should enable apparmor in debian now [16:02] stgraber: thank you, I'll check in a moment [16:03] jdstrand: yes, I think we can use partial policy [16:04] jdstrand: 4170 is good, as is 4224 [16:04] jdstrand: 4109 is optional, we can close it if you want; I can just take a small refactoring patch and propose it separately [16:04] *separately [16:05] jdstrand: if we focus on this we could do most or all of layouts this week, if we get to a quick feedback cycle for PRs each dayt [16:05] *day [16:05] jdstrand: we are just a few PRs short of this now, most of the code is in, just some glue is left [16:05] jdstrand: all my PRs are ready to review, except for the one that's marked as "blocked" [16:07] zyga-ubuntu: so, 4170 and 4224 require reviews from me (and optionally 4109). correct? [16:07] jdstrand: yes [16:08] * jdstrand adds 4224 [16:08] thanks [16:15] elopio: Hi [16:16] I'm working on (just about finished) a language guide for creating snaps of Rust apps. [16:16] I've use Parity as the example yaml. [16:16] elopio: Can you explain why you are staging libc in the upstream parity yaml? [16:26] elopio, I'm seeing a number of adt test failures that only include the autoremove output in the error string: https://pastebin.ubuntu.com/26006225/ [16:26] So they fail, but it doesn't say why [16:28] popey 's off today - hope all is cool with him & his cat Sky. [16:32] Hey zyga-ubuntu, any progress on that other lxd issue? [16:33] kyrofa: which one? (we have >> 1 now) [16:33] kyrofa: the oldest remove bug? [16:33] zyga-ubuntu, indeed [16:33] kyrofa: yes, running main tests now, I'll work with mvo and jdstrand on reviewing this quickly [16:34] zyga-ubuntu, wonderful, thank you! [16:35] kyrofa: that's executing the command. We need something that will capture stderr for all those executions, and puts it in the test details. [16:35] maybe an assertCommandOutput, or something. [16:36] kyrofa: that looks like the binary couldn't be run - although I could be mistaken [16:36] anyone tried jdbc connections with that mysql snap part from nextcloud? [16:39] PR snapd#4255 closed: interfaces/screen-inhibit-control: fix case in screen inhibit control [16:41] elopio, ah, okay [16:48] I upgraded to bionic and you will never guess what happened next... [16:48] no wifi disconnections the whole morning! [16:48] elopio, ah! Amazing! [16:48] elopio, so I see you haven't learned your lesson :P [16:51] elopio: I would've recommended trying from a USB stick first... which is funny because our risk aversity is reversed in non-digital life, like cross streets [16:54] I haven't been trained for non-digital life. === petevg_afk is now known as petevg [17:01] kyrofa: https://github.com/snapcore/snapd/pull/4258 [17:01] PR #4258: cmd/snap-confine,tests: fix unmounting on systems without rshared / [17:01] PR snapd#4258 opened: cmd/snap-confine,tests: fix unmounting on systems without rshared / [17:04] jdstrand: please look at that PR briefly to see if it's on the right track [17:04] Nice work zyga-ubuntu, thanks for hacking on that [17:04] elopio: your parents raised you through a webcam? [17:25] kalikiana: no, but that's not a bad idea. Maybe I can take some coursera classes to learn how to deal with the city :) [17:35] hmm [17:35] snapd fails on 4.14 [17:36] in bionic [17:39] Weird.. I thought we had discussed and agreed not to release the progress bar making use of ASCII background color [17:39] But stable apparently has it [17:47] hello all [17:47] Anyone with experience writing tests for snapcraft? [17:48] niemeyer, ok, i've found the problem with taskrunner [17:48] pstolowski: Oh! Tell us! [17:48] pstolowski: I'm curious now [17:50] kyrofa, maybe you could help finish this issue :p [17:50] Maybe I'm using click framework poorly but I am not 100% sure [17:51] niemeyer, zyga-ubuntu so my hunch about run-hook not having undo handler was correct, but I missed the fact that fixing this in hookmgr doesn't affect the tests (because test register own handler with undo=nil). so yes, when taskrunner sees undo handler == nil, it immediately transitions from UndoStatus -> DoneStatus, disregarding any other tasks. so if the hook task was a prerequistite of some other task, that other task gets unblocked immediately [17:55] so the culprit is in the block of code marked with // Cannot undo. Revert to done status. [17:56] gsilvapt: what're you up to? I have more experience with tests than I ever asked for :-P [17:56] kalikiana, basically I'm implementing a method to retrieve snapcraft's version by calling a command snapcraft version [17:56] Using click, I think I have properly defined this implementation. [17:56] ah, nice [17:57] pstolowski: I still don't see how that's a problem [17:57] But, when I wrote the test, I can see the exit_code = 2, which I cannot find in that definition so I have no idea what that means and/or if the method is implemented properly [17:57] the method = mine [17:57] pstolowski: In particular, your last statement about unblocking immediately sounds like exactly what we want [17:58] gsilvapt: is the code you're talking about in a branch? I think I need some more context to be helpful [17:58] kalikiana, well, I created my own branch to write my own code but I can send you a pastebin or something [17:58] niemeyer, the hook task is part of the chain where every task waits for the next one; so suddenly a task in the middle of the chain is considered Done, regardless of the tasks following it [17:58] gsilvapt: sure, pastebin is fine, whichever is convenient [17:59] pstolowski: Again, that's exactly what we want [17:59] pstolowski: Tasks *following* it will *follow* it [18:00] kalikiana, https://gist.github.com/anonymous/4064b69dbd96ac9fcea88747fc0d178d [18:00] pstolowski: Which doesn't mean you are wrong.. I just don't see what the actual issue is yet [18:00] niemeyer, adding non-nil undo handler (that does nothing) to run-hook in the test immediately fixes the out-of-order tasks. this cannot be right [18:01] kalikiana, if you need some help reading my code, let me know. I'm new around and only started learning how to code properly in September or so - please be patient :D [18:01] pstolowski: Which out of order tasks? [18:01] pstolowski: Again.. it all sounds quite vague [18:01] so..... is there a size limit on snaps? [18:01] gsilvapt, that looks good, but does not look complete [18:01] pstolowski: If a task B has A ordered before it, and A is done, B is immediately unblocked [18:01] That's what we want [18:01] gsilvapt, you need to actually _use_ it in cli/__init__.y [18:02] Hum, can you say what is missing in abstract terms? Maybe I can think of something to complete it [18:02] niemeyer, http://pastebin.ubuntu.com/26006783/ [18:02] pstolowski: Ok, what should I look at there? [18:02] kyrofa, so I need to change the @click.version() bit? [18:02] niemeyer, HO? [18:02] gsilvapt, go into the cli directory, and grep around for "help" [18:02] pstolowski: Sure [18:02] gsilvapt, no, you need to actually hook your new subcommand into snapcraft [18:03] gsilvapt, look for how the help command is done [18:03] pstolowski: Waiting in the standup [18:03] You can grep for "helpcli" as well [18:03] gsilvapt: one thing I notice is the except ImportError - maybe not the issue you were asking about, but I'd say if you are running this code, snapcraft is installed... so you shouldn't need that at all [18:04] kalikiana, what if the user does not have snapcraft installed? [18:04] kyrofa, thank you, I'll look at the example and see if I can figure this out [18:04] gsilvapt: think about it. the code is part of snapcraft [18:05] unless I misunderstood what you're trying to do [18:05] gsilvapt, sure. Sorry for letting you pound your head on this, but it really is the best way to learn things sometimes! Let me know if you need another hint [18:06] kyrofa, please do not apologise for that! This helps me understand what is going on and learn how to do stuff so yes, this is actually better! [18:07] kalikiana, all packages will return no package found 'package-name' so I think this command should return the exception it could not find snapcraft installed in the system [18:07] Perhaps the Exception is poorly designed and thus is confusing you but maybe we can work it out too [18:07] gsilvapt: just to be clear: will this code be part of snapcraft? [18:08] or another tool? [18:08] * kalikiana needs to change location, will be back in a few minutes [18:08] kalikiana, I did not follow entirely [18:08] gsilvapt: will version.py be part of snapcraft or a different project? [18:09] kyrofa, it worked.Thank you! [18:09] Awesome! [18:09] part of snapcraft, under cli [18:09] Did not know we had to import things and tell cli which to consider. Makes sense though! [18:12] elopio: What channel is this on, again in #freenode ? https://twitter.com/d3fc0n3/status/932649813090369536 [18:13] kyrofa: niemeyer whats the snap upload limit? [18:14] magicaltrout, I don't know that there is one [18:14] well i get internal server error and proxy error on snap push [18:14] which is reminicent of the juju resource upload issue [18:16] https://gist.github.com/buggtb/2a5ebbb7f779a1e35a6329306c85c18c [18:16] kennyloggins: there are many ubuntu channels, it depends on who you want to thank :) [18:16] kalikiana, any suggestion? I want to understand your point before submitting the push and the consequent PR [18:17] elopio, I just thought it was an ubuntu - with a rallying point, my mistake (again). [18:17] **ubuntu-day [18:17] kennyloggins: the rallying point is the hub, https://ubu.one/ucaday [18:25] gsilvapt: Right. So what I'm saying is, the code will only be executed if snapcraft is installed, or you run it from git - so you don't need to handle the case where the import fails, because other code makes sure it works [18:26] kalikiana, so I should remove the try and except bit and just leave the command? [18:27] gsilvapt: Yup [18:27] Ok, I will submit the push + PR now [18:27] Thank you, kalikiana and kyrofa [18:28] magicaltrout: That's a pretty big snap indeed.. I suggest asking in the forum about what the limit is [18:28] magicaltrout: #store category [18:28] thanks [18:29] Well, now comes the tricky part. I also included a test but should I run something else aside from this, kyrofa? [18:30] gsilvapt, I suppose that depends on the test you wrote. Can I see it? [18:31] Basically, it is a repetition of the one already there for --version. As mentioned in LP it should return the same. [18:31] But, here's a gist: https://gist.github.com/gsilvapt/41de75a1a920e0ec93163091f1960a05 [18:31] elopio, can I get a review on snapraft#1743 when you're able? [18:32] Uh. snapcraft#1743 [18:32] PR snapcraft#1743: catkin plugin: support building entire workspace [18:32] gsilvapt, no need to print. That seems fine to me [18:32] gsilvapt, propose it! [18:32] Thank you! [18:33] gsilvapt, you'll get more feedback in the pull request [18:33] Yes, I'm expecting that. Hopefully nothing too diminishing, hehe :-) [18:34] Is there a way to check if I've signed the CLA? I'm pretty sure I did but I want to check first [18:34] gsilvapt, make sure the commit message looks like this: https://pastebin.ubuntu.com/26007003/ [18:35] gsilvapt, make a PR and it'll check to ensure you've signed [18:35] Assuming the email address under which you're committing is also in your LP account [18:35] niemeyer, ha, so the fix we discussed is correct and we have 2 test checks in snapstate_test built around wrong assumption ;). PR is coming [18:37] Right, thank you remembering that kyrofa [18:37] PR snapcraft#1746 opened: Implemented method to get snapcraft version [18:45] gsilvapt: I added a comment on the test - instead of the print I think it'd be better to compare the value to the expected version with Equals or Contains [18:46] Bah, I'm an idiot. That was not suppose to be there -.- [18:46] Thank you for letting me know. Lets see if I don't screw this up while trying to squash commits [18:47] drat [18:47] PR snapd#4259 opened: snapd: fix handling of undo in the taskrunner [18:47] niemeyer, ^ [18:49] kalikiana, you prefer your method instead of just assertThat()? [18:49] The print statement is obviously a mistake. On Saturday night I was working on this and the exit_code = 2 was driving me nuts. This was a desperate attempt to try to see what value the method was returning [18:54] how do you squash commits though? Rebase? [18:55] * zyga-ubuntu considers EODing [18:56] PR snapd#4258 closed: cmd/snap-confine,tests: fix unmounting on systems without rshared / [18:58] jdstrand: I closed 4258 as it doesn't seem to work in linode, I need to look at that (doing so now) but it's not worth reviewing until I do [18:59] zyga-ubuntu, how sad [19:00] gsilvapt, yeah, run `git fetch` and then run `git rebase -i origin/master` [19:00] Assuming `origin` is the remote name for upstream [19:00] kyrofa, so do changes, add/commit, fetch, rebase and force push to my repo? [19:00] I think I have to do force push after rebase, not sure [19:01] gsilvapt, assuming you've already pushed, yes, you'll need to force [19:01] What do you mean assuming I have pushed? [19:01] gsilvapt, if you haven't pushed, then you don't need to force in order to push [19:01] (since there's nothing up there for it to conflict with [19:01] Ok, let me give that a try [19:01] ) [19:04] kyrofa, I think I have to force because it now says by branch is behind its remote counterpart [19:04] gsilvapt, which means you pushed it [19:04] So yes, you need to force [19:04] No, I was holding for instructions [19:05] I pushed before when I wanted to submit the PR, not after [19:06] Well, it worked I think [19:07] zyga-ubuntu: I provided some feedback [19:20] jdstrand: thank you [19:21] kyrofa, one question: Can you help me understand this? https://travis-ci.org/snapcore/snapcraft/builds/304902240?utm_source=github_status&utm_medium=notification [19:22] I know what CI is but I never worked with it more closely [19:24] jdstrand: I replied on some of the feedback, thank you for looking [19:24] jdstrand: the problem is that snapd is too late and cannot be the one fixing this, it must be genuinely something in the distro package [19:24] jdstrand: (or snapd before reexec, perhaps) [19:24] jdstrand: but really it must happen before apps start running [19:25] gsilvapt, yeah, you need to run ./runtests.sh static [19:25] but I did :o [19:25] jdstrand: I tried several other approaches, including a .mount unit (so that systemd would do it) but systmed is insufficient [19:25] gsilvapt, take a look: https://travis-ci.org/snapcore/snapcraft/jobs/304902243#L1094 [19:26] Hum, weird. Lets give that another look [19:26] jdstrand: ideas (any, I will gladly investigate their viabilty are welcome) [19:27] Thanks kyrofa [19:27] elopio, where is the bot? [19:27] elopio, I can't run adt [19:40] kyrofa, is it possible to run Travis for every commit pushed to a given repo? This is not entirely related with Travis but a personal curiosity [19:40] gsilvapt, yes [19:40] Without needing PRs, I meant [19:41] gsilvapt, right, still yes :) [19:42] Ok, thank you :) [19:42] zyga-ubuntu: I gave several ideas to look into with: https://github.com/snapcore/snapd/pull/4258#pullrequestreview-77885255 [19:42] PR #4258: cmd/snap-confine,tests: fix unmounting on systems without rshared / [19:43] zyga-ubuntu: the thrust of each idea is that snapd in lxd can detect if it is running in a container and do something. what that something is needs investigating. maybe it creates different .mount files for the snaps. maybe different .service files. maybe it performs an operation on /, maybe something else [21:30] kyrofa: ^ [21:34] jdstrand: if we can start from clean slate then we might do something else [21:34] jdstrand: iff we can have control before snap units are mounted, we can do one operation (bind mount /snap over) [21:34] jdstrand: I did succeed in doing that with a mount unit but it was _not_ rshared at that stage [21:35] jdstrand: but systemd cannot both bind mount and rshare [21:35] jdstrand: perhaps my earlier approach, with a /snap mount unit (just bind mount) and snap-confine that just does equivalent of mount --make-rshared /snap will do [21:35] jdstrand: the key is that we must do this before 1st snap runs and unshares a mount namespace [21:36] jdstrand: think about this and let me know, I'll iterate tomorrow [21:45] zyga-ubuntu: that is what I was thinking. this is all within lxd, no? if so, you have to run the snap command to install anything, therefore, you have an opportunity to do what you need. rather than make systemd do bind mount with rshared, just have a teensy tiny helper that does that, put that in a service file that you conditionally use if in a container [21:45] jdstrand: this also affects 14.04 [21:45] the helper could be in the upstart job or whatever too [21:45] jdstrand: we have that helper but it's not working [21:46] jdstrand: because it runs after snap units are mounted [21:46] jdstrand: and then there are two entries [21:46] jdstrand: and that causes the bug [21:46] jdstrand: one before bind+rshare, one after [21:46] jdstrand: this also confuses systemd so stopping mount units doesn't work [21:46] (it hangs) [21:47] I don't claim to have all the details, but in my head: sudo snap install foo -> am I in a container? -> yes, add unit file with helper to bind/rshared /snap -> start unit -> proceed with install [21:47] jdstrand: but I think the approach can be made to work with a combination of mount units (those have dependencies so we could get correct ordering) and a bit of code in snap-confine (easy guarantee to run before we construct snap namespace) [21:47] there are certainly details to be worked through [21:47] jdstrand: that won't work after reboot [21:47] you can make it work [21:47] jdstrand: again, the order of mount operations (either via systemd or helpers) is crucial [21:48] jdstrand: but yes, the /snap mount unit is a trick we should use here [21:48] make that service file a noop for the default case and all mount units start after it. if in container, then tweak the unit to run the helper [21:48] jdstrand: then we need to tweak all mount units to have before/after stanazas to order themselves [21:48] or similar [21:49] jdstrand: I think it's all solvable [21:49] we are the ones writing the mount units, no? [21:49] I see, yes [21:49] you were saying what needs to be done, not objecting [21:49] jdstrand: yes but curretly snapd has no facility to correct the mount units (we have another bug pending on tihs) [21:49] jdstrand: again, I agree, it's just steps to get there [21:49] 2 bug fixes for the price of one! :) [21:50] jdstrand: and some bugs in systemd that cause this to be harder than it has ot [21:50] *to [21:50] jdstrand: (the other bug is 14.04 mount ordering) [21:51] jdstrand: offtopic, did you have a chance to look at the two PRs for snap-update-ns? [21:52] zyga-ubuntu: I'm looking at 4170 now. I already gave a quick comment you may want to consider [21:52] looking [21:52] man, that PR will never land [21:53] I restarted tests >> 20 times on it [21:53] something always fails [21:53] store hicckup, some racy test here or there :// [21:53] zyga-ubuntu: the good thing is that when it does, no other PR will land :P [21:53] *sigh* [21:53] I had a racy test that had a similar issue [21:54] so I feel your pain [21:54] jdstrand: master is super super unreliable recently [21:54] * jdstrand nods [21:54] jdstrand: and we are playing the game of "flip a coin N times, ensuring it's heads each time" while incrementing N [21:55] jdstrand: so I maybe agree if your proposal is undo-safe [21:56] jdstrand: note that we may be asked to completely undo any of this [21:56] jdstrand: and that the typical situation, nothing is hidden under the tmpfs mount [21:56] kyrofa, I saw your comment. I'll try to see what can I do. I already did a test that checks if both commands' outputs are the same. Now I have to see what you meant with duplicating click's template [21:56] jdstrand: (apart from a fragment of a squashfs mount) [21:56] jdstrand: the simple approach I took guarantees (I hope, prove me wrong please) that I can always undo [21:56] jdstrand: and create another layout [21:58] zyga-ubuntu: that might be a case for needing the contents of the mounted over directory [21:58] gsilvapt, just run `snapcraft --version` and compare the output to `snapcraft version` and you'll see what I mean [21:58] gsilvapt, what timezone are you in, by the way? [22:00] jdstrand: I also toyed with one more ideqa [22:00] *idea [22:00] jdstrand: iff it's a good assumption that we can look at hostfs, we can fish the snap mounts there [22:00] jdstrand: but it's not generic as the same code should be useful for poking holes in various places that are not just /snap [22:01] jdstrand: and while it's possible to find the same place in hostfs it may have been changed by the hardcoded mount commands in snap-confine [22:06] kyrofa, GMT [22:07] kyrofa, I have to learn how to setup a testing environment for this. The last time I tried I ended up deleting most stuff andsuch [22:07] I understand the outputs are different, the test is being rejected currently. I just am not too comfortable with Click yet :P [22:12] gsilvapt, yeah you don't need to change click, just `click.echo` something that makes the `version` command echo the same thing as what you see `--version` doing [22:42] kyrofa, this might take too much time. I'm having issues with python and pip again... [22:42] gsilvapt, what's up? [22:43] I can't use pip3 and I only want to use python3 [22:43] Every command I run using pip3 gives a common _NameSpace Attribute Error which was previously solved by updating setuptools, wheel and/or pip. None of those work [22:44] Ouch [22:46] I messed this up badly. And this is something I can't just uninstall and reinstall [22:48] jdstrand: I was thinking about the writable aspect of the mimic, perhaps we should actually bind mount without "ro" [22:48] if the substrate is read only, it doesn't change anything [22:48] if for whatever reason it is not, we should mount as writable [22:49] as for rbind vs bind, if we rbind we must understand what we did or we cannot undo this [22:49] so that feels like "bind now, rbind and be smarter about undo later" [22:49] zyga-ubu1tu: that works for me (both) [22:50] just update the comment on rbind to not be a question and be either a TODO or Note [22:51] zyga-ubu1tu: if you make non-comment changes, happy to review tomorrow [22:51] yes, I'll make all the changes and iterate, thank you for the insight! [22:51] thanks for the PR :) [22:53] jdstrand: btw, one more thing to think about -- once we do full layouts I only expect to tweak confinement (allow more things) and add blacklists (to prevent known unsafe ops), I hope nothing else has to change (in a major way) [22:54] that's going to be the tricky part [22:54] jdstrand: I think the trick (ha) is the tmp bind mount [22:54] making sure we don't accidentally allow /etc/shadow into the app's area [22:55] kyrofa, regarding the feature, could you tell me some pointers I could look at? While this thing updates and reinstalls stuff, I'm trying to figure out a solution but I confess I am not seeing where the return string is built [22:55] I'm not sure a blacklist is the way to go, but also don't know what you are thinking about. we can discuss that in the PR [22:55] jdstrand: yes, we need deny rules in the profile, deny mounts for /etc and /{run/}media, for special places /{proc,sys,dev} [22:55] gsilvapt, did you run `snapcraft --version`? [22:55] jdstrand: ok [22:55] yes [22:58] gsilvapt, what was its output? [23:00] snapcraft, version *** [23:01] in this case, 2.35 [23:01] gsilvapt, and `snapcraft version` prints what? [23:01] 2.35 [23:36] PR snapd#4260 opened: Stop various JSON field from being sent with null values [23:48] PR snapd#4257 closed: interfaces/opengl: also allow read on 'revision' in /sys/devices/pci [23:49] gsilvapt, so instead of making `snapcraft version` print just the number, make it print "snapcraft, version 2.35" [23:51] kyrofa, guide me on this one: How do I compile snapcraft 2.35? [23:52] I'm going around in circles here. I've tried branching to 2.35 and then running the requirement install phase but always get this Can't install 'snapcraft'. No files were found to uninstall. error [23:53] Note: pip, wheels, setuptools and virtualenv are up-to-date [23:56] kyrofa, it seems that running pip install wheel and python setup.py bdist-wheel has solved the issue [23:57] Or not. Can't compile Snapcraft: https://pastebin.com/HgjMwDSx