/srv/irclogs.ubuntu.com/2017/05/18/#snappy.txt

=== chihchun_afk is now known as chihchun
=== chihchun is now known as chihchun_afk
=== chihchun_afk is now known as chihchun
=== chihchun is now known as chihchun_afk
=== chihchun_afk is now known as chihchun
mupPR snapd#3344 closed: cmd/snap-confine: use SNAP_MOUNT_DIR to setup /snap inside the confinement env <Created by morphis> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/3344>06:25
morphismvo: thanks!06:26
mvomorphis: thank you, that was a really useful fix!06:27
morphis:-)06:27
mvomorphis: want a hand with 3307? I can apply the simplifications if you want, otherwise the branch looks good so I'm keen to get it in soon(ish)06:28
morphismvo: ah you approved it, was waiting for another review to get this further before I rework this06:29
morphismvo: let me do that now06:29
mvota06:29
morphismvo: pushed06:31
morphismvo: while we're on it, what are we doing now with https://github.com/snapcore/snapd/pull/330806:32
mupPR snapd#3308: tests/lib: introduce pkgdb helper library <Created by morphis> <https://github.com/snapcore/snapd/pull/3308>06:32
morphismvo: I will work on getting it through the tests today but would like to have a final agreement on how we implement this06:32
zygagood morning06:34
mvomorphis: looking again06:36
morphiszyga: morning!06:36
morphiszyga: I would like to get to an agreement for https://github.com/snapcore/snapd/pull/330806:37
mupPR snapd#3308: tests/lib: introduce pkgdb helper library <Created by morphis> <https://github.com/snapcore/snapd/pull/3308>06:37
morphiszyga, mvo: maybe we can quickly discuss anything left here06:38
zygamorphis: sounds good06:41
zygamorphis: I think I made my statement, I will respect whatever mvo decides06:42
zygaand if it doesn't work down the line (whatever we choose), it's just a commit away to change :)06:42
morphistrue :-)06:42
mupPR snapd#3346 opened: [WIP] allow access to nm-dispatcher scripts <Created by felicianotech> <https://github.com/snapcore/snapd/pull/3346>06:42
mvozyga: I added another comment, but I agree, I think we just move forward we can always revisit the decision06:47
zygaok, let's merge it then06:48
morphismvo, zyga: thanks!06:49
morphisanymore real code-review comments?06:49
zygamorphis: I just had a look but I think that's all for now06:51
morphiszyga: ok, then let me see that tests are passing06:51
morphismvo, zyga: https://github.com/snapcore/snapd/pull/3337 can have another review too06:59
mupPR snapd#3337: errtracker: try multiple paths to read machine-id <Created by morphis> <https://github.com/snapcore/snapd/pull/3337>06:59
abeatozyga, hi, what is this system-shutdown command for? when is it used?07:16
mvoabeato: it used internally to ensure everything can be unmounted on shutdown07:16
zygaabeato: it's used on shutdown of a core system, it exists because systemd cannot by itself untagle the mount situation07:16
mvozyga: snap :)07:17
zyga:D07:17
abeatozyga, hmm, so it is called by the shutdown/reboot command?07:17
zygaabeato: not really, it is called by systemd from initrd on shutdown07:18
zygaabeato: why?07:18
abeatozyga, I need to do some changes to how we reboot on core/kernel updates. I need to add an argumento to the reboot syscall so nex reboot goes to the recovery partition07:19
abeatoso I¡m trying to understand how the reboot process works07:19
zygaabeato: aha07:20
abeatozyga, for instance "reboot -f recovery" does the desired thing, but "shutdown +10 recovery" does not07:20
zygaabeato: well, I think this is useful07:20
zygaabeato: well the reboot command above is special as "recovery" is not a term normally parsed07:21
abeatozyga, it is passed directly to the kernel: https://linux.die.net/man/2/reboot07:22
zygaabeato: but the good thing is that you can patch system-shutdown to reboot the way you need07:22
abeatozyga, yep, seems like a feasible hack07:22
zygaabeato: I know the man page, 'recovery' is not there07:22
zygaabeato: my point is that the command you quoted is custom07:22
abeatozyga, that is why I say it goes straight to the kernek07:22
zygaabeato: right07:23
abeatoyep07:23
zygaabeato: so if you can express the desired reboot semantics via the system call you can do what you want07:23
zygaabeato: but note that you cannot pass any argument to system-shutdown07:23
abeatozyga, so how does it worl when I run "reboot"? first systemd, then initrd is mounted again and then system-shutdown is called? don't really know the details07:25
zygaabeato: I don't know for certain (read systemd code to know); I believe what happens is that when a special systemd unit is present (we make one) systemd ensures that shutdown is terminated from initrd using this executable07:27
abeatozyga, ok, I will pull the thread from there, thanks!07:28
zygaquote of the day for me:07:29
zygafrom LWN07:29
zyga"and thus Torvalds is not sure if it a mount point can be tested if it is a bind mount or not"07:29
zygajdstrand: ^^ :DD07:29
* zyga has +1000 karma07:29
abeatozyga, the call to shutdown when there is a core/kernel update happens in daemon.go:Start(), is that right?07:32
pedronisabeato: atm yes07:34
abeatook07:34
pedronisI mean, the code is there, it doesn't happen there, that code is setting a callback07:35
abeatopedronis, yes yes :)07:36
iceyhow hard would it be to have snaps installable as a non-root user, ie: a I could install a snap (without sudo) for myself?07:37
zygaicey: for yourself, not planned07:45
zygaicey: without sudo, just "sudo snap login" once ;)07:45
zygaicey: but the per-user install case is not anywhere on the roadmap07:45
iceyzyga: I mean that I wish I could fo per-user snaps :-P07:45
pedronisit would be fairly involved07:45
iceyeven into something like $HOME/snap07:45
iceywould be awesome :)07:45
iceyadd additional user level restrictions on top of the snap security model07:46
zygaicey: I agree with pedronis, it's not anything trivial07:46
zygaicey: on many many levels07:46
pedronismvo: hi,  did you see my question in snapd#2592 ... do we need to skip creating /snap/foo links for those ?07:46
mupPR snapd#2592: many: add support for session dbus services via snaps <Created by mvo5> <https://github.com/snapcore/snapd/pull/2592>07:46
iceyI get that it's not trivial, but it would be *awesome*07:47
iceyso, wishlist ;)07:47
pedronispstolowski: hi, you haven't created that topic in the forum yet about interface hooks , right?07:47
zygaicey: well, it needs to fit design; right now it's not part of the design, even as a whislist item07:47
zygaicey: I would recommend to open a forum thread to describe it07:48
zygaicey: how you envision it might work, including services, confinement and what not07:48
pstolowskipedronis, that's right but I didn't forget about it, I'll do today07:48
iceyzyga: I'll do some thinking about it and post something, I don't really think it'd work with services unless systemd supports per-user services07:48
iceyrather, services owned by a specific user07:49
zygaicey: it does but it doesn't mean something can run as that user07:49
zygaicey: e.g. an "apache" snap07:49
zygaicey: it's a different beast entirely07:49
iceyzyga: right, services would be tough to model, which is why I want to think about it some more; I'm considering more from a tool perspective07:50
zygaicey: and there's ongoing for for user services but only as a part for "regular" snaps07:50
zygaicey: for tools it might be doable, just not sure why interesting07:50
iceyzyga: consider a user downloading something like nginx, and running it (on no priv port) as their own user07:50
iceycould be nice to use a snap instead of just running `nginx -{}`07:50
zygaicey: it feels like a rat's nest of issues07:51
iceyzyga: there are a lot of wishlist snaps that are just tools, inkscape, picasa, etc07:51
zygaicey: would all snaps work well this way?07:51
zygaicey: do you want them to run as yoursel?07:51
iceyand it would be very interesting to be to be able to install those without root07:51
zygaicey: you *can* install *anything* without root07:51
zygaicey: if you sudo snap login first07:51
zygaicey: that tells us you managed to be root once07:51
zygaicey: is the no-root thing some special requirement?07:52
zygaicey: e.g. on a machine you don't have root on otherwise?07:52
iceythere's a snap that managed to break apt a bit ago, no idea if it still does since I have removed it, but it would have been unable to if instaleld without root ;-)07:52
zygaicey: that was classic-confinement snap07:53
iceythe `snap install $SNAPNAME` for that snap messed around with the global system in unfortunate ways07:53
zygaicey: so it can do anything07:53
iceyzyga: now imagine if it didn't have root on install ;)07:53
zygaicey: and that snap would not work at all then07:53
zygaicey: "--classic"07:53
pedroniswell that snap managed to break because it needed lots of privileges in the first place07:53
zygaicey: you want impossible things07:53
pedronisit would not have worked anyway07:53
pedronisand it was bad that it made a mess of apt07:53
iceypedronis: I'm curious about that, I kind of want to isntall it into a virtualenv and see if it still works ;-)07:54
iceypedronis: yeah, made me sad because I like that tool, haven't had it on my computer since then07:54
zygaicey: virtualenv? what has that to do with anything?07:54
iceyfortunately, I haven't needed it07:54
iceythe tool is written in python07:54
zygaicey: anything that installs with --classic is just like a typical deb/rpm, it has full access to everything on the system07:54
iceyso I want to actually try using it from source, to see what these functions it "needs" are :)07:54
iceyagree zyga07:54
zygaicey: I really encourage you to think about how it should work, it might be possible to create a per-user install of certain kinds of snaps (pure apps, no services), but there are lots of quirks to figure out first07:57
zygaicey: a forum thread is a way to explore that07:57
iceyzyga: certainly, I bet that classic snaps could work too, but services would be really hard (and probably not worth it?)07:57
zygaicey: maybe with the session snapd deamon it might be doable but still many hard things there07:57
zygaicey: (e.g. imagine encrypted $HOME)07:58
iceyzyga: yeah, it'd have to be something that was entirely after $USER was logged in fully, I think that services for a user level snap would be not worth it07:58
iceybut being able to `snap install inkscape` without having root would be cool :)07:58
mvopedronis: checking that question now07:59
mvopedronis: is the question if wrappers.IsService need to take into account if its a dbus activatable service?08:01
pedronismvo: yes, which means though that we would not create /snap/svc for those08:03
mvopedronis: no /snap/bin/svc ? not doing those is actually desirable08:05
pedronisyes08:05
pedronissorry08:05
pedronisno /snap/bin/svc08:05
mvopedronis: slightly interessting how to organize the code so that we know in wrappers.IsService() if it is a dbus activated service08:06
Chipacaicey: well, you only need root once08:07
Chipaca(good morning peeps!)08:07
Chipacaicey: 'sudo snap login', and then you don't need sudo to snap install stuff08:07
iceyChipaca: but snaps installed thereafter would have root access during install yeah?08:07
Chipacayep08:07
iceyChipaca: my wish would be to have non-root snaps as well08:08
mvohey Chipaca, good morning08:08
Chipacaicey: ah08:08
Chipacaicey: to the forum! :-)08:08
iceyChipaca: I'll thinkabout it and put something on the forum once I've thought it through a bit more :)08:08
Chipacamvo: how's things?08:08
Chipacaicey: fair08:08
mvoChipaca: good, thank you. how are you?08:08
Chipacamvo: not bad08:08
Chipacai opened my big mouth and promised a patch for go, it seems :-) but that's not necessarily *bad*08:08
Chipaca(in https://github.com/golang/go/issues/19546)08:09
mvoChipaca: \o/08:10
ChipacaI hadn't noticed IsService08:12
Chipacawhy is it not a method of AppInfo?08:12
mvoChipaca: a good question. it is pretty recent08:13
mvoChipaca: so yeah, we should have a look at moving it08:14
ChipacaI can do it as part of this service and wrappers shuffle i'm doing08:14
Chipacain fact I can piggy back it into snapd#3342; nobody's reviewed that yet :-)08:14
mupPR snapd#3342: many: refactor in preparation for 'snap start' <Created by chipaca> <https://github.com/snapcore/snapd/pull/3342>08:14
pedronisChipaca: because it's not clear snap should have opinions on that, indeed with dbus service the logic gets quite complicated for being in snap08:16
Chipacapedronis: how so?08:17
pedronisChipaca: have you looked at the dbus activation branch?08:17
pedronisanyway08:17
mvopedronis: yeah, I'm actually not super happy about the complexity we have there currently already08:17
Chipacapedronis: snapd#2592?08:18
mupPR snapd#2592: many: add support for session dbus services via snaps <Created by mvo5> <https://github.com/snapcore/snapd/pull/2592>08:18
pedronisChipaca: also Services would need to be something else, because now we have services that are not dbus services08:18
pedronisI mean your new method08:18
mvopedronis: and I much agree about snaps opinion about dbus etc08:18
* mvo scratches head08:18
pedronisChipaca: you should probably look at it08:18
Chipacaso, if we need to call them daemons instead of services, fine08:19
pedronisbecause it has influence at on names of stuff and where wrappers.IsService should go08:19
pedronisChipaca: unrelatedly,  a 2nd review for snapd#3322 would be appreciated :)08:19
mupPR snapd#3322: overlord: make config defaults from gadget work also at first boot <Created by pedronis> <https://github.com/snapcore/snapd/pull/3322>08:19
Chipacabut so far "services" are things that systemd starts08:19
pedronisChipaca: now we have dbus activated "services", like classic classic classic08:20
Chipacaas you see from {Add,Remove,Start,Stop}SnapServices08:20
Chipacaand start-snap-services08:20
Chipacaetc08:20
pedronisChipaca: I'm happy not to care, and let you and mvo figure it out ;)08:21
mvoChipaca: what pedronis said is true, there is the potential to have dbus services (user session) now and systemd unit that are dbus activated (soon)08:22
mvopedronis: hehe08:22
mvoChipaca: but maybe for your branch yu can mostly ignore it, the only thing I will need is some way to figure out that its a dbus service so that I don't write a /snap/bin/foo-dbus-activated file that is useless to the user08:23
Chipacamvo: as things stand there's a lot of places where we use "service" to mean something that has a systemd unit08:23
mvoChipaca: indeed, so maybe a new term? dubsActivated or somesuch08:23
Chipacahaving a systemd unit that is dbus-activated instead of socket-activated or type=notify is just a variant, it's the same thing08:24
Chipacabut having a service that does not have a unit associated would be strange08:24
mvoChipaca: right, the user session will not have a unit08:24
Chipacawe *could* split it int SystemdService and DbusService08:24
ChipacaOTOH... are you sure the user session will not have a unit?08:24
mvoChipaca: I mean, we could implement it via systemd but 16.04 has no systemd user session so things will fall apart there08:24
Chipacai mean, do we support user services on things that don't use systemd for the user session?08:25
mvoChipaca: dbus activation works fine without systemd user sessions, its an older concept08:25
Chipacai know08:25
Chipacaupstart alos works fine08:25
Chipacathe question is whether we want to support it :-)08:25
mvoChipaca: heh :) fair enough. if we don't we exclude 14.04 and 16.04 and possilbly 16.10 (have not checked this one)08:26
mvoChipaca: or maybe we need to spawn our own systemd user session with snapd08:27
mvoChipaca: no idea if that is feasible but if it is it might be nice way out08:27
Chipacamvo: anyway, backpedaling from the "do we want to do this" question, _if_ we do this, we should split service in two08:27
* mvo nods08:27
Chipacaor call them daemons vs servcies08:27
Chipacaor daemons and sprites, and confuse everybody08:27
* Chipaca grins evily08:27
mvoChipaca: sounds resonable, I will look into it in a little bit08:28
Chipacamvo: I haven't looked at your branch in detail; is there any place where you need to grab all services, both dbus and systemd?08:29
Chipacalooks like you implement a separate isDbusService, and use that08:30
mvoChipaca: yeah, I think that will be sufficient for now08:31
Chipacamvo: also you don't do things from start-snap-service and related tasks08:31
Chipacaafaict08:31
Chipacaso, for now, i'm leaving Services in snap, and moving IsService in there08:33
Chipacaand afaict (but tell me if i'm wrong), at most we'll be renaming them to SystemdServices/IsSystemdService, not making them more complex08:33
Chipaca(or to Daemons/IsDaemon)08:33
Chipaca(or Vegetable/IsVegetable)08:33
Chipaca(or ..)08:34
pedronisChipaca: well, no, we need IsService to return true for the things mvo is working on, that's the matter08:34
Chipacapedronis: those things don't have daemon set08:35
pedronisChipaca: indeed08:35
Chipacapedronis: and dbus-activated systemd services are services in the current sense08:36
pedronisbut we don't want to create /snap/bin/foo for them08:36
pedronisat the moment IsService decides whether the thing should have a /snap/bin entry08:36
Chipacapedronis: right, so the current code in binaries would change from IsService to IsService || IsDbusService (or whatever)08:36
pedronis(and consequently whether to support aliases)08:36
Chipacapedronis: but what I'm wanting is to drop all the _other_ app.Daemon == ""08:36
pedronisChipaca: there are usages in snapstate too08:36
Chipacain aliasesv208:37
Chipacayup08:37
pedronisyes08:37
pedronisit would be saner if they didn't all have to call two helpers08:37
pedronisbut that's my 2cts08:37
mvowe could add wrappers.IsBinary maybe?08:38
Chipacapedronis: so maybe as part of the dbus branch we IsService -> IsSystemdService, have IsDbusService, and have IsService that ||s the two08:38
pedronismvo: yea, maybe that08:38
Chipacamvo: that would be confusing, at least to me, because I'd expect IsBinary to be !IsService, always08:38
Chipacabah08:39
Chipacahmm08:39
pedronisChipaca: it would be08:39
pedronisif I understand things08:39
Chipacapedronis: if IsService is the || above, yes08:39
Chipacamvo: why would it be wrappers.IsBinary and not snap.(*AppInfo).IsBinary?08:40
pedronisbecause the logic for IsDbusService is complicated08:41
morphisrharper: ping08:41
pedronisand about policies that are 5 layers away from the basics of snaps08:41
pedronisbut you can read it both ways08:42
mvoChipaca: yeah, what pedronis said, probably in wrapper as its complex(ish)08:42
pedronisI mean the issue is mostly not to have that logic in many places08:42
mvo+1 on that08:42
Chipacaagreed that that's #108:43
pedronisChipaca: completion timeout that doesn't seem related to create-key: https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-yakkety-snappy-dev-image/yakkety/amd64/s/snapd/20170518_083559_ce30f@/log.gz08:43
ChipacaOTOH that you can't tell whether an app is a dbus service from looking at the app, to me is a red flag08:43
Chipacaor at least a bright yellow flag :-)08:44
Chipacapedronis: not only, no08:44
Chipacawaaait08:44
Chipacathat's a different completion08:45
mvoChipaca: we could make it more explicit. right now its entirely based on the dbus slot, however we could add something explicit to the app yaml part08:45
mvoChipaca: 2592 has an example of the current syntax, maybe we move the "service: true" part up to the app level (and rename it to something sensible or fold it into daemon:)08:45
Chipacapedronis: that timeout makes no sense :-(08:47
abeatozyga, hey, I think you are the only one missing in https://github.com/snapcore/snapd/pull/3324 :)08:47
mupPR snapd#3324: partition,snap: add support for android boot <Created by alfonsosanchezbeato> <https://github.com/snapcore/snapd/pull/3324>08:47
Chipacamvo: what would one on the system dbus look like?08:48
Chipacamvo: does it running on the system dbus mean it runs as root?08:49
mvoChipaca: that is not decided yet, probably exactly the same excep tthat bus: session becomes bus: system08:49
mvoChipaca: correct08:49
Chipacamvo: how is a dbus-activated system dbus service different from a bus-activated systemd service08:50
Chipacathe manpage points me to /usr/share/dbus-1/system-services/org.example.simple-dbus-service.service which doesn't exist. Hrmph.08:51
mvoChipaca: I have not looked into the details for the system dbus services, but I expect that we want to do the systemd unit route here08:51
mvoChipaca: i.e. there may be very little for us to do08:52
Chipacaso they'd be quite different in that case?08:52
Chipacaor would it still need a plug and etc?08:52
mvoChipaca: the user session was the most interessitng one to me as there are some gnome apps that use this mechanism and we can not support them ucrrently08:52
mvoChipaca: AIUI there is still a plug needed to ensure appamor allows all the dbus things that the dbus activated service wants to do08:53
mvo(but take it with a grain of salt, I have not looked into the details for dbus in system services)08:53
ackkhi, how do I remove a snap that's marked as broken,disabled?08:53
Chipacaackk: snap remove snapname?08:55
Chipacaackk: (how did it get into that state?)08:55
ackkChipaca, I had installed locally 2 versions of a snap, when I tried to sudo snap remove <snap> it hang for several minutes removing one of the versions08:55
ackkChipaca, I C-c'd it and after that it was broken08:56
ackkChipaca, fwiw it's a snap installed in an LXD container08:56
Chipacazyga: you want to look at this?08:56
ackkChipaca, uhm, it seems it eventually deleted itself, I don't see it anymore now :/08:57
Chipacaackk: 'snap changes08:58
Chipacaagh08:58
Chipacaackk: 'snap changes' should be able to shed light on things08:58
ackkChipaca, I see a series of "install" and a "remove" at the end08:58
Chipacaackk: snap tasks <the number with the remove>08:59
ackk 08:59
ackk2017-05-18T08:47:55Z ERROR cannot remove snap file "basic-auth-service", will retry in 3 mins: umount: /snap/basic-auth-service/x1: not mounted08:59
ackk2017-05-18T08:50:55Z ERROR cannot remove snap file "basic-auth-service", will retry in 3 mins: umount: /snap/basic-auth-service/x1: not mounted08:59
ackkChipaca, ^^08:59
Chipacaackk: where's that from? (and what did 'snap tasks' say?)09:01
mvopedronis: I updated the repair capability with a new "running repairs" proposal based on the ideas from gustavo. feedback welcome09:01
Chipacaackk: ('snap tasks' used to be 'snap change', if your snapd is slightly old try that instead)09:02
pstolowskizyga, hey, any objections to expose rm_rf_tmp from ns-supoort-tests to utils-test or similiar? I need to cleanup tmp stuff in my new test09:04
pstolowskis/expose/expose and move/09:04
pedronismvo: I'm not quite sure why we need --probe ?09:04
pedronisthat wasn't part of Gustavo proposals09:04
pedronismvo: also is not clear, but we still need the the latest good in snapd/gadget, otherwise we will download all assertions since forever09:06
mvopedronis: thats fine, I can change it. it felt slightly cleaner to make it explicit but I guess its an unneeded extra step09:06
pedronismvo: well it begs questions about the state after the real run09:06
mvopedronis: ok, let me update it09:07
pedronisfor when it's unknown09:07
pedronisbasically bigger state machine09:08
mvopedronis: updated it yet again09:21
pedronismvo: fixed the when repair section09:24
pedronismvo: I think with this approach the every 4h  seems reasonable, later we could have some approach that do it as well if snapd is down since a while09:26
mvopedronis: great09:29
zygapstolowski: no, go ahead09:33
zygaChipaca: yes, gladly09:33
* zyga is back, sorry, some unexpected stuff at home09:34
zygaackk: ah, LXD09:34
zygaok, I might as well explore LXD, this would fit nicely in my mount namespace layout tests09:34
zygaabeato: looking09:34
* zyga refrains from reading the rest of the backlog09:34
ackkChipaca, it's from snap tasks09:36
Chipacaackk: could you pastebin the whole output of the relevant 'snap tasks'?09:40
ackkChipaca, http://paste.ubuntu.com/24597955/09:40
ackkChipaca, fwiw it was eventually removed correctly09:41
pstolowskipedronis, https://forum.snapcraft.io/t/interface-hooks-attributes/67309:41
zygaabeato: some things are still not documented (golint)09:41
zygaa bit nitpick but I think it's relatively easy to do09:41
abeatozyga, I tried golint, but I got no output09:42
zygaabeato: in that directory?09:42
abeatozyga, yes09:42
abeato$ golint *.go09:43
abeatoandroidbootenv_test.go is in package androidbootenv_test, not androidbootenv09:43
abeatozyga, this is the only output I see *^^09:43
pstolowskizyga, thanks09:44
zygaabeato: commented again09:44
zygaabeato: let me look, that's still wrong :) probably09:44
zygaabeato: but check my feedback09:45
abeatozyga, sure, thanls09:45
morphisogra_: is rsyslog already removed in edge?09:46
mvomorphis: yes09:46
morphismvo: hm, so is the journal sync'ed to disk?09:47
pedronispstolowski: thanks, it seems to capture the discussion points, I added a comment there09:47
pstolowskipedronis, yes, saw it, thanks09:48
zygawoohoo09:49
zygaI see core edge :)09:49
* zyga sees the content interface changes work :D09:50
zygaI'd say woot but that's be self serving09:50
zygastill09:50
zygavery happy :)09:50
mvomorphis: aiui it is not09:55
mvomorphis: it is only if the /var/log/journal dir exists or something09:55
morphishm09:55
mvozyga: what content interface chagne is that?09:56
abeatozyga, answering your comment, I do not care about deterministic order09:58
abeatozyga, were the test you proposing about that? If that is the case, it is not needed either09:58
zygaabeato: yes, I think we want that10:01
zygaabeato: it's almost always desirable IMO10:01
abeatozyga, not in this case10:01
abeatozyga, it is a hurdle we do not really care about10:02
NicolinoCuralliHi guys, is it now possibile revoke a gpg key on the Store?10:04
zygaabeato: can you justify that?10:06
abeatozyga, neither the bootloader or snapd cares about the orde in which env vars are stored10:09
abeatoso no reason to enorce that10:09
abeato*enfroce10:10
abeatoenfroce10:10
zygaheh10:47
zygamake a file called '<' by accident10:47
zygathen remove it10:47
zygafun :)10:47
Chipacazyga: “rm \<” ?10:49
zygaChipaca: yes but it took me a second to find that :)10:56
zygaChipaca: this is both you vs shell as well as you vs program parsing it :)10:56
Chipacazyga: the program shouldn't be doing parsing of the filename10:56
Chipacaunless it were "-foo" or something10:56
ogra_hmm10:56
Chipaca(for which "--" exists)10:56
ogra_building something for snapcore via build.snapcraft.io requires additional organization access :/10:57
* ogra_ wonders why ... given my GH account already has readonly access to the branches which should be enough to build it10:57
zygaChipaca: yep, I tried with -- but that was just my naive idea ;)11:00
mupPR snapd#3347 opened: snap-confine: moved rm_rf_tmp to test-utils <Created by stolowski> <https://github.com/snapcore/snapd/pull/3347>11:05
pstolowskizyga, ^ something for you ;)11:06
cjwatsonogra_: BSI needs admin access to the repo in order to install a webhook11:07
cjwatsonI think we even explain that on the GH permission request page nowadays11:07
* zyga looks11:08
ogra_cjwatson, well, the GH page itself is a bit confising ... telling me at the top that it has readonly access and requesting additional organization access at the bottom ... the snapcraft.io page is better designed but i get redirected first11:09
cjwatsonthere's a limit to how much we can do about that; best we can do is explain it in the bits of text we get to control11:10
ogra_yeah11:10
ogra_we should just rent out mpt to GH for a redesign ;) (for most of the UI actually IMHO)11:11
pstolowskithx zyga11:12
cjwatsonogra_: it has its good points11:12
ogra_some. yeah ...11:13
Chipacadid somebody say lunch11:27
zygaChipaca: DEFCON-1 LUNCH!!!!11:29
Chipacaactually a siesta might be what i need11:29
Chipacabut no! onwards!11:29
Chipacazzmmmhyeah11:29
pedronismvo: wrote something in the forum about the last-refresh unset question/"issue"11:31
zygaChipaca: question, sir, how would you suggest to tweak this: http://pastebin.ubuntu.com/24598370/11:32
zyga(apart from fixing s/slots/snaps/)11:32
Chipacazyga: “access the network as a client” reads wrong, and is fluffy and imprecise11:33
zygafluffy is what we had in a comment so far :)11:33
zygasuggestions welcome11:33
zygaI made it possible to expose meta-data about interfaces11:33
zygaand shoved them through the pipeline to the CLI11:34
Chipacazyga: <this interface> lets apps do <exactly these things>?11:34
zygaChipaca: acccessing the network as a client is exactly what the doctor ordered though11:34
zygaChipaca: I know it's techy but not sure how to make it better11:34
zygabut but11:34
zygathis is not that thing I asked about11:34
Chipacamy point is it's not techy enough :-)11:34
zygahow would you display information about an interface11:34
zygaaaah11:34
Chipacazyga: what did you ask me about :-)11:34
zyga(not the particular wording)11:34
Chipacaah! that seems fine11:35
zygaI just print the description if you ask via -i ifacename11:35
Chipacai assume you're using wrap() there?11:35
zygaoh, no11:35
zyganice! let me look11:35
Chipacamaybe use wrap then11:35
zygathe patch is not long,  I'll post it in a moment11:35
Chipacawait was it wrap()11:35
* Chipaca digs11:35
Chipacazyga: fill()11:35
Chipacamight need tweaking as it's only for errors right now (so it assumes an indent)11:36
mupPR snapd#3348 opened: tests: add core revert test <Created by fgimenez> <https://github.com/snapcore/snapd/pull/3348>11:36
zygaChipaca: hmm, wonky11:37
Chipacaoh?11:37
Chipacazyga: how so?11:37
zygahttp://pastebin.ubuntu.com/24598396/11:39
zygaChipaca: (offtopic) bash completion for http would be lovely ;)11:39
Chipacazyga: main problem there is the indent, which i warned you about :-)11:40
zygaChipaca: how do I make http talk to snapd again?11:40
Chipacahttp snapd:///v2/system-info11:40
zygasnapd:// is a thing?!11:40
zygawow11:40
Chipacait is in the snap :-D11:40
zygaI tried unix://11:40
zygaChipaca: ok, a bit better now11:45
Chipacazyga: http://pastebin.ubuntu.com/24598417/11:47
Chipacaen nu, lunch11:48
zygaChipaca: I did something like that11:49
Chipacazyga: note you can kill filledError; it slipped in by accident (was going to use it, didn't in the end)11:58
zygaChipaca: yep, I killed it12:00
* Chipaca goes back to his leftovers12:00
mupPR snapd#3235 closed: overlord/hooks: make sure only one hook for given snap is executed at a time <Created by stolowski> <Merged by pedronis> <https://github.com/snapcore/snapd/pull/3235>12:01
pstolowskiyay :)12:01
pstolowskithanks pedronis!12:02
zygapstolowski: all red on the rm-rf test move12:02
ogra_morphis, oops, sorry, missed your ping ... yes, rsyslog is gone for good in edge so we get potential feedback before next release12:03
morphisogra_: actually what I missed today was that I was booting an image in kvm which failed and I didn't got access, then stopped kvm, mounted the image and missed the syslog for inspection12:03
ogra_morphis, if you want a persistent journal you can create /var/log/journal, journald will drop its blobs in there then and they persist across reboots12:03
ogra_morphis, hmm, we should probably allow a cmdline option that creates that dir from the initrd for debug purposes12:04
ogra_(not sure how else we could do it)12:05
morphisogra_: yes, that would be nice12:05
pstolowskizyga, seems to be about formatting.. looking12:05
zygapstolowski: make fmt12:05
ogra_would you comment on the forum thread ? i'd like to get gustavos input on it before starting to hack on anything12:05
zygapstolowski: feel free to force push this, I hate things like that breaking bisect12:05
zygaChipaca: how did you get around that terminal width issue in testing?12:06
Chipacazyga: regular expressions12:07
Chipacazyga:  MATCH -z "${expected// /[[:space:]]+}"12:08
zygaChipaca: ah, I used unit tests12:10
zygawanna see?12:10
Chipacazyga: even easier then :-)12:10
zygaChipaca: look at zyga/feature/iface-metadata please12:10
pstolowskizyga, ok, pushed12:13
* zyga loves how this works 12:13
Chipacazyga: looks good; the level of nits i have are probably not worth it =)12:18
Chipacazyga: there's a bug there though12:19
zygayes?12:19
Chipacazyga: probably because it's doing something unGo-ly12:19
Chipacazyga: it does `ifaces, err := Client().Interfaces()`12:19
Chipacazyga: and then a super long block of `if err == nil`12:19
Chipacazyga: and then outside of that block, it uses ifaces12:20
zygaChipaca: aha, let me look12:20
zygaah, in cmd_interfaces.go12:20
zygathanks12:20
Chipacasuggest switching that to a `err != nil`, exiting early, and so on12:20
zygaChipaca: diff would be longer12:21
zygaI'll change that but separately12:21
Chipacazyga: code would be better12:21
zygaChipaca: fair enough12:22
zygaI wrote it like that for 100% coverage (I was cheating)12:22
zygaChipaca: fetch again12:23
zygaor maybe just look here: https://github.com/snapcore/snapd/pull/334912:24
mupPR snapd#3349: many: model and expose interface meta-data <Created by zyga> <https://github.com/snapcore/snapd/pull/3349>12:24
mupPR snapd#3349 opened: many: model and expose interface meta-data <Created by zyga> <https://github.com/snapcore/snapd/pull/3349>12:24
Chipacatput reset; GOPATH=~/canonical/snappy goctest -coverprofile .coverage/profile.out -v github.com/snapcore/snapd/cmd/snap && GOPATH=~/canonical/snappy go tool cover -html=.coverage/profile.out12:24
Chipacaoops, wrong paste :-)12:25
Chipacazyga: you didn't get 100% anyway :-D12:25
zygaChipaca: it used to be 100%12:25
zygaI just reall why it was written this way before12:26
zygaI think this will be a welcome feature12:26
zygaI'd like to document interfaces on the forum12:26
zygaand add a forum URL to meta-data :)12:26
Chipacazyga: i thought the github wiki was the place for docs12:27
Chipacazyga: 91.7% coverage as it stands now12:27
Chipacazyga: 93.6% before12:27
Chipacazyga: when you say 'add a forum URL to meta-data' you mean structuredly?12:28
Chipacaalso: http://imgur.com/a/IeRjS12:28
pedronisChipaca: I think docs now go to the forum doc category12:29
pedronisGustavo was planning to move over bits from the wiki and then close it12:30
niemeyerYeah, this is gradually happening already12:30
niemeyer(good morning)12:30
niemeyerA handful of documents have been moved12:30
Chipacazyga: I stand corrected :-)12:31
niemeyerhttps://forum.snapcraft.io/c/doc12:31
Chipacawell, 'stand' is a manner of speaking12:32
zygaChipaca: yes12:33
zyganiemeyer: oh, nice12:33
niemeyerWe just need to be careful to not overload the forum with mechanical posts12:34
niemeyerThat's part of the reason why I'm not just taking things and moving over12:34
ogra_woah ... popey ! 2.2k views for your wishlist post12:36
Chipacaogra_: it's been busy :-)12:37
ogra_yeah12:37
* Chipaca 's finger hovers over [Spam]12:37
ogra_heh12:37
Chipacabut then i posted there, so shouldn't complain :-D12:37
zygaSend-pings-after-midnight12:38
Chipacazyga: i think that PR will fail static check btw12:38
* zyga tries12:38
Chipacazyga: if you hurry you might beat travis :-D12:39
zygaah damn simplify rulels12:40
zygarules*12:40
zygaI need to teach vim to do that12:40
Chipacaor your eyes :-p12:40
zygaChipaca: yes, I wrote that after all :")12:42
Chipacazyga: here, try these: 812:43
zygaofftopic, today I installed a webcam in a T530 (not mine)12:43
zygaI must say, damn, thinkpads are fantastic :)12:43
zygatooking the LCD bezel apart was trivial, I found official docs online, the panel had the connector cable installed already, all with proper tape to ensure it is held in place12:44
zygathe connector was keyed so it was easy to get it right12:44
zygaand the whole procedure took 10 minutes including the part where the machine was turned off and disconnected from battery12:44
zygaI thought we'd 1) fail 2) take long time 3) buy more parts 4) succeed next time, maybe12:45
zygasuper happy with the result :)12:45
Chipacai guess i've been spoiled by my e-series latitude12:46
zygais that a dell?12:46
Chipacayeap12:46
zygaon the other hand the camera-less laptop is pretty rare for me12:46
Chipacasingle-screw access to all the guts12:46
zyga(feels like government stuff)12:46
Chipaca(well, not all, but the most common)12:47
zyganice :) I took many laptops apart but I never touched the screen bezel or internals12:47
zygaand now I'm thinking of swapping a panel (on that same laptop) to a highere res one12:47
Chipacaanyway. i'm going to go get some tea, let's see if it wakes me up12:47
Chipacaotherwise some of us might be asleep at the standup12:47
zygaenjoy :)12:47
Chipacacan't have that12:47
morphismvo, zyga: can you have a look at https://github.com/snapcore/snapd/pull/3337 again?12:49
mupPR snapd#3337: errtracker: try multiple paths to read machine-id <Created by morphis> <https://github.com/snapcore/snapd/pull/3337>12:49
morphisniemeyer: you had time to look at https://github.com/snapcore/snapd/pull/3222 already?12:49
mupPR snapd#3222: many: fix test cases to work with different DistroLibExecDir <Created by morphis> <https://github.com/snapcore/snapd/pull/3222>12:49
zygamorphis: sure12:50
morphiszyga: thanks12:50
zygamorphis: cannot find?12:51
zygamorphis: cannot read12:51
morphis?12:51
zyga +logger.Noticef("cannot find %s: %s", id, err)12:51
morphisfine for me12:51
zygamorphis: fix that and LGTM12:51
morphiszyga: done12:52
niemeyerWould anyone have a plausible explanation for this:12:52
niemeyerroot@worker-c:/root# ls -l /bin/mount12:53
niemeyer-rwsr-xr-x 1 root root 40152 Dec 16 15:40 /bin/mount12:53
niemeyerroot@worker-c:/root# /bin/mount -h12:53
niemeyerbash: /bin/mount: Permission denied12:53
zygamorphis: thanks!12:53
niemeyerThis is inside a devmode snap12:53
zyganiemeyer: one sec12:53
zyganiemeyer: I think I know why12:53
zyganiemeyer: do you have any denials?12:53
niemeyerWell, I must do12:53
niemeyerChecking12:54
Chipacazyga: if [[ "$USER" =~ niemeyer ]]; then exit EPERM; fi12:54
zyganiemeyer: hmm, no my idea is not there12:54
niemeyer[  421.101403] audit: type=1400 audit(1495111946.792:42): apparmor="DENIED" operation="open" profile="snap.discourse.shell" name="/bin/mount" pid=1630 comm="bash" requested_mask="r" denied_mask="r" fsuid=0 ouid=012:54
zyganiemeyer: we used to have an explicitly deny for mount12:54
zygaaha12:54
zygaiiinteresting12:54
* zyga looks12:54
niemeyerYeah, I assumed that was the case12:54
niemeyerWhat I don't understand is why12:54
zyganiemeyer: cna you look at the profile, is it really a complain-mode profile?12:55
zyganiemeyer: there's nothing that explains this for me so far12:55
niemeyerNope12:56
niemeyerI think we have a bug in the profile generation12:56
zyganiemeyer: can you pastebin the head of the profile? (or the whole thing)12:56
niemeyerI've already enabled and disabled the snap, which removes the case of something being left over12:56
niemeyerhttps://www.irccloud.com/pastebin/R0nWdOwZ/12:57
niemeyerzyga: ^12:57
niemeyersnap list confirms it's devmode, FWIW12:58
pedronispstolowski: do you still have a todo about CheckChangeConflict and connect/disconnect ?12:58
popeyogra_: yeah, bit sad cafe isn't surfaced on the front page12:58
niemeyerzyga: I had observed this problem yesterday, but I thought it was related to reverts.. but now I managed to reproduce it without a revert12:59
zyganiemeyer: interesting, this is *not* devmode12:59
niemeyerRight12:59
zyganiemeyer: hop into the standup12:59
zyganiemeyer: we can chat12:59
niemeyeromw12:59
ogra_popey, well, probably niemeyer can change that12:59
zyganiemeyer: snap list says it is devmode?12:59
pstolowskipedronis, I need to refresh my memory. last time I checked I couldn't really see what was wrong with it13:01
pedronispstolowski: oh, I though you understood the problem13:17
pedronispstolowski: Connect/Disconnect check  but CheckChangeConflict don't consider disconnect/connect tasks13:18
pedronispstolowski: so you can run install why you are trying to Connect/Disconnect13:18
* Chipaca crosses “hear mvo describe something as «gnarly»” from his bucket list13:18
pstolowskipedronis, yes, but the I looked at this method and as far as I remember it doesn't care about task type, it just looks for another task affecting same snap13:19
pstolowskis/the/then/13:19
pedronispstolowski: ?13:20
pedronispstolowski: there's a full map of task types13:20
pedronisthe issue is that the connect/disconnect carry two snaps13:21
pedronisso there's a bit more to do13:21
pstolowskipedronis, you're right, i see13:21
Saviqogra_, hey, I'm trying to update https://developer.ubuntu.com/en/snappy/guides/mir-snaps/ a bit - it mentions rpi3 gpu support "not in stable yet" - I suppose this note should go away now?13:21
jdstrandzyga (cc niemeyer): fyi, we don't have any explicit denies for mount in any of the policy (we avoid explicit denies as much as possible)13:22
zygajdstrand: it's a different bug13:23
zygajdstrand: the profile is for strict13:23
zygasome state is mixed up13:23
ogra_Saviq, nope, it is a gadget thing and we can not update gadgets yet13:23
Saviqogra_, ack, leaving it be, then13:23
ogra_Saviq, so we only have it in !stable channels13:23
jdstrandzyga: I know, but I didn't want the idea to propagate that we have explicit denies for mount13:23
zygajdstrand: aha13:23
zygajdstrand: I have a branch I'm sure you will like13:24
zygahttps://github.com/snapcore/snapd/pull/334913:24
mupPR snapd#3349: many: model and expose interface meta-data <Created by zyga> <https://github.com/snapcore/snapd/pull/3349>13:24
niemeyerpopey: The point of cafe was for things that are usually pretty offtopic ("look at that sun set!"), which is not what people expect when they go to forum.snapcraft.io..13:29
niemeyerpopey: If you have an entry that you wish was presented in the front page, that's likely not something to be discussed on the cafeteria :)13:30
zygamvo: could we support C coverage via codecov as well?13:31
mvozyga: I think so, I have not looked into it13:31
zygamvo: I'll look at that13:31
jdstrandzyga: oh that's nice. note that 'The core snap provides the slot that is shared by all the snaps' is handy, but that is defined elsewhere (implicit.go and the base declaration). this makes a third spot to keep in sync. I'm not sure how to fix that, but wanted to mention it13:32
zygajdstrand: yes, that will go away too :)13:32
zygajdstrand: I'll make implicit.go just ask for meta-data :)13:32
zygajdstrand: but I didn't want to clobber it here13:32
zygajdstrand: initially I also folded Name into meta-data but I think not doing so is just easier13:33
zygajdstrand: I could also fold base declaration but I think you were against that13:34
popeyniemeyer: I didnt expect that thread to blow up like that tbh. Thought it might be a casual conversation with 2 or 3 comments13:34
niemeyerpopey: Ah, on that thread, it really doesn't feel so coffeey.. I moved it to the snap category earlier today already, so it is now in the front page13:35
popeySweet, thanks!13:35
jdstrandzyga: I'm ok with folding the base declaration into it cause that makes a good bit of sense, but it would be handy to be able to dump the entire base declaration with a command13:36
zygajdstrand: aha13:36
zygajdstrand: that's doable via snap debug interface, I'll look at that as well then13:36
Saviqzyga, hey, is there a GH issue or PR we can reference about https://bugs.launchpad.net/snappy/+bug/1646333 ?13:36
mupBug #1646333: bind mounts related to content interface plugs remain stale on snap disconnect/connect or snap updates <Snappy:New> <https://launchpad.net/bugs/1646333>13:36
zygajdstrand: so with this interfacecs would become 100% self-contained13:36
zygaSaviq: ha13:36
zygaSaviq: use edge13:36
zygaSaviq: that's fixed now :)13:37
jdstrandzyga: really, I think defining everything within the interface file is good, since you can see everything in one place13:37
zygajdstrand: yes, I agree, I think this will be nicer for everyone13:37
Saviqzyga, is cjson back in edge yet? ;)13:37
ogra_Saviq, yes13:37
zygaSaviq: I didn't check but I think ogra_ pushed it13:37
jdstrandzyga: what I was against is the policy being spread out over multiple file and thus making it hard to see. this is making things easy to see :)13:37
* zyga nods 13:37
Saviqogra_, zyga thanks, that's helpful13:38
Son_Gokuzyga, morphis: snapd 2.26.3 and snapd-glib 1.12 are building13:38
zygaSaviq: this will be in 2.27 (mount changes)13:38
ogra_Saviq, i was actually greeted with a running kisok-app when entering my office this morning ;) thanks to auto-update13:38
morphisSon_Goku: nice!13:38
Son_Gokumorphis: I had to drop the libexecdir test fixes patch because it wouldn't build13:38
zygahey Son_Goku, sounds great :-)13:38
Son_Gokuand the changes were too drastic13:38
Saviqogra_, :)13:38
morphisSon_Goku: a simple rebase didn't work?13:38
Son_GokuNope13:38
Son_Gokuthere were way too many changes13:38
Son_Gokuanyway, tests are still not enabled in the Fedora packages anyway13:38
morphisright13:39
Son_Gokuthat thing needs to be merged for 2.2713:39
morphisneed to follow up with the various bugs I filed to get packages updated and AFAIK you still need to review one :-)13:39
zygafgimenez: can you tell me more about that test that you just mentioned?13:42
fgimenezzyga: of course thanks, let me push the last changes https://github.com/snapcore/snapd/pull/334813:43
mupPR snapd#3348: tests: add core revert test <Created by fgimenez> <https://github.com/snapcore/snapd/pull/3348>13:43
zygafgimenez: thank you13:43
fgimenezzyga: last changes pushed13:51
zygafgimenez: looking13:51
fgimenezthank you zyga13:52
fgimenezzyga: you can execute it with "spread -v qemu:ubuntu-16.04-64:tests/nested/core-revert"13:55
mupPR snapcraft#1322 closed: state: ignore the 'any' architecture in the build packages apt cache <Created by elopio> <Merged by sergiusens> <https://github.com/snapcore/snapcraft/pull/1322>13:55
fgimenezzyga: anyway i'm not sure if just installing network-manager is enough for surfacing the problem, maybe it should be configured somehow?13:55
Son_Gokuzyga, morphis: https://bodhi.fedoraproject.org/updates/FEDORA-2017-74f7c7df46 (F26), https://bodhi.fedoraproject.org/updates/FEDORA-2017-2e4459fa03 (F25), https://bodhi.fedoraproject.org/updates/FEDORA-2017-866e9643a8 (F24)13:57
morphisSon_Goku: can you add those to the forum thread?13:57
Son_GokuI don't know which one to add it to, and I have to go to work13:57
rharpermorphis: here13:58
zygafgimenez: let me show you what CE did14:00
pedroniszyga: jdstrand: notice that there was still the open idea to let the base declaration be updateable from the store14:03
pedronissplitting it might make understanding that flow harder, don't know14:03
zygaChipaca: we found the issue14:06
zygapedronis: aha14:06
Chipacazyga: is it potatoes14:06
zygapedronis: I thought that was ony about the snap declaration, not the base declaration14:06
zygaChipaca: it's snap list,14:06
zygaChipaca: snap is not in devmode in state14:06
zygaChipaca: but notesFromLocal has some logic that is probably stale14:06
Chipacathat's a relief (in that at least that bug i got)14:06
zygaChipaca: I'm going to look at that now14:06
Chipacaok14:06
* zyga actually should eat lunch first14:16
zyganiemeyer: the kernel change is one thing, the snapd change is another thing14:17
zyganiemeyer: when we change core, that core's snapd needs to do the setup14:17
zyganiemeyer: (like 2-phase setup really)14:17
zyganiemeyer: maybe we should re-exec into new core snapd even on core systems14:18
zyganiemeyer: then shutdown will need to care after the kernel part of the problem only14:18
pedroniszyga: we wait for reboot on core systems before doing the 2nd phase14:19
zygapedronis: reboot yes but I mean we should restart and reexec snapd on core as well14:19
zygapedronis: I don't think we do that14:19
pedroniszyga: ?14:19
pedroniswe don't finish the install14:19
zygapedronis: (so that the incoming snapd gets to finish profile generation before boot)14:19
pedronisuntil we are after reboot14:19
zygapedronis: yes, and that is also part of the problem14:19
pedronisone of the thing we planned to change is not too wait for the reboot long14:19
zygapedronis: don't get me wrong, just one of many options14:19
zygapedronis: the bug is that on boot the profiles are stale14:20
zygapedronis: and they can be stale because kernel or core changed (or maybe gadget too, I didn't think about it)14:20
zygapedronis: gustavo suggested to update profiles on shutdown, this would allow us to do kernel changes correctly14:20
zygapedronis: but core changes cannot be handled this way14:20
zygaI also wonder what this means for attribute hooks14:21
pedroniswell we cannot restart snapd14:21
pedronisbecause core is the full root14:21
pedronisisn't unclear things would work in all casses14:21
zygapedronis: aha14:21
zygapedronis: well, we could make it work14:22
zygabut I think the general case needs to be investigated more14:22
Chipacaok, i'm off to a parents' evening (a.k.a. teachers' nightmare). Bbl...14:23
zygaChipaca: will there be tapas?14:23
zygaChipaca: enjoy :)14:23
ChipacaI don't think there'll be anything to eat14:24
Chipacabut i could be wrong14:24
Chipacabut i won't eat it anyway14:24
Chipacabecause, waste time14:24
pedroniszyga: anyway moving starting snapd as early as possible on the core would also solve the problem, no?14:24
pedronisI early in the boot sequence14:25
zygapedronis: yes14:26
zygapedronis: though it is unclear what happens if, say, snapd fails and things go south14:26
zygapedronis: or how long will that slow down the boot sequence14:26
pedroniswell on a core device14:27
pedronisall interesting things will be snap14:27
pedronisso they need those profiles14:27
zygapedronis: also we probably want to say "hey snapd, start but hold it there for most activities as, you know, we're still booting"14:27
zygapedronis: then say "ok, GO" later14:27
zygacould be pretty nice actually14:28
zygasnapd could hold a mode (in memory only)14:28
zygabooting, running, shutting-down (or something)14:28
zygaand could react to requests14:28
zygaand alter ensure as appropriate14:28
pedronismaybe, we don't a lot at all14:28
pedronisthere14:28
pedronisunder normal circumstances14:29
pedronisprofile rewriting is probably the biggest bit14:29
pedronisbut also the one we want14:29
zygaI'd like to avoid things like bootup, super early, just out of initrd and we run refresh or what not14:29
zygayes, I agree14:29
pedroniswell refresh is scheduled14:29
zygayes, but it will run if we're unlucky14:30
pedroniswe can do things about that14:30
zygayes14:30
zygathat's my point about the mode variable14:30
zyganot do things that are not appropriate14:30
pedronisanyway sounds a forum topic14:30
zygavery much so14:30
mupPR snapd#3350 opened: interfaces,overlord/ifacestate: make sure installing slots after plugs works similarly to plugs after slots <Created by pedronis> <https://github.com/snapcore/snapd/pull/3350>14:35
morphiszyga, mvo: https://github.com/snapcore/snapd/pull/3308 is ready for merging if you don't see anything else14:54
mupPR snapd#3308: tests/lib: introduce pkgdb helper library <Created by morphis> <https://github.com/snapcore/snapd/pull/3308>14:54
mvomorphis: commented, there is another micro opitmization you could do, but I can also merge and propose this later15:11
mvomorphis: tests are green so15:12
mvomorphis: I will just merge and push my diff later15:12
niemeyerLunch15:12
mupPR snapd#3337 closed: errtracker: try multiple paths to read machine-id <Created by morphis> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/3337>15:12
davhouCan someone offer a solution to this error I get when trying to run an installed snap? https://paste.ubuntu.com/24599229/plain/15:13
mupPR snapd#3351 opened: errtracker: small simplification around readMachineID() <Created by mvo5> <https://github.com/snapcore/snapd/pull/3351>15:13
davhoureceiving: "cannot create lock directory /run/snapd/lock: Permission denied" running as root or via sudo15:14
* zyga goes to handle some errands15:14
davhourunning Ubuntu 16.04.2 LTS15:14
ogra_davhou, stop doing that as root, and dont use sudo15:16
morphismvo: sounds good! thanks15:26
mupPR snapd#3308 closed: tests/lib: introduce pkgdb helper library <Created by morphis> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/3308>15:27
mupPR snapd#3352 opened: interfaces/log-observe: allow using journalctl from hostfs for classic distro <Created by jdstrand> <https://github.com/snapcore/snapd/pull/3352>15:27
mupPR snapd#3347 closed: snap-confine: move rm_rf_tmp to test-utils <Created by stolowski> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/3347>15:30
morphisniemeyer: do you saw https://github.com/snapcore/snapd/pull/3274 already?15:34
mupPR snapd#3274: cmd/snap,tests/main: add force-devmode switch instead of spread system blacklisting <Created by morphis> <https://github.com/snapcore/snapd/pull/3274>15:34
Saviqcan I change privacy of a snap after I've registered a name, but before I've uploaded anything? does it matter before I publish anything?15:41
niemeyermorphis: If there are no comments there from me probably not15:44
zygawe should really fix the openvswitch test15:44
zygaI'll check out why it keeps timing out :/15:44
morphisniemeyer: references to you are there, asking for your comments :-)15:45
niemeyermorphis: So you'll get them..15:45
* zyga moved to the pier to observe uncommon event of two cruise ships departing15:46
zygaI can obviously do code reviews at the same itme15:46
zygajdstrand: I posted a question on https://github.com/snapcore/snapd/pull/3352#pullrequestreview-3897754715:47
mupPR snapd#3352: interfaces/log-observe: allow using journalctl from hostfs for classic distro <Created by jdstrand> <https://github.com/snapcore/snapd/pull/3352>15:47
zygajdstrand: and replied to myself :)15:51
zygasorry for the noise15:51
kyrofaSaviq, I don't even think you get a snapd ID before you upload anything16:07
kyrofaErr, snap ID16:07
kyrofaSaviq, for example, you can't add collaborators until you've uploaded at least one revision16:08
kyrofa(at least, last I checked)16:08
* Chipaca returns from the void16:17
kyrofaChipaca, lost in time and space? (arkham horror reference /me hopes someone gets)16:18
* Chipaca hugs kyrofa 16:18
Chipacakyrofa: nobody gets it, but we like you anyway16:19
Chipaca:-p16:19
kyrofa:(16:19
Chipaca:-D16:19
* kyrofa hugs Chipaca back anyway16:19
Chipacakyrofa: in my defence, I've just been through 11 interviews with as many teachers in an hour and a bit, so I'm feeling slightly evil16:21
ogra_and ? are your kids hired16:22
ogra_?16:22
Chipacait's a bit of a record I've only had to censor myself with one of them16:22
kyrofaChipaca, oh brutal16:22
Chipacaogra_: I think they go to the next phase because of audience votes16:22
ogra_lol16:22
Chipacaogra_: the jury definitely voted them out16:22
* Chipaca wonders if he should bling up his PR so it gets reviews16:27
pedronisChipaca: is the service refactor reviewable? or does it need changes because of this morning discussions?16:28
Chipacapedronis: it's reviewable16:28
Chipacapedronis: it includes what I think is the outcome of this morning's discussions, already16:29
pedronisok16:29
pedronisChipaca: snapd#3322 needs a 2nd review16:29
mupPR snapd#3322: overlord: make config defaults from gadget work also at first boot <Created by pedronis> <https://github.com/snapcore/snapd/pull/3322>16:29
kyrofaChipaca, I hear ALL CAPS and containing "you won't believe what happens" helps16:29
Chipacakyrofa: http://www.commitstrip.com/en/2014/08/07/our-cto-has-discovered-an-incredible-way-of-making-developers-read-his-commit-messages-you-wont-even-believe-how-he-did-it/?16:29
ogra_pedronis, boo ... now you made us all miss the opportunity to see how a blinged up Chipaca PR looks like16:30
Chipacaogra_: so. much. unicode16:30
ogra_haha hands and all ?16:30
kyrofaChipaca, hahahahaha, EXACTLY what I was talking about16:31
Chipacaogra_: the only limit is the version of unicode people have16:31
kyrofa"This was the most stupid bug in the world, fixed in the smartest way ever" <- how I feel about much of my work, but no one realizes it was my bug in the first place16:31
Chipacaogra_: like, if i want to use an avocado, i'd better hope people are on yakkety16:32
Chipacakyrofa: :-D16:32
ogra_dang ... no avocados for me then16:32
Chipacaogra_: 🥑16:32
ogra_:(16:32
Chipacaogra_: 🤘?16:33
ogra_trapped in 16.04 .... only square avocados16:33
ogra_that one works !16:33
Chipacasee? that one's in unicode 8 :-)16:33
pedronisChipaca: we never have services so far in snapstate tests ?16:37
=== chihchun is now known as chihchun_afk
Chipacapedronis: correct16:37
Chipacapedronis: ARE YOU SCARED16:37
pedronisno, but I need to say something in the review16:38
Chipacaok :-)16:38
pedronisChipaca: reviewed16:43
Chipacawoo16:43
Chipacapsh! tests16:44
pedronisChipaca: I think now I understood your question from the ther day, and I answered it, the alias tests have a similar problem16:44
pedronisthey needed actual apps16:44
pedronisat Info-level actual apps16:44
Chipacayeah16:45
pedroniss/at/at least/16:45
Chipacaah well, I'll dig into that tomorrow16:45
pedronissorry16:45
Chipacawas going to have to do it at some point anyway16:45
Chipacano problem! you're probably right :-)16:45
Chipaca(otherwise i'd argue back -- you know i do)16:45
pedronisbut you need to change all the tests anyway16:45
pedronisso :/16:45
Chipaca¯\_(ツ)_/¯16:46
pedronisI mean is not like you managed not to touch them there16:46
ChipacaI did say I had 21 failing tests :-)16:47
Chipacapedronis: thank you for the review!16:47
sdrobertw[Ubuntu core question] Does Ubuntu core supports any library to deploy the built-in GPS in DB410c, just as android has?16:50
sdrobertw[Ubuntu core question] Is there a way to "convert" existing SW applications installed via RPM or apt-get, to snappy packages so I can install them on DB410c?16:50
Chipacaogra_: is that the dragonboard we support?16:52
* Chipaca never remembers16:53
kyrofaChipaca, indeed16:53
ogra_Chipaca, yes, but we dont have any userspace snaps for GPS or anything16:53
Chipacaogra_: what interface is it?16:53
ogra_(i'm not even sure we have a snap interface for GPS yet)16:53
ogra_no idea ... never used it16:54
Chipacai mean, usb? i2c? potato-over-carrier-pidgeon?16:54
Chipacaah16:54
ogra_(i rarely carry moy board outside, to even get a sattelite fix)16:54
ogra_*my16:54
kyrofasdrobertw, I'll let these guys debate over your first question, but your second question: you can tell snapcraft to unpack debs into a snap using `stage-packages`16:54
kyrofasdrobertw, but that needs to be done on a machine with those debs available via their sources.list configuration. If this is just a deb you have, you can supply it directly via the `source` keyword16:55
ogra_sdrobertw, https://github.com/ogra1/laidout is a very ugly but working way ... (pretty old snap i guess there are better ways to get rid of the wrapper.sh nowadays)16:55
ogra_indeed, if you want to just use a deb from the ubuntu archive, just stage-packages shoudl eb enough16:57
ogra_*should be16:57
kyrofasdrobertw, the one complication you can run into by essentially packaging a deb as a snap is that a snap is mounted in a particular directory: where the deb might be configured to reach out to /usr/share, it now need to to use $SNAP/usr/share16:57
kyrofaJust depends on the application16:57
sdrobertwwill you join OpenHours real quick?16:58
kyrofaSure!16:58
* ogra_ sadly can't ... on my way out the door, only Chipaca's ping stopped me16:59
sdrobertwhttp://link.linaro.org/openhoursjoin16:59
* Chipaca hugs ogra_ 16:59
sdrobertwThanks!16:59
Chipacaogra_: have a good one16:59
* ogra_ hugs Chipaca 16:59
ogra_you too16:59
kyrofaThose germans, always leaving at the beginning of the day16:59
ogra_kyrofa, but we also dont sleep til afternoon16:59
ogra_!16:59
kyrofaHahaha16:59
sdrobertw94321636216:59
* ogra_ looks around in case there are any asian earlybirds still up :P17:00
* Chipaca fades into the bushes17:08
kyrofasdrobertw, you know where to find us if you have questions when making those tutorials-- always happy to help!17:33
sdrobertwThanks for all of your help ogra_ and kyrofa17:40
kyrofasdrobertw, any time17:41
morphismvo: https://github.com/snapcore/snapd/pull/3307 is ready for merging too :-)17:47
mupPR snapd#3307: tests: abstract common dirs which differ on distributions <Created by morphis> <https://github.com/snapcore/snapd/pull/3307>17:47
mupPR snapd#3351 closed: errtracker: small simplification around readMachineID() <Created by mvo5> <Merged by niemeyer> <https://github.com/snapcore/snapd/pull/3351>18:06
niemeyermorphis: ping18:07
morphisniemeyer: pong18:07
niemeyermorphis: Heya18:07
morphishey!18:07
niemeyermorphis: Quite note on PR process: we avoid rebasing while changes are in review, otherwise we lose track of what was reviewed18:08
niemeyers/Quite/Quick18:08
niemeyermorphis: snapd#3222 as one example18:08
mupPR snapd#3222: many: fix test cases to work with different DistroLibExecDir <Created by morphis> <https://github.com/snapcore/snapd/pull/3222>18:08
morphisniemeyer: fine for me, trying to keep my git log clean but if that is preferred I will follow that18:09
niemeyermorphis: Without the rebase, I could click on "View changes" since my last review and get an idea of where we are18:09
niemeyermorphis: Feel free to keep it anyway you want before pushing for review.. after that, it's more important that people can track what is being done, otherwise it's a full review every time18:10
morphisaye18:10
morphisniemeyer: what are you referring to with "I would actually prefer the original approach. "?18:11
morphisniemeyer: what I implemened or what mvo suggests?18:11
niemeyermorphis: Neither.. the original one, in the tree18:11
niemeyermorphis: systems: -debian* feels pretty good to me18:12
morphisniemeyer: the thing is that we want to run portions of these tests18:12
morphisas we have a bundled situation with seccomp enabled but AppArmor not18:12
morphisso we want at least verify the connected part of the interfaces tests works fine18:13
morphisbut leave out the parts which verify the interface denies things18:13
morphis(the disconnected case)18:13
niemeyermorphis: Ah, I see18:14
niemeyerOkay, let me provide a new review then18:15
morphisniemeyer: thanks!18:16
niemeyermorphis: np, review updated18:28
=== JanC is now known as Guest79336
mupPR snapcraft#1323 closed:  state: search for the build package that provides a virtual package <Created by elopio> <Merged by sergiusens> <https://github.com/snapcore/snapcraft/pull/1323>19:22
mupPR snapcraft#1315 closed: lxd: mock platform in the FakeLXD fixture <Created by kalikiana> <Merged by sergiusens> <https://github.com/snapcore/snapcraft/pull/1315>20:10
* ahoneybun wonders when the filesystem bug would be fixed20:11
ahoneybunelopio: ^20:11
kyrofaahoneybun, which filesystem bug?20:12
ahoneybunwell all the snaps show as loop devices in file managers20:13
ahoneybundolphin and nautilus20:13
davhou@ogra, OK, so back to my id, can you tell me what the folder ownership should be for /run/snapd?20:15
nothaldavhou: No such command!20:15
davhouogra_,  OK, so back to my id, can you tell me what the folder ownership should be for /run/snapd?20:16
davhouogra_, it was root:david although I am getting the same error message as id david when i try to run the snap20:17
kyrofadavhou, mine is the same20:19
davhoukyrofa, the ownership on folder?20:20
kyrofadavhou, yeah20:20
kyrofa(but no errors here)20:20
kyrofaThough that surprises me a bit... what happens with multiple users?20:21
kyrofanoise][, is transferring snap IDs to other publishers easy these days? Or still a yucky manual process? i.e. should I still be giving the "register <snap>-<nick>" advice?20:35
noise][kyrofa: easy20:41
kyrofanoise][, excellent!20:41
noise][we still want reasonable commitment / justification to take a reserved name, but we've been a lot more free with them since transfers got easy20:41
kyrofaOf course, makes sense20:42
kyrofanoise][, okay, a harder question: if I was starting today, I'd request the upstream name. However, I'm not, and I have thousands of users (well, downloads anyway) of my snap. Do we have a process for renaming snaps?20:44
kyrofanoise][1, looks like your internet flaked there, not sure if you saw my question20:51
noise][1nope, sorry20:53
nacckyrofa: fwiw, i recently renamed a snap by adding a wrapper to my old snap's yaml that replaced teh comamnds with 'please don't run this, use this snap isntead'20:55
kyrofanacc, yeah... I don't want to do that to my users though20:56
nacckyrofa: i wish there was some sort of rename op at the store level, but it would force the store to carry historical state (forever?)20:56
naccand i'm not sure if it's organized in that way (i have no idea, i mean)20:56
kyrofanacc, not really: nothing in snapd cares about the name, it uses a snap ID20:56
kyrofaThat's not quite true, the name is used to form file paths20:56
kyrofaSo that sounds hard20:57
kyrofaSo the store would probably be fine with it, but snapd will probably barf20:57
kyrofaI'll just live with my namespaced snap name20:57
nacckyrofa: oh i didn't realize it was all via IDs20:57
naccso it could in theory have a lookup table for IDs20:58
nacc(the store)20:58
naccbut yeah, snapd would need to dtrt20:58
kyrofaIndeed20:58

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