/srv/irclogs.ubuntu.com/2016/03/03/#snappy.txt

=== FourDollars_ is now known as FourDollars
=== sarnold_ is now known as sarnold
=== Tristit1a is now known as Tristitia
didrocksogra_: hey! when you have some time, do you mind answering on http://askubuntu.com/questions/741088/qemu-snappy-15-04-how-to-tune-sysctl-conf ?07:28
didrocksogra_: and please poke me, I'm interested in the answer as well :)07:28
dholbachgood morning07:54
didrocksgood morning dholbach08:08
dholbachsalut didrocks08:08
zygagood morning08:30
noizergood morning08:38
didrocksmvo: hey, it seems that even if we branch snapcraftv1, we can't build anymore 15.04 snaps on xenial.08:42
didrocksmvo: Snapping /08:42
didrocksopen /home/didrocks/work/ubuntu-core/demos/youtube-streamer/snap/meta/snap.yaml: no such file or directory08:42
didrocksI guess the issue is the new metadata snappy files08:42
didrocksand so snappy snap doesn't know it's some 15.04 snaps and look for this08:42
didrocks(I did downgrade snappy for now)08:44
mvodidrocks: yeah, snappy is unfortunately not able to do 15.04 stuff in xenial08:46
mvodidrocks: if that is important we could introduce a snappy-15.04 package, but then 16.04 is going to be released in some weeks so not sure about it08:46
didrocksmvo: I agree, but it seems that a lot of people have (unfortunately) interests in 15.04. I guess if we tell them to use < 16.04 for now, it's ok, but still something to keep in mind in case people starts complaining08:47
=== popey_ is now known as popey
noizerHi I played some with the REST API but i got an error with this call.09:02
noizerhttp://pastebin.com/e4yVQTKj09:02
zyganoizer: which version of snappy did you use?09:04
zyganoizer: can you run "snap interfaces"09:04
noizer16.0409:05
noizerzyga09:05
zyganoizer: and FYI: https://github.com/ubuntu-core/snappy/pull/55909:05
zygamvo: thank you!09:06
noizerok but i got it for other different calls like /2.0/snaps/nameOfSnap/services09:07
zyganoizer: you might have to authenticate09:07
zyganoizer: or run as root09:07
noizerhmmm ok i will check it first out09:08
zyganoizer: look at the rest.md file09:08
zyganoizer: it says what each of the method requires09:08
zyganoizer: including authentication09:08
zyganoizer: currently if you connect as root over the local socket then we trust you and you can touch any of the bits exposed09:08
noizerzyga: but with the /2.0/snaps there needed to be authentication too but it works right out the box09:09
zyganoizer: maybe your image still has /2.0/skills09:09
zyganoizer: I'd recommend using my devtools scripts to run latest master on your image09:10
noizermaybe09:10
zyganoizer: try the get with /2.0/skills09:10
zygaif that works you have older snappy in your image09:10
noizerzyga: I will build a new image09:11
noizerzyga when was the last update09:12
noizerzyga because I build it before with you previous monday (22/02/16)09:12
zyganoizer: you don't have to build a new image09:14
zyganoizer: that won't change anything09:14
zyganoizer: images auto-update if there are new releases09:14
zyganoizer: I'd suggest injecting new snappy into your existing image09:14
zyganoizer: my devtools scripts do exactly that09:14
noizerzyga: oooh ok i will have a  look at it how i need to do it09:18
noizerzyga can you push me fast around how it works again you devtools09:27
zyganoizer: sure, clone it somewhere09:27
zyganoizer: make sure you can run the kvm image or you have a device around09:27
zyganoizer: make sure you can ssh to your device under the names listed in the readme file (e.g. ssh snappy-pi2)09:28
zyganoizer: then run ./refresh-bits --pi2 setup snap snapd snappy run-snapd09:28
zyganoizer: and read the script, it's very simple09:28
noizerI don't need to do some things with go?09:29
zygamvo: I've added sorting tests, the test for Interfaces() is in a subsequent branch, do you want me to cherry pick it in or can it land separetely?09:29
zyganoizer: sure, you have to be able to build the snappy tree, that's covererd by README.md in the snappy repo09:29
* zyga needs a bigger switch09:34
mvodpm: a new os snap is now in rolling/edge so you may need to update your example app09:35
dpmmvo, thanks! so I need to 'snappy update ubuntu-core' as well I guess?09:37
mvodpm: yeah, its in edge right now, I promote to stable in a bit09:41
dpmok, I just wanted to see if I did it right, as I caouldn't see any update yet09:42
noizerZyga building !!!! niceee09:43
zyganoizer: cool,09:44
zyganoizer: patches are welcome, if you can improve the devtools or documentation around them09:44
noizerzyga: I will think about it and let you know09:45
dpmmvo, looks about right? http://bazaar.launchpad.net/~dpm/ubuntu-calculator-app/snap-all-things/revision/28209:49
noizerzyga: strange its just like you script is blocking09:51
mvodpm: yes09:52
dpmgreat, thanks09:53
zyganoizer: it is blocking09:57
zyganoizer: the run-snapd subcommand blocks09:57
zyganoizer: and you can see what snapd says if it says something interesting09:57
zyganoizer: you can ctrl-c it to stop snapd09:57
zyganoizer: if it's blocking for other reason it's probably misconfigured ssh on your side09:57
zygamvo: follow up with more tests https://github.com/ubuntu-core/snappy/pull/571/files10:01
=== Odd_Blok1 is now known as Odd_Bloke
noizerubuntu10:04
noizerzyga here its blocking :s http://pastebin.com/aBafF3RW10:06
zyganoizer: it's doing exactly what I said it does10:11
zyganoizer: it's running snapd10:11
zyganoizer: that's _expected_10:11
zyganoizer: you can now ssh into your board and run ./snap10:11
noizerso its done?10:11
zyganoizer: no10:11
zyganoizer: it's not done, it's _running_ snapd in the foreground for you to see10:11
zyga+ ssh snappy-pi2 sudo /lib/systemd/systemd-activate -l /run/snapd.socket ./snapd10:12
zygaubuntu@192.168.0.133's password:10:12
zygaListening on /run/snapd.socket as 3.10:12
zyganoizer: keep that session around, use another session to play with snappy10:12
noizerthis needs then open all the time?10:12
zyganoizer: yes10:13
zyganoizer: this is a development tool10:13
zyganoizer: it's not something you'd run for any production need10:13
noizeroooh ok :D10:14
noizerAnd now i can make some REST Calls to the new API10:16
zyganoizer: great!10:18
noizerzyga I think so10:18
noizerzyga im trying right know10:18
noizerzyga  unix connect failed: Permission denied10:20
noizernc: unix connect failed: Permission denied10:21
noizerwasn't complete10:21
noizerzyga: I can't make any calls to the socket right now10:28
zyganoizer: is the daemon running?10:30
zyganoizer: ah, just chmod the socket10:30
zyganoizer: or run as root10:30
zyganoizer: systemd-activate makes a socket with restrictive permissions by default10:30
zyganoizer: that's just a side effect of devtools10:30
noizerI think its works now10:35
noizerzyga10:35
zygamvo: FYI https://github.com/ubuntu-core/snappy/pull/548#discussion-diff-5486221810:38
zygamvo: otherwise yes, LGTM10:38
=== lool- is now known as lool
popeymvo: is it possible to switch (for example my pi 2) to edge/rolling? So I get latest crack? (I also have a stable pi 2)11:06
mvopopey: only with a tiny bit of hackery, something like "for f in /var/lib/snappy/meta/*; do sed -i 's/channel: stable/channel: edge/g' $f; done11:10
mvopopey: Chipaca is working on channel switching from the commandline11:10
popeyah11:10
mvopopey: will land soon but not there yet11:10
popeyokay, thanks!11:10
mvoyw11:10
ogra_zzarr, (continuing from the other channel) ... i doubt you will make X11 work on snappy unless you drop all security (which in turn will make it un-upgradeable)11:47
ogra_Mir will work at some point but we are still a bit away from graphical drivers and such on the dragonboard specifically11:48
zzarrwould Mir be sw accelerated, or not work at all?11:49
ogra_no idea, i'm still working on the basics of the image, i can tell you once i tried the driver ... really depends what state the freedreno driver is in11:50
zzarrthanks ogra_, I'll begin with a Linaro image11:54
kyrofaGood morning12:24
didrocksogra_: hey, have you seen my askubuntu link?12:32
didrockshey kyrofa!12:32
kyrofaHey didrocks!12:32
olli_m12:32
=== olli_ is now known as olli
ogra_didrocks, answered now12:37
didrocksogra_: thx!12:43
zygamvo: quick question, on reboot, when the system is brought back to life, is there something that takes existing apparmor profiles, compiles them and inserts them into the kernel?12:44
zygamvo: it seems that there is something like that as my demos work after rebooting but I cannot find anything like that12:44
ogra_zyga, s/inserts them into the kernel/rebuilds the cache/12:45
ogra_it is like on the phone :)12:46
zygaogra_: hmm, not sure what "rebuilds the cache" means12:47
zygaogra_: apparmor_parser --reload /path/to/profile parsers, compiles and inserts the profile into the kernel12:48
zygaogra_: is that what you meant?12:48
kyrofaenoch85, ping12:51
ogra_zyga, qwll, i always thought it reads the binary profile from disk ... but yeah, thats what i mean12:53
ogra_*well12:53
zygaogra_: so what does that?12:54
zygaogra_: does snappy do that somewhere?12:54
ogra_there should be a systemd job that checks if they are outdated and kicks in on boot12:55
ogra_at least that is how it works on the phone12:55
ogra_ask tyhicks or jdstrand_ how it exactly works on snappy12:55
ogra_but i would imagine largely the same ...12:56
kyrofazyga, I suspect that ubuntu core launcher does it, actually13:04
kyrofazyga, not 100% sure about that13:05
kyrofazyga, I figure apparmor is configured with the directory to the profiles, and when u-c-l launches the app for the first time the profile is loaded and cached13:08
zygakyrofa: no, it doesn't I did check13:17
zygakyrofa: currently snappy does that on changes13:17
noizerzyga Hi what is the best way to connect to the socket with some code13:17
zygakyrofa: but I'm curious about the reboot case13:17
zyganoizer: in which language?13:18
noizeruuuhm python13:18
zyganoizer: in go? using our offcial client API13:18
zyganoizer: in python, using http package or even requests13:18
zyganoizer: it's just http13:18
zyganoizer: over a unix socket13:18
noizerzyga ok I will give it a shot13:18
kyrofazyga, how did you check?13:19
zyganoizer: you can look at the client package13:19
zygakyrofa: I read the source of the laucher13:19
zyganoizer: it's well tested and has example requests and responses13:19
zyganoizer: it's pretty nice as documentation13:19
zygakyrofa: the launcher handles seccomp profile compilation to ebpf13:19
noizerzyga: client package? where can I find this13:19
zygakyrofa: but apparmor profile has to be already loaded in the kernel AFAIR13:19
zyganoizer: in the snappy source code, the package client/ is in the top-level directory13:20
zygahttps://github.com/ubuntu-core/snappy/tree/master/client13:20
zyganoizer: e.g. interface related API is here: https://github.com/ubuntu-core/snappy/blob/master/client/interfaces_test.go13:20
kyrofazyga, ah, you're right-- the man page says profiles need to already be loaded with apparmor_parser13:22
zygakyrofa: I suspect there's a systemd unit that does this on boot13:24
zygakyrofa: but I need to dig and I'm in the middle of meetings13:24
zyganoizer: if you want to build python APIs that'd be quite useful13:30
zyganoizer: I can work with you on that in small capacity13:30
kyrofazyga, etc/init/apparmor.conf in 15.0413:32
noizerzyga for me thats good13:32
noizerJust know how to start best on it13:33
zyganoizer: noizer cool13:34
zygakyrofa: thanks!13:34
zygaI'm not sure that's doing anything in 16.04, I need to see this in more detail13:35
kyrofazyga, yeah, same file on 16.0413:37
noizerzyga when can we start on the python API?13:38
zyganoizer: for now I'd make that a separate git/pypi project13:38
zyganoizer: we're super busy with 16.04 and I'd not complicate it by trying to put it in the main snappy repo13:38
zyganoizer: after 16.04 we can explore doing that13:39
noizeroooh ok13:39
zyganoizer: I'd model a python api after the current Go api13:39
zyganoizer: if you look at cmd/snap/cmd_* you will see that each command is really trivial13:39
noizerfirst i will experience some with the REST13:39
zyganoizer: and you could re-implement snap (the tool) in python in a handful of screens of text13:39
zyganoizer: so start a new project (say python-snappy) and start working on the initial package with methods that map to go methods13:40
zyganoizer: and we can work on a case-by-case basis from there13:40
zyganoizer: which APIs are you going to touch/need first?13:41
noizerzyga start and stop services13:42
noizerso the REST api to maybe the python API13:43
zyganoizer: that might not be exposed yet, look at cmd/snap/cmd_snap_op.go13:45
zyganoizer: those are "snap operations"13:45
zyganoizer: and I don't see service operations yet13:45
noizerzyga I will have a look at it tonight first and then i will let you know what we can start first.13:47
mvozyga: yes, there is a systemd job for this13:47
noizerzyga just an other question about the REST api. I see that it is possible to start and stop services with a PUT13:47
zygamvo: ah, interesting piece of the security puzzle13:48
zygamvo: I sure hope we don't race with that job13:48
zyganoizer: oh? perhaps -- I'm mostly focused on interfaces, perhaps all the bits you want are in13:48
mvozyga: something like snappy-runhooks13:49
mvozyga: I think it is ordered early13:49
zygamvo: ideally we'd start like this <run-hooks> <snappy> <snappy activates various apps>13:50
zygamvo: but that's only when we have dynamic interfaces that may not be "the same" after a reboot due to hook decisions13:50
zygamvo: for static world, it is nor relevant13:50
noizerzyga ooh ok but it is interesting too. but for now i need to start services with the rest api. But I will try to make a python API13:59
kyrofaChipaca, sergiusens how fleshed out are the 16.04 gadget snaps? Can I write one today?13:59
* zyga wants to know too, I have some interface integration I want to do there13:59
zygaat least for pi13:59
kyrofazyga, for pi here too13:59
zygakyrofa: you know where the sources for the gadge snap are, right?14:00
zygakyrofa: I want to add static interface declarations there so that bits like I2c and some GPIOs are exposed14:00
ogra_kyrofa, i dont think they will change much14:00
zygakyrofa: and more as I enable14:01
noizerzyga ok are  you online tonight. then we can discuss how to start the api etc.14:01
kyrofazyga, nice14:01
kyrofaogra_, change much from 15.04?14:01
ogra_no, from 16.0414:01
zyganoizer: just ping me here, even if I'm not around14:01
ogra_15.04 is dead and done14:01
noizerzyga ok I will do that14:02
ogra_(15.04 did not have gadget snaps ... only oem snaps ;) )14:02
kyrofaogra_, argh, I'm lost in a sea of terminology :P14:02
ogra_haha14:02
ogra_not only you14:02
=== jdstrand_ is now known as jdstrand
* ogra_ updates his personal snaps for interskillcapability supoort14:03
ogra_:P14:03
kyrofaHa!14:03
zygaogra_: if you could rename it one more time, which word would you pick?14:03
kyrofainterskillability reads better14:03
* ysionneau ordered an rpi2, to play with Snappy on real HW.14:04
zygaysionneau: cool14:04
kyrofazyga, powers14:04
ysionneauI abandonned the fucked up Tegra X1 boards we have14:04
kyrofazyga, maybe special-powers14:04
ogra_zyga, i would rename it to "nomoresprints"14:04
ogra_every time you gusy have a sprint i need to rebuild my world :P14:04
ogra_*guys14:04
kyrofazyga, we should host a light-hearted poll on that14:04
kyrofazyga, regarding sources, you mean the rpi gadget? No, where is that?14:05
ogra_https://code.launchpad.net/~snappy-dev/snappy-hub/snappy-systems14:06
ogra_(note that i havent updated rpi2 there yet, i only bumped the 15.04 oem snap a while ago)14:06
kyrofaHmm... pi2 or pi2.moved?14:06
ogra_pi2 iirc14:06
wigglewormhas anyone here created a snapcraft.yaml file to build tools usbutils or pciutils? If so can you point me to your file?14:06
ogra_kyrofa, whichever has a snap.yaml (vs package.yaml)14:07
kyrofaogra_, indeed, rpi214:07
jdstrandzyga: regarding --reload. yes. that command doesn't have any caching options though, so it is just a compile and (re)load14:07
jdstrandkyrofa: snappy should be using the appropriate caching options when generating the profile on install. and interfaces should when updating the profile.14:08
jdstranderr14:08
jdstrandzyga: ^14:08
kyrofaThanks jdstrand, I was curious as well :)14:08
kyrofaogra_, and gadget snaps are the only way to have snaps preinstalled in the generated image, right?14:09
jdstrandzyga: and there is an initscript that is called on early boot that makes sure all the profiles are loaded before stuff runs. it will create caches and update outdated ones14:09
ogra_kyrofa, no, you should be able to just use the --install option ... though that seems to be broken currently (i pointed mvo to it but didnt open a bug yet, seems the "current" link is missing and system units dont get installed for such snaps)14:11
kyrofaogra_, oh darn14:11
ogra_(the --install option of u-d-f that is)14:11
kyrofaRight14:11
ogra_probably it is webdm specific though, i installed webdm that way (which btw breaks all upgradeability )14:11
kyrofaogra_, well... log that bug!14:12
kyrofa:P14:12
zygajdstrand: thanks14:17
zygajdstrand: I'll be doing exactly this today and tomorrow (meetings aside)14:18
zygajdstrand: everything else has landed or waits for a review14:18
beuno_zyga, sounds like enough of the syntax has landed in snap.yaml that we could kick off store integration?14:19
=== beuno_ is now known as beuni
=== beuni is now known as beuno
ogra_identity crisis ?14:20
beunoyes, going from sprint to sprint messes you up  :)14:20
zygabeuno: yes, I think it's all in for 16.0414:21
beunoooook14:21
* beuno rolls up sleeves14:21
zygabeuno: I don't know what the channel for transferring local interfaces over to the store is though14:21
zygabeuno: I would imagine we'd send them in "search" requets14:21
beunozyga, we'll work out the API together14:21
zygarequests*14:21
beunoyes, in search requests14:21
zygabeuno: but the primitives have landed now so snappy has this knowledge14:22
jdstrandzyga, beuno: are you guys talking about skills -> interfaces is now in 16.04 images?14:22
zygabeuno: it sounds like a nice card to work on next week (mid week)14:22
zygajdstrand: yes14:22
jdstrandalright, I get the review tools branch landed then14:22
jdstrandI'll*14:22
kyrofasergiusens, FYI ^^ time to release14:23
beunozyga, I'll find someone to work on this on the store side14:23
zygabeuno: sounds good14:23
jdstrandpindonga: can you do a pull of the review tools? (for the skills to interfaces change14:29
jdstrand)14:29
jdstrandpindonga: and hi! :)14:29
pindongajdstrand, hi :)14:29
pindongaack, will do, but not sure it'll get to prod this week14:30
pindongabtw, we're on 599 on staging14:30
jdstrandunderstood14:30
pindongawith the new click-review stuff14:30
jdstrandgreat14:30
jdstrandnice! :)14:30
pindongaif you can submit a few snaps/clicks to test it it'd be great14:30
mvoogra_: hm, that should work, the symlink should get created on first boot14:30
jdstrandok14:31
=== rcj` is now known as rcj
kyrofaogra_, do you know if we have working kernel snaps as well?15:02
ogra_kyrofa, all in the store15:11
kyrofaogra_, awesome, any chance you know where the sources are?15:12
ogra_http://cdimage.ubuntu.com/ubuntu-core/daily-preinstalled/current/15:12
ogra_dragonboard  is still a local build from the deb in the archive15:13
ogra_all others come from these device tarballs15:13
kyrofaogra_, I mean the thing containing the snap.yaml. These are all built, right?15:18
ogra_manually15:18
ogra_using the scripts from http://bazaar.launchpad.net/~mvo/snappy/mksnap-os-kernel/files15:19
ogra_(which i hope to have integrated into the build system soon)15:19
kyrofaogra_, ah, thanks!15:20
sergiusensogra_, kyrofa --install is no different in udf logic to putting it in  a gadget15:26
kyrofasergiusens, awesome15:26
ogra_sergiusens, well15:26
ogra_sudo ./ubuntu-device-flash core rolling --channel edge --gadget canonical-dragon.canonical --kernel canonical-dragon-linux.canonical --os ubuntu-core.canonical -o dragonboard-all-snap.img15:26
ogra_that gets me an installed webdm without anyx systemd units in place and without the current symlink15:27
ogra_in that state i cant remove or install the package and auto-upgrades break when trying to stop the webdm service15:27
ogra_err15:27
ogra_sudo ./ubuntu-device-flash core rolling --channel edge --gadget canonical-dragon.canonical --kernel canonical-dragon-linux.canonical --os ubuntu-core.canonical --install webdm.canonical -o dragonboard-all-snap.img15:27
jdstrandpindonga: something isn't right. I just uploaded hello-world 16.04-2 (20) to the store and I see:15:28
jdstrand 2 Passes15:28
jdstrandOK Stated package version matches the manifest15:28
jdstrandOK Is a valid click package15:28
ogra_that was the right one (sorry, pasted from the wrong terminal)15:28
sergiusensogra_, right; I'm saying if it is roken for one case it is also brokem for the other15:28
kyrofaogra_, man was I confused :P15:28
ogra_sergiusens, well, gadget is installed ... and i can manually upgrade ubuntu-core15:28
jdstrandpindonga: the review tools aren't being run15:28
ogra_the system works fine otherwise15:28
jdstrandpindonga: https://myapps.developer.ubuntu.com/dev/click-apps/1999/rev/20/15:29
pindongajdstrand, errr... staging... the new stuff hasn't landed on prod yet15:29
jdstrandoh15:29
jdstrandpindonga: when do we expect that to happen?15:30
pindongajdstrand, early next week15:31
pindongaI'll see if I can do that today15:31
pindongabut no promises15:31
jdstrandok, thanks15:32
renatHi all! It's Renat from Screenly=)15:32
kyrofaHey renat :)15:33
renatFirst of all I want to thank snappy team for help.15:33
renat=)15:33
pindongajdstrand, if I pull this off, is r601 of crt good to go?15:33
renatOur first snap worked well=)\15:33
jdstrandpindonga: yes15:33
ogra_renat, yay !15:33
renatI have questions, as usual=)15:34
renatWhat do snap developers use to build their snaps for raspberry pi? We used Ubuntu MATE, but maybe there are other solutions?15:35
pindongajdstrand, pls test on staging sca as we won't roll out to prod if we find the review tools broken there15:35
* pindonga is testing as well15:35
jdstrandpindonga: the last time I tried on staging istr that I wasn't able to test15:36
beunorenat, we're building out snap building into Launchpad15:36
pindongajdstrand, why?15:36
jdstrandpindonga: can you tell me where to go to try again?15:36
beunorenat, so you can build them for ARM in there if you don't have the hardware15:36
jdstrandidr15:36
pindongajdstrand, https://myapps.developer.staging.ubuntu.com15:36
jdstrandI'll try now though15:36
pindongathx, let me know if you have any troubles15:37
beunorenat, just push a branch with snapcraft, and there will be an option to build a snap from it15:37
renatI have=) I build on the RaspberryPI2. It's ultra slow=)15:37
renatbeuno, thanks! Amazing!15:37
jdstrandpindonga: I can't login with the shared account15:38
beunorenat, you probably need to enable ARM specifically, I think it doesn't build for ARM by default15:38
beunoon the change details for the snap, once you create it15:38
jdstrandpindonga: should I try with my personal lp account?15:39
ogra_renat, for native builds i use the classic dimension under snappy itself ... "sudo snappy enable-classic; snappy shell classic".... then just use apt as usual15:39
renatogra_, never tried that.15:40
renatThanks for help. Now I have something to experiment with!15:40
ogra_:)15:40
pindongajdstrand, remember staging myapps uses staging sso15:42
pindongaso separate account15:42
renatbeuno, never used launchpad before. Going to investigate its capabilities soon, thanks.15:42
jdstrandpindonga: I'm not trying to be dense, but I don't know what to do with that information. are you saying I need to use a separate staging account? if so, how do I get one?15:47
jdstrandI think I see now why I wasn't able to test on staging :P15:47
pindongajdstrand, sorry, yes, you need a staging sso account (login.staging.ubuntu.com)15:49
pindongajdstrand, don't worry, I'll do the testing15:49
jdstrandzyga: hey, I have this yaml: http://paste.ubuntu.com/15274178/ and if I try to install then I see:15:49
pindongano point in you having to struggle with this15:49
jdstrand$ sudo snappy install /tmp/snappy-interfaces-security_0.1_all.snap15:49
jdstrandInstalling /tmp/snappy-interfaces-security_0.1_all.snap15:49
jdstrandWaiting for snaps-snappy\x2dinterfaces\x2dsecurity.sideload-LSDpPYfYXdlm.mount to stop.15:49
jdstrand/tmp/snappy-interfaces-security_0.1_all.snap failed to install: only a single slot is supported, 2 found15:49
jdstrandpindonga: ok thanks. I think it's possible that was the exact outcome we had last time :)15:49
pindongaquite likely :)15:50
jdstrandzyga: is there a bug in the yaml or is this just that the interfaces work isn't completed yet?15:50
jdstrandI believe I am following the documented spec15:51
ysionneauzyga : so I'm still trying to find out why my hello world (which does dlopen) crashes when it's cross compiled with my own toolchain, but works when using native compiling (in classic shell)15:56
ysionneauI've attached gdb to the process15:56
jdstrandmvo_: ok, fyi, hello-world uploaded with updated bash. the store fixes are only on staging. pin donga is working on getting them in prod today, but it might be monday15:57
ysionneauand when I look at /proc/<pid>/maps , it shows it's using the libraries from the .snap (libc, libdl, libgcc_s) but it's using the dynamic linker from the system15:57
ysionneau/lib/arm-linux-gnueabihf/ld-2.21.so15:57
ysionneauI guess this causes the crash15:57
ysionneauany idea how I can try to use /snaps/hello.sideload/IOCceQHPQPfQ/lib/ld-linux-armhf.so.3 instead of /lib/arm-linux-gnueabihf/ld-linux-armhf.so.3 ?16:01
ysionneauI can confirm if I run /lib/ld-linux-armhf.so.3 /snaps/hello.sideload/IOCceQHPQPfQ/usr/bin/hello it crashes, if I run /snaps/hello.sideload/IOCceQHPQPfQ/lib/ld-linux-armhf.so.3 /snaps/hello.sideload/IOCceQHPQPfQ/usr/bin/hello it works16:03
ysionneauso it's indeed a dynamic linker issue16:03
ogra_try a wrapper script that sets PATH ?16:04
ogra_hmm, though that wont help i guess16:04
ysionneauok I get it now16:17
ysionneauI will wrap all my binaries with something that will call $SNAP/lib/ld-linux-armhf.so.3 <binary_name>16:17
ysionneau17:04 < ogra_> hmm, though that wont help i guess < nop because the dynamic linker does not use LD_LIBRARY_PATH or PATH, it's loaded by the kernel, taking the string in the "interp" section of the ELF16:18
ysionneaubut it's OK to prefix the binary with the path to the dynamic linker in a wrapper16:18
ysionneauo/16:18
ysionneauI might end up with something which works after all...16:18
ogra_awful, but will likely work :)16:18
ysionneaunot more awful than all the already existing wrappers :p16:19
ogra_haha, yeah16:19
ogra_wrappers in wrappers that are in wrapped wrappers :)16:19
ysionneau;)16:19
ysionneauyep16:19
ysionneauit's either this, or hard coding it in ubuntu-core-launcher like "if (there is a dynamic linker in the snap) execve prefixed with it"16:20
ysionneaubut I suspect you would not like this upstream16:20
ogra_no idea, i dont maintain the launcher ;)16:20
ysionneauah so maybe you would +2 this :p16:21
* ysionneau joking16:21
ogra_if it saves the dve from hassles i could actually imagine it going upstream16:21
ysionneaudve ?16:21
ogra_but i guess the heuristics of "whats a wrapper, how do we identify there is one" might be pretty complicated16:21
ogra_err16:21
ogra_s/wrapper/linker/16:21
ogra_(my head is also full of wrappers it seems)16:22
ogra_*dev16:22
ogra_tedg, ^^16:22
tedgogra_: ?16:24
ogra_tedg, if a package ships its own linker,, would it make sense to handle that from ubuntu-core-launcher ?16:25
ogra_(instead of having to have another wrapper to prefix all calls with the linker path)16:25
tedgogra_: I'd say that we don't have a way to signal things to the launcher today, so the wrapper is the better option. I'd like to see the launcher get smarter, but I think that needs to be engineered.16:26
ysionneau17:22 < ogra_> (my head is also full of wrappers it seems) < that's when you wrap your head around it16:27
tedgogra_: It would be nice if it could load all the environment variables in a consistent way as well, for instance.16:27
ogra_tedg, yeah, in the case of the linker you dont really have an env var though16:27
tedgogra_: Sure, just talking about other things that a more rich launcher would handle.16:27
ogra_you need to wrap your exec calls into something like "$SNAP/lib/ld-linux-armhf.so.3 <binary_name>"16:27
ogra_and it would be nice if we could just tell the launcher to do that for us16:28
ysionneauyep, when you detect that the interp of the binary does exist in the $SNAP/16:29
ysionneaumeans you need to parse the ELF to get the interp string16:29
ysionneauthat's actually not that hard to add to the launcher :o16:29
ogra_well, it could be some option ... or config16:30
ogra_you dont want to do it all the time16:31
ogra_(most people will likely just use the system linker)16:31
ogra_(and rely on LD_LIBRABRY_PATH for their own libs)16:32
kyrofawiggleworm, you still around?17:01
ysionneauwell, if you have a path that corresponds to the dynamic linker in your $SNAP, you most likely want to use it17:12
jdstrandniemeyer: you seem to have disconeected17:25
kyrofaogra_, so if cdimage is used to create the kernel snaps, where might I find the kernel configs that we use?17:44
ogra_either in the source package or in the git trees on kernel.ubuntu.com (ask the kernel team for specific branch urls)17:46
kyrofaogra_, excellent thank you17:48
sergiusensogra_, do you know if your initrd made it into an OS snap?18:19
ogra_sergiusens, it made it into all tarballs ... no idea if mvo rebuilt the os snaps today though18:20
ogra_(its all manual)18:20
ogra_http://people.canonical.com/~ogra/core-image-stats/20160303.changes18:20
sergiusensyeah18:22
ogra_worst case roll your own http://bazaar.launchpad.net/~mvo/snappy/mksnap-os-kernel/files18:23
ogra_(the mk-os ones should suffice)18:23
sergiusensogra_, he'll be pushing one soon18:35
ogra_k18:35
sergiusensogra_, where is this generic initrd installed btw?18:35
ogra_ogra@styx:~/Devel/packages/initramfs-tools-ubuntu-core-0.7.20$ cat debian/ubuntu-core-generic-initrd.install18:36
ogra_build/boot/* usr/lib/ubuntu-core-generic-initrd/18:36
ogra_ogra@styx:~/Devel/packages/initramfs-tools-ubuntu-core-0.7.20$18:36
ogra_:)18:36
sergiusensthanks18:36
pindongajdstrand, hey, got crt 601 to prod... could you please test uploading some snap ?18:41
pindongathe fact we can't upload snaps with the same name anymore is a nuisance for testing :/18:41
sergiusensjdstrand, hey, I never got your ack/nack on https://github.com/ubuntu-core/snapcraft/pull/36018:49
rajenFolks. Is there a place where you are uploading ".img" file or ".snap's" of daily-preinstalled xenial builds.  I am looking for ubuntu-core snap files when they get released.18:58
jdstrandpindonga: it is19:10
jdstrandsergiusens: I'm going to test that snap, have a quick bite to eat, then review your PR19:11
jdstrandsergiusens: btw, I dig 'snapcraft snap <dir>'19:12
jdstrand:)19:12
jdstrandso much nicer than remembering the mksquashfs commands19:12
jdstrands/commands/args/19:12
jdstrandpindonga: woo!19:14
jdstrand 1 Warning19:14
jdstrandcould not determine fstime of squashfs security-snap-v2_squashfs_supports_fstime19:14
jdstrand58 Passes19:14
jdstrandperfect-o!19:14
pindonga\o/19:14
jdstrandpindonga: what interesting though is I don't see the review tools commit number in the passes output any more19:15
jdstrandpindonga: that certainly doesn't have to be a rushed fix19:16
pindongait's only listed for reviewers19:16
jdstrandah19:16
* pindonga double checks though, should be there19:16
jdstrandpindonga: I can do it19:16
jdstrandpindonga: 601 click-reviewers-tools version19:17
pindongayep19:17
jdstrandpindonga: thanks for the quick turnaround19:18
pindongahappy it (seemed) to work well (so far)19:18
pindonga :)19:18
jdstrandbeuno: fyi, the store is back to reviewing again :)19:18
jdstrandthanks to pindonga :)19:18
jdstrandI guess I helped a little19:18
pindonga:)19:18
the-solipsistSorry for a stupid question, but I'm a newbie... If snappy already does app isolation, why would anyone want to install docker on it?19:26
MikaelaProbably because docker has mostly everything available while snappy doesn't have so much19:27
the-solipsistSo, it's just a matter of time?  And, if Docker provides the kind of app isolation that snappy does, then why create snappy at all?  I can understand the need for LXD, but not for Snappy...19:30
sergiusensthe-solipsist, there's a nice email from Mark in the mailing lists explaining when to use one or the other19:36
ogra_there are people using snappy in cloud envs ... they are used to docker and have their setups ready to just use them ...19:39
popeyogra_: I'm told that in the debian world, one just does a dist-upgrade and rpi-update of an image inside a pi 2, to make it work in a pi 3.19:39
popeyhttps://twitter.com/winkleink/status/70547719904283852819:39
popeyso I guess we need to find out what that does, and update our image, then our image will work on pi 2 and pi 319:40
ogra_popey, yeah, most likely some kernel changes to get the devicetree file for the new pi ... and likely also some bootloader updates19:40
ogra_i'll check on the weekend19:40
wigglewormorga_: Do you know anyone who has created a snapcraft.yaml file to build tools usbutils or pciutils?19:41
ogra_wiggleworm, i doubt that will be possible in a way that you can upload this snap to the store19:41
ogra_(i might be wrong, but i suspect you will need to access most of /proc and such which means you need to run unconfined ... which in turn means you wont be allowed into the store)19:42
ogra_wiggleworm, if you want unconfined you can take a look at somehting like http://bazaar.launchpad.net/~ogra/+junk/htop-unconfined/files though19:43
wigglewormthank you - I will look19:43
ogra_(note though that this hasnt been ported to the security model de jour yet (now called "interfaces") bt still uses last weeks "skills" system)19:44
* ogra_ goes afk ...19:45
dduffeykyrofa, lool : I am compiling the 3.18 kernel now and seeing if my compile of that vmlinuz still links with with binary modules I have ... if so, then I will re-compile that 3.18 with the necessary kernel settings snappy needs ... do you have a list of config options that I need (and I'm assuming it is okay to statically compile in items rather than have them as modules/add them to initrd)20:48
jdstrandsergiusens: done20:57
sergiusensjdstrand, thanks21:05
sergiusensjdstrand, hm, should I add umask != 0 as well?21:07
jdstrandsergiusens: you could. that is actually something I would expect the review tools to catch (ie, 0777 file perms)21:13
jdstrandplus, other access isn't as big of a deal-- a snap shouldn't be shipping private data since it isn't actually private21:14
jdstrandI don't think it is needed. let the review tools discover weird perms21:14
sergiusensjdstrand, ok, seems good21:15
sergiusenskyrofa, mind to start reviewing https://github.com/ubuntu-core/snapcraft/compare/master...sergiusens:feature/1552168/kernel-plugin#diff-a6d756e312a41b33e3a9de439c8527a8R9 ?21:17
sergiusenskyrofa, the busybox example already works21:20
sergiusenslet me just create a PR21:20
popeyogra_: fyi, sudo iwconfig wlan0 power off - needed on pi 3, it power saves wifi which means it's unusable23:43
zygajdstrand: thanks for the meeeting notes23:47

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