/srv/irclogs.ubuntu.com/2019/09/02/#snappy.txt

mborzeckimorning05:04
mupPR snapd#7323 closed: features, overlord: make parallel-installs exported, export flags on startup <Created by bboozzoo> <Merged by bboozzoo> <https://github.com/snapcore/snapd/pull/7323>05:10
zygaSchool morning05:33
mborzeckizyga:  hey, yeah, school morning05:33
zygaI will be around shortly05:42
zygaWalking back from school05:42
mborzeckimvo: hey05:45
mvohey mborzecki ! welcome back05:46
mupPR snapd#7384 opened: HACKING.md: clarify where "make fmt" is needed <Simple 😃> <Created by mvo5> <https://github.com/snapcore/snapd/pull/7384>06:05
mupPR snapd#7382 closed: osutil: make flock test more robust <Test Robustness> <Created by zyga> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/7382>06:08
zygahey mvo, thank you for merging that06:10
zygamvo: btw, can you look at the corresponding non-test code06:10
mvozyga: good morning! thanks for creating it :)06:10
zygamvo: I was puzzled by how that can ever happen06:10
zygamvo: it looks like a bug in the compiler or something in our understanding06:11
zygamvo: as that function cannot return nil, nil, can it?06:11
zygamborzecki: 1st day of school and temperature drops by 10 degrees06:11
mvozyga: NewFileLock, no, that looks impossible, we are explicitly about the "nil" there.06:11
zygamvo: right? I was worried when I saw that because it feels we are missing something important06:12
mvozyga: yeah, its very confusing06:16
zygaperhaps go gc bug?06:16
mborzeckiarch package updated06:23
mupPR snapd#7385 opened: tests/cross/go-build: use go list rather than shell trickery <Simple 😃> <Created by bboozzoo> <https://github.com/snapcore/snapd/pull/7385>06:25
mborzeckisuper simple PR ^^06:25
mvozyga: I looked at this flock issue again, I think you fixed it. the issue is that "err = lock.TryLock()" may return nil - if there is lock. but then err, Equals, osutil.ErrALreadyLocked will trigger a err->Error I think06:29
zygaoh06:29
zygaactually, yeah06:29
mvozyga: which causes the crash, your code now first assigns err and then checks for non-nil so this error goes away06:29
zygaactually06:29
zygano wait06:29
zygahmm06:29
zygaso are you saying that due to the raceiness06:30
zygathe error can be nil06:30
mvozyga: correct06:30
zygaand then Equals would panic?06:30
mvozyga: yes, I think so, equal will try to make it an error06:30
mvozyga: I have not looked at the details but I think so06:30
zygathat's certainly plausible and more realistic that a gc bug :)06:30
mvozyga: I think "c.Assert(nil, Equals, osutil.Err..") should behave the same06:30
zyganice, you made my mind more at ease06:30
zygaoh, good idea06:31
zygaI'll chcek06:31
mvozyga: yeah, thanks for fixing this one! it is really an interessting one :)06:31
zygaindeed06:31
zygahttps://www.irccloud.com/pastebin/z0RHTYJO/06:31
zygayou are spot on06:31
mvoyay06:31
zygathat's so unexpected btw06:31
mvozyga: agreed06:31
mvozyga: ErrorMatches will DTRT - except it matches instead of equals :/06:32
mborzeckioff to the school with kids, back in ~1.5h06:35
zygamborzecki: good luck :)06:36
zygahey sil2100 :)06:36
mvozyga: oh no, I think this error happens in the "diff" code we added a while ago :( so gopkg.in seems to got broken by this06:37
mvozyga: that bug is on me I think :(06:37
zygaahhh06:38
zygaI recall this06:38
zygawell, one less but two more :D06:38
mvozyga: yeah, there is also the circular bug in github.com/kr/pretty - makes me wonder if we should simply revert that diff code06:38
zygathe diff on error is somewhat useful, I wonder how hard would it be to fix it instead06:40
zygabut also worried if we use old version or if upstream is dead06:40
mvozyga: I fix it, thats trivial06:40
mvozyga: I'm just a bit sad that its "1 added, 2 new bugs introduced"06:41
zygayeah, no disagreement06:41
zyga"what's under this rock over here, let me turn it over"06:41
mvoniemeyer: hey, good morning! if you have some spare cycles, I have a very simple gocheck PR (https://github.com/go-check/check/pull/114) that would be great to get merged. I feel bad because its an issue introduced with a PR that I originally proposed :(06:51
mupPR go-check/check#114: checkers: fix misleading error for c.Check(nil, Equals, "foo") <Created by mvo5> <https://github.com/go-check/check/pull/114>06:51
mvomborzecki: can you please check if github.com/sanity.io/litter is available in fedora as a package? I wonder if we can switch away from kr/pretty as its unmaintained (and there is this cyclic references bug that can cause hangs)07:00
mupPR snapd#7384 closed: HACKING.md: clarify where "make fmt" is needed <Simple 😃> <Created by mvo5> <Merged by zyga> <https://github.com/snapcore/snapd/pull/7384>07:01
=== pstolowski|afk is now known as pstolowski
pstolowskimornings07:02
zygahello pawel07:03
zygapstolowski: feels good to send kids to school again, no? :)07:03
jameshhi zyga07:04
zygahey, good morning07:05
jameshzyga: at GUADEC, there was a request for a snapd feature that might be quite difficult to implement07:06
zygatell us!07:06
jameshzyga: essentially they want to move the org.freedesktop.portal.Flatpak.Spawn portal interface from Flatpak to xdg-desktop-portal, and have it do something sensible for snaps07:07
pstolowskizyga: haha, indeed, i just got back from there07:07
jameshthis is essentially a way for a confined process to spawn a second process with even stricter confinement: https://github.com/flatpak/flatpak/blob/master/data/org.freedesktop.portal.Flatpak.xml07:07
jameshthe idea being to allow applications that confine portions of their code to continue doing so when put in Flatpak/snap confinement (e.g. web browsers)07:09
zygajamesh: hmm07:15
zygawhat is the interface like?07:16
jameshthe XML file I linked to has documentation for the interface07:16
jameshthe main features are (a) pass file descriptors to spawned process, (b) optionally block network or file system access, (c) expose a restricted set of files to the spawned subprocess07:17
zygayeah, reading that now07:18
jameshIt's basically something to replace the fork/unshare/exec code you might find in multi-process apps07:18
zygahmmm07:18
zygasome of the concepts don't map cleanly07:18
zygawhat is a "sandbox" in flatpak term?07:18
zygaas in flag value 407:19
zygaspawn in a sandbox07:19
jameshI need to look that up.07:19
zygais there a demo app for this or a production app that would use it?07:19
jameshI think the big one at the moment is webkit-gtk07:19
zygaI think it's doable but not small or on or our roadmap for this cycle so it's hard for me to say if we can do it07:19
zygajamesh: some things there look vert flatpack specific, like ~/.var/app/$APP_ID/sandbox07:20
zygaI'm sure it's all doable but we'd have to think about how to construct that07:21
zygajamesh: that dbus api is for the user session?07:21
jameshzyga: right.  I think the idea is to get something that could provide equivalent functionality07:21
zygajamesh: so you spawn it as yourself essentially, right?07:21
jameshthe xdg-desktop-portal version wouldn't necessarily be identical07:21
zygaI see07:21
jameshyes.  This is a user session API, same as the other portal services07:21
zygawell, I'm open to this for sure07:21
zygait would be nice to explore this if we have agreement / time to do it07:22
jameshzyga: so I think "fully sandboxed" means only access to the runtime, app data and files specifically exposed in ~/.var/app/$APP_ID/sandbox07:27
jameshso snap-wise, that would be no home interface, and only access to a small subset of ~/snap/$snap_name07:28
zygaalmost like "all interfaces disconnected"07:28
jameshpossibly, yeah.07:29
jameshzyga: If we could get this all working and it was adopted by upstreams, it would probably remove the need for the allow-sandbox flag on our browser-support interface07:31
zygajamesh: indeed, that's pretty interesting as an evolution of the concept "we package stuff as-is" to "we provide a new layer to apps"07:32
jameshzyga: in the current release of GNOME, the file manager makes use of bubblewrap to confine thumbnailer subprocesses.  So a big part of this is to allow this model to continue in the new world07:35
jamesh(since you can't run bubblewrap in Flatpak's bubblewrap based sandbox either)07:35
zygamborzecki: hey07:59
zygamborzecki: I updated https://github.com/snapcore/snapd/pull/7218/files07:59
zygait's just a new spread test07:59
mupPR #7218: tests: measure behavior of the device cgroup <Created by zyga> <https://github.com/snapcore/snapd/pull/7218>07:59
zygacould you please have a look, make sure to read both commit messages07:59
niemeyermvo: Thanks, will have a look08:01
mvoniemeyer: should be super trivial, let me know if I can help in any way08:01
niemeyermvo: It's in, thanks again!08:05
mvoniemeyer: \o/08:05
mupBug #1842282 opened: can't add channel information as install downloaded snap <Snappy:New> <https://launchpad.net/bugs/1842282>08:19
mborzeckire08:32
mborzeckimvo: there's apackage of github.com/sanity.io/liter in fedora, it's version 1.1.0 if that makes any difference08:35
mvomborzecki: thank you08:36
mborzeckimvo: hmm https://github.com/sanity.io/litter is a 404 for me?08:37
mvomborzecki: https://github.com/sanity-io/litter08:38
mborzeckiduh08:41
mborzeckiok, works for me :P08:41
mborzeckimvo: do you remember that other lib? https://github.com/davecgh/go-spew08:42
mborzeckimvo: looks like litter is packaged for debian too, so we can switch to either one08:43
mvomborzecki: spew is available for centos/fedora too? cool08:54
mborzeckimvo: for centos/amzn we use a bundled pacakge08:55
mborzeckis/use/build/08:55
niemeyermvo: I have an on going diff sitting on my disk for a while around that area of go-check, btw..08:57
niemeyermvo: It improves a bit the way the diff is displayed in some cases08:58
niemeyermvo: But I've hit an issue with kr's diff lib.. it broke down in some nested data08:58
mvoniemeyer: yes, we have a fix for this in kr/pretty08:59
niemeyermvo: Oh?08:59
mvoniemeyer: it breaks on cyclic data08:59
niemeyermvo: Was that submitted upstream?08:59
mvoniemeyer: https://github.com/kr/pretty/pull/5808:59
mupPR kr/pretty#58: Fix infinite recursion when diffing structs with cycles <Created by stolowski> <https://github.com/kr/pretty/pull/58>08:59
mvoniemeyer: also https://github.com/kr/pretty/pull/44 (which looks similar)09:00
mupPR kr/pretty#44: Detect cyclic references in Fdiff() <Created by mbergin> <https://github.com/kr/pretty/pull/44>09:00
niemeyerOh, nice09:00
mvoniemeyer: I can't reach him though :/ maybe he replies to twitter pings :)09:00
mvothis is open for some time09:00
niemeyerI can understand him :)09:02
niemeyerWe should just fork temporarily while this is sorted09:02
mvoniemeyer: works for me09:04
geodb27People : hi ! I run a lxd cluster on three virtual machines under ubuntu-18.04 lts. As you might know, lxd is shipped via snap. There seem to be a problem with the way updates are run. Indeed, the three machines are all the same considering installed os version and hardware. They, of course, have all their time maintained via ntp. Error occur when all three decide that it is time to update lxd : since the processes are ran at the same time, this09:32
geodb27results in a crash of the overall cluster and require intervention to have all three systems in a production state. Question is : how does snap decide it is time to update what is installed ? If it is done internally, wouldn't it be fine to add some "salt" to the decided time so that everything does not start at the same time everywhere ?09:32
Chipacageodb27: updates shouldn't run at the same time, as there is a random element to the time09:39
Chipacageodb27: additionally, you can schedule when updates happen, so if you have a requirement for them not to happen simultaneously that is something you can configure09:40
Chipacageodb27: if you have debug logs on snapd will log when it will update next, but debug logs are very chatty so most people don't09:41
Chipacageodb27: 'snap refresh --time' will print when the next refresh will happen (mostly)09:41
Chipacageodb27: 'mostly' because right after snapd starts, and until the first time it checks, the next refresh time isn't set09:42
geodb27Thanks for you answer Chipaca. I'll check how it is done on the different machines.09:42
Chipacageodb27: as to how to set the refresh timer, https://snapcraft.io/docs/keeping-snaps-up-to-date09:42
geodb27Well, the problem seems somewhere else. I'll have to wait for the next lxd's snap to check what goes wrong.09:44
* zyga finishes calls and jumps into the fray :)09:44
geodb27What is sure is that a lxd cluster is in an "undefined" state after a snap update while a single one runs fine.09:45
Chipacageodb27: i'm not sure what that means :-| maybe stgraber can shed some light?09:47
ppd1990zyga: Thanks for reviewing #7366 - I've found a (I believe) satisfactory solution to only exposing appropriate gpg-agent functionality. I'd be quite glad if you could give it another look in the near future09:47
mupPR #7366: interfaces/gpg-keys: Allow access to gpg-agent and creation of lockfiles <Created by ppd1990> <https://github.com/snapcore/snapd/pull/7366>09:47
zygappd1990: sure, thank you for iterating09:48
zygaI'll look now :)09:48
zygappd1990: you mean the S.gpg-agent.extra socket?09:49
ppd1990zyga: Right09:49
zygappd1990: that sounds very much better, I will defer the final review to jdstrand but I think that's no longer -0.5 on my end09:49
zygappd1990: please update the PR with that09:49
zygamake sure to update the summary of the interface as well, it's just text but it matters for review clarity09:50
geodb27Indeed Chipaca. I'll look forward to fill in an issue on https://discuss.linuxcontainers.org/ when I face the same problem. Thanks for your kind answers anyway :-)09:50
ppd1990zyga: Will do. Any opinion on it being necessary to "bend" the GPG binary in the snap to this socket? Is is somehow possible to "layout" this socket into the snap namespace instead of S.gpg-agent?09:50
zygappd1990: not yet, not for anything in /shome09:51
zyga(I meant /home/)09:51
zygappd1990: I think if there's a workable way to point gpg there that's enough09:51
ppd1990zyga: Fair enough. If it works, it works :) Shall we update the interface description to include "signing and encrypting"?09:53
zygamhm09:53
zygaplas09:53
zyga*please09:53
zygagosh, I cannot type today09:53
mupPR snapd#7386 opened: many: refactor boot/boottest and move to bootloader/mockbootloader <Created by chipaca> <https://github.com/snapcore/snapd/pull/7386>09:53
* Chipaca gives zyga a keyboard that does auto-correct on the fly09:54
zygaChipaca: thakns ;)09:54
zyga(that was deliberate)09:55
* Chipaca pushes an update to the auto-correct snap to mess with zyga09:55
zygamborzecki: https://github.com/snapcore/snapd/pull/7218 should now pass09:56
mupPR #7218: tests: measure behavior of the device cgroup <Created by zyga> <https://github.com/snapcore/snapd/pull/7218>09:56
zygaChipaca: brexit news is surprising09:57
zygaChipaca: at this rate I would not be surprised in anything09:57
Chipacazyga: which part of it?09:57
zygaChipaca: the whole suspension of parliament09:58
Chipacazyga: and the "if you vote this way you'll be fired"?09:58
Chipacatyranny is fun09:58
zygagame of thrones, except some people are living in it and are on the frontline09:59
Chipaca"this was not meant as a tutorial!?!"10:00
mborzeckizyga: about https://github.com/snapcore/snapd/pull/7385#discussion_r319827158 i did the change and it looks a bit awkward, since it's a single go build -o /dev/null for all 5 binaries (in theory all binaries are written to /dev/null)10:04
mupPR #7385: tests/cross/go-build: use go list rather than shell trickery <Simple 😃> <Created by bboozzoo> <https://github.com/snapcore/snapd/pull/7385>10:05
zygaaw, I see10:05
zygaI forgot the binary aspect of it10:05
zyganormally I was just "go building" everything10:05
zygabut I didn't mind the binaries10:05
zygaso what is this doing? testing that we can build?10:06
mborzeckifwiw i think go build should erorr out there10:06
mborzeckizyga: yes, it's cross compiling those binaries10:06
zygayeah, +110:07
mborzeckizyga: can you leave a +1 in the PR? it's green so we'll land it ;P10:07
zygasure, done!10:08
mborzeckithanks!10:08
mupPR snapd#7385 closed: tests/cross/go-build: use go list rather than shell trickery <Simple 😃> <Created by bboozzoo> <Merged by bboozzoo> <https://github.com/snapcore/snapd/pull/7385>10:08
pedronisChipaca: I commented on #7386, we don't have any mock* package atm10:23
mupPR #7386: many: refactor boot/boottest and move to bootloader/mockbootloader <Created by chipaca> <https://github.com/snapcore/snapd/pull/7386>10:23
Chipacafair10:23
* Chipaca adds more mock packages to fix that issue10:23
pedronisChipaca: silly you :)10:23
Chipaca:-)10:24
mborzeckizyga: updated #730210:25
mupPR #7302: cmd/snap-confine: add support for parallel instances of classic snaps <â›” Blocked> <Created by bboozzoo> <https://github.com/snapcore/snapd/pull/7302>10:25
zygamborzecki: thanks, I'll look shortly10:37
zygamborzecki: 19.04 ha some more cgroup wonkiness10:37
zygamy test is failing there, I think you were right, the /proc/PID/cgroup format changerd10:37
zyga*changed10:37
zygaI'll finish and check that out soon10:37
pedronisChipaca: +1, with comments on something related but prexisting11:08
mupPR snapd#7387 opened: packaging/fedora, tests/lib/prepare-restore: helper tool for packing sources for RPM <Simple 😃> <Created by bboozzoo> <https://github.com/snapcore/snapd/pull/7387>11:23
mborzeckizyga: support script for packit ^^11:24
zygalooking11:25
zygahttps://github.com/snapcore/snapd/pull/7387#pullrequestreview-28254387511:29
mupPR #7387: packaging/fedora, tests/lib/prepare-restore: helper tool for packing sources for RPM <Simple 😃> <Created by bboozzoo> <https://github.com/snapcore/snapd/pull/7387>11:29
* zyga goes for a walk with the dog11:32
zygamborzecki: I'll review mount ns for classic snaps PR when I'm back11:33
ppd1990zyga: I updated #7366. Thanks again for the guidance11:48
mupPR #7366: interfaces/gpg-keys: Allow access to gpg-agent and creation of lockfiles <Created by ppd1990> <https://github.com/snapcore/snapd/pull/7366>11:48
=== ricab is now known as ricab|lunch
Chipacapedronis: thanks! I'll fix those in a followup12:25
mupPR snapd#7386 closed: many: refactor boot/boottest and move to bootloader/bootloadertest <Created by chipaca> <Merged by chipaca> <https://github.com/snapcore/snapd/pull/7386>12:26
cachiozyga, did you see this one? https://paste.ubuntu.com/p/MngRDC5nQm/12:27
zygare13:00
zygacachio: what about it?13:00
Chipacamvo: needing to re-login to chrome, i'm omw13:01
zyga2fa13:03
mupPR snapd#7388 opened: boot, bootloader, o/snapstate: boot env manip goes in bootloader <Created by chipaca> <https://github.com/snapcore/snapd/pull/7388>13:34
Chipacapedronis, zyga, ^ includes (as separate commits) the cleanups you'd requested from previous PRs13:36
pedronisChipaca: we need to talk13:38
Chipacapedronis: ok13:38
=== ricab|lunch is now known as ricab
cmatsuokamvo: about the world clocks, you'll also need an extension called "panel world clock (lite)"13:48
mupPR snapd#7388 closed: boot, bootloader, o/snapstate: boot env manip goes in bootloader <Created by chipaca> <Closed by chipaca> <https://github.com/snapcore/snapd/pull/7388>13:49
cachiojamesh, hey13:50
cachiojacekn, https://github.com/snapcore/snapd/pull/7361#issuecomment-52633024913:51
mupPR #7361: tests: enabling ubuntu 19.10-64 on spread.yaml <Created by sergiocazzolato> <https://github.com/snapcore/snapd/pull/7361>13:51
mvocmatsuoka: ta13:51
cachiojamesh, https://github.com/snapcore/snapd/pull/7361#issuecomment-52633024913:51
cachiojamesh, any idea about this problem on eoan?13:51
mupPR snapd#7389 opened: cmd/libsnap: make feature flag enum 1<<N style <Simple 😃> <Created by zyga> <https://github.com/snapcore/snapd/pull/7389>13:55
Chipacapedronis: do we have a convetion for constants vs variables? (i think no, but thought to check)14:04
Chipacapedronis: nm14:05
pedronisChipaca: in which sense?14:08
Chipacapedronis: there was a constant defined for "snap_mode", and I wondered if we wanted it to be obvious it was a constant in usage14:09
Chipacapedronis: but then i realised it was not actually used anywhere14:09
pedronisChipaca: go doesn't have special naming convention for constants afaik14:10
Chipacapedronis: so the problem disappeared with a nice round "pop!"14:10
Chipacapedronis: :)14:10
mupPR snapd#7390 opened: tests: unit test for a refresh failing on configure hook <Created by stolowski> <https://github.com/snapcore/snapd/pull/7390>14:13
mupPR snapcraft#2696 opened: shell_utils: Add SNAPCRAFT_DEBUG_SCRIPTS env variable <Created by mkg20001> <https://github.com/snapcore/snapcraft/pull/2696>14:22
mupPR snapd#7391 opened: boot, bootloader, o/devicestate: boot env manip goes in boot <Created by chipaca> <https://github.com/snapcore/snapd/pull/7391>14:40
Chipacapedronis: ^^^14:40
cachiomvo, hey, this is the error on pi2 https://paste.ubuntu.com/p/zzQ8Q73SY6/14:49
cachiowhen we try to create a user14:50
Chipacacachio_: that error looks like /var/lib/extrausers isn't writable15:00
mupPR snapd#7389 closed: cmd/libsnap: make feature flag enum 1<<N style <Simple 😃> <Created by zyga> <Merged by zyga> <https://github.com/snapcore/snapd/pull/7389>15:02
mvocachio_: what Chipaca said, can you ssh into this machine and touc a file in /var/lib/extrausers ? maybe something "funny" is going on with the writable magic15:05
mvoChipaca: so I keep poking at ondras LK pr - I played with your idea to split the types and have a "lk" and "lkPrepareImage" and that makes the code easier but it feels a bit strange. I was wondering if we should have a "func PrepareImage(gadgetDir)"  on the bootloader interface (and kill ConfigFile there which does not make sense in a world of partitions). wdyt?15:08
Chipacamvo: would the PrepareImage(gadgetDir) on bootloader avoid all the ifs?15:09
mvoChipaca: I am exploring this, the way image.go works probably also needs tweaking15:10
mvoChipaca: anyway, if its not something you looked at (yet) I keep poking, was just wondering if you had thoughts :)15:10
zygaChipaca: https://github.com/snapcore/snapd/pull/7320 needs some attention15:11
mupPR #7320: snap/pack, cmd_pack: 'snap pack --check-skeleton' checks interfaces <Created by chipaca> <https://github.com/snapcore/snapd/pull/7320>15:11
Chipacamvo: if it avoids the ifs i'm fine with it :-) i'd check with pedronis wrt core20 but i think bootloader will be growing something similar anyway? not sure15:11
Chipacazyga: ack15:11
mvoChipaca: it seems conceptually clean so I think its worth exploring, I look at the image bits now and then I will chat with pedronis if this makes sense15:12
Chipacamvo: if not, if the bootloader really needs different behaviour depending on whether it's in prepare or regular mode, then it's fine for it to be two separate things. Alternatively it might just be parametrised if the ifs are just to determine a string15:13
Chipacaor, you know, subclassed if it's somewhere in the middle :-)15:13
zygaand so it rains15:14
zygawelcome to september kids15:14
mvoChipaca: yeah, I have sometihng without ifs now but I'm still not happy, it feels conceptually not great15:14
zygamvo: 7286 is close but I left a comment there15:14
pedronismvo: what does PrepareImage do?15:14
mvoChipaca: https://github.com/snapcore/snapd/compare/master...mvo5:lk-2?expand=1 fwiw - based on the earlier ideas15:14
zygacachio: can you look at 7218 again please15:15
cachiosure15:15
mvopedronis: it would do the job of the current InstallBootConfig and setting the boot vars. its mostly there because with LK runtime and image-building time is conceptually different. the image-build needs to write to a file and the runtime to a partition. so I was thinking it would be nice to have a clear interface for this15:15
zygacachio: https://github.com/snapcore/snapd/pull/7361 seems to be more complex, do you think we can close it and open dedicated PRs for address book interface and test issue, go fmt test issue and then the remaining 19.10 mechanics15:16
mupPR #7361: tests: enabling ubuntu 19.10-64 on spread.yaml <Created by sergiocazzolato> <https://github.com/snapcore/snapd/pull/7361>15:16
zygacachio: especially since the interface test may take more iteration15:17
pedronismvo: ok, it will need some mediation for Core 20 though, because is not all a booloader problem15:17
mvopedronis: yeah, let me experiment a little bit and then I can write something up. I don't want to waste your time with something that may not be great in the end15:18
mvo(s/great/helpful/)15:18
cachiozyga, ok, what about moving 19.10 to manual15:18
zygacachio: that's okay too, if that helps you out15:19
pedronismvo: I am also touching all that code,15:19
zygacachio: or remove the tests from 19.1015:19
cachiothen we have the system in the spread yaml nad aI can create both changes15:19
pedroniswell touching soon15:19
zygacachio: anything that is focused on one task and can land fast is good in my book15:19
cachiook, in that case I'll remove those failing tests from 19.1015:19
cachioso we can go forward15:20
cachiozyga, thanks15:20
zygathat sounds good, thank you15:20
pedronismvo: my worry is that not all the bootvars will be a task of the bootloader anymore15:23
pedronisso we cannot move the task completely there15:23
pedronismvo: so the right interface in image is probably something like boot.PrepareImage() but exactly what it needs to take is not super clear atm15:25
pedronisof course internally it would call bootloader bits as needed15:25
mvopedronis: right, I can add it to boot.PrepareImage, we probably still need something on the bootloader interface to setup a subset of the bootvars15:26
Chipacapedronis: what's your opinon on using a separate bootloader instead?15:26
pedronis?15:27
Chipacaah, missing context15:27
Chipacapedronis: <mvo> Chipaca: so I keep poking at ondras LK pr - I played with your idea to split the types and have a "lk" and "lkPrepareImage" and that makes the code easier but it feels a bit strange. I was wondering if we should have a "func PrepareImage(gadgetDir)"  on the bootloader interface (and kill ConfigFile there which does not make sense in a world of partitions). wdyt?15:27
pedronishave  bootloader that we use only in prepare-image ?15:27
pedronisdoesnt' sound a great idea to me15:28
Chipacayeah as mvo says it feels weird :-)15:28
mvoit makes the code more organized though but still feels weird15:28
Chipacapedronis: it started because currently almost everything in lk is "if inPrepareImage { one thing } else { some other thing }"15:28
pedroniswell15:29
pedronisI think that sounds more like15:29
pedronisthere should be an optional interface15:29
pedronisand boot.PrepareImage knows about it15:29
pedronisand then the ifs prepare-image bit go under that15:29
pedronisinterface15:29
mvopedronis: interessting, let me ponder about this a bit15:30
pedronisif I understand for most booloaders runtime interface works for prepare-image15:30
pedronisthis is not the case15:30
pedronisfor lk15:31
mvopedronis: correct15:31
* cachio lunch15:31
pedronisso have a couple short cut methods under some PrepareImageInstaller interface15:31
pedronisor something15:31
pedronisboot.PrepareImage default code would use the runtime methods15:32
pedronisbut if it detects that interface15:32
pedronisit will use the shortcuts/methods there15:32
mvopedronis: sounds good, I will work on this15:32
pedronismvo: done this way, with boot has a hub is anyway a good step for Core 20 too15:34
pedronismvo: it might be good to propse the image boot refactoring separately though15:34
pedronisif you find it works15:34
mvopedronis: cool, I explore and then will push something15:34
pstolowskiChipaca: was https://bugs.launchpad.net/snapd/+bug/1823680 fixed?16:06
mupBug #1823680: snap okay error unhelpful <snapd:New for chipaca> <https://launchpad.net/bugs/1823680>16:07
zygapstolowski, cachio: I made some improvements to retry command, should I push it to 7256 or open a new PR and let 7256 focus on application of that command to the two tests?16:29
zygaI was about to push but based on pawel's comment I'm inclined to open a new PR instead16:29
cachiozyga, is it ok for me if you want to push over the same PR16:29
mupPR snapd#7379 closed: tests: add version-tool for comparing versions <Created by zyga> <Merged by zyga> <https://github.com/snapcore/snapd/pull/7379>16:30
zygacachio: I'll open a new PR then,16:31
zygacachio: could you look at 737016:32
zygacachio: the prerequisite has just landed and I think this is good to go16:32
zygait will fix one random failure on master16:32
pstolowskizyga: i'm ok with same PR but i'd keep that particular test intact, per my comment16:33
zygapstolowski: I think it's cleaner, the original PR focused on changing the test16:33
pstolowskiok16:35
mupPR snapd#7392 opened: tests: rewrite "retry" command as retry-tool <Test Robustness> <Created by zyga> <https://github.com/snapcore/snapd/pull/7392>16:35
zygacachio, pstolowski: https://github.com/snapcore/snapd/pull/7256#issuecomment-52720099016:35
cachiozyga, sure16:35
mupPR #7256: tests: adding retry command and use it to delete $XDG directory <Simple 😃> <Created by sergiocazzolato> <https://github.com/snapcore/snapd/pull/7256>16:36
zygacachio: I already found some use for the retry-tool!16:38
zygait's really nice, it can be used for very powerful one liners16:38
zygacheck this out:16:40
zygacachio: retry-tool in action https://www.irccloud.com/pastebin/LXXgoT84/16:40
pstolowskinice!16:40
pstolowskii was always annoyned by writing these retry loop16:40
pstolowski*loops16:40
zygayeah16:40
zygalet's review it :)16:40
cachiozyga, nice16:42
cachioretry tools are always usefull testing :)16:43
pstolowskii'll take a look tomorrow morning16:43
pstolowskity16:43
=== pstolowski is now known as pstolowski|afk
zygathanks pawel!16:45
zygaok, wrapping up one PR and calling it a day16:47
mupPR snapd#7370 closed: tests: fix ephemeral mount table in left over by prepare <Test Robustness> <Created by zyga> <Merged by sergiocazzolato> <https://github.com/snapcore/snapd/pull/7370>17:17
zygathank you cachio!17:21
cachiozyga, yaw17:21
cachiozyga, is #7361 ok for merge now?17:58
mupPR #7361: tests: enabling ubuntu 19.10-64 on spread.yaml <Created by sergiocazzolato> <https://github.com/snapcore/snapd/pull/7361>17:58
Chipacapstolowski|afk: $  snap okay18:26
Chipacaerror: you must have looked at the warnings before acknowledging them. Try 'snap warnings'.18:26
Chipacapstolowski|afk: as per #6919 referenced in the bug18:26
mupPR #6919: cmd/okay: Remove err message when warning file not exist <Created by ardaguclu> <Merged by chipaca> <https://github.com/snapcore/snapd/pull/6919>18:26
Chipacapstolowski|afk: and then I realised what you were asking me to do was to update the bug's status :-D done18:27
Chipacapost-run brain is not best brain18:27
Chipacadespite it thinking it is18:27
mupPR snapd#7192 closed: tests: initial change to retry on external files download <â›” Blocked> <Created by sergiocazzolato> <Closed by sergiocazzolato> <https://github.com/snapcore/snapd/pull/7192>18:48
mupPR snapd#7361 closed: tests: enabling ubuntu 19.10-64 on spread.yaml <Created by sergiocazzolato> <Merged by sergiocazzolato> <https://github.com/snapcore/snapd/pull/7361>20:44
mupPR snapd#7391 closed: boot, bootloader, o/devicestate: boot env manip goes in boot <Created by chipaca> <Merged by chipaca> <https://github.com/snapcore/snapd/pull/7391>21:43

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