/srv/irclogs.ubuntu.com/2017/04/21/#snappy.txt

=== chihchun_afk is now known as chihchun
=== JanC is now known as Guest10980
=== JanC_ is now known as JanC
zygagood morning07:01
zygamvo: hey, do you prefer to talk here or do a hangout to introduce the problem quickly and then talk here?07:01
mvozyga: here or in the forum so that other may also benefit07:08
zygamvo: ok, let's do a quick conversation here, the rest can be done on the update-ns thread07:08
zygamvo: the first thing to look at is the general algorithm of the tool: https://github.com/snapcore/snapd/pull/3216/files07:09
mupPR snapd#3216: cmd/snap-update-ns: add actual implementation <Created by zyga> <https://github.com/snapcore/snapd/pull/3216>07:09
zygaThat code is fairly well commented and simple07:09
zygathere are two kinds of input apart from the snap name07:09
zygathe snapd-created mount profile07:09
zygaand the kernel-maintained mount table07:10
zygaif you have a look at the code there you can see that we read the desired mount profile (what we want to have in the mount namespace of a given snap) and compare it to what is currently there (what we wrote on prior run of snap-update-ns or snap-confine)07:10
zygafrom there we compute what to do, this is so far all the old code and there's nothing wrong with it AFAIK07:11
zyganow once we know what to do we represent that as a list of mount changes to perform: either mount something or unmount something07:11
zygabecause we work with the simplistic fstab-like files written by snapd we don't really know what got mounted (e.g. by older version of snap-confine or by the snap itself)07:12
zygaso we cross check each change with the mountinfo table07:12
zygaand here is where the dragons are07:12
zygathe interfaces/mount.Change.Needed function is non trivial07:13
zygabefore we jump into that, please let me know if this makes sense so far and if you have any questions?07:14
mvozyga: so far so good07:18
zygaok07:24
zygaso I looked at the mountinfo table and talked to the kernel guys (initially I wanted to make a patch for the kernel to make this information easier to grok but later abandoned that idea)07:25
zygathe mountinfo table has records with several fields, the most obviously important are MountDir which says where something is mountd (relative to the root filesystem) and MountSource (which says what is mounted)07:25
zygasuper important though not obviously so is the Root field which tells us the "root of the mount within the filesystem" (to quote kernel documentation)07:26
mupPR snapcraft#1272 opened: tests: initial setup for the snapcraft snap tests with spread <Created by elopio> <https://github.com/snapcore/snapcraft/pull/1272>07:26
zygaas an example, I mounted tmpfs in my home directory "/home/zyga/data"07:27
zygathen the Root field of that entry is "/" as the "whole" tmpfs is mounted there07:27
zygathen I created a directory "/home/zyga/data/foo" and similarly "bar"07:28
zygaand bind mounted foo over bar07:28
zygaso now the subtree rooted at "/foo" (relative to the tmpfs itself) is mounted07:28
zygaand the mountinfo entry for that speaks about MountDir: "/home/zyga/data/bar", with Root: "/foo"07:29
zygawhat is problematic now is that it's hard to know what is "/foo" relative to, we only see "tmpfs" filesystem name07:29
zygaand arbitrary and irrelevant "none" that I passed as device name (via mount -t tmpfs none /home/zyga/data)07:29
zygaso on quick look it's hard to say that "/foo" refers to a directory on the same filesystem that is mounted in /home/zyga/data/07:30
zygathere are two more pieces of information07:30
zygaeach mount entry has two numeric values: MountID and ParentID07:30
zygain the example I was describing so far the root filesystem has MountID of 2507:31
zygathe /home/zyga/data tmpfs has MountID of 392 and ParentID of 2507:31
zygathe /home/zyga/data/foo -> /home/zyga/data/bar bind-mount has MountID 400 and ParentID of 39207:32
zygaso here's my issue now:07:32
zygais this sufficient to create a tree of mounts and figure out the answer of Change.Needed or do we need additional information (e.g. collected by walking and stat'in the filesystem)07:33
zygaI was hoping we don't07:33
zygathe algorithm for solving the issue that I wrote so far was based on the following idea:07:33
zygawhen we are asked to perform a mount change07:33
zygato check if that thing is mounted already (for bind mounts)07:34
zyga(because only bind mounts are harder)07:34
zyga(perhaps I should explain why: because regular mounts describe what is mounted and where it is to be mounted fully07:34
zygawhile bind mounts describe the source indirectly07:34
zygaas we don't know what is the nature of /home/zyga/data/foo from the fstab-like entry07:35
zygawe just know we need to mount it on /home/zyga/data/bar07:35
zygaso the idea behind that algorithm is as follows:07:35
zygalook at the source of the bind mount (/home/zyga/data/foo) and resolve it to something absolute07:35
zygaI chose to use the mounted device (e.g. /dev/sda2, but this breaks apart with tmpfs)07:36
zygaand a path relative to that device07:36
zyga(or to a filesystem on that device)07:36
zygaand then compute all the things that are exactly the same07:36
zygaso we get a set in return07:36
zygaand if the destination of a bind mount is in that set we don't need to perform the change07:36
zygathis works well for simple examples but for this tmpfs example I referred to it falls apart07:37
zygaand I think I need to start using the MountID and ParentID07:37
zygaunfortunately there's no easier way to check as far as I know07:37
zygalet me know if this makes sense, I can show you what I have (the implementation of interfaces/mount/AliasesOf)07:37
zygaand the array of tests I wrote07:37
morphis_mvo: regarding dbus session bus activation, just give me a ping when the PR is ready and I will give it a try and do a review07:38
zygaI can also convert this to a forum topic07:38
mvozyga: I think it does make sense07:38
mvozyga: this is all in the PR, right?07:38
mvomorphis_: the most important missing piece is creating of /etc/dbus-1/session.d/snapd.conf in the re-exec case, that should be finish in some minutes I hope07:39
morphis_mvo: great!07:39
zygamvo: I'll break to eat some breakfast and be back here soon07:39
mvozyga: what should I do next? review the PR ? or poke at the mountinfo stuff to see if there is an easier way to figure out the bind mounts?07:39
zygamvo: maybe look at mountinfo and see what you make of it07:40
zygamvo: specifically look how it looks like for snaps07:40
zygamvo: for tmpfs'es07:40
zygamvo: and regular filesystems07:40
zygamvo: just to build some extra intuition07:40
zygamvo: note that mountinfo is specific to the namespace your are observing it from07:40
zygamvo: so you may want to nsenter to a snap mount namespace as well07:41
mvozyga: ta07:41
* zyga -> breakfast07:41
morphis_mvo, zyga: do you guys have time for another review on https://github.com/snapcore/snapd/pull/3177 today?07:44
mupPR snapd#3177: cmd/snap: make users Xauthority file available in snap environment <Created by morphis> <https://github.com/snapcore/snapd/pull/3177>07:44
mvomorphis_: yes07:49
morphis_mvo: thanks07:52
mvopstolowski: hm,hm, I would love to merge 3119 but  I think we need a gustavo review first?08:05
pstolowskimvo, indeed08:05
fgimenezhi mvo: wrt the sru verification all is good for trusty, xenial and yakkety, we have an error that afaik is not a regression in the tests on zesty http://paste.ubuntu.com/24425481/ "snap create-key" hangs08:11
fgimenezmvo: we found this in the branch that enabled expect tests for ubuntu-core systems, not until now on classic08:12
mvofgimenez: and it also hangs outside the tests?08:12
fgimenezmvo: yep, i've tried manually on an up to date zesty and it hangs08:13
mvofgimenez: could you do a quick check if previous versions of snapd on zesty were also affected?08:13
fgimenezmvo: sure on it08:13
mvofgimenez: thank you! if its a regression we need to do something, otherwise its ok, but obviously this needs attention :)08:13
mupPR snapcraft#1273 opened: Check snap name <Created by kalikiana> <https://github.com/snapcore/snapcraft/pull/1273>08:17
fgimenezmvo: with 2.23.6+17.04.1 it hangs too http://paste.ubuntu.com/24425510/08:22
mvofgimenez: ok, "great"08:23
mvofgimenez: at least not a regression but this needs urgent attention, can you please create a forum topic and tag upcoming?08:24
mvofgimenez: strace of the hanging thing would be nice but I can check that in a bit on my zesty machine when I finished my current task08:24
fgimenezmvo: sure, i'll update the sru bug too once the test run ends, only a few of them remaining08:25
mvota08:30
fgimenezmvo: https://forum.snapcraft.io/t/snap-create-key-timeouts/35908:37
wligtenbergq08:38
pstolowski$ snap changes everything08:43
pstolowskiYes, yes it does.08:43
pstolowski:)08:43
mvofgimenez: hm, confusing, I just tried snap create-key in a 17.04 vm with 2.23.6 /2.24 it works08:55
mvofgimenez: so maybe test related afterall? I ran the commands manually08:55
fgimenezmvo: mm i tried manually too, let me check again08:56
mvofgimenez: what kind of machine? maybe I just need a different vm/machine. I can also test on real HW08:57
mvofgimenez: if you can reproduce it, a ps afx would be nice, also an strace08:58
fgimenezmvo: yes, it hangs here, is your system up to date? maybe this is related to another package08:58
mvofgimenez: i.e. ps to see if there is gpg running08:58
martyixIs there a web catalogue of existing snaps? I can't find it on https://snapcraft.io/08:58
fgimenezmvo: sure, this is the strace http://paste.ubuntu.com/24425544/08:58
mvofgimenez: I upgraded it some minutes ago, but I did only install snapd from proposed, I can try everything from proposed now08:58
fgimenezmvo: same here, this is a vm created with "adt-buildvm-ubuntu-cloud -a amd64 -r zesty"08:59
davidcallemartyix: hi, closest you can find as a website is https://uappexplorer.com/apps?type=snappy&release=16 that lists all stable snaps. You can also simply use "snap find" on the command line08:59
fgimenezmvo: this is ps afx http://paste.ubuntu.com/24425624/09:00
martyixdavidcalle: I know about "snap find". It looks good, thanks09:00
davidcalleyw09:00
=== JanC is now known as Guest18582
=== JanC_ is now known as JanC
mvofgimenez: thanks, I will build a new vm just to be sure mine is not contaimiated ;)09:03
fgimenezmvo: great thanks, i'll do the same :)09:04
=== alan_g_ is now known as alan_g
morphis_mvo, fgimenez: I see the create-key issue too, on Linode (latest git) and on my desktop (2.23.6)09:31
fgimenezmorphis_: thanks a lot for confirming! :) i'm seeing it too in my desktop, 2.23.1+16.1009:34
morphis_mvo, pedronis: any idea what that can be?09:34
pedronismorphis_: it works here with 2.2409:35
pedronismorphis_: is the test that hangs, or just the command?09:35
morphis_both09:35
mvomorphis_: I still cannot reproduce09:35
morphis_I see it on https://github.com/snapcore/snapd/pull/3156 for debian too09:36
mupPR snapd#3156: many: support debian in our CI <Created by morphis> <https://github.com/snapcore/snapd/pull/3156>09:36
morphis_pedronis: happy to provide more data09:36
pedronismvo: yea, it works here too09:37
morphis_pedronis: it doesn't seem to work with SNAP_REEXEC=0 too09:37
pedronismorphis_: what is your gpg --version ?09:39
morphis_also tried after removing my $HOME/.snap dir09:39
morphis_1.4.2009:39
morphis_1.4.20-1ubuntu3.109:39
pedronissame here09:40
Chipacaguys, i'm going to head back to bed and wait for this to boil over09:44
Chipacasee you on the other side09:44
morphis_mvo: updated https://github.com/snapcore/snapd/pull/3177 with all requested changes09:45
mupPR snapd#3177: cmd/snap: make users Xauthority file available in snap environment <Created by morphis> <https://github.com/snapcore/snapd/pull/3177>09:45
morphis_pedronis, fgimenez: ok, now it worked again09:47
morphis_fgimenez: do we purge $HOME/.snap during the spread tests before every test is executed?09:48
pedronismorphis_: ?09:48
morphis_pedronis: I did: mv $HOME/.snap $HOME/.snap-old and ran create-key again09:48
fgimenezmorphis_: i don't think so, let me check09:48
morphis_it took quite some time but finished now09:48
morphis_pedronis: interestingly I have now two default keys09:49
pedroniswell if you are creating the same key it should fail09:49
pedronisin which sense two default keys?09:49
morphis_pedronis: https://paste.ubuntu.com/24425759/09:50
pedronisthat is very weird09:50
morphis_it is09:50
morphis_trying to reproduce that09:50
morphis_pedronis: do we save any state information outside of $HOME/.snap?09:50
NicolinoCurallihi all:  i am tryìng to register a kernel, gadget, and assertion for a custom board on public store: how can i make sure that the assertion model is present on the store? i just upload kernel and gadget with the user owning the the signing key for the model assertion09:51
pedronismorphis_: no09:51
pedronisbut we don't do locking either, wondering if gpg itself does locking09:51
pedronisanyway that looks like create-key was run twice09:51
NicolinoCurallipedronis: your answwer are to me09:52
NicolinoCuralli?09:52
pedronisNicolinoCuralli: no09:52
mvomorphis_: \o/ - I have a look09:53
pedronisNicolinoCuralli: there is no way to upload a model assertion to the store, it's also not strictly necessary, the thing that need to be in the store is key that signed it09:53
pedronisI mean the corresponding account-key09:53
renatHi, guys! =) It's Renat from Screenly.09:54
pedronisthis might change but atm is not  a requirement nor are there tools to get it there09:54
renatI have a question about the timezone-control interface and the following ticket:https://bugs.launchpad.net/snappy/+bug/165068809:55
mupBug #1650688: timedatectl set-timezone fails on UC16 <hwe> <Snappy:Confirmed for ogra> <https://launchpad.net/bugs/1650688>09:55
renatThat part is pretty critical for our system and I wasn't able to make it working.09:56
renatWhat do you think about enabling write access to the /etc/writable/localtime?09:56
renatFor those who connected to the timezone-control slot, of course.09:56
NicolinoCurallipedronis: a further question:  what is the procedure to publish a kernel on public store? i upload kernel and gadget with a user owning the gpg key with i sign my model assertion: what I also need to make?09:57
morphis_pedronis: ok, couldn't reproduce this a second time09:58
morphis_pedronis: feels like I had another `snap create-user` process still running in the background09:58
pedronismorphis_: yes09:58
pedronisNicolinoCuralli: it needs to be approved by a reviewer which is a bit adhoc, notice that only devices with a model signed by the publisher of the kernel can use it09:59
morphis_fgimenez: maybe we need to give the test case just a higher timeout10:00
pedronisentropy issues?10:02
NicolinoCurallipedronis: ok : for me this restriction is ok; what about the time for a answer about problems with kernel and gaddget i uploaded?10:02
fgimenezmorphis_: yes, i'm trying to measure how much, in a zesty vm it has been stuck for 13min so far, let's see..10:03
pedronisNicolinoCuralli: I don't understand that question?10:03
morphis_fgimenez: wow, that is a lot10:03
NicolinoCurallipedronis: how many time the review for kernel and/or gadget takes ?10:05
pedronisNicolinoCuralli: ah,  I don't know, I would ping jdstrand when is around here, he might know who to ping10:06
NicolinoCurallipedronis : thanks, i pinged jdstrand10:12
zygamvo: I wrote on the forum about my problem: https://forum.snapcraft.io/t/fixing-live-propagation-of-mount-changes/2310:21
zygamorphis_: ^^ insight appreciated10:22
mvozyga: yeah, just reading. so the kernel doc says that the mount-id is unique, does that help us?10:25
zygait is unique, yes (otherwise it'd be a poor ID); the issue is that we don't know what is really being shared in bind mounts10:25
zygathe MountSource is useless (it's the device, that's fine but for virtual filesystems like tmpfs or others it's not unique)10:26
zygathe end of the message contains this information, not sure if you read that far10:26
zygaI also worry because gustavo wants to use this for overmount10:26
zygaand I want to have a generic solution, not something that only sometimes kind of works10:26
zygaI also suspect it's going to get more hairy if we use overlayfs10:26
zygabut I didn't try10:27
mvozyga: ok, I clearly have not dived deep enough yet10:27
zygaI'm trying from simple towards complex and I already got to a point where I feel stuck10:27
fgimenezmvo: if the create-key problem is hard to reproduce we can go ahead with the sru verification and add a link to the bug (which wouldn't be a regression in any case), wdyt?10:27
morphis_zyga: looking10:29
zygastgraber: hey, if you have a moment I could really use your insight: with https://forum.snapcraft.io/t/fixing-live-propagation-of-mount-changes/23/1410:29
* zyga rallies all the people that know more than he does10:29
fgimenezpedronis: after adding "-device virtio-rng-pci" to the kvm command line create-key finally ended taking "only" 9min, so seems to be related to the available entropy as you pointed out10:31
morphis_fgimenez: so on a linode instance its taking more than 15 min already10:31
morphis_fgimenez: do you know if there is something we added to the ubuntu images on linode to improve things?10:31
morphis_I guess we have rng-tools installed there10:32
fgimenezmorphis_: not sure, we should try to find a way, with a regular kvm invokation here it takes more than 30min10:32
morphis_fgimenez: ok, activate rng-tools on the debian image with HRNGDEVICE=/dev/urandom and that makes things pretty fast10:34
fgimenezmorphis_: \o/ we should do the same for the ubuntu images10:35
morphis_fgimenez: https://www.howtoforge.com/helping-the-random-number-generator-to-gain-enough-entropy-with-rng-tools-debian-lenny10:35
morphis_I am hacking that for now into my PR10:36
fgimenezmorphis_: great thanks!10:36
morphis_fgimenez: https://github.com/snapcore/snapd/pull/3156/commits/1ea78835c4aebd911a5702d3d352c3f5e9a0fa7a10:39
mupPR snapd#3156: many: support debian in our CI <Created by morphis> <https://github.com/snapcore/snapd/pull/3156>10:39
morphis_lets see how that goes10:39
zygamorphis_: ha, interesting10:42
zygamorphis_: so debian defaults to /dev/random which uses real randomness10:42
zygamorphis_: but we somehow default to /dev/urandom10:42
morphis_yes10:42
zygamorphis_: so a fresh VM without any entropy has a hard time generating all those keys10:43
* zyga really thinks VM providers should offer virtualized randomness 10:43
morphis_fgimenez: seems to work well :-)10:44
morphis_zyga: a bit confusing that we have two test cases: classic-confinement and confinement-classic :-)10:46
zygamorphis_: yes, I know; I think we could roll them into one but they do slightly different checks10:46
tbrzyga: just use this: http://phoeagon.github.io/dev-random-as-a-service/ ;-þ10:46
zygatbr: I'd rather use a virtio passthru from the VM provider10:47
zygamorphis_: there are new bug reports on redhat bugzilla10:53
zygamorphis_: are you tracking those?10:53
ogra_tbr, oh, cool they also offer /dev/null and /dev/zero as a service!10:54
tbrogra_: full spectrum offering!10:55
ogra_yea, now thats a business model one can relate to ...10:55
zygaogra_: /etc/passwd as a service :D10:56
ogra_zyga, you should suggest that to them ... shadow as well :)10:56
morphis_zyga: I am wondering why I don't get notifications for those10:57
zygamorphis_: not sure, just wanted to ask10:58
morphis_zyga: but yeah, see them10:58
zygamorphis_: great, thanks for checking10:58
morphis_zyga: I see four open bugs, https://apps.fedoraproject.org/packages/snapd/bugs10:59
zygayep10:59
morphis_good10:59
morphis_mvo: do you have the commands at hand you use to generate the vendored releae tarball for snapd?11:07
zygamvo, morphis: any ideas on the mount questions I posted?11:10
mvomorphis_: I just use the snapd orig.tar.gz from the ubuntu upload and rename the dir, why?11:12
mvomorphis_: I had meant to write a proper script but not happend yet11:12
morphis_mvo: as we miss certain assembler files in the tarball11:13
mvomorphis_: oh? which ones?11:13
morphis_mvo: like the .s files from https://github.com/golang/crypto/tree/master/salsa20/salsa11:13
mvomorphis_: the vendor tree is  generated from ./get-deps.sh11:13
* mvo looks11:13
morphis_mvo: do we build with gccgo on Ubuntu?11:14
mvomorphis_: no, but we have a test that excercises gccgo11:14
morphis_hm11:14
morphis_mvo: as https://github.com/golang/crypto/blob/master/salsa20/salsa/salsa20_amd64.go has an explicit !gccgo and refers to the .s file for amd64 builds11:14
morphis_zyga: not yet11:15
mvomorphis_: I downloaded https://github.com/snapcore/snapd/releases/tag/2.24 the vendor.tar.xz  and I have the salsa2020_amd64.s file here11:16
morphis_mvo: hm, why do we miss it then on fedora11:17
morphis_mvo: ok, nevermind I will find out why11:19
mvomorphis_: keep me updated please11:20
morphis_will do11:20
morphis_mvo: thanks for approval!11:21
Son_Gokumorphis_: the vendor.tar.xz is a full tarball11:28
Son_Gokuit's not just snapd-2.24/vendor/11:28
Son_Gokuif I were to apply it on top of the regular tarball, it'd be wasteful11:29
mupPR snapcraft#1270 closed: release changelog for 2.29 <Created by sergiusens> <Merged by sergiusens> <https://github.com/snapcore/snapcraft/pull/1270>11:48
=== chihchun is now known as chihchun_afk
mupPR snapd#3217 opened: snap: support for snap tasks --last= <Created by stolowski> <https://github.com/snapcore/snapd/pull/3217>11:56
mvoogra_: just fyi - I'm going to build a new core with the stock xenial systemd to help steve with diagnosing the systemd issue we were seeing12:02
ogra_mvo, fine with me if that doesnt get in the way of the release12:04
ogra_(i actually held back any manual builds til next week to not interfer ... i,.e. for the cound-init stuff)12:05
mvoogra_: hm, good point. I will revert right after I created an image then12:05
ogra_mvo, also ... bug 1650688 seems to go in the direction you proposed ... which means we'll need patches in the systemd package again ...12:06
mupBug #1650688: timedatectl set-timezone fails on UC16 <hwe> <Snappy:Confirmed for ogra> <https://launchpad.net/bugs/1650688>12:06
ogra_(orthogonal ... but relevant i think)12:06
mvoogra_: aha, thanks, I have not checked. I think I prepared a patch for this (iirc), its pretty small and close to the atomic_rename so hopefully things will not be a (huge) pain to maintain12:08
ogra_mvo, right, that patch was what i meant ... i think we should test it soon ... but that means we'll again carry a patched systemd12:09
mupPR snapcraft#1274 opened: Simple explanation of what the test groups mean <Created by facundobatista> <https://github.com/snapcore/snapcraft/pull/1274>12:09
mvoogra_: yeah, its slightly horrible but I see no real alternative currently12:09
ogra_yep12:09
Son_Gokumvo: is 2.24 going out today?12:12
mvoSon_Goku: there is an ongoing discussion with JamieBennett and awe about this right now12:19
Son_GokuI'd really like to know if I should be pushing the button now12:19
Son_Gokuas I was previously told I should hold everything back for Ubuntu...12:19
JamieBennettSon_Goku, we have a release that needs to happen with the current stable on Monday, we have been asked to hold off the 2.24 promotion to stable until then12:20
JamieBennettI will talk to awe again today about it12:20
mvoSon_Goku: my (personal) opinion is that 2.24 is fine to push into fedora or anywhere, it had its source release. its fine IMO if the core snap is not yet on 2.2412:21
zygaSon_Goku: I agree with mvo here,12:21
JamieBennettmvo, Son_Goku I agree12:21
mvobut thats just me :)12:21
zygawe should send it out12:21
Son_GokuI'd rather push it now then :D12:21
mvoaha, apparently not just me!12:21
zyga:-)12:21
* zyga bangs head on the kernel12:21
zygaand mount namespaces come out12:21
mvowe also pushed it into ubuntu-proposed12:21
Son_Gokupush for F24 done12:21
zygathank you!12:22
* zyga updates12:22
Son_Gokupush for F25 done12:22
JamieBennettWe will not change the 2.24 release now, just delay it due to another dependency that the core team do not control12:22
zygabtw, I will create a new interface12:22
mvozyga: for me its systemd-network that I push my head against12:22
JamieBennettthanks Son_Goku12:22
zygasimple one but ... cool and something I wanted for a long time12:22
ogra_zyga, so for proper namespace support we need to ship your head with the kernel ?12:22
Son_Gokupush for F26 done12:22
Son_GokuRawhide already has it12:22
mvoyeah, exactly. 2.24 is done. there might be an official 2.24.1 or something but that would be a new release12:22
zygamvo: I really like this, I just wish it wasn't going in circles; the mount backend is very important for users12:23
mvozyga: +10012:23
zygaI have 6 tests now but with a new approach only one passes12:23
zygaI think the kernel interface for this is really terrible12:24
zygaI need to look at what the kernel does again :/12:24
zygaI'd say that one bit is missing12:24
jdstrandNicolinoCuralli (cc pedronis): re kernel reviews> for the irc backlog, it normally doesn't take very long, but sometimes further discussion is required. I'm answering NicolinoCuralli's specific questions in privmsg12:24
zygathe mount source disambiguator12:24
zygaof some kind12:24
Son_GokuJamieBennett, mvo, zyga: snapd 2.24 will sync out to updates to all supported Fedora releases later today12:24
Son_Gokuhopefully12:24
Son_Gokueither today or tomorrow, depending on when the update masher runs12:24
zygaThank you!12:25
Son_Gokuit doesn't look like it's been kicked off yet, so it might even be today12:25
zygamvo: could you please review https://github.com/snapcore/snapd/pull/320912:44
mupPR snapd#3209: interfaces/mount: add partial implementation of Change.Needed <Created by zyga> <https://github.com/snapcore/snapd/pull/3209>12:44
zygaand https://github.com/snapcore/snapd/pull/3138 if you don't mind12:44
mupPR snapd#3138: interfaces/mount: add Change.Perform <Created by zyga> <https://github.com/snapcore/snapd/pull/3138>12:44
zygamvo and https://github.com/snapcore/snapd/pull/321612:44
mupPR snapd#3216: cmd/snap-update-ns: add actual implementation <Created by zyga> <https://github.com/snapcore/snapd/pull/3216>12:44
Son_Gokudavidcalle: https://github.com/CanonicalLtd/snappy-docs/pull/7112:53
mupPR CanonicalLtd/snappy-docs#71: Update Fedora snapd version to 2.24 <Created by Conan-Kudo> <https://github.com/CanonicalLtd/snappy-docs/pull/71>12:53
morphis_Son_Goku: you submitted to stable already?13:04
Son_Gokumorphis_: yes, now I just have to wait for Bodhi masher to sync them out13:04
morphis_despite that 2.24 isn't yet official?13:05
zygamorphis_: yes, read above please13:06
morphis_zyga: I did, however the rational from my side to hold back until 2.24 (or any other release) is marked official is, that there might be changes which depend on the corresponding core snap13:07
morphis_in this case I am sure there are not but that is general thing we need to keep in mind13:07
mvomorphis_: we are currently a bit out of sync because of soemthing else going on. normally it would all be in sync13:08
morphis_zyga: like if we do the /etc change in snap-confine we have a dependency13:08
zygamorphis_: yes, that's true13:08
morphis_mvo: yeah13:08
morphis_mvo, zyga: wouldn't it make sense to label a release when we announce it more as a candidate?13:09
morphis_as that is what we do, we push a new core snap to candidate and start extensive testing before we move to stable13:09
morphis_if we can enforce somehow that we put use release-candidate releases instead o stable once that would make it obvious to the public that the release isn't done yet13:09
mvomorphis_: (in a meeting so a bit slow) - worth to discuss it. to me 2.24 is the upstream release, the other parts are downstream. just like e.g. libreoffice releases but distros take a bit to push it into their system.13:14
morphis_mvo: right but isn't a core snap always aligned with a snapd release?13:15
morphis_mvo: but we can discuss later when you have more time13:15
NicolinoCurallihi all: i want to enable i2c by gadget on my board. my board offer /sys/devices/platform/soc/1c2b000.i2c/i2c-0/0-0062/leds/pca963x:red/brightness -  is it correct to set in gadget the following13:17
NicolinoCurallislots:13:17
NicolinoCuralli  i2c_leds:13:17
NicolinoCuralli    interface: i2c13:17
NicolinoCuralli    path: /sys/devices/platform/soc/1c2b000.i2c/i2c-013:17
NicolinoCurallii infer this from test of snapd13:17
zygaNicolinoCuralli: you may (perhaps) even just give the symbolic path, but not sure13:17
zygaNicolinoCuralli: I did this a while ago13:17
* zyga is in a call13:17
morphis_Son_Goku: any idea about this: https://paste.ubuntu.com/24426706/13:18
morphis_Son_Goku: I see this with mock --with vendorized13:18
Son_Gokuseems like the tarball has a problem?13:19
morphis_Son_Goku: no, but I figured it out13:22
Son_Gokuwhat was the issue?13:22
morphis_Son_Goku: problem is that we install the go code and run tests afterwards13:23
morphis_so snapd source end up /usr/share/..13:23
morphis_then tests are running and they take the vendor dir from /usr/share/... which don't have the .s files13:23
Son_Gokuah13:24
Son_Gokuso for vendorized build, the .s files need to be copied too :)13:24
morphis_Son_Goku: right13:26
morphis_fixing that13:26
morphis_Son_Goku: btw. we need to land another package for running tests with a non-vendorized build13:26
Son_Gokuhuh?13:26
Son_Gokuoh, a new godep?13:26
morphis_https://github.com/snapcore/snapd/blob/master/tests/lib/fakestore/store/store.go#L3413:27
morphis_at least go test github.com/snapcore/snapd/... wants to build and run the test case for that one too13:28
Son_Gokumorphis_: make a review request and we'll go from there13:28
morphis_Son_Goku: yeah will do13:28
=== alan_g is now known as alan_g|afk
zygapedronis: thanks, I think you nailed it14:02
zygaThe code is far shorter now and the two failing tests are not related, and looking at one of those (symmetry test) I think I understand how to fix it14:02
Facusergiusens, elopio, this PR is all green and approved, but not merged... is anything missing from me in the procedure? thanks!  https://github.com/snapcore/snapcraft/pull/126114:13
mupPR snapcraft#1261: storeapi:  improve the error message for the case the Store answers an upload needs manual review <Created by facundobatista> <https://github.com/snapcore/snapcraft/pull/1261>14:13
lutostagcan somebody weigh in if this is expected? https://bugs.launchpad.net/snappy/+bug/167921014:24
mupBug #1679210: snap install --revision tracks stable by default <Snappy:New> <https://launchpad.net/bugs/1679210>14:24
ogra_lutostag, i think the point there is the "tracking" entry ... if you had done "snap install etcd --revision=48 --edge" it would switch to track edge and only upgrade to a new edge upload (not sure that helps your actual problem though, there is no pinning currently)14:27
morphis_zyga, mvo: is it correct that we use CoreLibExecDir here https://github.com/snapcore/snapd/blob/master/cmd/snap/cmd_run.go#L249 ?14:27
morphis_zyga, mvo: shouldn't that be DistroLibExecDir ?14:28
lutostagogra_: yeah, I think pinning would work except for that it is still tracking a channel, the only way I can pin is if I specifically download, ack and install from disk, which is quite a silly thing to do14:29
lutostagogra_: thanks for peeking at it though14:29
morphis_zyga, mvo: looks to like we should only use CoreLibExecDir if want to reexec and otherwise use the distro one14:29
mvomorphis_: when snap-exec runs we are already inside the core snap, snap-confine has done all the setup, except for classic snaps i think14:32
morphis_mvo: right but at this point (snap run) we decide which snap-exec we want to execute14:33
morphis_but maybe the test case is then wrong instead14:33
morphis_as the test case only uses DistroLibExecDir14:33
morphis_which clashes when both CoreLibExecDir and DistroLibExecDir are different like on Fedora14:33
mvomorphis_: oh, that sounds like the test is wrong then. unless I miss something (classic mode is the exception) there is no way to run the host snap-exec, it always runs from core because the setup has already happend then14:34
mvo(the setup == the snap-confine chroot/mount magic)14:34
morphis_ok14:34
morphis_must be like this as its working well on Fedora just the test isn't :-)14:35
morphis_niemeyer: if I am going to change the debian image on Linode again can you snapshot it?14:35
sergiusensFacu: we are in SRU release phase so don't land anything unless it is really urgent until we get a green light to land in -updates14:46
=== elfgoh_ is now known as elfgoh
zygamorphis_: looking15:06
zygamorphis_: yes, we perhaps should tie this to reexec case15:06
mvomorphis_: 2592 is ready for a look, it still needs some love to move bits into the new "spec" interfaces code, but the basic idea is ready I think15:08
ogra_jdstrand, should snaps actually be able to access i2c devices via sysfs (i wouldnt think so, but perhaps we need to improve the interface here) ? ... https://forum.snapcraft.io/t/how-can-i-declare-i2c-slot/36415:09
Facusergiusens, ah, thanks!15:10
jdstrandogra_: responded in the forum15:22
ogra_jdstrand, yeap, just "liked" it ;)15:22
niemeyermorphis_: Definitely.. I'd prefer to do that on Monday if that's okay, though, as today it's a national holiday here and I'm planning to take some time off the keyboard15:25
morphis_niemeyer: sounds good!15:26
jdstrandmvo: that is a PR I'm interested in too. I gave a lot of feedback in the past, is it ready for me to look at again or are you just bringing morphis_ into the discussion?15:27
=== alan_g|afk is now known as alan_g
zygaPharaoh_Atem: is `dnf install --enablerepo=updates-testing` enabling that forever or just for one transaction?15:41
Pharaoh_Atemjust for the one transaction15:42
zygaaha15:42
Pharaoh_Atemif you want to enable it permanently, use the following:15:42
zygawell, I have 2.24 now15:42
Pharaoh_Atem`dnf config-manager --set-enabled updates-testing`15:42
zygano that's fine I was just surprised to see 2.24 on my machine :)15:42
zygaI'm spinning just one one problem wrt mount stuff15:42
zygashadowing15:42
zygaeverything else is good15:42
Pharaoh_Atemwell 2.24 has been around for about a week in updates-testing15:43
zygabut I think I know how to fix it as well :-)15:43
zygamvo: drama is (mostly) over I think16:04
zygaI'm adding tests now but I will soon open a PR16:04
zygamvo: the advice from pedronis was brilliant and unblocked me16:04
cachioniemeyer, is there any way to rever the snap create-user?16:29
geniirevert, reverse, revere?16:30
cachioniemeyer, It would simplify the tests that I am doing for the console conf16:30
cachiogenii, revert16:31
cachioor delete16:31
sborovkovHi. So I am bit confused by documentation of REST API of /v2/changes/id. I want to check 3 scenarios - error (that's covered by code 401). In progress and Done? So status code for both would be 200. Where is the documentation on what it will return for both cases?16:32
elopioFacu: we are just in the release process, so we will land new things on monday probably.16:36
elopiooh, sorry, I didn't see the reply from Sergio. What he said :)16:37
mvojdstrand: I think its ready for a second look, there are some technicalities that I want to fix, so its fine to wait too, I want to make sure of the new "spec" system for interfaces, that needs some work still but the principle should be there now for sesson services at least16:40
zygasborovkov: this is something chipaca would be best to answer16:45
zygasborovkov: but I think you should ask this on forum.snapcraft.io16:45
zygasborovkov: so that other people can find it and reuse the response16:45
jdstrandmvo: ack, at this point it probably won't be today, but I should be able to look at it early next week16:46
mvojdstrand: hpefully I finished the remaining warts by then :)16:50
jdstrand:)17:02
zygajdstrand: hey17:09
zygajdstrand: would you have some time to look at https://github.com/snapcore/snapd/pull/321617:09
mupPR snapd#3216: cmd/snap-update-ns: add actual implementation <Created by zyga> <https://github.com/snapcore/snapd/pull/3216>17:09
zygajdstrand: and perhaps https://github.com/zyga/snapd/commit/fa7fb5206ba87609729c494bf9b6ccaaed93ea9b17:10
zygajdstrand: just RFC17:10
zygathat last commit is meaty in low level stuff17:10
jdstrandzyga: I've got a couple of things in front of it today, but I'll add it to the list17:20
zygajdstrand: thanks, next week is fine17:21
zygajdstrand: with some luck I'll resolve the TODOs by then :)17:22
jdstrandzyga: I say the forum post. yucky that mountinfo is being so annoying17:23
jdstrandsaw*17:23
zygajdstrand: pedronis gave me the tip that st_dev (aka major:minor numbers) is the key17:23
zygajdstrand: now I'm down to shadowing17:24
zygajdstrand: if you fetch my remote and look at the feature/update-ns/needed-2 branch17:24
zygajdstrand: and "go test" in interfaces/mount17:24
zygajdstrand: you will see the one test that fails because of overmount/shadowed mounts17:24
zygajdstrand: but this is a huge improvement over the state in the morning :)17:25
jdstrandcool17:25
zygajdstrand: I must say I wasn't aware what those numbers represent17:25
zygajdstrand: especially since there's the "mount id" that was so confusing17:25
zygajdstrand: st_dev doesn't shout like "unique device identifier"17:25
jdstrandheh17:25
stgraberzyga: ah good, I was about to point out that you can use the major:minor to see if a path comes from the expected device. Won't do you much good with virtual filesystems, but for anything block based it should help.17:25
zygastgraber: it seems to work for tmpfs too17:26
zygajdstrand: I'm still worried about effect of one mount hiding effect of earlier entries17:26
zygajdstrand: not just simple shadowing but something more generic (e.g. bind mount something over /snap/core/ (which is not a mount point)17:27
zygajdstrand: so I'm looking for a generic solution17:27
zygaI commented on the forum to update the state17:29
zyga /me -> break18:00
=== elfgoh_ is now known as elfgoh
mupPR snapd#3218 opened: interfaces: allow writing to /run/systemd/journal/stdout by default <Created by jdstrand> <https://github.com/snapcore/snapd/pull/3218>19:25
Facusomebody may help me with some snapcraft tests? I have a test case that uses the FakeTerminal fixture; the test currently errors, but the last thing I see is the "E", no other output (my guess is because terminal is being captured)19:37
mupPR snapd#3219 opened: interfaces/i2c: allow modifying device-specific sysfs entries <Created by jdstrand> <https://github.com/snapcore/snapd/pull/3219>19:37
mupPR snapcraft#1275 opened: init: add a newline at the end of the file <Created by roxyd> <https://github.com/snapcore/snapcraft/pull/1275>20:09

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