[00:16] zyga: https://youtu.be/UOZXERFHsW4?t=58m26s [00:18] https://youtu.be/UOZXERFHsW4?t=1h1m32s [00:19] niemeyer: nice mention by mattdm about our snap work in an interview about fedora ^ [00:48] Doctor_Nick: at the very end of it, you can opt-in to have that in the snap [00:49] sergiusens: ah hah [00:49] there's an env var to allow it all the way through [00:49] so it's not really required for the build? [00:50] it's not used in staging, priming, etc.? [00:51] Doctor_Nick: no, we annotate it regardless, on the step it is done on, but it should not affect following steps (unless, there is always an unless, changes in the previous step, force a rerun marking the following ones dirty) [00:51] Doctor_Nick: also https://snapcraft.io/blog/introducing-developer-notifications-for-snap-security-updates [00:52] ok [01:22] is there a way to set network restrictions like "only accept connections from localhost" in the snapcraft.yaml or does that have to be done elsewhere? [01:48] also, why do snap daemons run as root? [03:37] zyga, snapd 2.35 has been pushed for f27 too [04:21] Good morning [04:21] Thank you Neal [04:31] zyga, we got some nice mentions in mattdm's recent interview on Destination Linux [04:31] you should watch it ;) [04:49] I will, thank you for the tip :-) [04:59] PR snapd#5774 closed: tests: introduce a helper for installing local snaps with --name [05:06] morning [05:46] good morning (again) [05:46] both kids in school [05:46] time to work :) [05:47] good morning mvo :) [05:50] hey zyga [05:50] zyga: mvo: hey [05:50] mborzecki: good morning [06:00] PR snapd#5775 closed: tests: also run unit/gccgo in 18.04 [06:38] hm,hm, on arch the interfaces-timerserver-control test is failing for me:https://api.travis-ci.org/v3/job/425119844/log.txt [06:42] looking [06:44] mvo: does it reproduce always? maybe it's some temporary hiccup with ntp? [06:45] mborzecki: I saw it two times lets see if it happens again [06:47] can i install ubuntu core on esp8266 [06:47] ? [06:48] hey s10gopal, we haven't heard about anyone attempting that yet [06:49] s10gopal: you'd have to have a relatively modern linux kernel and supported boot loader [06:49] s10gopal: in addition you'd have to have golang support, I don't know if esp8266 has an arm core or if it is a separate architecture [06:50] let us know what you learn [06:52] zyga, thanks [07:01] s10gopal: esp8622 is a microcontroller with wifi, there are smaller OSes you can use there (or just go bare metal) but linux is a no go [07:02] s10gopal: you can try pi zero or CHIP board which are slightly larger form factor, have wifi and bt and run on linux, i don't know about ubuntu core on these though, maybe needs some research [07:05] pi zero not yet :/ [07:05] mvo: indeed [07:07] pstolowski|afk: hey, when you are around, could you quickly check the ifstate part of #5767? it is not used currently but given that there are some PRs in flight maybe it was added to accommodate those? [07:07] PR #5767: many: remove deadcode === pstolowski|afk is now known as pstolowski [07:09] mornings [07:09] mvo: looking [07:10] pstolowski: thanks and good morning [07:11] mvo: hi, I think I removed the need for that funciton when I refactored conflict code and made it more blunt/conservative, but I forgot to remove it [07:13] pedronis: aha, no worries [07:13] pedronis: just wanted to double check because of the things in flight. thanks for confirming [07:14] mvo: +1, it's fine to remove it [07:14] ta [07:15] and both pedronis and me claim forgetting to remove it ;) [07:15] heh [07:15] PR snapd#5767 closed: many: remove deadcode [07:16] :) [07:25] * pedronis is going to do reviewing this morning [07:30] brb [07:30] more coffee [07:34] coffee, brilliant idea [07:41] PR snapd#5778 opened: snap-update-ns: remove deadcode [07:42] zyga: ^- this one is for you, not sure if this is ok or goes to far but tests will tell (or maybe you need it for something else later?) [07:48] looking, thank you! [07:48] mvo: we need all of those [07:48] they are used in the trespassing fix PR already [07:48] (they were added as a part of -v1 review [07:49] the comments are +1 but the removals are not needed [07:49] mvo: https://github.com/snapcore/snapd/pull/5760 [07:49] PR #5760: cmd/snap-update-ns: don't trespass on host filesystem in /etc and other places [07:49] zyga: aha, cool. I close it then [07:49] thanks, I'll steal the comments though :) [07:50] zyga: yeah, iirc they are a commit that can even be cherry picked [07:50] yeah [07:50] 91e746fc0d61c8e89b9c4931f3eee39bef6e9ef3 [07:50] doing that now :) [07:50] zyga: thank you [07:50] thank You :) [07:50] PR snapd#5778 closed: snap-update-ns: remove deadcode [07:51] mvo: is there any dead code in interfaces? [07:51] zyga: chopTree [07:51] aha [07:51] zyga: thats the only bit [07:51] that _may_ become unused [07:51] it's part of another fix [07:51] but I may end up not needing it [07:51] thanks! [07:52] zyga: ok, I will leave it alone [07:52] I'll remove it if that is the case [07:52] zyga: deadcode is not super reliable, it does not deal well with import "C" for example so I don't think we can automate it yet [07:52] zyga: sounds good, thank you [07:54] mvo: https://github.com/snapcore/snapd/pull/5779 [07:54] PR #5779: snap-update-ns: add comments about the "deadcode" in bootstrap.go [07:54] PR snapd#5779 opened: snap-update-ns: add comments about the "deadcode" in bootstrap.go [07:55] oh, mup is back :) [07:58] mborzecki: https://github.com/snapcore/snapd/pull/5780 [07:58] PR #5780: testutil: allow Fstatfs results to vary over time [07:58] mborzecki: I spotted one issue with locks in #5758, I suppose because you went back and forth about where/how much to lock, anyway probably worth going again over the lock changes there [07:58] PR snapd#5780 opened: testutil: allow Fstatfs results to vary over time [07:58] PR #5758: overlord/snapstate, snap: handle shared snap directories when installing/remove snaps with instance key [07:59] mborzecki: might also show we miss a test [07:59] pedronis: ack, will do, thanks for the review [08:01] PR snapd#5781 opened: overlord: add chg.Err() in testUpdateWithAutoconnectRetry [08:02] ^- super trivial but would be great to get in so that I can figure out why the ppa builds are failing right now (3/6 arches failed with this error) :/ [08:02] sure [08:02] ta [08:02] mvo: just merge it [08:03] yeah, I think I will [08:03] pedronis: yeah, that lock, damn, don't know how i missed that :/ [08:04] mborzecki: it's easy to see in the diff, don't think is easy to see if you did changes and then more changes, to be honest when doing lock changes and changing one mind I would sort of recommend to start from a fresh master [08:05] mborzecki: I also suspect that error path is not tested [08:05] I mean even before [08:06] pedronis: right, it should panic there now that the lock is missing [08:09] Well that's odd. popeycore is a suspended laptop. Wonder how he got here. [08:12] huh, looks like my core laptop woke up when the battery was 0%, I guess to do the hybrid suspend, but that failed [08:19] popey: hybrid suspend shouldn't do that [08:20] well, its core [08:20] we dont really have much experience with suspending on that setup [08:20] popey: hybrid suspend is: prepare for hibernation, and just before power off, instead of power off, suspend [08:20] i thought hybrid suspend did exactly that. woke from suspend to go to hibernate? [08:20] huh [08:20] ah okay [08:20] Chipaca: that's not accurate [08:20] i know [08:20] Chipaca: nowadays firmware assists [08:20] handwavy a bit [08:20] Chipaca: firmware does the suspend to ssd by itself [08:20] this is not a new laptop [08:20] if it's correctly configured (right partitions etc [08:21] zyga: do we support that already? i thought that was ms-only magic [08:21] yes [08:21] for many many years now [08:21] ah ok [08:21] zyga: i'll have to look this up :-) [08:21] Chipaca: it just requires sandy bridge+ (ish, I forgot which exactly) [08:21] not today though [08:21] Chipaca: bios has to support this and it has to be enabled [08:21] why would you have a sandy bridge [08:21] Chipaca: you need to have an ssd and a correct partition layout [08:21] it's a safety hazard [08:22] sand makes things slippy [08:22] Chipaca: then after configured time the firmware wakes suspend-to-ram machine and suspends ram to ssd [08:22] and shuts off [08:22] it's _not_ booting the os [08:22] it's documented ... [08:23] but I cannot find the doc now :) [08:23] anyway [08:23] just wanted to say there are more parts that move now [08:23] indeed, anyway, it's not doing that :) [08:23] i'll have to look into it; the process i've seen when i used hybrid was the one i described (a bit more complex) [08:23] popey: boot windows and update bios [08:23] popey: or use fwupd [08:23] hahahah [08:23] it's an x61s [08:23] from the past [08:23] x61s, well [08:23] then it's not that :D [08:24] Chipaca: I have a desktop that supports that at home, it's pretty neat [08:24] Chipaca: essentially cuts the power drain while suspended [08:24] zyga: the power drain while suspended is already pretty low [08:25] Chipaca: well, it's zero then :) [08:25] and it fixes any magic hardware that doesn't really suspend correctly [08:25] well mine drained to 0 in a few days [08:25] see :) [08:25] right [08:25] this is how modern laptops get month+ on suspend [08:26] embedded IC probably still operates / LEDs blink [08:26] but not sure really [08:26] Chipaca: hi, thanks for the extra tests, some Qs in #5187 [08:26] PR #5187: overlord: introduce snapshotstate [08:27] pedronis: the var is leftover debug :-( as is the status in the notice :-(( [08:27] pedronis: I'll answer over there [08:29] mvo: did I accidentally trick you into supporting TinyHTTPProxy [08:30] Chipaca: *cough* the code felt very crufty so I modernized it a wee bit [08:30] maybe not crufty but just a bit old iirc, this is from 2006 originally or something [08:30] mvo: :-) that code has heritage :-D [08:30] yeah [08:31] Chipaca: so yeah, if you see further low hanging fruits, just shout [08:32] mvo: https://github.com/tkmunzwa/Tiny-HTTP-Proxy/blob/master/TinyHTTPProxy.py fwiw [08:32] mvo: that seems to be the most modern direct-line evolution of the one I had lying around [08:33] mvo: the other way this has evolved involves 'pip install', which loses its magic [08:33] Chipaca: thanks, I will see if there are useful bits [08:33] the whole point of it, to me, was that it was a single file i could scp places and work around silly firewall rules :-) [08:33] Chipaca: heh [08:33] TinyHTTPProxy + ssh port redirection == magic [08:34] Chipaca: that should still be possible with the version in the tree [08:34] Chipaca: the last bit I'm considering is the selectors module that zyga mentioned but I will try to control my ocd to cleanup further I think its already overdone. anyway, back to this failing test during package build [08:35] the irony - my latest PR fails in the proxy test which screams - merge the proxy fix :) [08:36] PR snapd#5781 closed: overlord: add chg.Err() in testUpdateWithAutoconnectRetry [08:37] Saviq,ogra: fix for the npm proxy thing is awaiting deployment (#8 in the IS queue) [08:37] PR #8: launchpad.net/snappy -> github.com/ubuntu-core/snappy [08:37] weird how suddenly a bunch of different people asked me about that on the same day :) [08:38] mborzecki: can you look at https://github.com/snapcore/snapd/pull/5780 - it's a part of the bigger one you read, needs 2nd ack [08:38] PR #5780: testutil: allow Fstatfs results to vary over time [08:39] PR snapd#5779 closed: snap-update-ns: add comments about the "deadcode" in bootstrap.go [08:43] PR snapd#5780 closed: testutil: allow Fstatfs results to vary over time [08:43] PR snapd#5782 opened: ifacestate: helpers for generating slot names for hotplug [08:43] wtf [08:43] why did PR8 trigger a notification? [08:45] cjwatson, heh ... i blame Saviq though :) [08:45] Chipaca: btw, there other question is basically do we leave around tar files etc when we undo? the test doesn't seem to check [08:46] pedronis: I've added the check, and was about to reply "yes", but I think something is missing [08:46] cjwatson: ack, thanks! [08:47] pedronis: I might need to add a save cleanup [08:47] pedronis: to catch it [08:48] Chipaca: possibly yes, and remove stuff if Error [08:48] pedronis: wondering how to set things up so that one tar fails long after the other tars succeeded [08:48] for the test of that [08:48] Chipaca: remember we have mock command ? [08:49] i might do it with a shallower test, ie one that mocks backend [08:49] pedronis: yeah, that'd be the other approach, integration-y [08:49] anyway as you prefer [09:01] Chipaca: is there something like filepath.Ext but for the non-extension part? [09:03] zyga: no; if ext := filepath.Ext(path); ext != path { path = strings.TrimSuffix(path, ext) } [09:03] zyga: or, grab filepath.Ext and reverse what it returns [09:04] or dont [09:04] ¯\_(ツ)_/¯ [09:04] zyga: (ext'll always be != path unless path is "" fwiw) [09:06] thanks, I was hoping there's something baked [09:06] I like the TrimSuffix idea [09:07] mborzecki: I am reading 5770 right now, curious about the attack scenario. will the store do anything with the hashed instance name or is that just stored there? [09:09] mvo: afaict it's for metrics only [09:09] mborzecki: we probably also want to hash if we generate error reports thinking about it [09:09] mborzecki: ok [09:09] pedronis: I was wrong :-) we don't need a cleanup; undo does everything we need already [09:09] pedronis: it's as if i'd thought of this at some point, even :-) just not tested it [09:09] having to relearn my own code here [09:10] that's how long it's been [09:10] mvo: erorr reports contain a lsit of installed snaps? [09:10] pedronis: anyway now we'll have a test for it [09:10] zyga: random thought, maybe we should grab an hour one evening in brussels or something and work on snapd in debian [09:10] mwhudson: very much so [09:10] i just can't seem to work up the motivation to do it on my own [09:11] mborzecki: no but if a specific instance fails to install or refresh we might leak the name I have not checked the code just a idle thought [09:11] mvo: ok, will take a look, addign to my todo list [09:12] ta [09:16] Chipaca: :) thanks [09:22] pstolowski: does https://paste.ubuntu.com/p/Jjc3JFDWnT/ ring any bells? it seems to be a race and we hit it ~50% of the time when bulding the edge snap currently [09:23] pstolowski: e.g. https://launchpad.net/~snappy-dev/+archive/ubuntu/edge/+sourcepub/9385143/+listing-archive-extra [09:23] mvo: looking [09:23] thanks [09:25] mvo: no, i haven't seen it before; looks like a race indeed, investigating [09:42] hey there [09:42] how do I tell snapd to not do any auto refrsh today? [09:43] $ snap refresh --time [09:46] seb128: you can use "sudo snap set core refresh.hold=2018-09-07T17:00:00Z" [09:47] seb128: then snap refresh --time should tell you that the refresh is on hold [09:48] pedronis: pushed fixes, added a test where UndoSetupSnap fails, also that All() was indeed useless, the variant with Get("snaps"..) is same line count and lighter :) [09:52] mborzecki: I added some comments to the other ones [09:53] mvo: do you have anything in your pile that needs my review ? [09:53] bah, mobile connection timeouted [09:53] unsure if my question when through before [09:53] seb128: yes [09:53] how can I disable autorefresh for the day? [09:53] pedronis: thanks, [09:54] seb128: you can use "sudo snap set core refresh.hold=2018-09-07T17:00:00Z" [09:54] seb128: then snap refresh --time should tell you that the refresh is on hold [09:54] PR snapd#5783 opened: tests: add new core16-base test [09:54] mvo, pedronis, thanks! [09:54] we should grow a command but we have to discuss how to add it (we have too many commands already) [09:55] (not very user friendly to figure out, "$ snap refresh --help" could at least hint that (or best, include a "--skip-next" or something) [09:55] mvo: ^ something to (re)discuss in brussel (how to tame our commands zoo to be able to add some more) ? [09:55] pedronis: yeah, the parser is also very strict about the time format, having something like "snap refresh --defer 1d" would be much nicer [09:55] that would be great [09:55] pedronis: yeah, that sounds like a good discussion [09:56] also n-m integration to respect the limited-bandwith flag and not refresh then would be nice [09:56] (gnome-software/flatpak do that) [09:57] mvo, your command confuses me, now [09:57] $ snap refresh --time [09:57] hold: tomorrow at 19:00 CEST [09:57] next: today at 15:23 CEST [09:57] it still says next is today at 15:23? [09:57] yes [09:57] * seb128 is scared about his data [09:57] seb128: limit or metered? I mean does it not do any refreshes ? [09:57] seb128: or slows them down? [09:57] seb128: there is still a next but hold overrides [09:57] metered [09:57] it just doesn't download updates [09:58] since you don't want to risk eating the user data plan in his back [09:58] (well they have a switch to enable auto download in that case, but it's off by default) [09:58] seb128: fwiw, we have a option to respect metered, "sudo snap set core refresh.metered=true" [09:58] that integrates to n-m? [09:58] mborzecki: maybe we should enabled metered by default? (cc seb128 ) [09:58] that sounds like a reasonable default to me [09:58] seb128: +1 [09:59] should I open a forum post about that maybe? [09:59] mvo: probably needs a +1 from niemeyer too [09:59] I'm trying to stage the directory my-part/install/include → added it to stage as `include/*` but it does not show up in stage/. other directories from stage keyword do show up. Does someone has a hint what I'm doing wrong? [09:59] yes, we had a long back and forth when we added it [09:59] +1 to simplifying that. The syntax is arcane and user hostile [09:59] I'm also going to open a bug about snap refresh --time telling me that the next refresh is on a time where it's not [09:59] seb128, pedronis hm, hm, it sounds like we should we smarter about "next: " when we also have "hold:" to not confuse users [10:00] seb128: could you write a forum topic? I prepare a pr then [10:00] mvo: I don't know [10:00] probably superficially somewhere [10:00] mvo, is the forum or github the right place for such reports? [10:00] not deeply [10:00] code is complicated enough as it is [10:00] pedronis: :/ ok [10:00] seb128: forum works best, otherwise LP [10:00] mvo, k, good [10:01] What's the use case? [10:01] Do we have someone that reported issues while using metered connections? [10:01] (hello, btw :) [10:01] mvo: also remember is partly by design, if you snap set refresh.hold= before that next you would still get the refresh [10:01] niemeyer: yes [10:01] mvo: if you change your mind [10:01] is really not meant to move next [10:01] niemeyer: seb128 was surprised that the default for honoring metered connections is "off" [10:02] mvo: maybe is just a better of outputting something clearer in snap refresh --time [10:02] pedronis: yeah, maybe its enough to be smart at the presentation layer, i.e. snap refresh --time could look at the values maybe [10:02] niemeyer, I'm just train travelling and on mobile plan/tethering and I don't want snapd to eat my 1G monthly cap [10:02] mvo: Sure, but do we have someone with actual issues reporting? [10:02] pedronis: heh, sounds like we have the same idea [10:03] seb128: please paste me the link to your bug about next/hold and I will have a look [10:03] mvo, niemeyer, I'm going to start a discussion in the forum about that I guess, I think the safe default on metered connection is not eat datas since it's likely that those have a cost or a limit [10:04] seb128: That's reasonable of course.. how well is the automatic detection of that scenario working nowadays? [10:04] niemeyer, we don't have any yet, iirc? [10:04] mvo, will do, I'm going to need to jump off that train and connect to another one in like 3 min but I do once I'm settled down in the next one :) [10:04] or did that stuff get merged? [10:04] (I forgot, it's hard to keep track of all the stuff!) [10:04] Son_Goku: Heya [10:04] yo [10:05] Son_Goku: Not on our end.. we just honor the network manager setting [10:05] so then at least from our side, we should be fine [10:05] The question is how well is the automatic detection of the scenario seb128 described [10:05] niemeyer, I don't know about the snapd side and where it gets its info from, but network-manager has heuristics that seem to make sense to me [10:05] I suppose that depends on whether NM can figure it out, then [10:05] if it can't, then *shrug* [10:05] in my case, it usually does [10:05] seb128: The question is about network-manager itself.. we just honor it.. we don't have a setting by ourselves [10:06] seb128: But to change defaults, we need to have some idea of whether it will actually fix the problem reported, and whether it might create problems for others [10:07] Saviq, btw, it might make sense to have something added to the review-tools so packages using wayland-socket-dir get auto-rejected with a deprecation message on upload ... i wonder how hard that is to add for jdstrand [10:07] niemeyer, ok, I'm going to get the details and write on the forum with what n-m is doing exactly, we can have a discussion there then [10:07] seb128: Thanks! [10:07] yw, thanks for being interested in the topic :) [10:09] wll, does NM know you are tethering if you do it via wlan ? (assuming you just connect to a phone hostpot (at least thats how i do train rides)) [10:09] *well [10:10] having some manual knob might make sense in that case [10:14] nm has a switch to flip to say that [10:14] NM has a lot of switches, knobs, and probes for determining whether it should say it's on a metered connection [10:14] but last resort, you can *tell* NM it's a metered connection [10:15] right, i meant in the case of a non-automagically determined connection, the user can override by flipping a switch [10:15] ah, i didnt know that (havent seen that in 16.04) [10:15] it doesn't exist in 16.04, iirc [10:15] most of the functionality was introduced in NM 1.4, I think? [10:15] thats like why then :) [10:15] iirc, NM 1.0 is in 16.04 [10:16] ogra: there's DHCP option that convey that you're on phone hotspot, afaik only android phones set it [10:17] ah, cool, i didnt know that ! [10:17] yeah [10:17] I think iOS sends a thing too, because Macs know when its connected to hotspots [10:18] but it's not "normal" like Android's [10:18] any chance we could have snapd gnome-software integration flip the switch appropriately? [10:18] mborzecki: the integration is above g-s [10:18] it's in gnome itself [10:19] specifically, NM tells GNOME that it's metered, and everything responds to that [10:19] the g-s snap probably can't access the gnome information index like g-s normally can [10:20] but it can use the NM interface to ask NM [10:20] yes [10:20] (at least it should be able to) [10:20] well g-s already uses that flag in their flatpak plugin [10:21] snapd asks NM if current coonnection is metered [10:21] but it wouldn't make sense to do something for snaps there since it's not gnome-software who download/refresh snaps [10:21] (as it does for flatpaks) [10:21] Chipaca: I have a question for you, do you remember why we didn't add call to validateInfoAndFlags in snapstate.InstallPath ? [10:21] *a call [10:21] right, and if snapd actually DTRT here (talking directly to NM) it should theoretically just work the right way [10:22] what we need is to tell snapd that it should hold refreshes if on metered, everything else is already there [10:22] mborzecki, I thought we already do? [10:22] at least, that's what niemeyer said [10:23] Son_Goku: integration with NM and holding refreshes is there but it's off by default [10:23] ah, well that helps nobody [10:23] Again, the reason why the default is off is because we need to have some idea of whether it will actually fix the problem reported, and whether it might create problems for others [10:23] as pedronis wrote there was some back and forth about having it on by default [10:24] And we're having it again just onw.. [10:24] now [10:24] The reason we didn't enable is because nobody knew for sure when that flag was enabled or not [10:24] how do we turn it on to find out? [10:24] everybody i've talked to that was complaining about, i asked them to confirm back whether it worked or not [10:25] and, nobody has so far [10:25] so we're just missing a piece that talks to gnome and knows whether the user wanted to hold updates (be it system, flatpak or other) while on metered [10:25] so i've brought you 0 data points [10:25] mborzecki: The only piece missing is feedback, and proper information [10:26] mborzecki: It's not about whether the user wants to hold or not, but about when that flag actually goes on or not [10:27] IIRC, the feature was developed to fix a need for a manufacturer that had specific hardware, and knew what was going on.. they enabled it for their device, which they had strict control over [10:27] niemeyer: what i meant is that if a gnome user flips it on in gnome settings (or wherever else the setting is), we can only react if there's that integration piece that conveys their choice [10:27] So the feature worked well there.. but to change that to always enabled, we need a much better idea of when connections will be marked as metered [10:32] FWIW I set the free train wifi to be metered because it's slow and I need the bandwidth for other stuff. [10:33] I also defer all updates to 4am because I am often doing podcasts in the evening, and I don't want my laptop to start chugging away updating snaps unexpectedly [10:33] but that indeed expects that your laptop is on at that time [10:33] which it often isnt [10:33] so I have to manually snap refresh [10:34] (also, it frustrates me that snapd starts doing updates immediately on wake from suspend which makes the laptop unusable for minutes) [10:34] it doesnt kick in after you booted it again ? [10:34] no [10:34] all my VM core images definitely do that ... i have to plan an extra 10-15min when i plan to work with one that i havet booted in a while [10:35] hm, maybe it does and I didnt notice [10:35] today I pressed the wake button and walked away to get coffee [10:35] ecause the VM typically kicks off a core update right after boot and then reboots [10:40] mborzecki, zyga hey, since you commented some time ago on https://github.com/snapcore/snapd/pull/5632 - can you re-review? [10:40] PR #5632: overlord: integrate device enumeration with udev monitor [10:40] sure [10:41] ok [10:41] ty! [10:50] pstolowski: done [10:51] pstolowski: https://github.com/snapcore/snapd/pull/5632#discussion_r215580734 is the most important issue I think [10:51] PR #5632: overlord: integrate device enumeration with udev monitor [10:55] mvo, https://forum.snapcraft.io/t/next-refresh-info-confusing-when-on-hold/7230 [10:55] sorry, internet was flaky arriving to the station [10:55] zyga: hmm the err is returned in the next line? [10:55] DOH :) [10:55] thanks, I missed that :) [10:55] I removed it from the review now [10:56] and now going for my next train ;) [10:56] zyga: thanks for the other suggestions1 [11:00] pedronis: i'm thinking about that base64, it's possible that there will be - in the encoded data, so simple '-'.split(..) might get a little confusing [11:00] pstolowski: 'foo'.split('-') ofc [11:01] PR core18#69 opened: hooks: add libpam-modules [11:07] PR core18#69 closed: hooks: add libpam-modules [11:08] PR snapd#5784 opened: tests: run account-control test on uc16,uc18 and with different bases [11:19] mborzecki: I really hope we don't split those keys anywhere [11:29] mborzecki: why the 39 -> 15 change ? [11:30] Chipaca: did you see my question? [11:30] pedronis: no [11:30] pedronis: oh [11:30] pedronis: should be enough bytes, i can pass the whole lot [11:30] pedronis: maybe because 'try' would fail validation in that case? [11:31] Chipaca: what's special about try? [11:31] pedronis: used during dev when things are more likely to be broken [11:32] pedronis: otoh, seems like the best time to error :-) [11:32] Chipaca: ? [11:32] Chipaca: this is about checks for --classic and --devmode , or am I confused ? [11:32] pedronis: ah sorry i got confused with the static path checker thing [11:32] pedronis: let me look [11:33] mborzecki: I would keep all the bits [11:33] pedronis: ack [11:33] for 512 it was indeed a bit overkill [11:33] niemeyer, mvo, mborzecki, in fact https://forum.snapcraft.io/t/snap-refresh-over-metered-connections/5001 already has lengthy details about what n-m is doing (also the review pointed in the recent comment picks on snapd compared to gnome-software/flatpak due to that :/) [11:33] but this already half of that [11:34] seb128: but our problem isn't afaik what n-m is doing, but that we can't enable it by default until sufficient people have confirmed it does the right thing [11:34] Chipaca: to be clear we are talking validateInfoAndFlags that you introduced a long while ago [11:35] Chipaca: do we have a test case documented and call for testing? [11:36] pedronis: I'm going to chalk it down to oversight [11:36] popey: I don't think we do (I'd like confirmation that this is indeed what's stopping us from making it a default though) [11:36] Chipaca: there are 3 places that could share a helper if InstallPath was also using it === pstolowski is now known as pstolowski|lunch [11:37] but maybe something breaks [11:37] pedronis: which are those? [11:37] Chipaca: if we had test case and docs I'd be happy to test it [11:37] Chipaca: doUpdate Install and InstallPath itself [11:37] they all do a couple of validate, construct (a now complicated) SnapSetup [11:37] and call doInstall [11:37] pedronis: is there anything else calling doInstall? [11:37] yes [11:38] Revert I think [11:38] eh, ok [11:39] mborzecki: niemeyer: mvo: am I right in thinking we're just waiting for sufficient confirmation that the n-m metered integration work does the right thing in the field, in order to enable it by default? [11:40] Chipaca: maybe I should just try to add it and run push the PR and see what the test says and go from there [11:40] if you don't recall a strong reason why is not there [11:42] pedronis: +1 [11:48] sergiusens: hey, have you seen snapcraft getting ENOPERM on host's snapcraft .snap before? https://travis-ci.org/CanonicalLtd/multipass/jobs/425154797 [11:48] when building in a build env, that is [11:48] Saviq: cleanbuild? [11:49] sergiusens: travis, so yeah [11:49] oh I mean, no, not cleanbuild [11:49] =lxd [11:49] Saviq: yes, same, snapd changed perms on all snaps, you can use beta where we moved to a different model [11:49] ack [11:49] Saviq: why lxd and not cleanbuild? [11:50] does cleanbuuild work in travis ? [11:50] ogra: of course it does [11:50] (i never tried :) ) [11:51] ogra: https://github.com/snapcore/snapcraft/blob/master/.travis.yml#L70 [11:51] sergiusens: I don't go through the whole build necessarily, depends on the job https://github.com/CanonicalLtd/multipass/blob/master/.travis.yml [11:51] oh, wow, travis even supports snaps ? [11:51] ogra: yeah, we did a PR for their docs ages ago [11:51] it definitely didnt when used it last and still had to manually create xenial chroots [11:52] (my experience is from a tme where they only offered precise) [11:52] ogra: https://docs.travis-ci.com/user/installing-dependencies/#installing-snap-packages [11:52] extremely cool ! [11:52] yeah, and they only offer xenial to enterprise users :-) [11:53] but with lxd, who cares! ;P [11:53] ah, i thought they switched the default nowadays [11:53] so the fact that it is slow to get to the masses might be a commercial thing more than a technical one :-) [11:53] yeah === pstolowski|lunch is now known as pstolowski [13:00] sergiusens: oh and btw, I'm abusing the fact that the build artifacts (stage, basically) ends up in $PWD and that the container is still around after it completes [13:00] I suppose I won't be able to rely on it soon ;P [13:00] sergiusens: if you have a look through our .travis.yml and suggest changes / highlight issues, that'd be great :) [13:00] Saviq: abuse all you want, but you will have to make up for your crimes :-) [13:01] why stage though ? prime feels a bit more natural [13:01] Saviq: we can certainly do that, btw [13:01] Chipaca, sorry, on a flaky internet in a train ... what info do you need to figure out if the current code "does the right thing"? the post explains the heuristics used by n-m in details which is a good base I would think? [13:02] seb128, you need to stay on the train for the next 48h to see if some auto-update kicks in i guess *g* [13:02] seb128: well, in theory it works; in practice, we don't know [13:02] (geez, is it friday soon ?) [13:02] ogra: I think prime is stripped of some test-related things that we need, but we may reevaluate for sure - and maybe amend what we prime for different build types [13:02] seb128: no amount of reading about what n-m claims to do will tell us whether it breaks in some weird real-world corner case [13:03] Saviq, yeah, prime is closest to the actual endresult though ... makes any tests more realistic i suppose (but yeah, stripped for sure) [13:03] Chipaca, it's being used by others (GNOME, flatpak), could that help us to get some confidence? [13:03] Chipaca, and if not what would? [13:03] trying to understand how we can unblock the situation [13:20] PR snapcraft#2244 opened: snap: add the https transport [13:25] Chipaca, sorry, try is making that difficult, I was saying [13:25] Chipaca, well "break" would mean no autorefresh on some connections, if we are afraid that buggy info could lead to system never updating we could force a refresh anyway after $peiod [13:25] Chipaca, users are typically on a metered connection for a limited time, being on the safe side by default and forcing after a longer period would probably save most users to hist a problem [13:25] Chipaca, anyway let me know if we could help giving confidence in that feature by any mean [13:58] mvo: so do we need to do anything beyond tweaking the config? Is there a public test phase needed still? [13:59] Chipaca: a good question [14:04] mvo: shall i push to a new github branch and we can set up a ppa from that? [14:14] pstolowski: yeah, that sounds reasonable [14:14] pstolowski: (in a meeting right now (and after this one too) so may be a bit slow replying but you can just use a personal PPA probably) [14:15] pedronis: snapshotstate is green again if you want to take a last look [14:15] mvo: right, will try that (haven't touched ppas for >2 years, let's see how it goes ;)) [14:19] pstolowski: good luck [14:30] Chipaca: lgtm [14:30] whee [14:31] gasp [14:31] now what [14:31] PR snapd#5187 closed: overlord: introduce snapshotstate [14:32] Chipaca: celebration time :) [14:33] pedronis: :-) [14:38] Chipaca: \o/ [14:38] PR snapd#5785 opened: tests,interfaces: run interfaces-account-control on UC18 [15:04] mvo: core16 is a base right ? [15:04] like core18 [15:08] nvm checked myself [15:09] pedronis: correct [15:09] pedronis: (sorry in a meeting so a bit slow) [15:12] pedronis: snap info tells you :-) [15:13] Chipaca: that's what I did indeed [15:13] pedronis: :-) [15:23] pedronis: in state.State's Prune(), writing() is called only if needed. deleteExpiredWarnings was calling writing() unconditionally, when it was a public method. Should I make it smarter? [15:23] pedronis: should I drop it and move that logic into Prune directly? [15:23] the latter would be consistent with what's there already [15:24] Chipaca: I'm kind of eoding, yea, all the pruning is in Prune, [15:24] pedronis: ok [15:24] pedronis: have a good'un [15:28] * cachio lunch [15:32] sergiusens: so here's a new issue with beta... https://travis-ci.org/CanonicalLtd/multipass/jobs/425225732 snapcraft can't find a package... https://launchpad.net/ubuntu/+source/cmake-extras is it looking at the host package list? [15:36] Saviq: sent a log privately, I have a workaround for that though [15:44] PR snapcraft#2245 opened: docker: support for testing snapcraft in proposed [15:56] niemeyer: #5514 is ready for another look if you're idle (har har har) [15:56] PR #5514: daemon, overlord/state: warnings pipeline [16:05] zyga: quick brainstorm - I'm renaming idleManager to ecoManager - or do you have a better name. I think it captures the idea behind it better than idle manager as its not about idle but more about nothing to manage [16:05] mmm [16:06] do you think that ecoManager could do more things (eventually) that fit into resource preservation concept? [16:06] like unmounting unused things [16:06] or cleaning unused bases [16:06] or running aggressive gc once in a while [16:06] or something like [16:06] janitorManager [16:06] (though I think ecoManager is better) [16:07] or we could call it "mother" [16:07] Chipaca: Thanks! [16:07] mvo: Do we need a manager for that? [16:07] sleeper [16:07] niemeyer: not strictly but it has some nice properties [16:07] mvo: It sounds like this is a cross-concern issue [16:07] niemeyer: like that it ties use into the ensure loop [16:07] mvo: Where every manager would have something to say about it [16:08] niemeyer: we want the check to run after the ensure loop of the other managers [16:08] niemeyer: but I'm open for ideas of course [16:08] niemeyer: ohhh [16:08] nice idea [16:09] mvo: It just feels like this is something managers will need a chance to do something about, otherwise we'll have a manager that will be fiddling with resources of other managers [16:09] manager.SaveThePlanet [16:09] and then a manager could do something in response to that [16:09] return false [16:10] niemeyer: so far the bits we check are: a) number of snaps (snapstate should provide this) b) is it seeded (devicestate) c) minimal amount of time passed d) pending changes e) active daemon connections. plus it should be run after ensure ideally [16:11] PR snapcraft#2245 closed: docker: support for testing snapcraft in proposed [16:12] mvo: Sounds like something we should run less often than ensure itself [16:12] niemeyer: I can sketch out a design that adds something like "CanGoSocketActivated" to the managers (the name sucks, just here as a stawman) and then do the other checks in its own package and/or daemon or overlord. syncing with the ensure loop is the open question in this design. should I create a hook in the overlord for this? where callbacks can be added [16:13] Hmmm [16:13] niemeyer: right, we can run it less often its just a nice property if its in sync with ensure in some way (so maybe not every ensure ) [16:14] (but of course it does not have to be in sync if that makes the other design nicer) [16:14] I wonder if we can do it by niling out managers when they have nothing to do [16:14] and then if every manager has gone, we go away entirely [16:15] mvo: The earlier a-d list sounds a bit uneven [16:15] anyway. I'm going afk for a while, will bbl (going for a run before it rains) [16:15] mvo: Some of those aren't something that can be in a manager [16:16] Chipaca: Enjoy! [16:16] niemeyer: the active connections is a problem, the other bits fit ok. but again, happy to do it differently [16:17] mvo: The time passed also feels misplaced [16:17] niemeyer: I need to have dinner now but will read scrollback and also ponder about how to do it without a manager [16:17] mvo: Time passed since what? Feels like this should be in the routine that would attempt to go socket activated [16:17] mvo: SOunds good.. we can catch up tomorrow morning as well [16:17] mvo: Have a good one [16:17] niemeyer: the time since startup is what is used right now [16:18] niemeyer: yeah, tomorrow is also fine, lets see if we can find some nice pattern :) [16:18] s/pattern/place/ [16:18] niemeyer: thank you! [16:48] back on stable internet! [16:48] Chipaca, sorry for trying to start a conversation on a bumpy internet, that was not a good idea [16:48] Chipaca, anyway might be a good topic for Brussel, if we can help building trust on that feature/stack in some way that would be nice [16:49] users tend to hate bugs that lead to costs (understandably) [17:01] hi, is there a way to unset a snap config option (as opposed to set it to "")? [17:01] set it to null [17:02] zyga, how do you do that? [17:03] zyga, you mean set foo=null ? [17:03] snap set foo value=null [17:03] I think [17:03] yes [17:03] oh, so that's a special value [17:03] I mean, it's not treated as string [17:03] no, that's literally null :) [17:03] yeah, all input is yaml [17:03] I heard [17:03] or json [17:03] or ... [17:03] now I'm confused [17:03] zyga, although it will still show in get -d, it won't be "unset" [17:03] (that's fine, just wondering if there was a way to actually unset [17:04] ah [17:04] mmm [17:04] maybe there is [17:04] hold on [17:07] I don't see any [17:07] pstolowski: ^ maybe you can clarify [17:08] pedronis, hey, I am trying to push a snap to the staging store and I see this error [17:08] https://paste.ubuntu.com/p/9dyxZZgkvY/ [17:09] do I need to make any change in the test account? [17:14] cachio: are you logged in ? what does snapcraft list-registered says ? [17:15] pedronis, it gives the list of snaps for the user [17:15] then not sure [17:15] it's a strange error [17:16] pedronis, who could help with that error? [17:16] on the store side [17:16] cachio: I would try to login again, is that snap in the list of list-registered you get? [17:16] pedronis, ok [17:17] pedronis, yes it is [17:17] it's definitely strange, if relogin doesn't help, ping celso maybe [17:19] same errror after relogin [17:19] I'll ping him [17:19] snapcraft --debug output might help in case [17:20] zyga: there's no way to unset [17:21] ackk ^ [17:21] that's a known issue/limitation [17:27] pedronis, is it using the staging store? https://paste.ubuntu.com/p/rFyBk3NTG5/ [17:28] cachio: no [17:28] something is off with your env [17:28] 'url': 'https://dashboard.snapcraft.io/dev/api/snap-push/ [17:29] or there's a bug in snapcraft, not respecting something for different ops [17:29] a *new* bug [17:30] pedronis, that could be [17:30] thanks for the support [17:31] as I said list-registered showing the snap but push failing is a bit strange [17:31] pedronis, I'll check with snapcraft guys [17:31] (though the permission are different for the two ops) [17:31] kyrofa, hey [17:31] kyrofa, any idea why it could be not poiting to the staging store? [17:31] https://paste.ubuntu.com/p/rFyBk3NTG5/ [17:39] cachio, sudo might have something to do with it-- have you tried without? [17:40] Chipaca: LGTM! [17:41] kyrofa, that was the problem [17:42] kyrofa, tx === pstolowski is now known as pstolowski|afk [18:15] cachio: ah, sorry I didn't notice that [18:15] pedronis, yes, me neither :( [18:17] pstolowski|afk, I see, thanks [18:44] niemeyer: excellent, thank you [19:33] Hello, I am trying to figure out how to make snappy stop updating my VLC installation to any other versions. [19:38] I've read the man file but I don't see a way to stop snap from refreshing a certain app :/ === pbek_ is now known as pbek [20:06] TorbenLeif: you can't, basically [20:06] TorbenLeif: and you probably shouldn't :-) why are you wanting to not update vlc? [20:48] @Chipaca VLC Media Player, versions past 3.0.1 broke a certain feature I use regularly and so I keep having to force snappy to reinstall vlc_195.snap. [20:49] Unfortunately VLC doesn't release any other packages so I can avoid using Snappy with it, so it sounds like I'm stuck having to do this every day :/ [20:54] PR snapcraft#2246 opened: packaging: cleanup extension usage in setup.py [21:08] TorbenLeif: have you spoken to the devs? they're usually very receptive of that sort of feedback [21:10] my memory is terrible but I think thresh was working on that at some point? [21:10] yep, he is the vlc snap maintainer [21:11] Chipaca, i thought if you use snap revert you will not get auto-upgraded til the next release shows up in the store ? [21:12] i onder why TorbenLeif has to do that "every day" ... given that feature [21:13] *wonder even [21:27] PR snapcraft#2244 closed: snap: add the https transport [21:27] ogra: I suspect the have the .snap, and install it every day [21:27] TorbenLeif: what does "snap list --all vlc" print? [21:28] yeah ... revert would be a lot better than sideloading the snap file [21:28] TorbenLeif: as ogra says, if you "snap revert", snapd will not auto-upgrade you to the same revision -- a new revision would get auto-installed, but not the same one every time [21:28] ogra: revert is probably the least known of what we think of as the main features [21:29] ogra: it's not really sideloading as they have the assertion :-) [21:29] yeah ... but given its beauty it should really get more promotion ;) [21:29] ah [21:29] ogra: ironically if they didn't have the assertion it'd be actual sideloading (i.e. --dangerous) and it wouldn't update [21:29] oh, indeed ! [21:37] PR snapd#5786 opened: tests: update prepare/restore for nightly suite [21:42] @Chipaca vlc 3.0.3-1-3-gf09fd0d 365 stable videolan✓ disabled [21:42] vlc 3.0.4 555 stable videolan✓ disabled [21:42] vlc 3.0.1-4-g14a4897 190 stable videolan✓ - [21:42] TorbenLeif: and which is the one you want to use? [21:42] 190 is the one I want to use permanently. [21:42] I have it installed now, but tomorrow it'll update again. [21:43] TorbenLeif: ok, so try this [21:43] TorbenLeif: first: snap refresh vlc [21:43] TorbenLeif: that'll leave you with the one you don't want [21:43] TorbenLeif: next: snap revert vlc --revision=190 [21:43] TorbenLeif: that'll leave you with the one you do want, and _blacklist the newer one_ [21:44] TorbenLeif: you can confirm this by doing 'snap refresh' (without explicitly asking for vlc) [21:44] if you 'snap refresh vlc' you un-blacklist, if I remember correctly (but i could be wrong! and i'm too tired to go look right now) [21:45] This works, but once VLC releases a new version I just have to do this? [21:45] Or is it a perma solution? [21:45] TorbenLeif: the next different revision that gets pushed to tip of stable will replace the one you want, yes [21:45] TorbenLeif: in the meantime, _talk to the vlc maintainers_ [21:46] Okay, that is great. Thank you so much for the help Chipaca! [21:46] TorbenLeif: what is the feature that breaks, by the way? [21:47] Chipaca The capture card displays a weird zoomed in disorted image post 3.0.1 [21:48] TorbenLeif: that seriously sounds like something they'd want to fix if they knew it was happening [21:48] I am using an AV2USB adapter that works fine on any program as a regular video0 input except VLC post 3.0.1 [21:48] I talked to them but they have a pushy bug reporting process that I don't want to do (it involves signing up on a bug tracker and such). [21:49] sounds terrible [21:49] much easier to refresh the snap every day … (?!?) [21:49] It's not bad if you're really into the community, but just as a guy wanting to inform them of a problem they might be interested in knowing about, it's too much work. [21:50] Writing a script to schedule the necessary commands to revert isn't hard now that I know the commands ^^ [21:50] I now regret having helped [21:51] Because I don't want to take pictures, learn the necessary debugging commands to create the bug report and sign up for a service to do it? [21:52] I gave them the logs they wanted in irc. [21:52] Bah, idc. Thank you for the help anyway. [21:52] TorbenLeif: because you'd rather spend my time than yours [21:53] Not necessarily true. [21:53] If I made the bug report it isn't fixed, it is reported. [21:53] PR snapd#5787 opened: tests: update the listing expression to support core from other channels [21:53] Seeings as I am not a programmer for the project, either way I still need a temporary fix. [21:54] The VLC channel didn't have a solution to temporarily fix the problem, so after a couple hours I decided reverting constantly is the best solution for me. [21:54] I was unsure on how to do that, so I needed help with reverting snap packages. You helped teach me that. [21:59] Even to that effect, I googled for a solution well prior to coming here and read the man page. Unfortunately documentation on snappy is lacking in this regard, and the feature I wanted didn't even exist. So no, I would have much rather found the solution during the time I spent than take up yours. [22:07] TorbenLeif: I'm sorry the manpage didn't help. Reading the documentation for revert I see it's missing a mention of the blacklisting, indeed [22:07] sorry for that; i'll address it tomorrow [22:12] No need to apologize for documentation, it's a community project, not a business. Anywho, thanks again and have a good day. [22:48] PR snapcraft#2247 opened: yaml loading: properly handle unhashable types [23:48] PR snapd#5788 opened: tests: add publisher regex to fix the snap-info test pass on sru