/srv/irclogs.ubuntu.com/2015/04/20/#snappy.txt

=== kickinz1|afk is now known as kickinz1
mvopitti: hi, if you have a moment, I would greatly appreciate you help with udev :) I work on a end-to-end test of the new hardware assign feature, I created a snap with an assign rule for ttyS0 and on install it generates the following rule: http://paste.ubuntu.com/10854819/ but the subsequent udevadm info seems to not show the snappy-assign tag, is there anything that I'm missing here?06:45
mvopitti: hm, to be exact I have the tag after a reboot, so I guess I need to trigger a re-read of the udev rules(?)06:45
dholbachgood morning06:55
=== kickinz1 is now known as kickinz1|afk
pittiGood morning08:20
pittimvo: o/ Gruesse aus London (Bluefin)08:20
mvopitti: hey, good morning!08:20
pittimvo: wrt. the branch, I think there might still be something wrong08:20
mvopitti: how is the jetlag :) ?08:20
pittimvo: I didn't get any /dev/null failures while the ACL setting was still broken, so I wonder if the "deny all" rule was actually applied08:21
mvopitti: aha, ok08:21
pittimvo: well, getting slightly better; the strong English breakfast tea helps :)08:21
pittimvo: how is your's?08:21
mvopitti: I did a end-to-end this morning and ttyS0 got assigned, but of course that is just the allow08:21
mvopitti: I'm pretty tired :) but indeed, tea helps08:22
pittimvo: yes, if you just install the rule, you need udevadm control --reload08:22
pittimvo: ^ well, maybe; actually you might not need it for new .rules files08:22
pittimvo: but for sure a new udev rule doesn't apply to already existing machines, you need to udevadm trigger those08:23
mvopitti: aha, so udevadm trigger after the rules get installed? I will add that08:23
pittimvo: udevadm trigger --verbose --name-match=ttyS008:23
mvopitti: nice, thanks08:24
pittimvo: the --verbose shows the triggered devices (you can leave this out on the final commit, of course)08:24
pittimvo: that will re-apply the rules on an existing device, i. e. synthesize a "change" event08:24
mvopitti: thanks, I will add that to my code08:26
mvopitti: I guess I need to write code that maps all the matches in the yaml to the udevadm trigger ? or can I do a global trigger?08:26
pittimvo: you can trigger everything too, yes08:26
mvohow horrible is that?08:26
pittimvo: on a desktop this might lead to some undesired effects, like keyboard layouts getting reconfigured etc.08:27
pittimvo: but for the most part it sohuld be okay08:27
mvook, thanks! so just udevadm trigger?08:27
pittimvo: actually, it's much easier:08:27
pittimvo: you can use the same udevadm trigger command as in my shell PoC08:27
pittimvo: just without the --dry-run08:27
pittimvo: that will trigger exactly those devices which got assigned to that app08:28
mvopitti: sweet, thanks!08:28
mvoso just "udevadm trigger --verbose --dry-run --tag-match=snappy-assign --property-match=SNAPPY_APP=$APPNAME" :) ?08:28
mvowell, without the --dry-run08:28
pittiudevadm trigger --verbose --tag-match=snappy-assign --property-match=SNAPPY_APP=foo08:28
pittimvo: right08:28
mvopitti: \o/08:29
mvopitti: about the deny-all, will you look into this or should I do that once I finished the change above?08:29
pittimvo: I'm looking into it08:29
pittimvo: did you get the other fixes?08:29
mvothanks!08:29
mvopitti: some changes, nothing major, r32 is my latest version08:30
mvopitti: I was working on a example snap, the go code and a end-to-end test08:30
pittimvo: ah, I see you merged my stuff, good08:30
mvopitti: yes, thank you very much for this!08:31
pitti$ echo > /dev/null08:41
pittibash: /dev/null: Operation not permitted08:41
pittimvo: ^ I took /dev/null out of the static list, and now get that08:41
pittimvo: IOW, it's all good08:41
pittimvo: just wanted to double-check08:41
mvopitti: \\\o///08:41
mvo(spide hug ;)08:41
mvospider even08:41
pittimvo: you have *that* many arms? you scare me!08:41
* mvo hates jetlag08:41
mvoand not even enough arms for a spider - oh well!08:42
* mvo drops into koma08:42
asacspider hug is nice ;)08:45
* asac wonder if i heard that expression before08:45
mvoprobably not, its my jetlag speaking ;)08:46
JamesTaitGood morning all; happy Monday, and happy Chinese Language Day! :-D09:08
mvoasac, Chipaca, sergiusens: so the hardware yaml looks like this right now: http://bazaar.launchpad.net/~mvo/snappy/snappy-hardware-yml-to-udev/view/head:/snappy/snapp_test.go#L1127 - my question is if we should include the namespace in the app-id, i.e. should it be exclusive to the app.namespace or is app ok (frameworks can not be forked so for most of the use-cases this is probably ok). but I want to double check09:27
Chipacamvo: hardware is another kind of snap?09:28
mvofwiw, thats the only open question otherwise I think all the bits for hardware assign from a oem snap are ready09:28
pittimvo: ah, I didn't check -- did you happen to have the time to upload those fixes for the failed two units?09:28
pittimvo: if not, where could I commit these changes?09:29
Chipacamvo: or is it part of the oem kind?09:29
mvopitti: I did, but it seems like its still broken because our pathes are writable only later09:29
mvopitti: i.e. the seed path is RO when systemd needs it and only made writable later09:29
pittimvo: ah, ok; that should be in devel-proposed?09:29
Chipacamvo: if part of the oem, i think sergio was going to make them namespaceless09:29
pittimvo: the tmpfiles.d thing ought to work now?09:29
mvopitti: yes the path is writable but I think its too late09:29
mvopitti: I think so, the only missing one was the random seed09:30
pittimvo: ok, so that sounds like another one which we move to the initramfs, or we just mask the service entirely09:30
mvoChipaca: the app-id can be any app, the idea is that e.g. robot-maker has a robot-oem and a robot-framework and assign the /dev/robot-brain in the oem to the robot-framework app09:30
mvoasac: -^ thats right, right?09:30
asacright09:31
mvopitti: yeah, there was a simiilar issue before iirc, but I don't remember the details right now without looking in the bzr log09:31
asacmvo: its not app id09:31
asacits part id09:31
asaccan be any part ;)09:31
asacframework, app09:31
asacubuntu-core maybe even09:31
asac(though the latter for sure not right now)09:32
mvoasac: ups, I can rename that, no problem09:32
pittimvo: hm, that fix isn't in devel-proposed yet apparently (just flashed a fresh image)09:32
mvopitti: let me check09:32
mvopitti: hm, I see it at the end of /etc/system-image/writable-paths, /var/lib/systemd/random-seed but the dir is missing, thats probably the problem09:33
* mvo tests09:34
pittimvo: I mean /var/lib/machines/ is missing as well, tmpfiles is failing09:36
mvoasac: so should I add the namespace there when I create the launcher? i.e. if I install hello-world from canonical should the part-id be hello-world.canonical? or should it be namespaceless? if you say any partid it seems we want the namespace. which makes sideloading a bit ugly and also that the oem snap needs to know the namespace of the final store package but that is probably ok09:36
Chipacalool: you around?09:36
mvopitti: I have that dir in r40409:37
mvopitti: what is your image id?09:37
pittimvo: *brown paperbag*09:37
pittimvo: no, I never forget to actually give a --channel option!09:37
asacmvo: hmm09:38
pittimvo: image 404, nice! and it found it :)09:38
mvopitti: :) no worries09:38
asacmvo: i think built-in field in oem snap allows both?09:38
mvopitti: hahahahaha09:38
asacmvo: i think semantic should be like the install ... if no namespace is given it resolves to what really got installed and usese that09:40
asacif namespace is given, it obviously uses that09:40
asacif oem gives access to a part not even installed then thats a fail09:41
pittimvo: ah, /var/lib/systemd/random-seed doesn't exist at all, I figure that might be a problem as well09:41
asace.g. dont allow assigning hardware tos tauff that isnt getting installed in oemn09:41
* asac also feels the jet09:41
pittimvo: merely touching the file is enough09:43
pittimvo: then it actually gets mounted (that fails for nonexisting files), and now systemctl --failed is empty \o/09:43
mvopitti: nice09:44
mvoasac: hm, so not allowing parts that are not installed is tricky as the oem part is installed first right now and then the others, at this point I really would like to keep it simple. I think I go with the namespace as this should not cause any problems and we can expand later(?)09:46
asacmvo: ack .... lets just document it cleany09:49
mvoasac: cool, I will do that09:49
Chipacamvo: about 'go remove pkg' only removing the active one, should purge do the same?09:57
Chipacamvo: there is common code there i could factor out in a branch and make it behave like that, if so :)09:57
mvoChipaca: I think purge and remove should behave the same, yeah, asac is of course the ultimate authority here but unless he says otherwise I think thats sensible10:06
Chipacai might put one of my cards back from 'in progress' to 'must do' and pick up that one, if asac can confirm10:06
mvoChipaca: ok10:07
asacChipaca: whats the question?10:07
mvoasac: Chipaca> mvo: about 'go remove pkg' only removing the active one, should purge do the same?10:07
Chipacaasac: should purge and remove behave in the same way wrt how its argument is interpreted? ie whether 'remove foo' should remove all forks or just the active one, etc10:07
mvoheh .)10:08
asacsame behaviour10:08
asacwhether its correct as is i dont know :)10:08
asacbut lets stick to what we have (sound reasonable without thinking too hard)10:08
Chipacaasac: there's a card to change what we have slightly10:10
Chipacaasac: and what we have right now is slightly different behaviour for remove and purge10:10
Chipacaasac: so we should at least make them the same :)10:10
Chipacaasac: and while i'm at it, we can choose what 'the same' means :D10:10
asacChipaca: what options do we have?10:12
Chipacaasac: if you have foo.canonical and foo.asac installed, should 'remove foo' remove both of them, or only the active one?10:13
asacChipaca: hmm. might be difficult, but one half of me thinks that we shoujld remove whatever the foo alias points to currently in store10:14
asacbut might be wrong10:14
asacChipaca: how does the world in snappy list look like?10:15
asacand snappy search10:15
asaci think those might give some guidance10:15
asacif you could paste those for both scenarios10:15
Chipacaasac: "snappy list" always shows the namespace10:17
Chipacasnappy search does not, if it's got an alias10:17
Chipacasnappy search seems to be missing the option to show all forks -- i thought we'd done that?10:20
* Chipaca is confused10:20
mvoChipaca: I have that on image r404 amd6410:21
mvoChipaca: http://paste.ubuntu.com/10855388/10:21
Chipacaasac: current output of search vs list: http://pastebin.ubuntu.com/10855402/10:23
Chipacamvo: yes, not sure why my snappy was an old one -- i'd probably been testing things for an old branch on there10:25
mvono worries10:37
mvogood to raise it in case there are lurking issues :)10:37
asacany idwea what this 8nzc1x4iim2xj1g2ul64 43      Returns for store credit only.  is ?10:47
asacChipaca: ?10:47
Chipacaasac: a package10:48
Chipacaasac: it's called “Returns for store credit only.”10:48
Chipacaasac: the package name is 8nzc1x4iim2xj1g2ul6410:48
asacwhy do we see that when searching for hello-world?10:49
Chipacaasac: i don't know. possibly because the icon is called 'hello.svg'? but i'm not certain10:50
Chipacaasac: elastic search question10:50
asacbeuno: ^ is that a good package?10:50
beunoasac, Chipaca uploaded it!  :)10:50
Chipacathat i did! :)10:50
Chipacaand it's very good. washes my dishes and everything.10:50
asacChipaca: ok, as long as that is not a bug :)10:51
Chipacaindexing the icon filename might be a bug, but i'm not sure we can control that :)10:51
Chipacabeuno: ?10:51
beunolet me see why it matches10:51
asacChipaca: what does that package do?10:51
Chipacaasac: uh... i think it's just 'hello world', renamed to something unique for testing purposes10:52
asacic10:52
Chipacaasac: i wanted something i could be more or less sure nobody would find by accident10:52
beuno(this is why Chipaca should never be allowed to name things)10:52
Chipacaof course it turning up when looking for hello world defeats that :)10:52
Chipacabeuno: hey, only *one* of my kids has a completely unpronounceable name!10:53
Chipaca(for the brits, at least)10:53
beunoChipaca, the package description is "This is a simple hello world example."10:53
Chipacabeuno: oops :)10:53
Chipacai guess i'll have to upload a new version that fixes that10:53
beunoso ES is expecting an apologyu10:53
asacChipaca: i could imagine remove|purge --active|--inactive ... and otherwise remove all that are there10:54
Chipacabeuno: good thing software is patient10:54
asacChipaca: i think having a name that is more descriptive would look nicer ... or have at least a better description stating "package with random name for testing purpose"10:55
mvopitti: hm, there seems to be still something missing in the udev foo, in the following pastebin I run udevadm trigger -v and still do not see ttyS0 even though the rule is availalbe and I called udevadm control --reload :/ details in  http://paste.ubuntu.com/10855524/ - do you have any idea(s)?10:55
Chipacamvo: ^^ asac on remove removing everything by default10:56
asacnote that i dont have super strong feelings, just that if i look at list it feels to me that if i type remove hello-world i would expedcrt both to disappear11:00
mvopitti: so I had to do "udevadm control --reload-rules" and "udevadm trigger" to make it appear, is that correct? it seems the trigger is a bit broad but using the specific trigger appears to not cut it11:00
* mvo gets lunch11:01
pittimvo: oh!11:01
pittimvo: of course, that can't work11:01
pittimvo: if the devices *had* a tag already, we wouldn't need the trigger; the new rule is the thing that adds the tag in the first place11:02
pittimvo: which is why your trigger didn't list any devices11:02
pittimvo: so yeah, do a full trigger for now11:02
ogra_and a "udevadm settle" to make sure you dont add races ;)11:02
pittino, not necessary11:03
pittiwell, maye for apps which need to access the hardware right away, so it's indeed better, yes11:03
ogra_well, i always find that safer ...11:03
mvopitti: thanks, will do11:04
pittiogra_: right11:04
ogra_(if you have some late processed rule that mangles the device again or some such ...)11:04
=== kickinz1|afk is now known as kickinz1
asacChipaca: http://paste.ubuntu.com/10855615/11:20
asacthat one is a bit unhappy on snappy list11:20
Chipacaasac: ?11:21
asacChipaca: see the paste11:21
asacsnappy list isnt doing anything11:21
Chipacaasac: did you install anything?11:21
asacall other commands are also unhappy11:21
asacChipaca: nope11:21
asacChipaca: see the ls /apps/11:21
asacfresh install of the image as in paste11:21
asacversion version: 23411:21
asacusing beagleblack.canonical fwiw11:22
Chipacaasac: ok, i'll look into it in a bit11:22
asacChipaca: sudo ubuntu-device-flash core --oem beagleblack.canonical --channel edge --output  mysnappy-arm.img11:22
asacthats how i produdced it11:22
Chipacathanks11:22
* Chipaca gets some coffee11:24
asacChipaca: reproducible on amd64 kvm with sudo ubuntu-device-flash core --oem amd64.canonical --channel edge --output  my-snappy.img11:25
asacguess that is quuicker to debug :)11:25
asacguess its the oem snap that makes snappy unhappy11:26
* Chipaca builds11:28
mvopitti: thanks again, the snappy hwassign stuff works now end to end, I just tested it with https://code.launchpad.net/~mvo/snappy-hub/snappy-examples-oem-hardware-snap/+merge/256800, ubuntu-core-launcher from the PPA and the snappy from my branch and I got access to /dev/ttyS011:37
mvoasac: -^ first successful end-to-end :-D11:37
asac\o/11:41
asacvery good11:41
asaci guess with that ogra can write his heating appliance finally :)11:44
asacand start selling it :)11:44
ogra_lol11:45
ogra_i still have the prob that snappy cant properly handle the config in case of that app11:45
loolChipaca: i'm around, what's up?11:51
asacogra_: not sure what you mean11:52
asacwhat config?11:52
Chipacalool: hello! have you any suggestions around how long we should wait between TERMing and KILLing a process that's been asked to stop and hasn't?11:52
asacChipaca: i think there was a field that folks could configure, but we wanted to set a maximum time theyh are allowed to request11:52
loolChipaca: less than 5 seconds11:53
asacwhich should be pretty snappy :)11:53
asacnot suure if 5 seconds11:53
loolChipaca: is 5 seconds too long for your use case?11:53
asacbut not too far longer\11:53
loolif it needs more than 5 seconds, then we shoudl have an API for it11:53
Chipacalool: there was a stop-timeout, capped at 90 seconds*, but this is not that11:53
loolbut the default should be less than 5 seconds11:53
Chipacaum, asac^11:53
mvoheh :) I suggested 15s, Chipaca went with 2s11:53
lool2s is a bit aggressive for a busy system shutting everything down11:54
Chipacalool: I had it at 2 seconds, but mvo points out that a python process on bbb takes that long to start :)11:54
ogra_asac, fhem has all its config files inside the webroot and offers the user a web way to edit them ... i cant leave the files in the snappy package location (because they wouldnt be editable) and snappy wouldnt merge a new upstrema config with sme altered bits on upgrades ...11:54
mvoyeah, I don't really mind, afterall there was a stop command before that already hit a timeout11:54
ogra_we dont have any way to handle that scenario11:54
ogra_apart from me writing higly complicated merge tools11:54
loolso basically we should leave processes enough time that they can save simple state, but not unload megabytes of data11:54
Chipacamvo: note my ping to lool precedes my commit (and your review) :)11:55
loolif they need to finish a long running job, or request more time, they need an API to express that11:55
loolsince we dont have that API for now, I'd rather we be conservative and leave it a bit longer for now11:55
Chipaca5 seconds is fine, i think11:55
looltypically on the desktop you could do things like prompt the user, or show that some processes are still saving11:55
loolChipaca: yup11:55
loolI believe it's also the shutdown timeout that sysv used years back  :-)11:56
Chipacathis reminds me. pitti: https://twitter.com/SwiftOnSecurity/status/58998122989565952011:57
plorenzhi - i wrote a simple shell script and built a snap file from it. after installing, i always get an error from app armor telling me "aa-exec: ERROR: profile 'testprojekt_mway_hello_1.0.0' does not exist". i wrote an app armor file choosing the default template and it is also installed, so what am i doing wrong?11:57
mvoyeah, 5s works for me, thanks!11:58
Chipacaplorenz: you wrote an apparmor file?11:58
Chipacaplorenz: initially? or was that because of the aa-exec error?11:58
plorenzChipaca: i didn't initially - i just tried to solve that error ;)11:59
Chipacaah :)11:59
Chipacaplorenz: that error looks a lot like an error we got while we were breaking things11:59
Chipacaplorenz: maybe you're running a broken image?11:59
plorenzChipaca: could be, i'm running the raspberry pi image by lool from 15th april12:00
Chipacammmhmm12:00
Chipacayah, that's probably got a broken snappy12:00
loolhmm really12:00
plorenzoh :/ is there a way to patch it?12:00
Chipacaplorenz: want to update the system? then you get new, more exciting broken bits :-p12:00
loolthat's odd, we tested high level things liek docker on it12:01
Chipacalool: oh? interesting12:01
Chipacamaybe i'm jumping to conclusions12:01
loolI need to finish a couple of things then I'll try a simple snap on rpi12:01
Chipacaplorenz: what are you doing when you get that error?12:01
plorenzlool: thank you :) docker runs fine, also webdm12:01
loolplorenz: perhaps tried an unmodified hello world; there might be a trivial typo that is causing a confusing error message12:02
loolright, so other snaps get a profile12:02
plorenzChipaca: well, i have a script mway_hello and declared it as binary. i then run "testprojekt.mway_hello" and the error appears12:02
loolplorenz: it sounds like there's a typo (like a name mismatch between this and that) but that we dont catch it for you12:02
loolplorenz: I wonder if it's the underscore12:02
loolplorenz: try with -12:02
lool(that would be a bug we should catch, but wouldn't surprize me)12:02
plorenzlet me try that12:03
Chipacahmm, is _ valid in a binary?12:03
Chipacanope12:03
Chipacaneeds to match [a-zA-Z0-9+.-]12:03
mvoits not right now, we might relax the rules, they are rather strict right now12:04
plorenzoh okay - "snappy build" doesn't give me an error12:04
Chipacamvo: apparmor uses _ as a separator, afaik12:04
Chipacaso we might need to pay more attention to some of the name mangling if we want it to be valid12:04
Chipacaasac: for i in /oem/*; do mv $i $i.canonical; done will fix your image12:05
Chipacaasac: it is indeed a problem with oem not having a namespace12:06
Chipacasergiusens: ^12:06
plorenzaah now it's running :) thanks a bunch!12:06
Chipacaplorenz: you probably don't have the review tools installed, which are the ones that would have told you about that normally12:07
plorenzChipaca: how can i install them?12:08
Chipacaplorenz: (they lag a little behind, so sometimes will tell you things are wrong when they aren't, or viceversa, but are in general useful)12:08
Chipacaplorenz: click-reviewers-tool12:09
Chipacaplorenz: click-reviewers-tools, actually12:09
plorenzChipaca: nice, it works :) thanks, and you're all doing a great job by the way!12:11
Chipacaplorenz: \o/12:12
asacChipaca: ok... thast odd, because i used beagleblack.canonical12:15
asacso lets wait for serge12:15
Chipacaasac: but if you look in /oem/ you'll see beagleblack, i expect12:15
Chipacaasac: sergio knew this was going to be an issue. Because of your error I finally understood something he said on Friday :D12:16
ChipacaI must say, sleeping 12 hours does wonders for one's comprehension of stuff12:16
mvoChipaca: could you give me a short summary of the problem or is it under control :) ?12:18
Chipacamvo: snappy quits if it finds a namespaceless snap where it expects a namespaceful one12:18
Chipacamvo: currently it expects oem snaps to be namespaceful12:18
Chipacamvo: snappy quits12:18
Chipacamvo: </summary>12:19
mvothanks, makes sense12:19
Chipacamvo: we need to either make oem snaps install themselves with a namespace, or make snappy treat them as frameworks wrt namespaces12:19
Chipacamvo: or something in between :) but right now they're broken12:20
Chipacaare forks of oem snaps expected?12:20
mvoChipaca: yeah, I am slightly leaning towards option (2) but lets wait for sergiusens and his input12:20
Chipacai think sergio was too12:20
mvoasac: -^-^12:20
mvoI have some stuff for review in he meantime ;)12:21
Chipacamaybe :-p12:21
mvo(and gave feedback)12:21
* Chipaca looks12:21
asaci dont know12:21
asaci would have thought that in /apps/ frameworks also have namespaces12:21
Chipacamvo: i looked at your udev branch, and left it for somebody who actually knows udev12:21
asacjust that the binaries dont12:21
mvoChipaca: hahaha, so pitti needs to review it? thats fine :P12:21
asaci feel we should avoid special casing namespace behaviour for new things12:21
Chipacamvo: the go code is good :)12:22
asacbut leave it to you guys12:22
Chipacaasac: having namespaces in the files and directories impacts apparmor and such12:22
Chipacaasac: hence why it's out12:22
pittimvo, Chipaca: please request a review from me, so that I'll get a mail12:22
mvoChipaca: would you prefer both branches reviewed by a udev guy? or only the one that writes the rules?12:23
Chipacaasac: we had frameworks with namespaces but apparmor was all sad and aa-exec complained12:23
Chipacamvo: i'm only just looking at the other one :)12:23
mvook, shout if I should ask for a additional reviewer for that :)12:23
mvoand thanks!12:23
mvopitti: done, mail is out12:23
Chipacamvo: do you need to cd to .Path as well as give u-c-l .Path as its first arg?12:24
asacChipaca: ok. guess too late, but thought jdstrand said he could fix those namespace probs for frames12:28
Chipacaasac: the other option we had was to create symlinks12:29
Chipacaasac: which would've been worse, i think12:29
mvoChipaca: probably not, I think we should kill the CD and the path too, I can simplify stuff12:34
Chipacamvo: otoh it's closer to what will be done for them for services, with WorkingDirectory12:35
asacChipaca: sure. if jdstrand couldnt do it cleanly then go for that thing for release12:35
mvoChipaca: hm, good point, so I just kill it from the launcher for now12:35
Chipacamvo: some things inline12:44
mvoChipaca: I pushed the simplification now, thanks again (just omiting the baseDir in the launcher as first argument)12:44
mvoChipaca: thanks, I check that out now12:44
Chipacamvo: i see you missed the same thing i missed, wrt purge (and datadirs)12:52
Chipacamvo: package.yaml is not in the data dirs ;)12:52
Chipacamvo: and if you want to purge things that have been removed, looking for the package.yaml is not going to help12:52
dholbachasac, kirkland, lool, slangasek: I sent you a mail about UOS planning - it'd be good if you could respond soon12:53
Chipacai guess i should put a comment there12:53
mvoChipaca: yeah, please do , maybe my poor jetlag brain will see it then :)12:53
mvokickinz1: btw, is the latest image good for you or do you still run into issue of stuff that does not work? I think we fixed the issues we know so it would be great if you could tell us if you need more or if its looking good12:55
kickinz1testing right now the last image.12:56
jdstrandfyi, we could fix the framework namespaces and make it work with apparmor13:03
jdstrandhe decided not to because it would make it so that namespaces had to be exposed to the apps that depended on them-- in two ways:13:04
Chipacamvo: good idea wrt making the thing inactive while purging13:04
jdstrand1. if a namespace was in the framework name and the framework policy allowed access to a file in the dir (eg, /apps/fwk.jdstrand/foo), then the framework policy would have something like '/apps/fwk.jdstrand/foo r,' in policy, then *apps* would have to use things like open('/apps/fwk.jdstrand')13:06
pittimvo: reviewed13:07
jdstrand2. since apps would have to know the framework to open(), they would then need to have in their yaml 'frameworks:\n  - fwk.jdstrand'13:07
mvojdstrand: hey, I can work on your seccomp branch and fix/update the tests if you want, my hwassign stuff is done (except for reviewer feedback and final testing)13:07
jdstrandthis breaks several qualities of namespaces-- they can't be forked, they must be toplevel and apps shouldn't have to know the namespace13:07
jdstrandasac, Chipaca: ^ (re fwk stuff)13:08
mvopitti: thanks a lot! a detailed code reivew from you is not needed, the improtant part is that the udev rules look valid in code and tests and nothing  is obviously stupid13:08
Chipacajdstrand: yep, you were quite clear on that; i skipped over that part when telling asac about it all13:08
jdstrandmvo: let me do the code cleanup first, then I can hand it to you13:08
Chipacajdstrand: sorry :)13:08
mvojdstrand: ok, either way is fine with me, I don't mind doing a cleanup along the way13:09
jdstrands/he decided/we decided/13:09
mvojdstrand: looks good fwiw from a quick look over it13:09
jdstrandmvo: I'm not happy with a few of the interfaces. I'm happy to handoff, there is just some 'this works now but is ugly' bits in there. let me take out the ugly. it won't take long then I'll handoff13:10
=== plars is now known as plars-
mvojdstrand: ok, no problem. don't get me wrong, I don't want to steal it from you or anything. I just figured with the questions about the click-reviewers-tools floating around this morning that this is also somehting that you probably want to work on and need time for :) (not sure if you have seen the backlog)13:11
jdstrand(2. since apps would have to know the framework *namespace* to open(), they would have need...)13:12
asacjdstrand: thats not clear to me... i thought that frameworks would export the parts that apps would refer to in PATH or LD_LIBRARY_PATH etc.13:12
jdstrandmvo: I haven't and I want you to take it-- it wasn't ready to be reviewed just yet13:12
asacjdstrand: why does app need to know where framework is on disk?13:12
jdstrandasac: it depends on how the framwork is written. I said *if* a framework exposes a file13:13
jdstrandand people will do it cause that is easy enough to do13:13
jdstrandI literally just came online now-- why are we having this discussion now?13:14
Chipacajdstrand: probably because we broke snappy on the image if it has an oem installed13:15
jdstrandlet's fix that rather than reworking namespaces :)13:16
jdstrandlook, if people want to have .namespace in the fwk, we can fix apparmor (requires some patches). however, if we do we are redefining some qualities of frameworks13:18
jdstrandand we are making it more difficult for consumers of the frameworks13:19
jdstrand(yes, we could have an alias for a fwk, but are apps supposed to depend on an aliased name for a framework? I think not-- if the alias changed all those apps could break)13:20
jdstrandI'm of the opinion that the dev experience is paramount and maintain my opinion that frameworks should not be namespaced13:22
jdstrandif we are adding namespace back to the name, I need to know soon so I can update click-apparmor13:23
asacmvo: Chipaca: i assume you guys have fixing regexps etc. for failures of self test in backlog?13:47
asachttps://jenkins.qa.ubuntu.com/job/vivid-core_devel_proposed-genericamd64-smoke-selftest/45/artifact/results/core-ubuntu-core_devel-proposed-generic_amd64-404-results/log/*view*/13:47
asacCan not find '^No package 'fizzler' for ubuntu-core/devel.*' in 'Installing fizzler13:47
jdstrandtyhicks: hey, we need someone to review mvo's launcher branch with highest priority. it includes seccomp, cgroups and I think namespace (for /dev/pts). can you work with mvo and get soemone on that? (sorry for the short notice)13:49
mvojdstrand: no namespaces yet, sorry, if its important I can look into that next though13:49
jdstrandthat's ok for now. we should add a trello card/file bug though for post 15.0413:49
tyhicksjdstrand: sure13:59
tyhicksmvo: can I get a link to the branch?13:59
mvotyhicks: its here https://code.launchpad.net/~snappy-dev/ubuntu-core-launcher/trunk14:00
sergiusensmvo: Chipaca I am finally here! Landed, drove home, slept (not even unpacked); what the executive summary?14:00
tyhicksmvo: thanks!14:00
mvosergiusens: no catastrophes so far :)14:00
mvojdstrand: I wonder if http://paste.ubuntu.com/10856229/ would make sense? or is snappy build setting the wrong defaults here?14:01
sergiusensmvo: Chipaca oh, oem; it's weird since I've been working with them with my branches (which I couldn't push yesterday as I had no ssh at the airport and no proxy I could use to get over that)14:02
jdstrandmvo: yes-- likely. let me check14:07
jdstrandwe have to rework all this with the new world14:08
* sergiusens puts on some wake up *faster* music14:09
jdstrandmvo: is the Architecture field from DEBIAN/manifest used by snappy in any way?15:07
mvojdstrand: no, 99% sure it does not15:07
jdstrandbeuno: can you sync the store with r442?15:14
beunojdstrand, sure15:14
jdstrandbeuno, mvo, jodh (and asac): that ^ should fix the review tools for all warnings/errors for *default* snappy builds, except for hashes.yaml15:14
jdstrandsecurity yaml/other checks are not in there (will pick those and hashes up later this week)15:15
jdstrandthis is for 'type: app'. other types will have other issues (but again, will pick up this work later this week)15:16
mvojdstrand: nice, thanks a bunch15:18
jdstranddholbach: hey, are you up for uploading click-reviewers-tools based on the r442 branch?15:22
dholbachjdstrand, sure15:22
jdstranddholbach: thanks! that doesn't have the big changes, but it has important small changes (see backscroll)15:23
dholbachcool - great work everyone15:23
mvojdstrand: if you could ping me once the cleanup for the seccomp branch is done, that would be great15:24
jdstrandmvo: yes-- it is close. I have one last thing after the meeting)15:25
mvojdstrand: no rush, I will get dinner and see what I can do after that15:25
dholbachjdstrand, uploaded and accepted :)15:30
jdstranddholbach: thanks!15:33
dholbachanytime15:39
sergiusensasac: so amd64.canonical -> amd64 is fine?15:42
sergiusensforgot to get the explicit ack15:42
asacsergiusens: amd64-generic.canonical maybe? not sure15:42
sergiusensasac: okie dokie, will re upload then as that15:43
asacwe dont use -generic for beagleblacks either15:43
asacPC-amd64.canonical :)15:43
asac:)15:43
sergiusensasac: ok, keep in mind it will be all lower case15:43
asachmm15:43
asacjust more ideas15:43
asacefi-amd6415:43
sergiusenspc-amd64 or x86-amd6415:43
jdstrandmvo: have we defined/implemented specifying no caps yet?15:44
sergiusensasac: oh, efi and legacy bios boot options would be implicit according to my discussions last week with slangasek15:44
slangasekthey should absolutely not be separate channels/images15:45
mvojdstrand: that should work if you put "caps: []" there15:45
asacslangasek: what you think about us naming oem snap that defines our amd64 generic base image pc-amd64 ?15:45
mvojdstrand: I think there is even a test for it, I can search for the branch that implements it, one sec15:45
asaccurrently its named amd64.canonical :)15:45
mvojdstrand: I nocited you pushed a new seccomp branch, does that mean I can hack away now ;) ?15:46
slangasekasac: why "pc"?15:46
asacnot sure... beuno didnt like it15:46
asacto be just amd6415:46
asacand the snap name feels weird to me too15:46
slangasekif this is just about the oem snap name and doesn't require me to change anything on the channels, I'm fine with it ;)15:47
jdstrandmvo: yes, though I will have another change or two for the override bits15:47
slangasekbut why not 'generic-amd64'?15:47
mvojdstrand: cool, want to merge my branch that makes the tests pass again?15:47
slangasekgeneric is nice and generic15:47
asacslangasek: thats cool15:47
asacthanks15:47
jdstrandmvo: yes please15:47
jdstrandmvo: where is that?15:47
jdstrandmvo: this is click_test.go?15:47
asacsergiusens: slangasek is the man from now on to pick those names :)15:47
asacgeneric-amd64 it is15:47
slangasekheh15:47
asacthing is that there wont be a generic-armhf15:48
mvojdstrand: lp:~mvo/snappy/snappy.seccomp and there ./run-checks should hopefully work15:48
asacjust beagleblack :_)15:48
mvojdstrand: if not, shout at me :)15:48
asacbut tahts fine15:48
asacslangasek: i thought maybe its ibmcompatible :)15:48
slangasekhah15:48
asacbut guess thats not the term these days for all those amd64 machines, or is it?15:48
mvojdstrand: still lacks tests for the new stuff, you can also do "cd snappy && go test" to just run the snappy speciific ones15:48
mvojdstrand: I also ran your branch on my snappy test system and it worked nicely15:48
slangasekindeed, lots of these things are not very "personal computer" :)15:48
mvojdstrand: anyway, I get some dinner now and will read scrollback, let me know if there is anything else that I can do, I will try hard to get the branch ready for review this evening so that we are really feature complete and that it all can land15:51
plarssergiusens: can an image be successfully built for BBB now, and if so, what are all the pieces we need? I know you said on friday that the beaglebone.sergiusens one is no longer the one to use?15:52
sergiusensplars: I need to release the udf I worked on during the weekend15:53
slangaseksergiusens: to properly support BIOS+EFI, ./diskimage/core_grub.go needs some concept of the target architecture.  How should the interface to this look?16:00
sergiusensslangasek: architecture as in amd64 and armhf or a different layer of the arch concept?16:02
sergiusensslangasek: I can get that going quickly if not needed by today (as in, do it tomorrow)16:02
slangaseksergiusens: should only be amd64 vs. i386 vs. armhf, as far as I know16:05
slangasekI'm assuming the only ARM grub target we're supporting is efi16:06
slangasekoh, and arm6416:06
slangasekwhich is definitely efi16:06
beunojdstrand, review scripts are updated16:10
sergiusensslangasek: k; I can work on this tomorrow; mind creating a card with all the requirements under a checklist so I don't miss anything?16:11
slangaseksergiusens: hey, I wanted to hack on this, you're depriving me of the opportunity ;)16:12
slangasekI was just looking for guidance on where you wanted the architecture exposed in the interface16:12
sergiusensslangasek: ha, this needs some sort of refactor; but if you want to; feel free, just don't lose any hair :-)16:12
sergiusensslangasek: architecture is exposed in the oem structure as oem.Architecture()16:13
slangasekok16:13
sergiusensbut you might get lost with all the backwards compatibility code paths16:13
slangasek:-)16:13
jdstrandbeuno: thanks!16:23
sergiusensasac: so I am going with x86-amd64 then for the oem package16:25
jdstrandmvo: ok, branch updated. going to do some more blackbox testing16:25
mvojdstrand: cool, feel free to prpose for merging if you feel its ready, I will do a followup branch on that with added tests later tonight16:40
mvojdstrand: this way maybe Chipaca or sergiusens can do a review and we can hopefully build a test image with the feature tonight and I can make the launcher "strict" again (i.e. fail if seccomp policy file can not be found)16:41
slangaseksergiusens: "x86-amd64"?  do you mean "x86-64"?16:42
slangasekx86-amd64 is awfully confusing16:42
sergiusensslangasek: ok then16:43
jdstrandmvo: the launcher on the image applies seccomp policies?16:43
sergiusensslangasek: I really don't care; IOW, I just want to make the managers happy :-)16:43
mvojdstrand: it does, if it finds them16:43
slangaseksergiusens: I thought the managers were already happy with generic-amd64 ;)16:43
jdstrandah good, that will help me in testing our seccomp policy with existing snaps16:43
jdstrand(which is next on my list)16:44
sergiusensslangasek: heh, asac wasn't as it was inconsistent with beagleblack (no generic word in there)16:44
mvojdstrand: cool!16:44
slangaseksergiusens: "<asac> but tahts fine" ;)16:45
slangaseksergiusens: anyway, I'm fine with either16:45
sergiusensslangasek: oh, I missed that; so choose which one; last change before I upload ;-)16:45
slangaseksergiusens: whichever one is quicker to implement!16:45
slangasek;P16:45
sergiusensslangasek: lol, it's just a string16:45
mvojdstrand: keep me updated, I will be a bit on-and-off in irc in the next ~1h or so16:45
mvobut will read scrollback16:46
jdstrandmvo: ok, I proposed a merge16:46
mvota16:46
jdstrandmvo: thanks for your help on this :)16:46
sergiusensmvo: btw, I fixed the error message for installing inexistent packages and removed the channel part as it was conceptually wrong (the channel is per package, not the system one)16:48
jdstrandoh shoot a conflict16:48
* jdstrand fixes16:48
sergiusensjdstrand: yay, nice to see one less warning :-) https://myapps.developer.ubuntu.com/dev/click-apps/2407/automated-review/16:53
sergiusensjdstrand: mind to review btw :-D16:53
jdstranddone16:54
jdstrandmvo: ok, merge with trunk and conflicts resolved. there is one new test failure in purge_test.go that I left16:55
jdstrandmerged*16:55
sergiusensbeuno: alias for generic-amd64(.canonical) please?16:56
jdstrandmvo: I'm moving on to policy testing now (unless I get feedback from others on the branch)16:56
mvojdstrand: ok, I take care of that, we can't (tarmac prevents that) merge with test failures, but no worries16:56
beunosergiusens, can you ask nessita instead, otp for a while16:57
sergiusensbeuno: sure, not sure who is able to do this still :-P16:57
beunosergiusens, it's a state secret16:57
sergiusenslol16:58
tyhicksjdstrand, mvo: the snappy launcher review is just a general security team review or is it for a MIR?17:22
jdstrandtyhicks: both really17:22
mvotyhicks: I'm not sure what the difference is, but the seeds will probably pull it into main. how is it looking so far?17:23
tyhicksmvo: sorry, just getting to it now17:23
mvotyhicks: no problem, I'm just curious :)17:23
jdstrandtyhicks: this is sensitive code, so the MIR would need a security team review. we want to give it extra special review. whoever does the MIR can say that the security team already reviewed it and signed off17:24
tyhicksjdstrand: ack17:25
nessitahello all17:25
jdstrandtyhicks: the MIR review is 'can we maintain it?'. this is more than that17:29
tyhicksright17:29
asacsergiusens: slangasek: i guess we will get feedback on the naming decision one way another later17:43
asace.g. loets go with what steve said17:43
beunoasac, already being done17:44
tyhicksmvo: should your launcher build tests pass during a build in an amd64 schroot?18:02
tyhicksmvo: the test_restrictions test fails for me: http://paste.ubuntu.com/10857373/18:03
mvotyhicks: let me try that in a schroot18:05
tyhicks(vivid-amd64 host and vivid-amd64 schroot)18:06
mvotyhicks: do you see anything special in dmesg?18:07
mvotyhicks: just tested on a trusty-schroot and it works here, but I had to install the build-depends, let me create a vivid-schroot18:08
tyhicksmvo: I don't see anything special in dmesg18:08
mvotyhicks: what personality did you use for the schroot?18:09
tyhicksmvo: it is a slightly one-off schroot profile that the security team uses18:10
tyhicksmvo: if it builds for you in your vivid-schroot, I'll chase down my local issues18:11
mvotyhicks: ok, I will try with one of the default ones, maybe you guys block something seccomp releated? the test just creates a empty profile, loads the seccomp filter and runs /bin/true and checks that it got killed18:11
tyhicksyeah - I was surprised that it didn't work18:12
mvotyhicks: it works here with the desktop profile, I can try harder later once I finished my other work with a different profile18:21
=== kickinz1 is now known as kickinz1|afk
=== kickinz1|afk is now known as kickinz1
tyhicksmvo: no worries - I'll sort it out on my end18:23
tyhicksmvo: sorry for the distraction18:23
mvono worries, I am super thankful for this review18:23
=== rickspencer3_ is now known as rickspencer3
jdstrandmvo: r404 on amd64 doesn't seem to have the launcher-- or if it does, I may be doing something wrong18:38
jdstrandmvo: /apps/bin/... still has aa-exec. I don't see an ubuntu-core-launcher package on the image18:38
plarsogra_: around? I'm still having weird issues with booting the beaglebone and wondering if you can help18:40
mvojdstrand: yeah, sorry that has not landed, you can sudo /usr/bin/apt-get install ubuntu-core-launcher to get it and copy a new snappy manually or wait ~1-2h and I will try to get a new image out with seccomp18:41
ogra_plars, i havent touched my bone in months ...18:41
ogra_plars, bu i can try indeed :)18:42
jdstrandmvo: ack, thanks. I think there may be a bug in framework policy install that I'll try to track down for the moment18:42
plarsogra_: I'm just trying to sort out how to make it boot to the emmc when I have a snappy sd in the sd card slot18:43
plarsogra_: my understanding was that it *should* do that by default when you don't press the boot select button, but it appears to scan the sd card and boot to the sd by default18:43
plarsogra_: I've at least sorted out how to force it to boot to the SD when I hold the boot select button (as it should), but I need it to be selected based on that button ideally - so that we can keep a stable image on emmc and use it to flash a new snappy image on the sd, then force it to boot into sd18:44
ogra_plars, you can forceit to SD by zeroing the first few bytes of the MMC18:45
plarsogra_: so is that where it's finding uboot? on those inaccessible partitions of the emmc?18:46
plarsogra_: I can force it to the sd just fine now, my problem is the opposite - I would like it to boot to the emmc by default unless I'm holding the s2 button18:46
plarsso... ignore the sd card in the slot unless I press the button18:47
plarsI think I could do it if I could modify the uboot environment, but there is no saveenv when I boot from the emmc. And any changes I make when booting the sd card and run saveenv, don't show up when I boot from emmc18:47
ogra_plars, i have never done much with the bone ... only up to XM ... i got my first BBB when i strted doing stuff on snappy18:48
ogra_plars, i suspect #beagle would be a better source of info, i dont knowmuch about the HW specifics18:48
plarsogra_: ack, thanks18:48
ogra_(i.e. the zeroing of the MMC is the actual only BBB specific thing i know :) )18:49
mvojdstrand: fwiw, I removed all caps from hello-world, so no networkig there anymore and thats also a good example how to do it19:56
jdstrandmvo: cool, I tried [] here too and it worked fine19:57
mvoChipaca: please let me know if there is anything else that the seccomp branch needs19:59
Chipacamvo: i've not been able to look at it yet; got a long phonecall20:00
Chipacaam off of it now though :)20:00
mcaleymcaley here from GE Firstbuild… I’ve been working with kirkland and a few others to get snappy running to control a GE fridge from a pi. ive got the snap all working fine, now ready to put pi in the actual fridge. that means replacing hardwire connection with wifi. is there a correct way of doing rootfs stuff? I have seen several posts about remounting system_a r/w and loading the deb packages, but then I’ll have20:05
mcaleyredo if it do a system update. i am running ubuntu-core 4.20:05
AppleCIDRIs Node.js available for Snappy Core? I can't find much information on it20:07
ogra_AppleCIDR, https://ograblog.wordpress.com/2015/02/21/meet-node-snapper-a-helper-to-easily-create-snap-packages-of-your-node-js-projects/20:08
AppleCIDRFantastic!20:08
mcaleyto get going really quick i just pulled my node and tarball as ogra has in his blog from a raspian build20:10
ogra_yeah, that would surely work too20:11
mcaleyogra_ a couple of us at firstbuild want to build a qemu service for doing snappy builds that is hosted… any plans for somethign like that?20:11
ogra_unless you need npm ...20:11
mcaleyright20:11
ogra_i dont have any such plans, no :)20:11
ogra_if you add 24 more hours to the day i might find the time :)20:12
mcaleyok, we may take a stab….20:12
mcaley:)20:12
kirklandmcaley: howdy!  thanks for joining us here!20:21
sergiusensjdstrand: kickinz1 asac: plars http://blog.sergiusens.org/posts/Updates%20in%20snappy%20and%20ubunu-device-flash/20:22
kirklandasac: lool: hiya!  mcaley is looking for some help correctly configuring wifi in a snappy image -- can you point us to any documentation?20:23
tyhicksmvo: can src/overlay.[ch] go away? (the functions defined in that file are not used anywhere)20:33
mvotyhicks: yes, that can be killed, its cruft right now (we probably will add somehting like this later but not now)20:34
tyhicksmvo: ack - I'll ignore that code20:34
asacmcaley: hey20:34
mcaleyho20:34
asacmcaley: so far we dont have built in wifi config feature; however we have wpasupplicant;20:34
asacmcaley: so if you do a framework you would use that one directly20:35
mcaleyok, np.. just wanted confirmation before i hacked it up20:35
asacright20:35
mcaleythx20:35
asacmcaley: so make your own config mechanism in your app and use ifconfdig up + wpasupplicant + dhclient :)20:35
mvotyhicks: gone in r2820:35
asacsergiusens: am i on wrong channel now that i have image 6?20:36
asacor is that rolling/edge rename now 6?20:36
asacon armhf20:36
jdstrandsergiusens: re blog> is 14.10 up to date?20:36
asacsergiusens: so i think with beagleblack oem snap20:36
asacthe hostname doesnt work20:36
asacit still tells me @localhost on prompt20:36
asacbut i saw in config its beagleboneblack as hostname20:37
mvoasac: hm, jodh worked on this a while ago, does /etc/hostname look correct?20:37
asacno20:37
asacbut it looked ok on the previous image i had with beagleboneblack.sergiusens20:38
asaci think it broke in recent oem snap reconfigure20:38
mvook, then its something else20:38
asacmaybe because of namespace rename20:38
asac(BeagleBoneBlack)ubuntu@localhost:~$ cat /etc/hostname20:38
asaclocalhost.localdomain20:38
asachmm20:39
asacnevermind20:39
asacthere is no hostname20:39
asacin http://paste.ubuntu.com/10858216/20:39
asacyay20:40
asaci used ubuntu-core config to change hostname :)(20:40
mvo:)20:40
asacwonder if that persists across reboot20:41
asachttp://paste.ubuntu.com/10858231/20:42
asacsergiusens: how do i use udf to create an image without ubuntu user? guuess thats not supported yet?20:42
mvoit should, there was a bugfix for tihs20:42
mvothe reboot-hostname-persistance20:42
mvono idea about the other20:43
sergiusensasac: if you do it through snappy config it would persist20:47
asacyeah20:48
asaclet me reboot until we have auto reboot20:48
asacok good hostnames persist across reboot20:50
asacnow when there is new iamge i can try with upgrade even20:50
* asac goes all-in and installs docker on his beagle20:51
* asac thinks SD cards are not made for big things20:51
asacgood docker seems to be running20:52
asacnow i need instructions how to easily try it on arm20:52
asackickinz1: do you have those ?20:52
kickinz1asac, sorry, wasn't there.21:11
kickinz1asac: what do you need? instructions to test docker on arm?21:12
asackickinz1: how to install and use docker iamge for armhf21:14
asacwoudl be nice21:14
kickinz1You have a bbb with snappy?21:14
asacyep21:14
asacits running21:14
asaci have docker running too21:15
asacdocker images21:15
asacREPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE21:15
kickinz1So for some smole tests, you can install docker on snappy then issue 'docker run -it armbuild/ubuntu'21:15
kickinz1s/smole/smoke/21:15
* asac runs that command21:15
asacok itws pulling stuff21:15
asackickinz1: so hgow do i use that imnage now?21:19
* asac is docker illeterate21:19
asacoh i think i am in it :)21:20
asacroot@ed4e2b9bf2ea:/#21:20
asachehe21:20
kickinz1asac, if all the download was fine, yes you are in it.21:20
* asac runs apt-get update21:20
asackickinz1: how can i reuse that container tomorrow?21:20
asacor lets say i log out21:20
asaccan i relog-in?21:20
kickinz1asac: yes, just issue a docker ps -a, you will see the conatiner with a random name and a unique id.21:21
asackickinz1: is that running after boot?21:22
asaci see it now21:22
asachttp://paste.ubuntu.com/10858375/21:22
asackickinz1: thats pretty cool21:22
asachowever its suspicious21:22
asachmm21:22
asacnot sure why21:22
asackickinz1: how can i log into that again?21:22
mvoasac: I triggered a new image build, it should contain all the new stuff, hardware assign support, purge support and seccomp launcher support. build for amd64 (r405) should be available in ~20min or so. I need some sleep but testing welcome, I also queued a full build in 30+min or so21:22
kickinz1asac: yes, random names.21:22
mvoChipaca: thanks again for your reviews, I get some rest now21:23
Chipacamvo: rest is good21:23
mvosergiusens: plesae mail me if you need reviews in my morning (in +7h)21:23
* mvo waves21:23
asacyay21:23
asaci started the container21:23
kickinz1asac: docker start suspicious_sinoussi21:23
asacand attached21:23
asacsuccess21:23
kickinz1asac: ok21:24
asackickinz1: does it always stop when i exit the shell?21:24
kickinz1asac, yes in interactive mode.21:24
asackickinz1: nowe that i started it21:24
kickinz1asac, else you have to make it run a doeamon or a process.21:24
asacand attached will it be stopping again?21:24
asacok21:24
asacdont woorry21:24
asacas long as i can get into that thing i am happy enough21:25
* asac installs git-core in docker21:25
asacheh21:25
kickinz1asac: I have also a docker_template snap if you want to try docker containre as a service for snappy that will start at boot time.21:25
kickinz1asac: http://bazaar.launchpad.net/~kick-d/+junk/docker_template/21:26
sergiusensChipaca: https://code.launchpad.net/~sergiusens/snappy/lockDownRemove/+merge/25684921:35
* Chipaca pulls out his big angry button of (-1) disapproval21:35
sergiusensChipaca: oops21:35
asachmm so i am doing a wildcard search21:37
asacand it returns zero hits21:37
Chipacasergiusens: hmmmm21:37
sergiusensChipaca: want me to move mvo's changes back to snap.go?21:38
Chipacawat?21:38
sergiusensChipaca: then what is the hmm about?21:38
asachttp://paste.ubuntu.com/10858447/21:38
asacis that a problem?21:38
asacChipaca: sergiusens ?21:38
sergiusensasac: are you on rolling or 15.04 is hello on rolling or 15.04?21:39
asacsergiusens: well i installed docker21:39
asacbut search *21:39
asacreturns zero21:39
asactoo21:39
Chipacasergiusens: i understand the objective of your branch is to not allow uninstalling preinstalled software21:39
Chipacaasac: pastebin that please21:39
asacsergiusens: http://paste.ubuntu.com/10858450/21:39
asacChipaca: http://paste.ubuntu.com/10858450/21:39
Chipacata21:39
sergiusensChipaca: want me to split it?21:40
Chipacasergiusens: is that ^ the objective of the branch?21:40
sergiusensChipaca: in file movement and new feature?21:40
asachow odften do we produce images?21:40
sergiusensChipaca: yes it is21:40
asaccan we increase that to every 1h ?21:40
asacfor now?21:40
asacslangasek: ^21:40
Chipacasergiusens: what should the behaviour of that be?21:40
asacslangasek: i think for testing would be nice that we get new ones all the time :P21:40
sergiusensChipaca: if the to be removed file is in built-in it can't be removed21:41
Chipacasergiusens: that is: your branch lets you remove the software that was preinstalled, as long as you've installed a newer version21:41
Chipacasergiusens: is that the right behaviour?21:41
sergiusensChipaca: yeah, similar to the oem package; if you factory reset in the future, the original preinstall will always be there21:41
Chipacasergiusens: ok21:42
Chipacaasac: you need to tell us how you created the image you're running, and when, and the output of system-image-cli -i would be nice as well21:42
sergiusensasac: I get all this http://paste.ubuntu.com/10858465/21:42
Chipacaasac: because it's not the first time _today_ you've tinkered with an old/weird image :)21:43
slangasekasac: I'll do that for now; I don't know if that will cause a load problem across the buildds, we'll have to test and find out21:43
sergiusensasac: I did a 15.04 flash fwiw21:43
sergiusensChipaca: if we need to request the output of s-i-cli we did something wrong with snappy [info|list] ;-)21:44
sergiusensboth of those should be enough21:45
Chipacasergiusens: both of those, or either of those?21:45
asacodd21:46
Chipacasergiusens: (yes, you have a point, my bad, etc)21:46
asacChipaca: sergiusens: sudo ubuntu-device-flash core rolling --oem beagleblack --channel edge --output  my-snappy.img21:46
=== kickinz1 is now known as kickinz1|afk
sergiusensasac: search only stopped working after installing docker?21:52
slangaseksergiusens: I really have no idea what's going on here, it looks like mastering the image is unreliable.  I'm now sure that I've gotten a proper boot partition at least once using revision 160... but most of the time it fails21:53
sergiusensslangasek: show me your fixes; use 162 btw with what I have in the blog post21:55
slangaseksergiusens: this is with *no* changes from me; and I'm using 160 instead of 162 because I wasn't getting it to work with 162; and what blog post?21:56
sergiusensslangasek: or sudo ubuntu-device-flash core rolling --channel edge --output test.img21:56
sergiusensor s/rolling/15.04/21:56
sergiusensslangasek: http://blog.sergiusens.org/posts/Updates%20in%20snappy%20and%20ubunu-device-flash/21:56
asacsergiusens: didnt test before21:56
asacsergiusens: i have image 6 accordintg to channel.ini21:57
sergiusensasac: yeah, snappy list and snappy info give you that info21:57
asacchannel: ubuntu-core/rolling/edge21:57
asacsergiusens: you say i should try flashing new?21:58
asacto check if its docker?21:58
sergiusensasac: to check if installing a framework breaks the world, yes21:58
Chipacai have docker installed21:58
Chipacaon amd6321:58
Chipacaor 6421:58
Chipacaand it works21:58
sergiusensI'm installing docker now21:58
sergiusenson armhf21:58
slangaseksergiusens: I used this commandline; still the same problem: ubuntu-device-flash --verbose core 15.04 --channel edge -o system-image-test-proposed.img.raw --device generic_amd64 --developer-mode21:59
sergiusensslangasek: so no boot when doing that? Are you bzr bd'ing by any chance?22:00
slangaseksergiusens: yes, it's bzr bd22:00
slangaseksergiusens: and yes, no boot22:00
sergiusensslangasek: not sure if all the dependencies with the versions required are on vivid, can you make sure they match the ones on ppa:snappy-dev/images?22:00
sergiusensslangasek: or maybe try the u-d-f from ppa:snappy-dev/tools and tell me if you see the same22:01
slangasekok, looking22:02
asacsergiusens: ok let me first try uninstall that22:02
sergiusensChipaca: asac: installing docker indeed limits the results22:02
Chipacahoo!22:02
sergiusenshttp://paste.ubuntu.com/10858541/22:02
sergiusensChipaca: I think I know why; if we pass the framework in the store, it might be filtering22:03
sergiusensto the store22:03
tyhicksjdstrand: a regular user will be able to run ubuntu-core-launcher, right?22:03
jdstrandtyhicks: yes22:03
slangaseksergiusens: golang-ar-dev, golang-yaml.v2 are at the same versions in ppa:snappy-dev/image as in vivid.  golang-snappy-dev has a newer version in the ppa.  So I'll take a look22:04
tyhicksjdstrand: thanks - I'm trying to decide the best way to sanitize the input arguments and wanted to confirm that before I spent too much time on it22:04
asacsergiusens: seems framework break search22:05
asacyes22:05
sergiusensasac: I guess we need to talk to the store guys; not sure if Chipaca is already playing with random queries to verify22:06
asacsergiusens: :)22:06
sergiusensI need to brb22:06
asacsergiusens: http://paste.ubuntu.com/10858559/22:06
asacon beagle :)22:06
asacghuess we should really refuse to install a new oem22:06
jdstrandtyhicks: np-- and thanks for looking at that22:06
sergiusensasac: that was working until all the switch work happened ;-)22:06
sergiusensasac: I guess we need to hardden our tests22:07
asacjojo22:07
asacwant me to file something?22:07
asacor rather remember :P22:07
sergiusenstbh, I wasn't aware that today was last call and that we had until thursday for polish22:07
jdstrandChipaca: ok, I figured out my issue. if I have a framework snap that has a binary that references a cap that is shipped by the framework policy of the same snap, then it fails to install22:07
asacsergiusens: :)22:07
Chipacajdstrand: should that work?22:07
asacits important to last call early!! :P22:08
sergiusensasac: a task will do22:08
asacbut not too early22:08
sergiusensasac: not really, then we do things in a hurry and miss stuff ;-)22:08
asacsergiusens: at least we have two days to fix those now22:08
asacbetter than zero22:08
Chipacasergiusens: so this is a bug because frameworks should add to the list of results, not substract from it, correct?22:08
jdstrandChipaca: it wasn't every really discussed, but I noticed with both docker and my test dbus framework that it is very handy22:09
slangaseksergiusens: upgraded golang-snappy-dev; same outcome22:09
Chipacajdstrand: darn :)22:09
jdstrandChipaca: let me see if it is just a simple ordering thing. if we unpack the framework policy first we should be ok22:09
sergiusensChipaca: correct22:09
sergiusensbrb22:09
* Chipaca ponders dinner22:09
jdstrandChipaca: I'm right in this area of the code, so enjoy dinner. if needed, I'll file a bug22:10
Chipacajdstrand: let me know, if it's just ordering i might sneak it in22:10
jdstrandyep22:10
Chipacadinner will be quick either way :)22:10
jdstrandheh22:10
asacsergiusens: https://trello.com/c/8E2zsHNV/322-snappy-install-oem-must-fail-cleanly-if-run-on-running-snappy-system22:12
asacadded22:12
slangaseksergiusens: so you're saying this command definitely works for you on amd64 with rev 162, and gives you a correct boot partition? 'ubuntu-device-flash --verbose core 15.04 --channel edge -o output.img'22:13
* asac tries steves command22:13
asacsergiusens: that command produces something for me that boots in kvm22:15
asacand is version 822:15
asacnot 16222:15
asacslangasek: http://paste.ubuntu.com/10858591/22:16
asacsergiusens: sorryt .... wanted to highlight steve22:16
asacslangasek: ^22:16
slangasekasac: rev 162 of ubuntu-device-flash22:17
asackk using the package ... think udf could really benefit from udf version command :)22:19
slangasekand installing the package from the tools repo, I get this error - what's the fix?: 2015-04-20 22:18:27 ERROR snappy logger.go:199 generic-amd64 failed to install: unpack helper not found, do you have snappy installed in your PATH or GOPATH?22:19
asac0.20snappy5-0ubuntu122:19
asacslangasek: so above i had troublbes because of missing depends of udf on the right snappy thing22:19
asacslangasek: sudo apt-get install ubuntu-snappy-cli22:19
slangasekasac: thanks22:20
slangasekbtw, looks like we've inflicted a namespace collision on the archive now; command-not-found wants me to install the 'snappy' package for the snappy command, which is clearly wrong22:21
Chipaca snappy is a media player that gathers the power and flexibility of22:22
Chipaca GStreamer inside the ease of a minimalistic Clutter interface.22:22
slangasekok, the version from the tools ppa works; and building rev 164 for myself works (at least once, so far)22:25
slangasekmake that twice22:25
slangasekand now when I apply my diff, udf works as expected22:27
loolkirkland: wifi will be cmdline only wpasupplicant and such; I didn't set it up myself, but we made sure the low level tools are in the image22:44
* Chipaca back22:44
jdstrandChipaca: arg, false alarm. I had a bug in my apparmor policy but all I got from snappy was 'exit status 1' so it took me far too long to figure out the issue22:53
Chipacajdstrand: :(22:54
jdstrandtyhicks: hmm, I just ran ubuntu-core-launcher and it doesn't seem to be doing an aa_change_profile() correctly22:58
jdstrandtyhicks: I'm using what is in the ppa (https://launchpad.net/~snappy-dev/+archive/ubuntu/image/+packages). let me pull that down and see if it is missing any changes22:58
tyhicksjdstrand: I have only invoked it in order to abuse it and haven't actually tested it in its intended mode23:00
tyhicksjdstrand: it just calls aa_change_onexec(argv[2])23:01
tyhicksjdstrand: that shouldn't fail if 1) the profile is loaded and 2) argv[2] contains the correct profile name23:02
jdstrandtyhicks: we need to fail if the profile isn't loaded23:02
tyhicksjdstrand: agreed - is that not happening?23:03
jdstrandwell, right now things are unconfined23:03
jdstrandbut my vm seems weird. let me retry in a new vm23:04
tyhicksjdstrand: oh, I see the problem23:05
tyhicks    if (getenv("SNAPPY_LAUNCHER_SKIP_APPARMOR") != NULL) {23:05
tyhicks       // set apparmor rules23:05
tyhicks       rc = aa_change_onexec(aa_profile);23:05
tyhicksjdstrand: that getenv() conditional is backwards23:06
tyhicksjdstrand: there are some other issues - I'll add that to my list and send out what I have so far before I go eod23:08
jdstrandsudo snappy install hello-world.jdstrand23:08
jdstrandhello-world.evil  ; ls -1 /tmp/myevil.txt23:08
jdstrandHello Evil World!23:08
jdstrand/tmp/myevil.txt23:08
jdstrandtyhicks: that sounds great. mvo went offline, so if you can send an email, that would be perfect23:09
tyhicksjdstrand: ack - that was my plan23:09
tyhicksjdstrand: so, a workaround for now is to set the SNAPPY_LAUNCHER_SKIP_APPARMOR env variable :)23:10
sergiusensslangasek: oh, sorry, forgot to mention the asac incidence23:12
asacguess it helped ;)23:13
jdstrandtyhicks: yep, thanks. I added a trello card for the apparmor issue but said to look at feedback from you23:13
sergiusensasac: yes, I did create a branch to dep on ubunut-snappy-cli now23:13
tyhicksjdstrand: is it ok to set NO_NEW_PRIVS? (it is currently being set but it'll prevent any AA profile transitions)23:13
jdstrandtyhicks: hmm, I had it setting NO_NEW_PRIVS cause I thought it would prevent some attacks. however, if we aren't allowing the seccomp or ptrace syscalls, we likely don't need it23:14
tyhicksjdstrand: I think it is a good thing until we want to start doing profile transitions23:15
jdstrandtyhicks: well, docker does them already23:15
tyhicksjdstrand: hrm... I bet docker won't work with this launcher23:15
jdstrandthat is an interesting point. can you add it to your feedback?23:16
tyhicksyes23:16
jdstrandI figured we would use @unrestricted to the seccomp bits, but I'm guessing the cgroup parts will also be a problem23:16
jdstrands/to the/for the/23:16
jdstrandok, I gotta run23:16
tyhicksjdstrand: NO_NEW_PRIVS is only a seccomp thing so it shouldn't affect the cgroup part23:17
tyhicksjdstrand: also, NO_NEW_PRIVS is set after the cgroup setup23:17
tyhicksjdstrand: bye!23:17
sergiusensasac: oh, fwiw, the 162 is the trunk revno :-)23:41
asacsergiusens: yeah ... thinking udf version could have nice info :)23:42
Chipacaraise your hand if you think “Make installing a framework restarting dependent apps services failing revert the installation, restarting dependent apps services” is only marginally less hard to follow than the quagmire of deferred failure handling it engenders23:56
* sergiusens raises the hand just from failing to understand the sentence23:58

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