/srv/irclogs.ubuntu.com/2018/10/11/#snappy.txt

sergiusenskyrofa: you have on failing unit00:13
mborzeckimorning05:08
zygaGood morning everyone:-)06:22
mvohey zyga06:22
mborzeckizyga: mvo: hey06:24
mvogood morning mborzecki06:26
zygakyrofa: looking06:30
zygakyrofa: at least on am64 116 is setgroups, perhaps that is a local config issue; nothing changed on Debian AFAIK06:32
* zyga resumes documenting snap-confine 06:32
mborzeckiwow, that debian 9 thing when snapd socket is restarted is annoying06:54
mborzeckibasically reproduces every time in 5948, but stops when i push the commit with extra debug information06:55
mvomborzecki: gar, anyoing indeed07:03
=== pstolowski|afk is now known as pstolowski
pstolowskimornings07:05
zygahey pawel, mvo07:05
mupPR snapd#5960 opened: snap, wrappers: support restart-delay, generate RestartSec=<value> in service units <Created by bboozzoo> <https://github.com/snapcore/snapd/pull/5960>07:05
mborzeckishould be a simple one ^^07:06
mupPR snapd#5894 closed: many: enable AppArmor on Arch <Created by bboozzoo> <Merged by bboozzoo> <https://github.com/snapcore/snapd/pull/5894>07:07
mborzeckimvo: do you plan to merge master to 2.36 branch or should I prepare a backport of 5894?07:08
mvomborzecki: I plan to merge master once more07:09
mvomborzecki: I need to check the status of the tagged PRs07:09
mborzeckimvo: i tagged 5960, hope you don't mind07:10
mvomborzecki: I don't - and if I do I just ignore it ;)07:10
zygadot-tobias: hello, I replied on the thread about the issue you found07:20
dot-tobiashi zyga! Yes I saw that, was just about to reply that I found the issue. It actually was the install hook, will post details in the thread as soon as I cleaned up my snapcraft.yaml 😊 Thank you very much again!07:21
zygawoot, that's great!07:21
zygamvo: can we enable layouts wit the 2.36?07:21
zygaI think they are really ready now07:21
dot-tobiaszyga: (and sorry for suspecting snapcraft to be the culprit instead of my own incompetence šŸ˜„ )07:22
zygadefinitely not more buggy than other features :)07:22
zygadot-tobias: I'm happy you are using snaps and was interested enough to try out new features07:22
mvozyga: this one PR of yours needs a second review, right? then yes it can go in07:26
zygaI can change the approach any way deemed necessary07:26
mvozyga: *nod*07:29
mvozyga: I personally would just remove the experimental.layouts entirely not support defaults07:29
zygasure, shall I just do that?07:30
mvozyga: but I understand there is a possible use-case07:30
zygabut really it's the first thing that goes out of experimental stage07:30
mvozyga: I don't feel super strong about it but I think it would make it much quicker to review :)07:30
zygaso I wanted to be more conservative07:30
mvozyga: good point07:30
zygawe don't really have a well defined process yet07:30
mvozyga: maybe gustavo has a stronger opinion07:30
mvozyga: yeah, thats a good point07:30
mvoniemeyer: layout is the first experimental feature that goes out of experimental. the question came up how we do this: a) switch the default of experimental.layouts to "true" (so that users can still disable it) or b) just remove the option entirely because we now consider it "ready" (cc zyga). what is your opinion on this?07:36
zygamvo: (with apologies) https://twitter.com/lolamby/status/104994998540670566607:38
mvozyga: I don't get it?07:39
zygado you recall how I always type apt-get out of a habit and you always correct me with just "apt"?07:39
mvozyga: yeah, but I don't get why the twitter picture has the simley on apt-get and the disgusted face on apt07:39
zygado you know this meme?07:40
mvozyga: I mean, are there really people who dislike the progress bar?07:40
mvozyga: I don't, sorry07:40
zygawell, apparently, it's not my tweet :)07:40
mvozyga: maybe thats the problem :)07:40
mvozyga: I guess there is someone on the internet for everything07:40
mvozyga: I just have to ask :)07:42
Chipacamorning peeps07:45
pedronisChipaca: hi07:45
pedronismborzecki: hi, I added a couple of small comments to the asserts PR07:45
pedronismborzecki: btw did you see my comment over one of your old PRs about going over "for snapName ..." cases, most of them should be isntanceName I think07:46
mborzeckipedronis: `for snapName ..` in the general codebase?07:47
pedronismborzecki: yes, there not that many07:47
Chipacamvo: do you remember, in snap pack, why we do all the exclusion work instead of asking mksquashfs to do it?07:48
mborzeckipedronis: i don't recall it, but agree it makes sense to revisit the code places that do that07:48
pedronismborzecki: otherwise I would not suggest it, but they are also confusing atm07:48
pedronismborzecki: I count about 20 of them, vs ~900 general uses of snapName07:51
pedronissome of which are correct and some are not, but don't think we would to fix those in one go07:52
pedronissome will be taken care by looking at the for cases07:52
pedroniss/we would/we want/07:52
mvoChipaca: I think by mistake, if mksquashfs can do it so should we08:00
mvoChipaca: we should also think about using fakeroot in snap pack08:00
Chipacamvo: it's can do exclusion by globs and regexpses08:00
mvoChipaca: or at least warn/error if we are not08:00
Chipacamvo: you don't need fakeroot unless you're packing os or core, right?08:00
mvoChipaca: cool, that sounds like a nice simplification08:01
Chipacamvo: but we do needd -all-root for apps08:01
Chipacai'm working on exactly that :)08:01
mvoChipaca: the review tools will complain if you `snap pack` and the uid inside the squash is != 008:01
Chipacabah08:01
mvoChipaca: aha, right08:01
mvoChipaca: yeah -all-root08:01
Chipacai worked on a bunch of stuff snapcraft needs / could use from snap pack08:01
mvoChipaca: except for os of course08:01
mvoChipaca: nice!08:01
mvoChipaca: \o/08:01
Chipacathat was last night08:01
Chipacatoday i'm picking it apart into branches and adding tests for people to read :)08:02
mvogood stuff08:02
Chipacathe using mksquashfs's exclusion bits is for later08:02
Chipacamvo: first up is using different flags depending on type, and using it from core if available08:02
niemeyermvo: Having the option to disable it sounds very interesting for us to be able to debug potential issues we observe after the feature goes live08:03
mborzeckiChipaca: if you're stil up for reviews today, can you take a look at https://github.com/snapcore/snapd/pull/5960 ?08:03
mupPR #5960: snap, wrappers: support restart-delay, generate RestartSec=<value> in service units <Created by bboozzoo> <https://github.com/snapcore/snapd/pull/5960>08:03
Chipacamborzecki: nice08:03
mborzeckipeople came in asking, i couldn't refuse :)08:03
mvoniemeyer: ok, that is how zyga implemented it currently (kept the option but switch the default). so that sounds great08:04
niemeyermvo: And in either case, it would be polite to not error harshly if someone is trying to enable the feature that used to be experimental in the past release.. a grace period would be nice, so switching the default solves that as well08:04
* mvo nods08:04
Chipacamvo: niemeyer: panic("No more experiment for you!")08:05
chestyI created a simple snap with the x2goclient package that's in ubuntu 16.04, when I install and run it I have no fonts. here's the snapcraft.xml https://pastebin.com/xJSKq1J2 any ideas? this is my first snap, so it's likely to be a simple mistake08:05
niemeyerChipaca: I'm sure people would appreciate that ;)08:06
popeychesty: you don't have enough plugs. You probably want to at least add 'desktop' and 'desktop-legacy'08:06
Chipacaniemeyer: ikr08:06
popeychesty: https://forum.snapcraft.io/t/desktop-app-support-qt/683308:06
chestypopey, cheers, rebuilding now08:08
mborzeckion master, tests running on amazon-linux-2 are hitting 'No space left on device'08:09
zygaBrb08:09
zygare08:13
pedronisChipaca: thx for the review08:14
zygamvo, niemeyer: great, I'm happy I wrote it that way then :)08:14
zygathe weather is very much not like autumn but the pressure feels low, I feel far to sleepy today08:15
mupPR snapd#5956 closed: image: fetch device store assertion if available <Created by pedronis> <Merged by pedronis> <https://github.com/snapcore/snapd/pull/5956>08:18
sil2100mvo: hey! I just quickly set up a github branch for the core deb subiquity package: https://github.com/CanonicalLtd/subiquity/tree/core/bionic08:21
pedronismvo: I should make a backport for #5956 now, right?08:21
mupPR #5956: image: fetch device store assertion if available <Created by pedronis> <Merged by pedronis> <https://github.com/snapcore/snapd/pull/5956>08:21
sil2100mvo: so in case you have any fixes you'd like to submit to the core-used bionic package, submit a PR there08:21
sil2100I guess this will make things easier to coordinate08:21
mvopedronis: no need for a backport for 595608:23
mvopedronis: I will merge master08:23
mvosil2100: ok, cool, I have a look08:24
pedronismvo: ah, ok08:24
pedronisI thought you did that already08:24
pedronisanyway, thanks :)08:24
chestypopey, that fixed the font issue, thanks. I think I now need the home plug as it won't save the ssh server fingerprint, and then it should be rough enough is good enough. cheers.08:25
popeythe home interface won't allow access to ~/.ssh, if that's what you're after08:26
popeychesty: maybe you can set an environment: HOME: $SNAP_USER_DATA, to force x2go to store stuff in the snaps home directory08:26
chestyOK. will try that. thanks08:27
chestyI haven't got it to work yet, x2goclient pops up a box saying the server is unknown, do you trust the host, clicking OK closes the box and it reopens with the same question. i can see the home dir is set to ~/snap/x2goclient/x1 I think x2go has it's own dir for ssh host keys...hmmm, I don't know how to debug it, strace doesn't seem to work09:02
mupPR snapcraft#2334 closed: schema: enfore string for versions <Created by sergiusens> <Merged by sergiusens> <https://github.com/snapcore/snapcraft/pull/2334>09:03
mvopstolowski: I am looking at a issue that was reported by the cloud team, when adding lxd as a snap boottime decreased and while looking at it it seems like a good chunk of the time is spend on connecting (see https://bugs.launchpad.net/cloud-images/+bug/1796137/comments/28) - iirc we had some pending work to run apparmor_parser less often - do you know more about where we stand here ? (cc zyga)09:14
mupBug #1796137: huge and slow image 20181002 due to seeded lxd snap <cloud-images:Confirmed> <lxd (Ubuntu):New> <https://launchpad.net/bugs/1796137>09:14
mvo(cc zyga)09:14
zygamvo: I know - there are two aspects of that09:14
zygaone is done, I think it needs a review (I will check in a sec) but it is only polishing the existing state, not changing it significantly09:15
zygathis involves just calling apparmor parser once for many profiles09:15
zygait offers modest improvements09:15
zygathe big win comes from something we need to design first,09:15
zygawhen you connect many interfaces to a snap, you will have a lot of intermediate state09:15
zygathat state may or may not be observed by hooks that get invoked09:16
zygaif the state is not observed by any hooks we probably don't need it09:16
zygawe could cut the number of invocations to apparmor parser significantly, from O(N) to O(1), if we do this optimisation09:16
zygait would involve making a connection and marking interface security as dirty or in need of triggering (dpkg style)09:17
zygaand then performing those triggers09:17
zygathe trick is making this while preserving semantics and correctness09:17
zygaall in face of undo and what not09:17
zygathat is not done or even drafted09:17
zygawe just understand and recognise the problem09:17
mvozyga: ok09:17
mvozyga: that does not sound like a low hanging fruit at all09:17
zygano, it's not09:18
mvozyga: the cloud team would like to see improvements before cosmic :/09:18
zygafeels like a cycle of rework09:18
zygathat's unlikely to happen09:18
zygaI think it would be easier without any hooks but given that we inject hook tasks and just do nothing in them if there is no hook to run makes optimisation much more challenging09:18
zygawe could brainstorm this after user mounts09:19
zygain about a week and a half from now09:19
zyga(promise!)09:19
pstolowskimvo: i haven't looked at this. as zyga says not trivial. perhaps one relatively "quick win" (but probably not significant) would be to avoid scheduling interface hooks that don't exist (which is usually the case)09:20
om26erIs there a snap out there to enable printer sharing on UbuntuCore ?09:20
mvopstolowski: that sounds good and easy and would avoid some cluttering in the output09:21
zygapstolowski: I agree, if we could pull that off we would have an open slate to perhaps optimise the special case of no hooks at all09:21
pstolowskii think currently we mark all hooks optional, schedule the tasks only to realize hook script is not there and nothing happens09:21
zygaand then solve the more general case of some hooks09:21
zygawith no hooks at all we could add a trigger cycle just after the autoconnect cycle09:21
zygaand keep regular connect / disconnect as-is09:22
zygaalso reducing complexity09:22
pstolowskimvo: i can look at avoiding running non-existing hooks09:22
mvopstolowski: thanks that would be great I think09:25
mvopstolowski: once you have something, please add the PR into the bug so that the progress/work is visible to them09:25
mborzeckipedronis: 5948 should be good now, now if only that spread job would pass09:27
mvosil2100: I filed #1797342 with the console-conf issue09:29
mupBug #1797342: console-conf crashes on UC18 on arm64 (dragonboard and pi3 in 64bit mode) <subiquity:New> <https://launchpad.net/bugs/1797342>09:29
pedronismborzecki: ack09:29
mupPR snapd#5961 opened: snap/pack, snap/squashfs: use type to determine mksquashfs args <Created by chipaca> <https://github.com/snapcore/snapd/pull/5961>09:30
Chipacasergiusens: ^^09:30
Chipacamvo: also perhaps you're intersted ^09:30
sil2100mvo: so it still happens for the dragonboard, huh?09:32
zyga. sil2100 correct09:32
Chipacaom26er: there's a cups snap09:32
zygasil2100: I tested it yesterday09:32
mvoChipaca: very! thank you09:32
sil2100Had hopes that since I couldn't reproduce it on my pi3, it was gone09:32
mvoChipaca: just need to juggle between tasks09:32
Chipacamvo: psh09:32
mvosil2100: yeah, I'm trying to build a pi3-64 image to make testing easier09:33
mvosil2100: dragonboards are just rare :/09:33
zygasil2100: if you want I can give you my dragon for debugging09:33
zygaeither remotely via my office or I can just hand you one in person09:33
mvozyga: heh, nice that you have it so close09:33
om26erChipaca: are you talking about https://forum.snapcraft.io/t/call-for-testing-openprintings-printing-stack-snap-printing-in-a-snap/4406 (printing-stack-snap) ?09:34
Chipacazyga: fwiw (didn't catch this in the scrollback) we landed the pr to coalesce apparmor_parser calls a week ago09:34
Chipacaom26er: yes09:34
mvoChipaca: aha, nice09:34
om26erif so, it seems to not be available for armhf. I admit that was missing from my initial question.09:35
mvoChipaca: this means with 2.36~pre they should see *some* improvements at least09:35
mvoChipaca: I will dig out the pr number and paste into the report09:35
zygaChipaca: ah, thank you for that09:35
zygamvo: ^ so the low hanging fruit is merged09:35
mvozyga: ta09:35
Chipacahttps://github.com/snapcore/snapd/pull/5469 fwiw09:35
mupPR #5469: interfaces/apparmor: (un)load profiles in one apparmor_parser call <Created by alfonsosanchezbeato> <Merged by zyga> <https://github.com/snapcore/snapd/pull/5469>09:35
mvoChipaca: nice09:36
* om26er is trying to convert a RaspberryPi into a print sharing server in our co-working space.09:36
popeyom26er: google cloud print?09:37
mvoom26er: till did some works on a cups snap recently maybe he can help09:38
Chipacamvo: yep, that's printing-stack-snap09:38
Chipacalots of good info in that forum post09:39
mvonice09:40
om26er@popey How will that work ? The printer is connected to the RPi which is connected to the office internet. How do we discover the printer if it isn't shared ?09:40
popeyom26er: I'm not sure tbh. But I have seen people use it to share printers easily, especially older USB printers.09:42
zygalast time I looked it uses a host with the right software and local printer drivers to create a bridge between the printer and the google service09:43
zygaso you send your print jobs to the cloud,  where they are pulled by the host with this service and sent to the local, pre-cloud, printer09:43
zygaat some point any chrome installation was able to be the helper host09:43
zygaand would allow a Chromebook print09:43
mborzeckizyga: any chrome installation? sounds scary09:47
zygaI think you have to enable it but yeah09:47
zygathe idea was that there would be _someone_ with a windows + chrome laptop or desktop09:47
mborzeckinext step, print still from chromecast :)09:47
zygathat would share a "legacy" printer09:47
mborzeckias in the chromecast dongle09:48
mborzeckimvo: any idea what's the status of cups snap?09:50
mvomborzecki: no, sorry, I did not follow it closely09:50
sil2100mvo: since the issue is still around, I have also poked mwhudson to help out since he does own a dragonboard himself09:54
mvosil2100: aha, nice09:54
mvosil2100: do you think you could upload a probert with debug symbols to the foundations ppa so that we can get a core18 in edge that is easier to debug? I guess I can't do that mysefl because of lack of permissions(?)09:56
mupPR snapd#5962 opened: ifacestate/hotplug: hotplug handlers <Complex> <Hotplug šŸ”Œ> <Created by stolowski> <https://github.com/snapcore/snapd/pull/5962>10:18
ogramvo, can you remove kiosk.autoconnect.service from the pi-gadget ? that interface is gone with mir 1.0 (it now uses the wayland interface for everything) so the hack can go too10:22
sil2100mvo: we didn't have debugging symbols in probert?10:22
mvoogra: sure10:22
mvosil2100: iirc we didn't when we poked at it in brussels10:22
mupPR snapd#5963 opened: tests/hotplug: spread test for hotplug based on dummy interface <Hotplug šŸ”Œ> <Created by stolowski> <https://github.com/snapcore/snapd/pull/5963>10:24
sil2100mvo: ok, I'll look at that in a minute10:26
mupPR snapd#5952 closed: tests/ifacestate: moved asserts-related mocking into helper <Hotplug šŸ”Œ> <Simple 😃> <Created by stolowski> <Merged by stolowski> <https://github.com/snapcore/snapd/pull/5952>10:38
mborzeckiChipaca: took your idea of stacking the erorr messages, the diff is slightly larger than expected https://paste.ubuntu.com/p/tFyFBth5w8/, i'm thinking of landing #5960 with suggestions from zyga and doing a follow up with that change10:40
mupPR #5960: snap, wrappers: support restart-delay, generate RestartSec=<value> in service units <Created by bboozzoo> <https://github.com/snapcore/snapd/pull/5960>10:40
mborzeckiand then we can bikeshed about error messages :)10:40
zygabrb10:43
zygawhile it's sunny and lovely outside10:43
zygaI think I have a cold10:43
zygaso ... brb10:43
Chipacamborzecki: sgtm10:50
Chipacahmm, hmm10:50
Chipacanot sure 'cannot validate' is the right way to say 'we validated it, and found it lacking'10:51
zygacannot allow10:53
Chipacamborzecki: I think context should be added by the caller10:54
Chipacathat is10:54
Chipaca"cannot validate snap 'foo': %v" should be what the caller of Validate() does10:55
Chipacanot Validate itself10:55
Chipacabecause10:55
Chipacathen you can say "cannot pack thesnap/" or "cannot install some.snap" or …10:56
Chipacainstead of having "cannot pack thesnap/: cannot validate "the.snap": …"10:56
mborzeckimhm10:56
Chipacabut maybe that's too hard :)10:56
zygagood point Chipaca10:57
Chipacawe already mostly do this10:57
Chipacawe do os.MkDir() and then "cannot mkdir: %v"; we don't expet MkDir to have the context10:57
Chipacabut when we write both sides of the code it's harder to remember, i guess10:58
Chipacadunno10:58
Chipacamaybe i just need lunch10:58
pedronismborzecki: I looked a bit again at snap and Validate*, seems a snap/names package with the various Validate for name like things, and maybe even the regexps exposed could make sense11:13
dot-tobiasIs it possible to use plugin artifacts across builds, but refresh my app's source? I.e. using the Ruby or nodejs plugin, keep the built ruby/node runtime but refresh the pulled-in code from the part's repository? If I'm not overlooking something, the current snap clean my-part removes everything related to that part?11:15
mborzeckipedronis: in case you missed the diff i sent yesterday, https://github.com/snapcore/snapd/compare/master...bboozzoo:bboozzoo/validate-name-separate-package that's the thing i was working on, i can tweak it further and propose it after 594811:15
zygadot-tobias: this is a question for sergiusens or kyrofa but they may be around later since they are in another timezone11:16
* zyga is happy to know time namespaces are coming to the kernel11:16
zygafeels appropriate somehow11:16
pedronismborzecki: I see, no I hadn't looked at it, yes seems to go were I was thinking11:17
pedronis*where11:17
dot-tobiaszyga: Thanks, will keep a watch on the room list then 😊11:17
zyga dot-tobias consider asking on the forum as well11:17
mborzeckipedronis: cool11:17
dot-tobiaszyga: Will do that11:17
sil2100mvo: btw. did you see my e-mail question about the inconsistency in new model assertion names for core18?11:20
pstolowskimvo: the hooks optimization looks promising, i did the change but need to accomdate a large number of existing tests which inspect tasks11:27
mvopstolowski: great, thanks for this heads up11:30
mvorbasak: I followed up on 1796017 we can sync up after lunch, my comments are probably not super helpful :/11:38
* mvo lunch11:38
* pstolowski lunch11:46
sergiusensdot-tobias: sort of, but mind asking that on the forum so everyone benefits from the full answer?11:47
* Chipaca lynch11:48
ograwhom ?11:51
ak2766When I execute `snap list` or `snap find` I see some publishers have a green tick beside their name - what does that indicate?11:54
zygathat the publisher is *verified*11:54
pedronisidentity wise11:55
ak2766@zyga - thanks - I was overthinking it then...11:55
ak2766@pedronis - thanks too11:56
Chipacaak2766: what were you thinking it was?12:01
Chipacaak2766: and, how could we improve the output of 'snap list --help' to better explain it?12:01
zygaChipaca: [ v - identity of the publisher has been verified] (legend)12:02
Chipacazyga: wasn't asking you :-þ12:02
Chipaca(we trialled legends and they didn't really work)12:03
Chipacathey're helpful the first N times, and then just get in the way12:03
Chipacawhere N is … hard to get right12:03
Chipaca(because I looked at only showing the legend the first N times :) )12:03
rbasakmvo: ack12:04
mupPR snapd#5960 closed: snap, wrappers: support restart-delay, generate RestartSec=<value> in service units <Created by bboozzoo> <Merged by bboozzoo> <https://github.com/snapcore/snapd/pull/5960>12:04
* Chipaca remembers he had lunch cooking and goes to tend to it before the fire alarm does12:05
Chipacathe report of my lunch's death was an exaggeration12:08
=== chihchun is now known as chihchun_afk
dot-tobiassergiusens: Re: plugin artifacts – Sure, here's the topic I opened for this: https://forum.snapcraft.io/t/keep-plugin-artifacts-environments-across-cleanups-for-faster-iteration/783412:21
jdstrandzyga: I wonder if it is possible to optimize the fastpath-- ie, when everything goes right, which is the normal case12:38
zygayes, I believe so12:38
zygado you have in your backlog the discussion between mvo, pstolowski and me?12:39
jdstrandzyga: cause looking at http://paste.ubuntu.com/p/RYd5mDB76q/, it is clear that it is taking 1-2 seconds to load the lxd profiles, but we do the whole group over and over again for now reason12:39
jdstrand(which I know you know, I phrased it that way for others in the channel)12:39
jdstrandzyga: I do12:39
zygaah. ok :-)12:40
jdstrands/now/no/12:40
jdstrandI mean, I know the reason. I mean, there is no reason we have to do it that way :)12:40
jdstrandmeh. the point is, maybe the situation can be improved for the normal case without having to rearchitect everything to handle the failure cases as efficiently12:41
jdstrandI don't have anything specific to suggest; just posing the question12:41
sil2100pedronis: hey! Did you see my e-mail question regarding the model name inconsistencies for core18? Just wanted to know if I should special-case those names or will they still be changed12:42
pedronissil2100: it's not a question for me, it's more mvo12:42
pedronisbut afaict they are decided12:43
pedronis*afaik12:43
sil2100That would be too bad!12:43
sil2100Oh well12:43
sil2100mvo: once you're back ^12:43
zygajdstrand: the failure case is, I think, to just abort the op and re-setup security in the undo path12:43
zyga(with no optimisations)12:43
zygaI think it's not that hard as I initially thought actually12:43
zygabecause the bulk of it is in the auto-connect logic12:44
ak2766@Chipaca - I was thinking it had something to with whether it was a full container or needed --devmode...12:44
zygathat is one function12:44
zygawhere we can just buffer the changes12:44
zygapost-process them12:44
zygaand then execute whenever someone needs to observe the current state12:44
Chipacaak2766: aha12:44
Chipacaak2766: if it needed devmode you wouldn't see it in 'snap find', fwiw12:44
Chipacaak2766: and in snap list, it'd say devmode in the notes12:44
Chipacai'll be adding colour to the notes sometime soon12:44
jdstrandzyga: oh, that is interesting. yes, you could queue everything up, then at the end, say 'run the queue', but the queue is smart (eg, a hash) and doesn't have duplicates12:45
zygafor ... in auto-connect-things { connect(plug, slot) and mark security as dirty; if hook { make security clean }; } make security clean;12:45
ak2766thanks - good to know... I'm new to snap - the apt-get lxd was running like a dog and soneone suggested I try snap - never going back...12:45
zygajdstrand: apart from writing tests changes it should be fairly small12:46
zyga(involving no new backend logic probably)12:46
Chipacaak2766: glad to know it's being useful; do let us know when we mess up :)12:46
jdstrand+1000 :)12:46
zyga*probably*12:46
jdstrand:)12:46
zygaI didn't think deeply about interaction with other backends though12:46
zygashall we buffer for everything12:46
zygaor just special case apaprmor12:46
zygaif we special case it is the case we thought about before12:46
zygabut I think we should not special case12:46
zygato be even more efficient12:47
zygaand have predictable properties (no intermediate state)12:47
jdstrandwe precompile seccomp. I don't know how measurable an impact it would make, but there is computation there, so probably worth doing12:47
zygaI'm happy to do this after user mounts12:47
jdstrandudev is just writing out files12:47
zygayeah and also totally generic in that sense12:47
zygaless udev triggers, less apparmor, less seccomp, less selinux relabelling or what else we need to do12:47
jdstrandI mean, it would benefit for efficiency, but maybe not phase 112:47
jdstrandactually, there is the trigger, yes. probably should include that too12:48
zygaI actually think this is phase one and last, there would be no phases, just introduce the delayed setup to the auto-connect function12:48
zyga(in my head this doesn't change regular connect / disconnect)12:48
jdstrandwfm12:49
zygaanyway, just an idea, I didn't attempt this yet so there may be something we've missed12:49
mvosil2100: I will reply in a bit, have not seen it12:49
ak2766@Chipaca - definitely will - if I needed to post to a forum, do you have something akin to https://stgraber.org/12:50
jdstrandzyga: right. the idea is each of the backends knows the difference between dirty and clean12:50
Chipacaak2766: https://forum.snapcraft.io (in the topic in case you forget)12:50
jdstrandzyga: dirty is writing out the files. clean is running some command on them12:50
ak2766@Chipaca - I've just joined snapcraft.io12:50
jdstrandzyga: that should work12:50
zygajdstrand: perhaps, though I would even avoid writing the files, dirty is we know we want to do it and that's that;12:50
zygawe can always compute the current state12:51
zygaclean is that we actually do it because someone wants to use the state12:51
zygathis way backends don't change12:51
jdstrandzyga: the only trick is ensuring that we never end up in a permanent dirty state12:51
zygawell, that's nice too12:51
zygadirty state is ... nothing happened :)12:51
zygawe have a connection in the state12:51
* Chipaca ~> cuppa tea and something to much during the meeting12:51
zygabut nothing else12:51
zygaso on reboot we will setup security and things will be back to normal12:51
zyga(in case we lose power in the dirty state)12:51
zygabut I would only record the connection changes of auto-connect *after* we clean after the loop12:52
jdstrandzyga: well, the thing is, we need the thing being written out to disk to be all of them, but the command to run them to only be at the end12:52
niemeyerFolks, I've got a conflicting meeting today at the same time as our standup, please don't wait for me.. I'll join if it doesn't happen or ends early12:52
zygajdstrand: yes but I think that approach is more complex12:53
jdstrandzyga: I think that requires a small change to the backends, no?12:53
zygait doesn't harm us not to write anything12:53
zygawe don't call backend.setup at all until all of the connections are established12:53
jdstrandno, it wouldn't. assuming we end up with the same thing written out12:53
zygawell, that's guaranteed by the design of the security model12:53
zygabased on the ensure logic12:53
jdstrandzyga: I'm thinking: plugs: [ a, b, c ]12:53
zygaI think that's easier12:53
mupPR snapd#5949 closed: osutil,asserts,daemon: support force password change in system-user assertion <Created by mvo5> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/5949>12:53
zyganiemeyer: ack12:53
jdstrandzyga: but only c is plugged at the end when the command is run (ie, we forgot to record a and b into the files written to disk)12:54
zygajdstrand: btw, I wrote something I want to share, a detailed walkthrough through snap-confine, I want to have this in the forum so that people can review my persistent per-user mount namespace patches12:54
mupPR snapd#5964 opened: overlord/snapstate: export getFeatureFlagBool <Simple 😃> <Created by stolowski> <https://github.com/snapcore/snapd/pull/5964>12:54
zygajdstrand: that's the thing12:54
jdstrandzyga: re aside> we had something like that before. it is good to have it updated12:54
zygajdstrand: in the idea where we don't run setup at all12:55
zygajdstrand: the fact that [a, b, c] are connected is not known to anyone but the auto-connect loop12:55
zygaonce we are done we setup security for the set of affected snaps12:55
zygaand that's that12:55
zygabefore we start that setup nothing on the system knows about the connection (not even snapd state)12:55
jdstrandzyga: I see. I haven't looked at all the code in a very long time. I'm not saying there is a problem or advocating a solution. I'm just describing what I'd be concerned about12:55
zygajdstrand: right12:55
zygajdstrand: after thinking about it briefly earlier today I changed my mind about teaching backends about this12:56
zygabecause precisely this is less complex to do correctly12:56
jdstrandzyga: hey, that's great :)12:56
zygawe can only forget to setup security in the end, and that implies the connection is just absent12:56
zygaso that's not any more dangerous12:56
zygaI was really only concerned about hooks12:56
zygabecause hooks do need to see the partial state12:57
zygabut current logic has no distinction between a hook that exists for sure12:57
zygaand a hook that simply may exist12:57
zygaso it's hard to optimise if the sequence is like12:57
zyga[compute-intermediate-1, maybe-observe-1, compute-intermediate-2, maybe-observe-2, ...]12:57
zygapstolowski is looking at discarding the maybe-observe-N that really are no-ops12:57
zygaso that we know exactly when to setup security12:57
zygait is also interesting that the security setup involves a subset of affected snaps12:58
jdstrandI dont follow that last sentence12:58
zygabut effectively in the end the full set is obtained12:58
zygaa simple example12:58
mupPR snapd#5965 opened: interfaces/tests: use TestInterface instead of a custom local helper <Simple 😃> <Created by stolowski> <https://github.com/snapcore/snapd/pull/5965>12:58
zygawe auto connect core12:58
pstolowskipstolowski: what is maybe-observe-*, sorry? ;)12:58
zygaand there are two snaps [a, b] that connect network12:59
zygawe get core:network a:network12:59
zygaand core:network b:network (well, swapped around but you get the idea)12:59
zygaassuming that both have hooks that need to observe the network being connected12:59
zygawe need to setup security for (core, a), (core, b)12:59
zygawhere ( ... ) denotes the set of snaps affected by a connection12:59
zygawe don't need to re-setup security for a when we do the intermediate state for b13:00
pstolowskii'm looking at not creating prepare-* or connect-* hook tasks at all if they are no-ops (ie. hooks not present)13:00
zygapstolowski: that's perfect, that is what I meant13:00
pstolowskiokay13:00
pstolowskiit's not affecting profile generation at all, but it should save some cycles as we serialize hooks execution13:00
zyga+113:01
cwaynesil2100: heya, so one thing we found in testing: whenever the 3b+ reboots were getting a new MAC address13:03
jdstrandmvo: where are we in the 2.36 cycle? is there time to get stuff in?13:04
jdstrandmvo: hi btw :)13:04
mvojdstrand: in a meeting - but yes, still time until later today13:05
mvojdstrand: but there may be exceptions for you13:05
sil2100ogra: ^13:06
zygamvo: ^13:06
sil2100cwayne: hm, thanks13:06
sil2100cwayne: I wonder if ogra saw the same thing during his testing13:06
ograsil2100, worth filing a bug but not worth holding back the image for IMHO13:06
ograi didnt actually check the MACs i must admit13:07
ograbut the b+ uses a new ethernet NIC so it is well possible13:07
ograwe can add a fix for this in later iterations13:07
sil2100ogra: yeah, if it's something we can fix out-of-image then +1 on that13:07
ograwell, it might need a new gadget at some point and the payload in the gadget isnt upgradeable (only metadata) ... so it might also need a new image eventually13:08
ograbut having a b+ image with changing MAC is still better than not having a b+ image at all13:08
jdstrandmvo: there are 2 maybe 3 things: https://github.com/snapcore/snapd/pull/5739, then an upcoming k8s interfaces PR (profile updates with 2 new interfaces) and possibly a 'miscellaneous profile updates' PR. I don't know how feasible it is for all of it. I know kjackal_bot *really* wants 5739 and it is passing now13:08
ograwe have many peopel eagerly waiting for it13:08
ogra*people13:09
mupPR #5739: interfaces/default: don't scrub with change_profile with classic <Created by jdstrand> <https://github.com/snapcore/snapd/pull/5739>13:09
sil2100ogra: a bit troublesome then, we'd have to mention that in some release notes13:09
ograyes13:09
sil2100Not sure if we have any for core1613:09
ograyou can mention it in the forum thread wher people are sitting and tapping their feet13:10
ograsil2100, https://forum.snapcraft.io/t/support-for-raspberry-pi-3-model-b/450913:11
sil2100lool: hey! Since you were the one requesting the pi3b+ support first hand, would you be fine with images that don't have constant MAC addresses?13:11
ograsil2100, i'll start working on that in ~10 days and produce a fix ... currently i#m just busy with preparing for IoT worldcongress and next week i'll persent there ... after that i can take care of that bug ... but i dont think we should delay the image another two weeks13:12
cwaynesil2100: from our end we'd definitely prefer it fixed first13:13
cwayneplars: ^13:13
ograk13:13
plarsit's a serious problem for anyone who needs to access it remotely13:13
ograi think cwayne is authoritative here13:13
cwayneAs it is it will mess with our lab setup13:13
ograok13:13
cwayneogra: <313:13
ograsil2100, then i'm with plars and cwayne13:13
ograi'll try to squeeze in some time tomorrow, perhaps the fix is simple13:14
ogra(with luck is its just an addition to the devicetree ... and worst case it needs the same initrd scrit the dragonboard uses, bth are fixable via the kernel snap)13:15
cwayneWe're happy to help and test along the way ogra13:15
ograok13:15
ogracwayne, plars i assume thats only with wired ?13:15
ogra(wlan should be identical to the normal pi3)13:15
cwayneThat's my understanding13:15
ogragood13:15
mupPR snapcraft#2342 opened: nodejs plugin: update to the latest 8.x LTS version <Created by anthonyfok> <https://github.com/snapcore/snapcraft/pull/2342>13:15
sil2100ogra, cwayne, plars: yeah, +1 on that13:16
ograbtw https://snapcraft.io/mac-spoofer :P13:17
sil2100lool: ^13:17
sil2100The problem is, this week probably we'll be switching off core16 image builds for a bit to enable core18 ones13:17
sil2100We want to enable core18 ones but then we'll have to wait for a livecd-rootfs SRU to get released in xenial to be able to switch on core16 ones again13:18
ograand here we go: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git/commit/drivers/net/usb/lan78xx.c?id=760db29bdc97b73ff60b091315ad787b1deb5cf513:18
ograppisati, ^^^ do you know if we have this in the pi 4.4 kernels ?13:19
sil2100If that's it then we'll need a new image for the fix indeed13:20
ppisatiogra: i think we do13:21
ograsil2100, nah, if this one fixes it we only need a kernel update13:22
ppisatilet me check13:22
ograsil2100, the prob is if there are bits needed in the u-boot config or a u-boot patch ... then we need a new gadget and gadgets are not upgradeable (you are stuck with the first bootloader binary and config you install on core)13:22
ppisatiogra: nak, we don't have it13:23
ograthought so13:23
ppisatiogra: do we need that? i guess so13:23
ograppisati, think it is hard to add ?13:23
ppisatiogra: nah, it appears easy13:23
ograit would be helpful indeed :)13:23
sil2100ogra: don't we have the kernel in the boot partition as well? Oh, or is this built as a module?13:23
ppisatiogra: i'm working on mvo's rasp3b+ regression, i'll move to this immediately after13:23
ograi still need some idea how to injetc a fixed MAC into the DT though ...13:23
ograsil2100, the kernel in the boot partition gets updated when the snap gets updated13:24
ograppisati, <313:24
sil2100ogra: ok, nice13:24
ograsil2100, the only non-upgradeable bit is the bootloader (sadly)13:24
ografixes in that area require a re-flash13:25
ogra(and new image indeed)13:25
pstolowskimborzecki: zyga can you take a look at #5964 and #5965? these are real trivials13:27
mupPR #5964: overlord/snapstate: export getFeatureFlagBool <Simple 😃> <Created by stolowski> <https://github.com/snapcore/snapd/pull/5964>13:27
mupPR #5965: interfaces/tests: use TestInterface instead of a custom local helper <Simple 😃> <Created by stolowski> <https://github.com/snapcore/snapd/pull/5965>13:27
mvoppisati: oh, nice! could you reproduce the no-carrier on eth0?13:27
zygadone13:29
jdstrandzyga: would you mind taking a look at https://github.com/snapcore/snapd/pull/5739 ? You have a request changes and I've fixed it and it passes13:32
mupPR #5739: interfaces/default: don't scrub with change_profile with classic <Created by jdstrand> <https://github.com/snapcore/snapd/pull/5739>13:32
zyganot at all, looking13:32
mborzeckijdstrand: can you take a look at https://github.com/snapcore/snapd/pull/5947 ? there's one trivial commit to interfaces/builtin which may be of interest to you13:35
mupPR #5947: many: cleanup remaining parallel installs TODOs <Parallel installs ⛓> <Created by bboozzoo> <https://github.com/snapcore/snapd/pull/5947>13:35
jdstrandmborzecki: done13:37
mborzeckijdstrand: thanks!13:37
zygajdstrand: replied :)13:39
zygajdstrand: this is nice because we could use something similar for parser bugs eventually13:40
zygajdstrand, roadmr: is the review tools bug that I bumped into last week really fixed13:44
zygaI mean fedora29 snap I uploaded and hit that cleanup issue13:45
mupPR snapd#5964 closed: overlord/snapstate: export getFeatureFlagBool <Simple 😃> <Created by stolowski> <Merged by stolowski> <https://github.com/snapcore/snapd/pull/5964>13:45
ppisatimvo: yes, and i'm debugging it13:45
zygaI'm asking because I tried to upload it again and hit the same error13:45
roadmrzyga: I haven't yet deployed the updated reviewer-tools to the store :/ working on it13:45
zygaroadmr: ah, thank you for the explanation13:45
roadmrzyga: so it is fixed in the tools themselves but I'm not yet using the fixed version13:45
zygano worries!13:45
zygait's not urgent13:46
roadmrzyga: if all goes well, it'll be out today.13:46
mupPR snapd#5965 closed: interfaces/tests: use TestInterface instead of a custom local helper <Simple 😃> <Created by stolowski> <Merged by stolowski> <https://github.com/snapcore/snapd/pull/5965>13:48
mvoppisati: awesome, thank you !13:48
mborzeckizyga: do you know if it's really broken? https://www.reddit.com/r/linux/comments/9n50ba/lets_see_why_flatpak_and_sandboxing_are_awesome/e7kld6h/13:49
mvojdstrand: thanks for the update. I have a look at 5739. do you have an estimate when the other bits you plan will be ready? (roughly?)13:50
jdstrandmvo: I will have the feedback from zyga addressed for 5739 in a few minutes (running ./run-checks now)13:52
jdstrandmvo: I will do the fast parts of miscellaneous profile updates next (~1 hour?). I will move to the k8s PR next. a few hours I would say13:54
mupPR snapd#5966 opened: snap: overhaul validation error messages <Created by bboozzoo> <https://github.com/snapcore/snapd/pull/5966>13:56
jdstrandzyga: responded to feedback: https://github.com/snapcore/snapd/pull/573913:56
* zyga -> walk13:56
mupPR #5739: interfaces/default: don't scrub with change_profile with classic <Created by jdstrand> <https://github.com/snapcore/snapd/pull/5739>13:56
rbasakDoes anyone else always forget whether they're in a snap run --shell or not? A PS1 change would be nice, though I'm not sure if that's appropriate for snap run to arbitrarily do by default.13:57
zygajdstrand: +113:57
jdstrandrbasak: since it went to the group I'll chime in and say I've never forgotten that :)13:57
jdstrandzyga: thanks!13:58
jdstrandmvo: ok, zyga approved 5739 and all feedback is addressed. spread is running (it took 4 times yesterday for a good run yesterday (unrelated to my changes)). do you want a 2.36 PR?13:59
* cachio afk13:59
niemeyerChipaca: Before you spend time on it, added some comments on the --lines topic14:11
Chipacaniemeyer: the problem is that, right now, the results you see if you don't scroll are the least relevant14:12
Chipacawe could also auto-pager, but some people don't like that :)14:13
niemeyerChipaca: It's a common behavior to have more relevant at the top14:13
Chipacaoh, it's the right thing to do, to have the most relevant at the top14:13
Chipacai don't mean to imply otherwise14:13
niemeyerChipaca: If the list is too long, either I want to see a long list so I can go through it, or my search was poorly done14:14
niemeyerChipaca: In the first case, I want to see the list.. in the second case, I may opt to reissue the command with a better search instead of knowing about 25 results14:14
mvojdstrand: no need for a 2.36 pr right now, I will merge master back (not that many changes so far)14:15
mvojdstrand: and some hours sounds fine14:15
mborzeckizyga: i'm thinking of tuning the spread tests to do https://paste.ubuntu.com/p/q5skPJqRXg/ on case by case basis14:16
niemeyerChipaca: Do you have sample searches that made you wish for the change in behavior?14:23
Chipacaniemeyer: some simple and perhaps over-broad ones, like 'snap search game'14:24
Chipacaniemeyer: or 'snap search developer'14:24
jdstrandmvo: great, thanks!14:25
niemeyerChipaca: Interesting.. these are good examples of the two cases I mentinoed14:25
niemeyerChipaca: Searching for developer is a bit pointless, so improving the parameter would be better.. searching for game, clearly one wants to browse through results14:25
Chipacaniemeyer: snap find 'developer tool' :)14:26
Chipacabut, yeah14:26
Chipacai do see your point14:26
Chipacaniemeyer: next time i come across a really bad one i'll take note :)14:27
zygare14:27
zygamborzecki: +1, this is why I introduced the command in the first place14:27
mborzeckizyga: yup, now with the profile info and features we can pick an choose14:28
zygaand have better coverage14:28
mborzeckiif opensuse leap 15 was in we could use that too14:28
mborzeckizyga: it had the right kernel if i'm not mistaken?14:29
mborzeckior was it just TW?14:29
zygaTW14:40
zygaleap 16 will be good14:40
zygaChipaca: snap find "for raspberry pi"14:42
rbasakmvo: around?14:45
rbasakmvo: your suggestion actually works well for me.14:45
rbasakAnd allows me to fix it for now at least I think.14:45
rbasakmvo: http://paste.ubuntu.com/p/Yx2f4gKM55/14:46
rbasakBecause quilt calls awk via PATH, and that allows me to insert a wrapper.14:46
rbasakMore generally, could you use patchelf or whatever to make all paths to the loader in the core snap relative? Would that break anything?14:47
* rbasak wonders if the kernel will even accept that14:47
mvorbasak: nice14:47
mvorbasak: I guess we could its just risky14:48
mvorbasak: patchelf sometimes also is called breakelf14:48
mvorbasak: we had some known issues (to be faire mostly with go binaries)14:48
rbasakWhat role does the core snap play for classic snaps?14:49
mvorbasak: none really, I mean classic snaps mostly deliberately avoid it14:50
mvorbasak: for the reasons we ran into, its hard to use it from a classic snap14:50
rbasaknacc is offline right now14:50
rbasakI wonder what caused the use of the core snap like we're doing in git-ubuntu in the first place.14:50
rbasakBecause another way to solve this would be to build our own awk.14:50
rbasakAnd avoid the core snap altogether - which I think is the default if we don't point to it?14:51
mvorbasak: or just include the one from the distro via stage-packages14:51
mvorbasak: but yeah, thats probably easier and more controlled14:51
rbasakGood point :)14:51
mvorbasak: i.e. you would know exactly what awk you get (and what quilt etc) so less risk14:51
mvorbasak: plus these bits are not very big14:51
rbasakOh. Using stage-packages will make it a symlink to /etc/alternatives14:52
rbasakBut that can be hacked around14:52
mvorbasak: gar14:52
mvorbasak: I really dislike /etc/alternatives nowdays :)14:52
ograwho doesnt14:52
rbasak:)14:52
mvojdstrand: do you mind if I commit a unit test to 5739 around release/apparmor.go:probeAppArmorParser ?14:53
mupPR snapd#5967 opened: interfaces/hotplug: rename HotplugDeviceKey method to HotplugKey, update test interface <Hotplug šŸ”Œ> <Simple 😃> <Created by stolowski> <https://github.com/snapcore/snapd/pull/5967>15:05
pstolowskizyga, mborzecki one more trivial please, if you have a moment: #596715:05
zygasure15:05
mupPR #5967: interfaces/hotplug: rename HotplugDeviceKey method to HotplugKey, update test interface <Hotplug šŸ”Œ> <Simple 😃> <Created by stolowski> <https://github.com/snapcore/snapd/pull/5967>15:05
mupPR snapd#5968 opened: interfaces: updates for default, screen-inhibit-control, tpm, {hardware,system,network}-observe <Created by jdstrand> <https://github.com/snapcore/snapd/pull/5968>15:08
jdstrandmvo: re 5739> not at all15:08
jdstrandmvo: fyi, https://github.com/snapcore/snapd/pull/596815:08
mupPR #5968: interfaces: updates for default, screen-inhibit-control, tpm, {hardware,system,network}-observe <Created by jdstrand> <https://github.com/snapcore/snapd/pull/5968>15:08
mvojdstrand: cool, I updated the 5739 and added a diff with my suggestions - if those look sensible I can commit/push15:10
mvojdstrand: looking at this new one now15:10
mvojdstrand: I can also do the tweaks in a followup15:11
mvojdstrand: its just "sugar" :)15:11
jdstrandmvo: please see the git commit for the dbus private bus for maximum context15:11
mvota15:11
* Chipaca afk15:12
pstolowskimborzecki, zyga ty!15:14
mvozyga: 5867 has a conflict15:15
zygammm15:15
jdstrandmvo: ok, I commented in the PR. feel free to adjust based on the paste if so inclined15:17
jdstrandmvo: thanks!15:17
mvojdstrand: thank you15:18
zygamvo: resolved inside github15:18
zygaI'll grab coffee,  brb15:18
mvojdstrand: heh - thats what you get with code reviews, conflicting opinions ,)15:19
mvojdstrand: don't worry I take care of it and we land your PR its fine as is15:20
jdstrandmvo: :) thanks!15:20
* jdstrand hugs mvo 15:20
jdstrandmvo: ok, now let me resurrect my k8s branch. this will be a few hours15:20
mvojdstrand: no worries, I check back later tonight then15:21
jdstrandmvo: if you have to move faster than me, go ahead. I'll let you know if I don't want it for 2.3615:21
jdstrandbut I'm working on it now15:21
mupPR snapd#5969 opened:  apparmor: add unit test for probeAppArmorParser and simplify code  <Created by mvo5> <https://github.com/snapcore/snapd/pull/5969>15:24
zygare15:25
zygareviewed mvo15:27
mvojdstrand: one more question - since what ubuntu release do we have "unsafe" ? roughtly ? 16.04? 18.04?15:27
mvozyga: ta15:27
zygamvo, thank *you*15:27
mvozyga: I want to do a spread test for this too just to be on the safe side15:27
zygamvo: note that the original failed in spread, this is why we knew15:28
mvozyga: heh - tests ftw!15:28
=== jkridner|pd is now known as jkridner
jdstrandmvo: it was introduced in 2016. it is in 2.10.95 which was backported to trusty15:39
mvojdstrand: thanks, I add a spread test that ensures this works on ubuntu then15:40
jdstrandcool, thanks15:41
loolsil2100: I dont have strong objections about random MAC, but is this a regression specific to that image or 3B+?15:42
loologra: ^15:42
loolsil2100: best to get in touch wiht ogra in general, he understands the lower levels much better than I do15:42
cwaynelool we only saw it on pi 3b+.  It would severely impact my teams ability to auto-test it so we'd prefer it fixed before release15:44
Chipacajdstrand: unit test failure in #596815:45
mupPR #5968: interfaces: updates for default, screen-inhibit-control, tpm, {hardware,system,network}-observe <Created by jdstrand> <https://github.com/snapcore/snapd/pull/5968>15:45
Chipacajdstrand: https://travis-ci.org/snapcore/snapd/jobs/440193822#L154015:45
jdstrand:\ I ran them locally15:46
* jdstrand looks15:46
ogralool, sil2100, given that b+ was not supported *at all* before it is indeed not a regression15:46
* mvo hugs Chipaca for adding the staged tests in travis15:46
jdstranddarn it, I didn't run it on that15:47
* jdstrand fixes15:47
Chipaca:-D15:47
* Chipaca takes all the hugs he can get15:47
mvojdstrand: no worries15:47
loolsil2100: given cwayne's feedback, let's hold on calling this gold I guess15:47
mvojdstrand: running this is "cheap" now :)15:47
loologra, cwayne: any idea on how to fix this?15:47
ogralool, right, thats the plan15:47
loolis it a boot assets issue?15:47
ogralool, there is a patch https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git/commit/drivers/net/usb/lan78xx.c?id=760db29bdc97b73ff60b091315ad787b1deb5cf5 that allows it to set it from the dtb ... i'll be looking for a way to inject the serial into that from u-boot15:48
jdstrandmvo: I noticed that refactoring. really nice :)15:48
ogralool, injecting it into the dtb is a boot asset thing (uboot.env most likely) ... the rest is kernel and paolo already agreed to pull that patch into the next kernel15:49
loologra: how do the rpi official upstream images manage it?15:50
jdstrandChipaca (cc mvo): thanks, fixed15:51
ogralool, not sure but i'll find out ... i know that debian specifically added this kernel patch tough ...15:52
niemeyerChipaca: This is looking very nice: https://travis-ci.org/snapcore/snapd/builds/44019382115:59
niemeyerChipaca: Thank you!15:59
ogralool, actually the patch comes from raspberrypi.org https://lore.kernel.org/lkml/1524066323-109628-2-git-send-email-phil@raspberrypi.org/16:07
ograso i assume they are using it too ...16:08
niemeyerjdstrand: Quick question on #596816:15
mupPR #5968: interfaces: updates for default, screen-inhibit-control, tpm, {hardware,system,network}-observe <Created by jdstrand> <https://github.com/snapcore/snapd/pull/5968>16:15
jdstrandniemeyer: hi16:15
mvozyga: one idea 586716:17
zygamm16:17
zygalookinf16:17
zygamvo: +1 if you have that handy to push16:18
zyga(my tree is full of user mounts)16:18
zyganice idea, thank you16:18
mvozyga: ta16:20
mvozyga: if your pr is green I will merge and followup, otherwise I can push into the pr16:20
mvozyga: anyway, I will deal with it :)16:21
mvoChipaca: you mentioned mksquafs doing the exclude pattern, are you working on this ? it sounds like a great idea the more I look at the snap pack code16:21
jdstrandniemeyer: answered16:22
zygathank you mvo16:22
niemeyerjdstrand: Thanks for explaining16:25
ograplars, https://paste.ubuntu.com/p/whNnhnQCRx/ could you cross check if your MAC in the dtb differs ?16:34
mupBug #1797423 opened: "Channel <blank> for poedit is closed; temporarily forwarding to stable." when amending a locally installed snap <Snappy:New> <https://launchpad.net/bugs/1797423>16:34
ograif it does we actually only need the patch added to the kernel and should be good to go16:35
plarsogra: hmm, I can't seem to break into uboot from the console, do I need serial for it?16:38
ograyeah, i guess it defaults to serial input16:39
ograU-Boot> printenv stdin16:39
ograstdin=serial16:39
ograyeah16:39
ogra(though i'm using a kiosk gadget here ... not sure what the generic pi3 one uses, i have used device specific pi gadgets in ages)16:40
* ogra checks GH16:40
ograhttps://github.com/snapcore/pi3-gadget/blob/master/uboot.env.in says "stdin=serial,usbkbd" so it should theoretically work16:41
smoserhi. wondering if anyone can help out https://bugs.launchpad.net/ubuntu/+source/snapd/+bug/179721816:41
mupBug #1797218: boot hangs in curtin vmtest <amd64> <apport-bug> <cosmic> <uec-images> <snapd (Ubuntu):Confirmed> <https://launchpad.net/bugs/1797218>16:41
smoserat this point, a few hours from final freeze of ubuntu 18.10, it looks like the only possible solution is to drop seeding of snaps in ubuntu cloud images.16:42
zygasmoser: looking16:42
zygasmoser: are cloud images using overlayfs?16:42
zygasmoser: can we pull oops 4d395dae-ccc5-11e8-90ca-fa163e102db1 ?16:43
smoserpull ?16:45
ograzyga, you mean https://errors.ubuntu.com/oops/4d395dae-ccc5-11e8-90ca-fa163e102db1 ?16:45
smoserone use case for our cloud images (used in maas deployment and other cases) is overlayroot.16:45
ograhttps://errors.ubuntu.com/oops/4d395dae-ccc5-11e8-90ca-fa163e102db116:46
ograerr16:46
ogra ERROR run hook "install": cannot create lock directory /run/snapd/lock: Permission denied16:46
ograzyga, ^^^16:46
=== pstolowski is now known as pstolowski|afk
plarsogra: do I need to do anything before run loadfiles? I get an error16:51
plars** Bad device 0:1 0x00200000 **16:51
plarsogra: but fdt print ethernet still gives me output:16:51
ogranope, loadfiles loads kernel, dtb and initrd ...16:51
plarshttps://www.irccloud.com/pastebin/ptELLP5i/16:51
zygaogra: is this a container?16:51
zygathat's so weird16:52
zygait feels like a container that runs on snapd with unstacked apparmor16:52
ograplars, \o/ it differs !! so just the kernel patch is enough !16:52
zygasmoser: I see16:52
zygasmoser: let me think then16:52
ograplars, thanks a lot16:52
zygasmoser: can I see such an image somewhere16:52
zygapull it and boot it in qemu for experiments?16:52
plarsogra: great news! happy to help :)16:53
zygaogra: thank you for the oops16:53
ograzyga, no idea, i just gave you the error msg from the oops you mentioned ;)16:53
zygaI suspect I understand the problem16:53
zygasmoser: ^16:53
zygasmoser: but I need a this image to provide a fix16:53
zygamvo: ^ if this is true we need this for 18.10 final16:53
ogralool, so the kernel patch is the right thing, the upstream firmware actually seeds local-mac-address in the devicetree with a unique MAC already, our kernel just doesnt pick it up16:54
zygasmoser, mvo, jdstrand: ^ it seems that cloud images use overlayfs and need extra permissions for our various apparmor profiles16:54
loologra: cool16:54
zygajdstrand: it seems that we cannot create the lock directory because the real permission is /upper/run/snapd/lock or something like that16:55
smoserzyga: you need this image ?16:55
zygasmoser: do you have apparmor denials (domes | grep DENIED)16:55
zygasmoser: please, it would allow me to test and fix this16:55
smoseri provided recreate instructions16:55
smoserand you can download the image from cloud-images.ubuntu.com16:55
zygathank you16:56
ograzyga, would be odd if /run was a part of an overlay though, i'd consider that a gross design bug, it should simply be tmpfs16:56
zygaI'll do that now16:56
zygaogra: well, that is my current theory, more in some time16:56
smoserogra: right. /run is not a overlay16:56
zygasmoser: which one of http://cloud-images.ubuntu.com/cosmic/current/ should I get?16:56
smoserthat would be odd for sure. overlayfs over a tmpfs backed by a tmpfs16:57
ograheh16:57
smoseri'd get cosmic-server-cloudimg-amd64.img16:57
ograit would make a funny anecdote though :)16:57
zygathanks, getting that16:58
jdstrandwhy are cloud images using overlayfs?16:58
zygajdstrand: dunno16:59
mupPR snapd#5967 closed: interfaces/hotplug: rename HotplugDeviceKey method to HotplugKey, update test interface <Hotplug šŸ”Œ> <Simple 😃> <Created by stolowski> <Merged by stolowski> <https://github.com/snapcore/snapd/pull/5967>16:59
zygasmoser: can you please tell me how to run that image in qemu?16:59
ogramakes them more cloudy ?16:59
jdstrandand yes, why /run of all things?16:59
zygajdstrand: I suspect they use ephemeral images with overlayfs for Maas16:59
zygabut I'm just guessing16:59
zygajdstrand: right? :)16:59
Odd_BlokeThis was found during curtin testing, so I believe you are correct, this is ephemeral images.17:00
smoserthese are just standard images17:01
jdstrandit looks like they are17:01
smoserthey're booted with overlayroot=tmpfs17:01
smosercommand line17:01
zygasmoser: do I need any magic for cloud init or whatever?17:02
Odd_BlokeRight, but being used in an ephemeral context, right?17:02
zygaI'm not a cloud expert17:02
jdstrandthis is currently unsupported, but we have overlayfs detection logic-- it could be updated17:02
smoseryou'll need to provide some way to get into the image17:02
smosereither17:02
smosera.) provide a cloud-init seed of some sort (and have it set a password for login)17:03
smoserb.) mount the image, set a root password, unmount it17:03
jdstrandbut just cause snap-confine is updated, doesn't mean snaps are going to run correctly. this is not a bug as much a missing feature17:03
zygayeah, I agree17:03
jdstranduse of overlayfs is not at all transparent to apparmor17:03
jdstrandthat said, I'm surprised other things in the cloud image, like dhclient, would work17:04
zygasmoser: are all cloud images using ovelayfs / - that is - is this a generic problem?17:04
jdstrand(in this ephemeral env)17:04
zygaor can we solve a specific case and be okay because normally they use a regular filesystem?17:04
zygajdstrand: depending on how this is set up17:04
zygajdstrand: apparmor.service is not started17:04
zygajdstrand: so maybe all confinement is off17:05
zygaapart from snapd17:05
jdstrandright17:05
zygasmoser: can you provide a cloud-init blob with some dummy password please17:05
jdstrandso, we could detect this, bump everything down to PartialAppArmor17:05
zygaand show me how to run this?17:05
zygajdstrand: I believe that we are failing on snap-confine17:05
jdstrandand adjust snap-confine enough to not die17:05
zygathe profile allows it to mkdir /run/snapd/lock17:05
zygabut we cannot17:05
zygaso plain partial would not work17:06
zygayeah17:06
zygathat might work17:06
zyga*might*17:06
zygaI still don't understand the use of overlayfs and the intent to use snaps in that context fully17:06
jdstrandzyga: yes, I'm assuming we could do something similar for it like with livecd. I'm worried about when snap-confine then runs and tries to launch stuff and all snaps die17:06
* jdstrand doesn't either17:06
* jdstrand goes back to k8s17:06
smoseri updated bug with recreate instructions that are about as simple as possible.17:14
zygathank you17:14
pedronissmoser: when were snaps added to those?  did they work and now they stopped? or just not yet tested in all the relevant situations?17:14
smoserthere are a lot of moving parts so its not easy to say.17:15
cachiopstolowski|afk, which hotplugs do you need to simulate?17:16
smoserbut i suspect the key change that caused this to fail was the transition of lxd from being installed in the image as a debian package17:16
cachiopstolowski|afk, insert usb?17:16
smoserto being a pre-seeded snap17:16
smoserthat happened 1018100217:16
smoser(https://bugs.launchpad.net/cloud-images/+bug/1796137)17:16
mupBug #1796137: huge and slow image 20181002 due to seeded lxd snap <cloud-images:Confirmed> <lxd (Ubuntu):New> <https://launchpad.net/bugs/1796137>17:16
pedronissmoser: I see, where snaps not really used until then?17:17
pedronisanywy lxd is one of the most demanding snaps as well17:17
pedronisin terms of moving parts17:17
* jdstrand notes that lxd is only shipped as a snap now17:18
smosersnaps would have been used via user instalaltion or cloud-init '#snap' configuration.17:19
pedronisjdstrand: I know, it still seems that some use case went untested17:19
smoserbut probably not in conjunction with overlayroot17:19
smoserthe key difference being use cases that did not involve snaps (such as vmtest or maas installation) worked fine17:20
smoserbut now use of the system is generally not possible as it never gets fully booted.17:20
smoserin this overlayroot scenario17:20
pedronissmoser: does mass installation need lxd? is that overlayroot situtation temporary, or something the machine then run with forever?17:20
smosertemporary. maas installs in a overlayroot environment.17:21
smoserthen reboots into the installed environment.17:21
pedronisbut we have one image that now has a lxd snap17:22
pedronisthat we don't need17:22
pedronisbut tries to be seeded/do stuff ?17:22
pedronisI mean don't need in that situation17:22
smoser"one image" in that yes, one base image is used for many things.17:23
pedronissmoser: are those snaps meant to carry over to the installed environment, or will there be a different boot where snapd is not seeded yet17:24
smoserwell, on first boot of the installed environment it will have exactly the same content as the image.17:25
smoserso it will seed its own snap17:25
smoserand will not have been booted with overlayroot17:25
pedronisso the snapd seeding we get in overlayroot env is just unfortunate? it just happens but we don't need it?17:26
pedronissmoser: I'm basically trying to understand if things need to work or just not explode, also it would seem this seeding is a waste (not that we have a clean way to turn it off afaik)17:31
pedronisatm17:31
pedroniszyga: we don't drop  connections on refreshes right? unless some plug/slot went away17:32
zygapedronis: correct17:37
smoserseeding in the overlayroot environment is not needed currently.17:39
pedroniszyga: mvo: maybe the cheapest thing is to somehow fail the sanity check in that env?17:44
smoserif /snap is on a overlayroot, just disable snapd17:49
Chipacamvo: I'll be looking at using mksquashfs's exclude thing, unless you want to get your hands dirty with that17:50
Odd_Blokesmoser: pedronis: zyga: FWIW, subiquity is a snap that, I think, is in a overlayroot environment and works.17:54
Odd_BlokeSo we need to be careful to not turn things off with a big hammer that breaks other use cases.17:54
pedronisOdd_Bloke: intersting, I imagine it's a classic snap tough?17:55
Odd_BlokeYes, I believe it is.17:55
pedronisyea, it is17:55
Odd_BlokeBut that does mean that snapd still needs to function in an overlayroot environment, so I don't think we can just disable it as suggested by smoser.17:56
mupPR snapd#5968 closed: interfaces: updates for default, screen-inhibit-control, tpm, {hardware,system,network}-observe <Created by jdstrand> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/5968>17:57
smoseryeah, i' not sure how subiquity is working17:58
Odd_BlokeIt's classic, so it may just skip the AA stuff that's failing?17:59
smoserfwiw, the ' cannot create lock directory /run/snapd/lock: Permission denied'17:59
smoseris kind of misleading17:59
smoseras17:59
smoser$ ls -l /run | grep snap17:59
smosersrw-rw-rw-  1 root root    0 Oct 11 17:52 snapd-snap.socket17:59
smosersrw-rw-rw-  1 root root    0 Oct 11 17:52 snapd.socket17:59
smoser$ ls -l /run/snapd17:59
smoserls: cannot access '/run/snapd': No such file or directory17:59
smoserso  its not really that it can't create /run/snapd/lock its that /run/snapd does not exist.18:00
rharpersmoser: I created that18:00
rharperbefore snapd starts and it still fails18:00
rharperyou can quickly test creating that dir before the snap install on bionic to confirm18:01
rharperI had to use aacomplain on snap-confine to allow it to complete18:01
rharperthe trickery IIUC is that snapd has to transition the apparmor rules from /etc/apparmor.d to the verison present in the core snap;  the linked bug I found mentions this18:02
smoserOdd_Bloke: do we have evidence that subiquity install works ?18:02
smoserin cosmic18:02
Odd_Blokesmoser: Good question.18:02
Odd_Blokevorlon: ^18:03
Odd_BlokeI'm downloading the ISO ATM.18:03
mvopedronis, smoser just finished reading backlog - having a sanity.Check for this sounds indeed like a great option18:05
smoserwell, other than potentially meaning subiquity does not work18:05
mvosmoser: yeah, I lied when I said I read backlog - I wasn't quite finished :/18:06
mvosmoser: a shame, its a straightforward fix18:06
mvowell "fix"18:06
Odd_BlokeWTB 10G NICs on cdimage.u.c18:07
zygaI’m a bit AFK with the kids but I will resume working in this bug as soon as I can18:09
smoserboot of http://cdimage.ubuntu.com/ubuntu-server/daily-live/current/cosmic-live-server-amd64.iso18:12
smoserseems to get to a place where i could isntall18:12
smoserie, i think subiquity is running18:12
smoserand 'snap install hello && hello' works18:12
Odd_Blokehello is confined?18:15
Odd_BlokeYes.18:15
smosersnap version and uname are the same between the two (comment 11 recreate and core image boot)18:17
smosererr... subiquity boot18:17
vorlonsmoser, Odd_Bloke: subiquity absolutely works, every successful install w/ the server live image relies on subiquity as a snap18:19
smoserso whats different?18:19
vorlonclassic vs non-classic snap?18:19
vorlonI was aware that non-classic snaps don't work on overlayfs18:19
smoserwell, hello works in one and does not in the other.18:19
Odd_BlokeIs lxd in the subiquity image?18:20
vorlonhow do you mean, "works in one"?18:20
vorlonI haven't checked if lxd is in the subiquity image.  It should be.18:20
smosersnap list in the subiquity image does *not* have lxd18:21
smoserand i did mis-informa  bit.18:21
smoserhello works subiquity image (snap install hello, hello)18:21
smoserbut fails to install (due to general brokenness) in cosmic18:21
smoserbut installs but fails to run in "boot bionic enable overlayroot reboot" case as described in comment 1318:22
vorlonsmoser: the subiquity image has code to prevent re-exec of snapd from the core snap18:23
vorlondid you already handle that?18:23
smoseri did what i showed in that comment.18:24
smosernothing else.18:24
vorlonwhat comment?18:24
smosercomment 13 on bug 179721818:24
mupBug #1797218: boot hangs in curtin vmtest <amd64> <apport-bug> <cosmic> <uec-images> <snapd (Ubuntu):Confirmed> <https://launchpad.net/bugs/1797218>18:24
vorlonsmoser: https://bazaar.launchpad.net/~ubuntu-core-dev/livecd-rootfs/trunk/view/head:/live-build/ubuntu-server/includes.binary/overlay/lib/systemd/system/snapd.service.d/no-reexec.conf18:26
smoservorlon: http://paste.ubuntu.com/p/jJDvTgKzwd/18:35
smoserthats bionic overlayroot -> tmpfs18:36
vorlonsmoser: ok.  that looks like the known incompatibility between non-classic snaps and overlayfs that we ran into previously.18:37
vorlonI don't know why a 'snap install hello' would work on the subiquity image18:37
smoserwell.18:37
smoser http://paste.ubuntu.com/p/PGkK3bfRf9/18:38
vorlonbionic?18:38
smoserno18:38
smoserthat is cosmic18:38
smoserwere do writes go on installer environment ?18:40
vorlontmpfs18:40
smoserok. i was thinking that might be the difference.18:40
vorloncosmic is snapd 2.35.4+18.10; bionic-updates is snapd 2.34.2+18.0418:41
smosercosmic *image* (that fails entirely differently) is the same version as installer environment.18:42
vorlonwhich is the cosmic image failure?18:43
smoseras shown in description in 179721818:43
vorloneven if you set SNAP_REEXEC=0?18:44
smoseri did not try that. i can quickly.18:44
smoserwell, it doesnt seem that reexec change fixes anything18:54
smoserhttp://paste.ubuntu.com/p/6KB34MctXt/18:54
mvo5867 needs a second review18:56
mupPR snapd#5970 opened:  snapstate: tweak GetFeatureFlagBool() to have a default argument  <Created by mvo5> <https://github.com/snapcore/snapd/pull/5970>18:58
vorlonsmoser: is this in the ephemeral boot?19:01
vorlonsmoser: I mean, is it the ephemeral boot case being broken that caused you to care about this?19:01
smoserwhat caused me to care about this is a green dot in jenkins going red.19:02
smoserwhich is due to vmtest (curtin's test harness) starting to fail19:03
smoserwhich does use overlayroot19:03
vorlonsmoser: workaround forming itself in my mind is for overlayroot package to disable the snapd service when overlayroot is in used19:03
vorlonsubiquity uses an overlayfs19:03
vorlonbut does not use overlayroot to implement that19:03
vorlonso there'd be no impact to any of the places that snaps on overlayfs currently work19:04
smoseri'd rather understand why.19:05
vorlonsure19:05
smoserand i'd also rather revert the thing that broke this19:05
vorlonbut I think the above workaround is something to keep in our back pocket19:05
smoserthan make other people change to accomodate19:05
vorlonby which you mean, revert the move of lxd to a snap?19:05
smoseryes19:06
mupPR snapd#5971 opened: interfaces: include invalid type in Attr() error <Created by mvo5> <https://github.com/snapcore/snapd/pull/5971>19:07
zygare20:29
* zyga notices a bit of backlog20:29
cachiosergiusens, hey, I see some tests related to plainbox failing on snapd sru http://people.canonical.com/~ubuntu-archive/proposed-migration/xenial/update_excuses.html#snapd22:13
cachiosergiusens, any idea if it could be an issue or it is a tests problem?22:14
mupPR snapcraft#2341 closed: schema, meta: support app command-chain <Created by kyrofa> <Merged by kyrofa> <https://github.com/snapcore/snapcraft/pull/2341>22:25
mupPR snapcraft#2343 opened: schema, meta: add "full" app adapter <Created by kyrofa> <https://github.com/snapcore/snapcraft/pull/2343>22:28

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