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

jdstrandwe should probably just document how to use the oem config bits and remove hw-assign00:04
asacjdstrand: so for me hw-assign is about drafting rules for development00:11
asacyou do hw-assign app /dev/null00:11
asacthis creates a rule with path=/dev/null :)00:11
jdstrandthat was how I saw it too00:12
jdstrandyes, that used to work00:12
jdstrandnow with the cgroups and launcher, it doesn't00:12
asacyou could also do hw-assign --kernel=ttyS* --with-tag=...00:12
asacthis will just create the same rules we havae00:12
asacjust "runtime rules00:12
asac:"00:12
asaconce you are happy you can dumb them and copy them into your oem config :)00:12
jdstrandright, we'd need to define the cli experience for that00:12
asacjdstrand: sure i am saying this would be mapped into that00:12
asacudev engine00:12
* jdstrand nods00:13
jdstrandright, if we didn't remove hw-assign, we would have to integrate it00:13
jdstrandthe trello card currently says update it for cgroups00:13
asacack00:13
asacthink that can be SRU'd the advanced CLI is then future00:14
jdstrandyeah, that sounds fine00:14
asacfine00:14
jdstrandheh00:14
asacjdstrand: so you say that apps have now zero device nodes?00:18
jdstrandno, they have a few00:18
asacwasnt there a default set of nodes that we wanted to assign00:18
asacwhere can i find that?00:18
jdstrand/dev/null, /dev/full, /dev/zero, etc00:18
asacthat list :)00:18
jdstrandit is hardcoded in the launcher00:18
jdstrandlet me get the link00:18
jdstrandasac: http://bazaar.launchpad.net/~snappy-dev/ubuntu-core-launcher/trunk/view/head:/src/main.c#L5700:19
asacjdstrand: ok, did you upload new -security?00:23
jdstrandI am about to00:24
jdstrandit will be a few minutes00:24
asachmm00:26
asacso the go webserver does not start anymore00:26
jdstrandasac: sudo grep DEN /var/log/syslog ; sudo sc-logresolve /var/log/syslog00:28
jdstrandI can try here00:28
asacApr 22 00:24:44 localhost kernel: [ 6546.952744] audit: type=1326 audit(1429662284.103:45): auid=4294967295 uid=0 gid=0 ses=4294967295 pid=2682 comm="sed" exe="/bin/sed" sig=31 arch=c000003e syscall=137(statfs) compat=0 ip=0x7f9a1d0a4017 code=0x000:29
asacjdstrand: statfs00:29
jdstrandah we added statvfs earlier00:29
jdstrandI'll fix and see if there are any other stat* that we missed00:30
asacjdstrand: so python xckd server also has no port open00:30
asacroot      1244     1  0 00:29 ?        00:00:00 /usr/bin/python3 /apps/xkcd-webserver.canonical/0.4/bin/xkcd-webserver00:30
asacit is running though00:30
asacor wait00:31
jdstrandwhat does logresolve say about that?00:31
jdstrandfyi, the final syscall list hasn't been uploaded yet. tyhicks and I have been reviewing it today00:31
asacits fine00:31
asacpython works00:32
asacjust didnt have right port forward00:32
asacand was to stupid for lsof00:32
jdstrandwhich is what I am preparing now. it changes some things around wrt to the networking bits that could have blocked it, but the new upload won't block it00:32
jdstrandok, good00:32
asacits odd00:32
asaclsof doesnt have a hit on 80\00:32
asace.g. no hit on liten00:32
asacLISTEN00:32
asacoha00:33
asaci dont see the LISTEN ports as normal user00:33
asacguess thats a feature?00:33
asacas root i see it00:33
jdstrandthat is normal00:33
asachttp://paste.ubuntu.com/10864024/00:34
jdstrandyeah00:34
jdstrandI don't know why otoh, but that is consistent with my experience00:34
asacjdstrand: its not on my normal desktop :)00:36
asacmaybe admin group00:36
asacgood00:36
asacjdstrand: added statfs and fstatfs to seccomp00:36
asacand now go is running00:36
jdstrandcool00:37
asacslangasek: is there a new image supposed to happen now?00:38
asaciirc it should be about time :)00:38
asacjdstrand: not sure if fstatfs is needed, but saw fstatvfs so thought it makes sense00:39
slangasekasac: next one fires off in 16 minutes00:39
asacjk00:39
asack00:39
jdstrandasac: it does, there are also statfs64 and fstatfs64 that I am adding00:40
asacright00:40
jdstrandI'm also downloading the latest linux-libc-dev to see if we are missing anything else00:41
jdstrandinteresting, a new syscall 'switch_endian'00:44
asacheh00:46
asacguess docker might want to use that later00:46
jdstrandit is something for powerpc00:46
asacsure00:46
asacjdstrand: so i am lost currently how our mir etc. framework can easily be tested without hw-assign00:50
jdstrandasac: it is probably also broken under the launcher00:50
asacjdstrand: you mean if you assign the right devnodes it still doesnt work?00:51
jdstrandbecause aiui, it uses a hadn-crafted policy00:51
asacjdstrand: well, there are two things... a) policy and b) access to dri devnodes00:51
asacdo you know what the policy hacks look like?00:52
jdstrandhw-assign does nothing with udev atm (hence the trello card). the launcher looks at udev to add devices to the cgroups00:52
asacright00:52
jdstrandit may not. I have not seen the branch00:52
asacbut we need some cli so folks can test mir00:52
asacwithout having to put togehter a full appliance00:52
asacjdstrand: where do we put the udev rules?00:52
asac/lib/udev/rules.d/80-snappy-assign.rules00:53
jdstrandbut if they use hw-assign, it is broken cause hw-assign and udev don't do anything. if it uses hand-crafted policy, it is broken because nothing tells the launcher to add the devices to the cgroups00:53
asacsure i get that00:53
asacsaying that hw-assign should just add new udev rules :)00:53
asaclol00:53
jdstrandyes, it should :)00:53
jdstrandhence the aforementioned trello card :)00:54
jdstrandhehe00:54
asacso00:54
jdstrandanyway, yeah00:54
asacwhat does a udev rule look like?00:54
asacthat just matches the path?00:54
jdstrandso, that is going to be in snappy somewhere00:55
jdstrandI see that http://bazaar.launchpad.net/~snappy-dev/ubuntu-core-launcher/trunk/view/head:/src/snappy-app-dev is a script to add files to the cgroups00:55
asachttps://code.launchpad.net/~mvo/snappy-hub/snappy-examples-oem-hardware-snap00:56
jdstrandhw-access could call out to that00:56
jdstrandbut, I think that is being removed (no matter, the same functionality could be added to hw-assign00:56
asacwell hwassign should add the proper rules imo00:57
jdstrandif hw-assign is going to be persitent, use, it should add the udev rules00:57
jdstrands/use/yes/00:57
jdstrandit is probably pretty easy to add come to think of it-- all of it is already in snappy00:58
asachmm00:58
asacso an oem snap can ship binaries?00:58
asacwow00:58
jdstrandI was not aware of that either00:59
* jdstrand jots that down to ask about later00:59
asacsergiusens: where are our oem snap sources01:00
asaci dont see them in ~snappy-dev01:00
asacjdstrand: ok somethign worrying: http://paste.ubuntu.com/10864146/01:11
asachello-world.jdstrand failed to install: exec: "sc-filtergen": executable file not found in $PATH01:11
jdstrandindeed01:12
jdstrandthat looks similar to the fs issues I keep talking about01:12
asac?01:12
jdstrandwhat does dmesg say?01:12
asacjdstrand: thats when running udf01:13
jdstrandudf01:13
asacdmesg doesnt say much01:13
asac[10770.939947] systemd-udevd[10485]: failed to execute '/tmp/test.sh' '/tmp/test.sh': No such file or directory01:13
asac:)01:13
asacnot sure what that is01:13
jdstrandI guess you need to have ubuntu-core-security-utils on your host01:13
jdstrandI'm not sure where you are seeing that01:14
jdstrandon the host or in the guest?01:14
asachmm. thats not in the ppa it seems01:14
asacjdstrand: on the host01:14
asacwhen running udf01:14
jdstrandubuntu-core-security-utils is a part of ubuntu-core-security01:14
asacto produce an image with stuff preinstalled01:14
jdstrandI see01:14
jdstrandso, you should be able to install ubuntu-core-security-utils from vivid01:15
asaci am on trusty though01:15
asacso this has to go into tools ppa's01:15
asacfor all supported things01:15
asacand dependency need adding01:15
jdstrandsergiusens: ^01:15
asacdo we need to run this stuff?01:16
jdstrandI've been a little surprised how much need to be on the host for udf01:16
asaci mean those sc-... commands?01:16
jdstrandI don't know01:16
asacjdstrand: i think udf just runs snappy tool01:16
jdstrandI guess it is preinstalling the snap via the host tools01:16
asacright01:16
asacbut the apparmor stuff is done on first boot01:16
asacthis one should be done similar i gues01:16
jdstrandit seems it would be much safer to use the tools in the image01:16
asacs??01:16
asacno?01:16
asacwell01:16
jdstrandI agree01:16
asaci think its wrong01:17
jdstrandbut, we don't have the systemd unit file to do that yet01:17
asacto do what?01:17
jdstrandwhich was one of the things I mentioned earlier01:17
asaci think appamor is run on first boot, no?01:17
jdstrandapparmor is run on every boot01:17
jdstrandon first boot it will notice that there isn't policy for the snaps01:17
asachmm. i mean the stuff that you run when package gets installled01:18
asacokk01:18
jdstrandand it will call aa-clickhook and everything is fine. niext time, the policy won't have to be regenerated01:18
asacshouldnt sc do all the same?01:18
asaci thought we would have same semantics01:18
jdstrandseccomp doesn't have that01:18
jdstrandclick had that nice quality01:18
jdstrandso we have to reimplement it for seccomp and then again for apparmor when it moves away from click01:18
jdstrandthis morning I was talking about updating policy via a unit if the seccomp policy changed01:19
jdstrandthat unit would solve this problem too01:19
jdstrandasac: sc and aa should have the same semantics. aa is still implemented as a hook tool. sc is not. aa will be made to not once we clean it up in 15.1001:20
asacyes, but what i thought you said was that we would follow same approach for sc01:21
asacanyway01:21
asacso now we have to add unit?01:21
asacand figure how to get rid of sc invocation in snappy install?01:21
jdstrandwhat I said was that we would implement the new approach so we only have one thing to migrate when we drop the click methodology01:22
jdstrandsc is new approach01:22
jdstrandaa is old01:22
jdstrandyou still need sc invocation on snappy install so that the policy is in place when a service or binary is started prior to reboot01:22
asacso now we have two approaches... in future never do two approaches01:23
asacalways one and then move both over01:23
asacso we need unit01:23
asacand special case in snappy to not run anything if its on host tool01:23
asacnot sure how to do that01:23
asacsergiusens: any idea?01:24
jdstrandasac: well, you say the two approaches thing. the reality is that it would have taken as much time to do the old approach for sc as the new, and it seemed silly to do the old only two weeks later to undo it01:24
asaci know, but the new approach makes things more complex01:25
asacso we should have done that01:25
jdstrandnot really01:25
jdstrandthere is a unit for apparmor01:25
jdstrandit is just a different unit01:25
asachmm01:25
asacanyway, what needs doing now?01:25
asacwe need to fix this for sure somehow01:25
jdstrandI don't think this two approaches thing is something to worry about01:25
jdstrandI will implement the unit as I said I would this morning01:26
asacok01:26
asacand how to fix snappy tool?01:26
jdstrandI helped with the launcher all day today01:26
asacright01:26
jdstrandthat we need serguisens on01:26
asacsergiusens: see above, we need the snappy install not call sc- stuff if run through udf01:26
asace.g. on host01:26
asacand defer that to the first boot/unit01:26
jdstrandmaybe it is as simple as unpacking and not running the tools if doing a preinstall01:27
jdstrandright01:27
asaci dont think they will like just unpacking01:27
asacthey were super happy that snappy install was finally able to run on host tool01:27
asaccross01:27
jdstrandthat's fine-- just saying, whatever doesn't need the tools01:27
asaci think it does logic01:27
asacthe sc tools yes01:27
jdstrandthat didn't come out right01:28
asacso we dont want to run the sc- tools if on host01:28
asacif cross01:28
asacnot sure how we do the decision on appamor01:28
jdstrandyes, do everything except run these bits. that said, these bits could run on the host-- they are not complicated tools01:28
asacbut we run them on first boot anyway01:28
asaci dont want to add more stuff to tools ppa really01:28
asacthink that starts to become nasty01:29
asacneed to be tested and done for trusty etc.01:29
jdstrandI was more talking about unblocking you now01:29
asaci am not blocked. but tomorrow we have to get things together01:29
asacso we should do it right right away01:30
jdstrandok, 15.04.7 uploaded to image ppa and archive01:30
asacyep saw that01:30
jdstrandgo-example-webserver wrks01:30
asacthx01:30
asacgreat01:30
asaccheck 1 :)01:30
jdstrandI'll work on the unit tomorrow. that will give me insight as to what needs to happen with apparmor when we switch it to the new01:32
asacjdstrand: generateSeccompPolicy01:32
asacis that the whole function to kill?01:32
asacon cross?01:32
jdstrandlet me check01:33
asacis the unit difficult?01:34
jdstrandaddOneSecurityPolicy() can exit early if run under udf01:34
jdstrandit shouldn't be01:34
asacaddOne01:35
asacisnt matching01:35
jdstrandthat is in snappy/click.go01:35
jdstrandin trunk01:35
asacah01:35
jdstrandhmm01:37
jdstrandno, it's ok01:37
jdstrandI thought namespaces might trip me up, but it won't01:37
asacjdstrand: is there a script you can give us to run after boot so we can test this in the morning?01:38
jdstrandthat is what I need to write01:39
asacjdstrand: you say we can run those tools on host?01:40
asacto shortcut?01:40
jdstrandI don't see why not01:40
jdstrandI installed several images today with udf01:40
jdstrandI have ubuntu-core-security-utils installed01:40
asacjdstrand: did you try snaps with built-in?01:41
asacnormal images work01:41
jdstrandI did not01:41
asacit just busts if we have built-in stuff01:41
jdstrandI don't know how to do that01:41
asacjdstrand: run udf with --oem ./...01:42
asacand use http://people.canonical.com/~asac/tmp/generic-amd64_1.1_all.snap01:42
asaclocally01:42
asacudf ... --developer-mode ... --oem ./generic-amd64_1.1_all.snap01:42
asacthat one tries to install hello-world.jdstrand01:42
asacsudo ubuntu-device-flash core rolling --developer-mode --channel edge --oem ./oem-hardware-assign_1.0_all.snap --enable-ssh -o outputamd64.img01:43
asacjdstrand: that command01:43
asacgive it a spin01:43
jdstrandjust grab fyi, I just installed ubuntu-core-security-utils and ubuntu-core-security-seccomp from the image ppa and python3-yaml from the archive in a trusty vm fine01:45
* jdstrand adjusts the deps for ubuntu-core-security-utils01:45
jdstrandcurious why ${python3:Depends} didn't do it for me01:46
jdstrand./oem-hardware-assign_1.0_all.snap failed to install: snappy package not found01:49
jdstrandI don't know where that is01:50
asacjdstrand: sorry wrong name01:50
asacuuse the one01:50
asacyou downloaded01:50
asac./generic-amd64_1.1_all.snap01:50
asacnot ./oem-hardware-assign_1.0_all.snap01:50
asacsudo ubuntu-device-flash core rolling --developer-mode --channel edge --oem ./generic-amd64_1.1_all.snap --enable-ssh -o outputamd64.img01:50
jdstrandoh right, duh01:50
asacheh01:50
jdstrandasac: it failed in some other manner, but it seems like it probably got past sc-filtergen01:54
jdstrandhttp://paste.ubuntu.com/10864267/01:54
asacjdstrand: thats probasbly becauuse your system is busted01:54
asacreboot01:54
asacjdstrand: wait01:55
asacjdstrand: so remember that udf does not use a chroot anymore afaik01:55
asacits just run on host with path etc.01:55
asacnot sure what your tools are doing01:55
asacif you are sure your system is still alive01:55
asacthen reboot :)01:55
jdstrandI was running sbuild at the time. it had a problem related to unmounting01:55
asacgood01:56
jdstrandit might've been the systemd shared mount space stuff01:56
asacok how does it look now?01:56
* jdstrand is trying again01:56
jdstrandit reported breaking differently, but still a umount issue01:57
asaci would suggest to reboot01:57
jdstrandI can reboot, but it will be a minute01:57
asacsure, better than giving up :)01:57
* jdstrand has a lot of context atm01:57
jdstrandyou could also try installing the tools I mentioned on trusty01:58
asacthis will mess my system a lot01:59
asacbut ok01:59
asacutils?01:59
=== c74d3 is now known as c74d
jdstrandubuntu-core-security-utils ubuntu-core-security-seccomp from the ppa02:00
jdstrandyou will also need python3-yaml02:00
jdstrandand seccomp02:00
jdstrandthat should be it02:00
asacyay02:01
* jdstrand uploads 15.04.8 to add Depends on python3-yaml 02:01
asacit worked :)02:01
jdstrandgood!02:01
asactoo bad02:04
asachw assign is broken anyway02:04
asacjdstrand: sent mail02:05
asaci drop off02:06
jdstrandok, good night02:06
jdstrandjeex it must be late there02:06
jdstrandjeez*02:07
asaci think autopilot jsut udpated :)02:10
asacyay02:10
asacit atuomatically rebooted02:10
asacnice02:11
asacgood to end day like that :)02:11
asaclol02:11
asaccu in a bit02:11
jdstrandhehe02:12
jdstrandnice :)02:12
=== timchen1` is now known as timchen119
=== kickinz1|afk is now known as kickinz1
kickinz1o/05:12
dholbachgood morning07:11
dholbachdpm, davidcalle will work on refinements for the raspi bits, the channels and the start page - those are going to be most important pieces, later on we might look into importing stuff like you did08:55
dholbachdpm, great work08:55
davidcalledholbach, +108:56
dholbachdavidcalle, sorry08:57
dholbachI meant to say...08:57
dholbach"davidcalle and I"08:57
* dholbach needs another coffee :)08:57
plorenzhi, i'm running snappy ubuntu on my raspberry pi 2 (by lool) and for some reason, the system only shows 116 MB of RAM available although it should be 1 GB of RAM. i guess it's a problem with GPU memory split, but i can't find a setting. can anybody help me please?08:58
davidcalledholbach ;)08:58
JamesTaitGood morning all; happy Earth Day! :-D09:03
dpmdholbach, ack, thanks!09:10
dholbachdavidcalle, I updated https://developer.ubuntu.com/en/snappy/guides/channels/ - do you feel it's clearer in the regard we discussed earlier?09:12
dholbachdavidcalle, also... I'm considering extending the image at the bottom to explain the transition from alpha to beta, etc - wdyt?09:13
davidcalledholbach, not sure if the image needs to be extended. The table on top looks good, I still think you should add a wget and a udf examples under it, to make it clear what to do with this channel/release combination.09:39
davidcalledholbach, the page works well for me, especially with the table called a cheatsheet09:39
dholbachdavidcalle, ah yes, that's right - I'll add an example, but I'm not sure about wget/udf instructions - wouldn't we have to update the instructions as well whenever thing change again or images get updated?09:41
davidcalledholbach, that's true, I forgot udf was a moving target. But for wget, it would be mostly to show off how the path is composed (http://cdimage.ubuntu.com/ubuntu-core/15.04/edge/ubuntu-15.04-snappy-armhf-bbb.img.xz), to show people they can compose the img path based on what they need.09:44
=== erkules_ is now known as erkules
dholbachthat makes sense09:45
dholbachunfortunately we don't have http://cdimage.ubuntu.com/ubuntu-core/rolling/ yet09:46
davidcalledholbach, implementation detail :p09:46
dholbachall right, I'll figure it out, thanks for the feedback09:46
sergiusensdholbach: davidcalle we have finalized u-d-f, it won't be moving again except for bug fixes09:47
davidcalledholbach, I'd like to say something like "if it's documented, it needs to exist ASAP" ;-)09:47
davidcallesergiusens, oh cool :)09:48
dholbachdavidcalle, ok, updated - thanks again09:55
dholbachdavidcalle, are you working on the start page now?10:06
dholbachdavidcalle, I added channel info for the kvm case - does it look all right to you? do you think it helps like that?10:30
davidcalledholbach, I'm starting now. It looks right to me, so these are the final paths? edge at cdimages.ubuntu.com/ubuntu-snappy and stable, beta, rc at releases.ubuntu.com?10:46
davidcalledholbach, also, we talked about this earlier, but I'm not sure we had a definitive answer : are cloud images going to follow the naming scheme for release? (or should we just use the stable image names they provide tomorrow?)10:51
davidcalledholbach, don't mind the lat question, I've found what I'm looking for.10:52
davidcallelast*10:52
yngvesWondering if something is broken in the new Docker 1.6 package? I keep getting "aa-exec: ERROR: profile 'docker_docker_1.6.0.002' does not exist" when invoking Docker.11:24
dholbachdavidcalle, I'll ping the cloud guys and point them to the page - AFAIK those are the final paths, yes11:33
davidcalledholbach, thanks11:34
dholbacha review with Steve and Alex later on should let us know if we're on the right track or not :)11:34
* davidcalle starts getting confused about the naming scheme again.11:40
asacppisati: hey, how is the cape going?11:43
dholbachdavidcalle, in the case of OVA, do you think we should explain the URL scheme - or just add the box with the links?11:46
davidcalledholbach, I've done both11:46
dholbachok... I personally would've thought that the box would be enough, but maybe just leave it in there and we talk about it later on together :)11:47
davidcalledholbach, the scheme of cloud-images is a bit different11:50
dholbachoh! did you find out how it works there?11:52
ppisatiasac: i've got the original image to work, but once i compile the TI kernel, it doesn't boot on my board11:53
ppisatiyesterday i spent the entire day doing test for the release11:54
asacppisati: why do we need TI kernel?11:54
asacif we have it working with our generic one?11:54
asacok have to go for lunch11:54
asacbbiab11:54
ppisatiasac: because first you get a piece of hw working with the code that supports it11:55
ppisatiasac: then you derive a delta from it etc11:55
davidcalledholbach, I think so11:56
dholbachdavidcalle, I added a box like this to the bbb docs too12:11
dholbachdavidcalle, it gets placed in the wrong area though12:11
dholbachdavidcalle, do you have an idea how to fix it?12:12
davidcalledholbach, I'm fixing12:15
dholbachdavidcalle, if we ever do a sprint together, you should do a workshop on how to fix stuff like that :-)12:16
dholbachI'd make sure to get a seat in the first row!12:17
davidcalledholbach, why not :) Fixed. I'm confused by the fact that if you download both images (15.04/stable and 15.04/edge), you have no way to differentiate the files by their names.12:19
dholbachdavidcalle, we should note this down12:20
davidcalledholbach, I've also left a comment on the card regarding the other tasks.12:23
dholbachthanks12:23
dholbachdavidcalle, do you feel we're done with the page now, barring any changes we might need to do after a meeting with Alex and Steve and potentially the cloud guys?12:24
davidcalledholbach, yep12:24
dholbachcool12:24
* dholbach hugs davidcalle12:24
dholbachgood work12:24
davidcalledholbach, same :)12:26
dholbachasac, slangasek: whenever you have time, davidcalle and I would review https://developer.ubuntu.com/snappy/start/ and https://developer.ubuntu.com/snappy/guides/channels with you12:32
dholbachasac, mvo, sergiusens: I'm still not quite sure which ppa to recommend? right now there's 'beta', 'tools', 'tools-proposed' (and probably unrelated: 'image')12:36
dholbachasac, mvo, sergiusens: what kind of changes do you anticipate to land in which of the PPAs12:36
dholbachI'm still not sure how to explain the four PPAs to users12:36
sergiusensdholbach: tools has latest and greatest and always breaks, beta is for users; but I want to get rid of that as it's too confusing12:37
dholbachsergiusens, ok... so I just recommends 'beta' for nowß?12:38
plorenzsergiusens: do you know how i can increase my available ram with snappy on the raspberry pi 2?12:38
sergiusensdholbach: yes12:39
sergiusensplorenz: no12:39
dholbachthanks sergiusens!12:42
dholbachcan somebody review and land https://code.launchpad.net/~dholbach/snappy/markdown-doc-fixes/+merge/257080?13:09
sergiusensdholbach: done13:19
asacpitti: is there an easy way on the cli to query for devices that got assigned to the app?13:19
asacpitti: from the app point of view?13:19
asacudev query13:19
sergiusensdholbach: would be nice to use the ```[code] annotation eventually :-)13:19
dholbachsergiusens, did you see r416 on the MP as well? I pushed another commit13:20
dholbachsergiusens, I've never seen any ```[code] notation13:20
dholbachthanks Chipaca13:23
sergiusensdholbach: github markdown being the engine I refer to13:23
dholbachah ok13:23
sergiusensdholbach: https://help.github.com/articles/github-flavored-markdown/#syntax-highlighting13:24
dholbachcool13:24
dholbachI hope one day a bunch of people get together and figure out one markdown standard to rule them all13:24
sergiusensdholbach: that's easy; github :-P13:24
dholbachright13:24
sergiusensstandards are hard in an ever moving fast paced world13:25
pittiasac: yes, cat /sys/fs/cgroup/snappy.appname*/devices.list13:33
pittiasac: this gives you the real actual ACL13:33
pittiasac: you can also get a list of devices tagged for the app with udevadm13:33
pittiasac: udevadm trigger --verbose --dry-run --tag-match=snappy-assign --property-match=SNAPPY_APP=$APPNAME13:34
asacpitti: so jdstrand is a bit unhappy to allow apps to ask for what they can talk to this way13:41
asaci think its super useful for some app to say "give me all the devs that are of type X and that i am allowed to use"13:42
asacpitti: so trigger is doing the query?13:42
pittiasac: well, so far that's coming from OEM.yaml, so not from the app?13:42
asacpitti: but an app needs too know what it can talk to13:42
asacat best using the closest to current practices13:42
pittiasac: why shouldn't we allow the apps to query for what they can access? either by devices.list or udev?13:42
pittithey can just try and open everything in /dev/ after all13:43
asacpitti: jdstrand doesnt like that this leaks info about what is installed13:43
asaci think its a bug that we can address later :)13:43
asacbut we should allow apps to query udev13:43
pittiasac: oh, you mean the udevadm?13:43
asacpitti: not sure13:43
dholbachhttps://code.launchpad.net/~dholbach/snappy/more-markdown-fixes/+merge/25709413:43
pittiasac: oh, we need to13:43
jdstrandpitti: I'm fine with apps trying to open things in /dev13:43
pittiasac: but right now the apps aren't confied at all13:43
asacpitti: only thing i know is that i want to tell a story on how an app that we assigned access to13:44
asaccan find the usb devices that it can now poke13:44
jdstrandpitti: I'm less fine about an app querying udev and being able to see all the tags, and therefore, enumerate installed apps on the system13:44
pittiasac: that udevadm on the shell or libudev in C should be fairly adequate for that query13:44
asacright13:44
asacpitti: but jdstrand wants to take powers away from us to not allow to use libudev :P13:44
asacwhich i think is not good for real life :P13:45
pittiwell, not querying sysfs at all is a no-go IMHO13:45
asacright :)13:45
asaci agree!!13:45
asacso i think for me this is a must13:45
pittiso you could at most restrict the access there13:45
asacand we need to figure later how to make things even better13:45
asacright13:45
asacwe can try to make udev smarter later13:45
jdstrandwell hold on13:45
asacto hide stuff :)13:45
pittibut quite frankly, this is by faaaaaar not the most problem we are having :)13:45
pitti'impotant'13:45
jdstrandsysfs is another conversation13:46
* ogra_ thought you were planning something like the trust-store we have on the phone 13:46
asacits the same kinda13:46
asacogra_: thats a higher level13:46
ogra_why13:46
pittiwell, libudev just queries /sys and /run/udev/13:46
asacno time to argue13:46
ogra_jus integrate something like that with udev13:46
* jdstrand notes that I am not taking powers away from using libudev. apps don't currently have it. I am trying to understand what the access gives13:46
asacjdstrand: apps on normal ubuntu have it13:47
jdstrandasac: apps on touch do not13:47
pittilibudev itself is just conveience; you can't do anything with it that you can't already do with /sys and /run/udev/13:47
asacright, but they dont want to poke devices :)13:47
pittiso we need to restrict /run/udev/ if we want to restrict app access13:47
jdstrandif we allow this and don't fix udev to restrict the access, then on touch we regress13:47
asacwe should restrict it13:47
asaclater13:47
asacsmart13:47
pittithat might break some apps, but might be appropriate13:47
asacnot sure how13:47
asacis there a way we can restrict it?13:47
ogra_polkit ?13:48
ogra_via udev-acl13:48
asace.g. is /run/udev/ content compatible with apparmor?13:48
jdstrandpitti: is it fair to say that if I use udevadm trigger --verbose --dry-run --tag-match=snappy-assign --property-match=SNAPPY_APP=hellow-world.sideload under confinement I can see what read only access is required?13:48
asacjdstrand:  you need read access to /sys and to /run/udev i think13:49
jdstrandpitti: is there a udev daemon?13:49
asacyeah13:49
asaci think there is and that could later mediate13:49
jdstrandpitti: as in, udevadm talks to a daemon?13:49
asacnot sure if libudev is going through that, but could be!13:49
pittijdstrand: there is udevd, but udevadm query and libudev don't talk to it13:49
pittias I said, it's just reading /sys and /run/udev (for the properties and tags)13:50
asacah bummer :)13:50
asacjdstrand: yeah so short term we woudl have to open access for those friends13:50
asacto those directories13:50
asacand then later see how to make libudev go through mediation or make /run/udev so that the app info can be confined13:50
pittiwe also don't yet start apps under its own pid namespace, so presumably apps can already see what other apps are running?13:50
jdstrandwell, in the future to resrict this, we would want to have a tool that talks to an out of process helper, perhaps udevd, then udevd asks libapparmor for the label of the client, then filters the query results to be only those for the app13:51
ogra_and "those friends" would be aware that their apps break at some point ?13:51
jdstrandthen we remove access to /run/udev, etc13:51
pittiagain, there is *no* point in restricting libudev as such13:51
dholbachChipaca, sergiusens: any idea why https://code.launchpad.net/~dholbach/snappy/more-markdown-fixes/+merge/257094 might be unhappy?13:51
asacjdstrand: can you do a find on /run/udev after tagging something?13:51
asacjdstrand: i think its a simple pattern match to hide that13:51
asaci think the app name is really in the tagname on disk13:52
jdstrandpitti: we have restricted access in /proc, but there are some leaks there that we plan to address. I'm concerned about adding more and more stuff that leaks info about the system. if we understand what needs to be done, that is fine13:52
asacright13:53
asacbut we have to take a holistic look at that later :P13:53
pitti"private process namespace" :)13:53
ogra_i dont really get that ... there is such a mechanism via polkit and udev--acl already, why dont we use it ?13:53
pittinow that we have a launcher, we can easily add that, and private /tmp and such13:54
asacthats too high level. we work on primitives to hard wire access here13:54
jdstrandwe can't use polkit because no one can do the authorization13:54
pittiogra_: that doesn't restrict visibility13:54
asacpolkit or such can be built on top13:54
ogra_pitti, thats indeed true, but access ...13:54
pittialso, it's logind plus ACLs13:54
ogra_ah, right, i'm a bit behind :)13:54
pittiogra_: access restriction is already in the lanucher nw13:54
pittinow13:54
sergiusensdholbach: hmm, outage or godeps changed13:54
pittithat's what mvo and I worked on last week13:54
ogra_ok13:54
ogra_the launcher = ubuntu-app-launch ?13:55
pittiyes13:55
ogra_ro did you re-implement that13:55
ogra_awesome :)13:55
jdstrandogra_: the snappy launcher is ubuntu-core-launcher. how this will work on touch is less clear, but either ubuntu-core-launcher is updated to do UAL-y things, or the other way around13:56
ogra_ah, so it is a separate thing ... k13:57
jdstrandfor now13:57
jdstrandpitti, asac: ftr, right this second, we don't leak anything in /proc on snappy (we do on touch, but there is a bug on that). udevadm will change that, but it sounds like that is what is required, so I'll document all this14:01
asacjdstrand: given that we have to revisit all this holistically anyway for next releases i really think its fine to have leak about apps that have hw assigned for the time being.14:02
asacjdstrand: we could in future use a crypto token for assign that is only known to the core system itself and the app?14:02
asacso instead of SNAPPY_APP:=....14:03
jdstrandfyi, udevadm doesn't work under the launcher14:03
jdstrandI'd prefer to wait on designing how to fix it for when we are interested in fixing it. way to much to do today14:04
jdstrandpitti: do you know why udevadm would fail under our cgroups implementation?14:05
pittijdstrand: no, it shouldn't have anythign to do with the devices cgroup; when I tried mvo's MP even sudo worked there14:06
pittijdstrand: how does it fail?14:06
jdstrandI get apparmor denials under aa-exec but nothing under the launcher other than the app saying: udevadm: Operation not permitted14:06
pittiapparmor? syscalls failing? (strace)14:06
pittisorry, deeply in release prep/testing mode right now14:06
jdstrandno, none of that. I'll keep poking14:06
davidcalledholbach, back o/14:06
pittijdstrand: ok, so stracing it might be insightful?14:07
asacpitti: just last thing: to query on cli i would use trigger?14:07
asacor adm?14:07
asacerr ignore14:08
pittiasac: trigger --dry-run is nice for getting a list of devices that have certain names/attributes/properties/tags14:08
dholbachdavidcalle, I looked into importing the snappy internal docs and fixed a few bits in the markup to make it easier for us to import it "as is"14:08
pittiquery is good for getting info about a particular dev14:08
pittiasac: ^14:09
asacnice14:09
asacthanks14:09
davidcalledholbach, yes, seen it, I'm starting on the meta one14:09
dholbachdavidcalle, looking at 'oem' now14:09
dholbachdavidcalle, one problem we're going to have is linking from files to each other14:10
dholbachdavidcalle, we could wrap dpm's instructions into a small python script14:10
davidcalledholbach, there are a lot of links?14:10
asacjdstrand: https://pastebin.canonical.com/130117/14:10
asacthose i am getting14:10
dholbach... which could replace a mention of "security.md" with a proper link to its location on the website14:10
dholbachdavidcalle, not too many14:10
asacjdstrand: udevadm trigger --verbose --dry-run --tag-match=snappy-assign14:11
dpmdholbach, yes, and feel free to improve it, I just wrote a few one-liners to make it simpler, but could be more elegant14:11
asacjdstrand: maybe its working if you have the /dev as r ?14:11
davidcalledholbach, let's assume their path is guides/<name>14:11
davidcalledholbach, a script is fine too :)14:11
asacjdstrand: yeah so /dev/**14:11
dholbachdavidcalle, to keep stuff in sync I just thought that it'd be nice if we had a self-contained script that won't grow into a chaotic monster (~50 lines) which would take an .md file from the branch and turn it into exactly what we need to paste into the text box of django cms14:11
asacnot just /dev/*14:11
dholbachdpm, that was no criticism - thanks a lot for figuring stuff out so far already! :)14:12
davidcalledholbach, oh right, keeping stuff in sync after that.14:12
dholbachyep14:12
davidcalledholbach, then absolutely :)14:12
dpmdholbach, I didn't interpret it as criticism, just saying I'm not particularly proud of the one-liners :)14:12
dpmbut I did it between other things this morning, and I thought I'd put something together real quick14:13
dholbachdavidcalle, dpm: I'll put the oem article online, and could then look into writing such a script14:13
dpmcool14:13
davidcalleOk14:13
dpmdholbach, I noticed a few typos and markdown syntax errors on the config.md script that I fixed on the final HTML. I think the original docs might need some fixes.14:14
dholbachasac, slangasek: davidcalle and I still around for a review of /snappy/start and /snappy/guides/channels - we have a meeting coming up in 45m though14:14
dholbachdpm, https://bazaar.launchpad.net/~snappy-dev/snappy/snappy/changes :)14:14
dholbachdpm, there might be more though14:15
dpmdholbach, nice, good work :)14:15
jdstrandpitti: it was an apparmor issue but there was no denial. kernel rate limiting may have been in effect14:16
davidcalledpm, dholbach, moving on to frameworks14:18
dholbachhttps://code.launchpad.net/~dholbach/snappy/even-more-markdown-fixes/+merge/25711214:27
sergiusensmvo: want to remerge trunk on your branch?14:37
sergiusensmvo: it conflicts with the packageYaml removal from the signature in oemHwUDRules you did in another branch14:37
dholbachdpm, davidcalle: I'll mail the snappy lists to help out with a docs review for the release tomorrow and tell them to either respond on list or ping davidcalle and me on IRC - does that sound all right to you?14:38
dholbach... or file bugs on developer-ubuntu-com14:38
dholbachmaybe that's the best option14:38
* dholbach reviews bug list14:38
mvosergiusens: I updated the branch, thanks again and also removed println()14:52
sergiusensjdstrand: can you ack https://code.launchpad.net/~mvo/snappy/snappy-add-apparmor-override/+merge/257076 ?14:55
sergiusensyou have needs info there14:55
jdstrandI thought I did14:55
sergiusensgiven we are so close to release I don't want to override14:56
jdstrandah, I was trying to test it. that is what I was working on when the meeting came14:56
dholbachhttps://code.launchpad.net/~dholbach/snappy/even-more-markdown-fixes/+merge/25711215:04
dholbachoops15:05
Chipacadholbach: “ARM or X86 devices such as the Beaglebone Black” is probably unfortunate word order15:06
Chipacadholbach: or unfortunate lack of oxford comma,15:06
Chipacaor something :)15:06
* genii armors his X8615:06
dholbachChipaca, good find - fixed, thanks!15:09
dholbachwe inherited quite a few docs, trying to get on top of things everywhere :)15:09
Chipacaman, i had to use wdiff to see machanisms -> mechanisms in that diff15:10
dholbachChipaca, yeah, sorry - I always use    bzr diff --using=wdiff     for commits like that :)15:11
Chipacaheh :)15:11
Chipacadholbach: updates on in `oem` package15:11
sergiusensChipaca: oh, I just commented the same15:12
dholbachsergiusens, pushed a change to fix your comment15:16
Chipacadholbach: hmm15:16
* Chipaca tries something15:16
Chipacadholbach: so, in pandoc, instead of ```yaml, you'd do ~~~ {.yaml}15:21
Chipacadholbach: you then need css to do the highlighting, but it's something15:21
Chipacadholbach: you can also use -B for the content before the body, and -A for after15:21
dholbachoh nice15:21
dholbachI'll take a look15:22
sergiusensdholbach: Chipaca does pandoc have some form of syntax checker we can enable in ./run-checks?15:24
dholbachChipaca, do I need to close the ~~~ {.yaml} tag somehow?15:24
Chipacadholbach: yes, ~~~ on its own line15:24
dholbachright15:24
Chipacadholbach: http://pandoc.org/README.html#extension-fenced_code_blocks15:25
Chipacait's actually 3 or more ~s15:25
Chipacasergiusens: i didn't think markdown had the idea of 'bad syntax'15:26
sergiusensChipaca: markdown itself, no; maybe pandoc does15:26
Chipacaalso, you can tell pandoc to use markdown_github15:26
Chipacawhich would probably make sergiusens wet himself15:26
sergiusensoh neat15:26
Chipacaso don't tell him that15:26
sergiusenswe should do that15:26
sergiusenslol15:26
dholbachhaha15:26
sergiusensit is the markdown style everyone uses15:27
dholbachI'll leave this open for discussion for the team15:27
dholbachI don't care too much15:27
dholbachas long as we have something which spits out raw html I can paste into developer.u.c's djangocms, I'm happy15:27
sergiusensdholbach: is it fully automated now?15:28
sergiusensdholbach: or html that you copy paste?15:28
dholbachthe latter15:28
dholbachautomating this fully will be too much work right now15:28
sergiusensdholbach: maybe adding a form to upload a raw html file will allow full automation15:29
sergiusensoh15:29
sergiusensI thought it wouldn't be too hard15:29
dholbachthe content right now lives in a database15:29
sergiusensjust a uri you can post to or put to change the resources15:29
sergiusensand django would save it to the db15:29
dholbachif you want access, then yes, you have a page where you can copy/paste15:29
dholbachsergiusens, Chipaca: can somebody make a decision on if we want to use github markdown or something else?15:30
dholbachI don't care too much15:30
dholbachbut it'd be good to decide this15:30
dholbachmaybe it'd also allow us to change the .rst doc to an .md doc15:31
Chipacawhatever's the path of least work15:31
dholbachAFAIR it was just tables which stopped it from using regular markdown15:31
dholbachmaybe tables work in github markdown?15:31
Chipacapandoc's take on github markdown might not be github markdown15:31
Chipacajust to keep things clear15:31
dholbachok15:32
Chipacadholbach: i don't think we need to change anything more than the minimum to get things to look right on our website, now15:32
Chipacadholbach: next week we can talk grand designs15:32
dholbach+115:32
* dholbach moves on15:32
dholbach:)15:32
dholbachI'll file a bug on snappy15:32
sergiusensdholbach: easy15:33
sergiusensChipaca: mvo jodh http://www.poll-maker.com/poll299911x1d4b4d87-1115:33
Chipacahahahah15:34
Chipacasergiusens: that's sweet15:34
Chipacasergiusens: markdown_phpextra (PHP Markdown Extra)15:34
Chipacafootnotes, pipe_tables, raw_html, markdown_attribute, fenced_code_blocks, definition_lists, intraword_underscores, header_attributes, abbreviations.15:34
Chipacamarkdown_github (Github-flavored Markdown)15:34
Chipacapipe_tables, raw_html, tex_math_single_backslash, fenced_code_blocks, auto_identifiers, ascii_identifiers, backtick_code_blocks, autolink_bare_uris, intraword_underscores, strikeout, hard_line_breaks15:34
Chipacamarkdown_mmd (MultiMarkdown)15:34
Chipacapipe_tables raw_html, markdown_attribute, link_attributes, raw_tex, tex_math_double_backslash, intraword_underscores, mmd_title_block, footnotes, definition_lists, all_symbols_escapable, implicit_header_references, auto_identifiers, mmd_header_identifiers15:34
Chipacamarkdown_strict (Mar15:34
Chipaca...15:34
Chipaca:)15:34
sergiusensChipaca: mark down strict is nice15:35
sergiusensI like strict15:35
Chipacano you don't15:35
Chipaca:D15:36
mvosergiusens: haha15:36
* Chipaca stops having fun with sergiusens 15:36
mvoI guess the fact that we talk markdown now means we can release, right?15:36
mvo:P15:36
Chipacamvo: +115:36
* mvo hugs dholbach, Chipaca, sergiusens15:36
sergiusensChipaca: it's bad tat we are having some fu and mvo is still crunching at it15:36
* sergiusens hugs back15:37
* Chipaca joins the hug party15:37
dholbachhugs! :)15:37
* dholbach hugs you all15:37
* sergiusens wonders if it's beer'o clock already15:37
Chipacasergiusens: it is in germany!15:37
dholbachasac, slangasek: are you going to have time to review the start and channels pages any time soon?15:38
mvoChipaca: hahaha, beerclock=[0-24] in germany15:41
Chipacamvo: that also :) but i meant it was after 5pm15:52
jdstrandasac, pitti: fyi, I profiled 'udevadm trigger --verbose --dry-run --tag-match=snappy-assign --property-match=SNAPPY_APP=<appname>'. it requires this rule: '/run/udev/data/* r,'. This actually gives away far more info than what apps are installed16:00
jdstrandasac, pitti: eg "The files in this directory reveal all kinds of information about the hardware, UUIDs of partitions, the MAC address of ethernet interfaces and more. This is enough information for a malicious snap to conduct data mining and identify individual systems and breaks our privacy model."16:00
jdstrandthis is bug #144723716:00
asacdholbach: the image links would be nice to have them right on top16:04
asacof the section16:04
asaclike in getting started on baeglebone black16:04
davidcalledholbach, hangout dropped for me16:04
asacsergiusens: i assume avahi wont work unless you have webdm or did we move that to core system?16:05
jdstrandasac: so, we've worked extremely hard on touch to not reveal things such as the mac address16:05
sergiusensasac: no, it's not in core on request from high above16:07
asacjdstrand: could we argue that only apps that get hw assign can read this?16:08
jdstrandasac: so we have a couple of choices. accept the information disclosure, but have someone get on the restriction soon or don't allow reading /run/udev/data/*. Interestingly, if you call udevadm without -property-match=SNAPPY_APP=<appname>, you don't need /run/udev/data/*16:08
asacjdstrand: in the end this would put the decision into the yard of the guy that makes the system16:08
asacand touch could for instance just allow only their framework to access that16:08
asacand they can still realize their model16:08
jdstrandasac: yes, we can adjust mvo's branch to do that16:09
asacjdstrand: would this make you feel more comfortable?16:09
jdstrandit would16:09
jdstrandI would downgrade the priority significantly16:09
asaclets do that i guess... later we have to look how to make udev better16:09
asaci think udev coul dhave different data directories16:09
asacone with /snappy/ and one with /crazy/data/16:10
asacor wait16:10
asaci think we could even restrict acces to the devices in there that the snapp has assigned?16:10
jdstrandmost hardware assigned things are frameworks and trusted. if a system builder preinstalls, that is also a form of trust (though different). a user that opts in is saying opting into this16:10
asacjdstrand: right16:10
jdstrandasac: I put ideas in the bug16:10
asacyep16:11
asaccool16:11
asaclets do that16:11
asacjdstrand: will the hw-assign cli work same way? i think its fine and maybe we even disable that in non-developer mode eventually16:11
jdstrandasac: it will16:11
jdstrandok, I'll update the policy for the safe access and then talk to mvo about this one extra access16:12
jdstrandthat will be a very small addition16:12
=== vmayoral|pc is now known as vmayoral
=== kickinz1 is now known as kickinz1|afk
=== kickinz1|afk is now known as kickinz1
=== kickinz1 is now known as kickinz1|afk
=== kickinz1|afk is now known as kickinz1
fionnananyone getting this `profile 'docker_docker_1.6.0.0.002' error does not exist` on a fresh snappy install? https://bpaste.net/show/5fb0130cf91c18:15
yngvesfionnan: Yes, I do.20:40
yngvesfionnan: There definitely is no AppArmor policy of that name in the package. I hacked my way around it by changing the last line of /apps/bin/docker to read: aa-exec -p docker-default -- /apps/docker/1.6.0.002/bin/docker "$@"20:42
yngvesfionnan: A very ugly hack. Hope it gets fixed.20:42
fionnanyngves: cheers!22:59

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