/srv/irclogs.ubuntu.com/2015/09/18/#snappy.txt

psanchez_hmm, ok, not a good start for snappy and docker ... -1 ... I'll ask again tomorrow.00:14
=== arthur is now known as Guest43396
fgimenezgood morning07:16
davidcalleMorning o/07:28
clobranogood morning07:35
JamesTaitGood morning all; happy Friday, and happy Respect Day! 😃09:01
clobranoA basic question: how do you test changes in snappy itself? how can I install it?09:07
mvoclobrano: if you modify snappy itself you can just copy in into our snappy system and run it via sudo ./snappy something09:08
clobranomvo: doesn't snappy need any particular permission? Can I run it just like that?09:11
ogra_ sure09:12
clobranook, thank you09:12
mvoclobrano: one nice property is that its a single binary so for the most part this method of just copyign will work09:13
clobranomvo: great :)09:13
ogra_if you want to test it deeper in the system you can also make the filesystem writable, copy it in place and switch back to readonly09:14
ogra_i.e. to test something that happens during boot or so09:14
ogra_the base system is still just a normal linux system ... just without traditional package manager09:15
clobranoogra_: how do I make the fs writable?09:15
ogra_sudo mount -o remount,rw /09:15
ogra_sudo mount -o remount,ro /09:15
clobranoogra_: oh sure, I was expecting something special :D09:16
ogra_heh09:16
mvoyeah, ogra_ made great suggestions. some stuff can only be tested by copying (snappy booted for example which is run by a startup job)09:17
clobranoperfect09:17
davidcallemvo, ogra_, I need to do a small doc fix in the 15.04 branch, should I merge to snappy/trunk first, then snappy/15.04?09:24
mvodavidcalle: easiest is probably to just do it 15.04 and then we merge the 15.04 change to trunk09:25
mvodavidcalle: i.e. just do it on 15.04 and we will take care of the rest :)09:25
davidcallemvo, sounds good :) https://code.launchpad.net/~davidc3/snappy/oem-docs-formatting/+merge/27162409:28
davidcallemvo, ty09:29
=== apw is now known as apw_
=== apw_ is now known as cafetiere
=== cafetiere is now known as apw
=== JamesTait is now known as JamesTait_
=== JamesTait_ is now known as JamesTait
longsleepHey folks, i noticed that my ODROID-C image does not have most of the firmware files in /lib/firmware - is that expected when a device tarball with system/.. tree is used?10:04
ogra_longsleep, you need to ship it in the device tarball10:28
* ogra_ has the same issue on rpi10:28
ogra_davidcalle, *next' release will bring official RPi support ...10:37
ogra_we'Re not there yet :)10:37
* davidcalle adds a "don't open before christmas" label on the email10:39
davidcalleogra_, alright then :)10:40
longsleepogra_: sorry i got distracted, you say i have to ship all the firmware in the device tarball right?11:01
ogra_yeah ... just unpack linux-firmware in the tree when you create it11:01
longsleepogra_: ok cool, thanks!11:02
asaco/11:42
asacmy pi is on #5 :)11:42
asacfeels faster11:42
ogra_heh11:43
ogra_i bet thats subjective11:43
asacguess thats just the excitement because i had to invest to get tehre11:43
asac:)11:43
ogra_yeah11:43
asacand snappy list bails very quickly11:43
asachttps://bugs.launchpad.net/snappy/+bug/149724511:43
ubottuLaunchpad bug 1497245 in Snappy "snappy list/remove bails on 15.04/stable #5 if invalid package.yaml is on disk (no vendor field)" [High,New]11:43
ogra_you and your exotic packages :P11:44
asacwell, vendor field wasnt mandatory no?11:45
* ogra_ isnt sure11:45
ogra_probably it is now11:45
asacin any case, think for list and in particular remove we should be super robust against anything11:45
asaci think its mandatory for 16.04 ... but not for 15.0411:46
ogra_we backported trunk ...11:46
sergiusensasac, vendor was always mandatory11:55
sergiusensasac, the store at least booted you because of that, did you manually install?11:56
asacsure11:56
asacmy beloved zigbee gateway :(11:56
asaclol11:57
* asac goes and manually removes the app from /apps and the other prominent places11:57
sergiusensasac, why didn't you upload it to the store ? sounds like an interesing app ;-)11:57
asacyay what i love about snappy is that there is no cache/meta files11:58
asacsergiusens: like most of our apps they are customer related as they prep for launching big devices :P11:58
asacthats why in store we have like 2% of the existing snappy apps at best11:59
sergiusensI was just punning :-)11:59
asaci know11:59
asacsergiusens: good that you are awake again11:59
asacthe call is cancelled...11:59
asacNOT :)11:59
asaclol11:59
sergiusensasac, well, meetings! ;-)11:59
asacwill be there in 1 minute11:59
ogra_huh ?12:00
ogra_why the heck is the clinic a hangout12:00
ogra_thats nonsense12:00
asacogra_: its a meeting12:01
asacyou coming?12:01
ogra_asac, what for ?12:02
ogra_asac, if we want to do a clinic it should be on IRC ... i.e. a special time where we help with specific developer problems12:03
zygaogra_: moar hangouts12:05
dholbachI think https://code.launchpad.net/~zyga/snapcraft/gitignore/+merge/271313 and https://code.launchpad.net/~dholbach/snapcraft/1496789/+merge/271444 can be landed, right? :)12:28
ogra_asac, mvo_, so i dont think there is any solution to the Pi update issue without actually releasing a stable #6 ...12:32
ogra_i guess we should just release-note it that you have to manually copy the kernel pieces12:32
mvo_ogra_: yeah, its really really hard :/ will the generic kernel not boot at all? or what will happen?12:33
ogra_it hangs hard at "Starting kernel ..."12:34
mvo_meh12:34
ogra_doesnt even unpack it completely12:34
mvo_yeah, that does not give us many options :(12:35
ogra_right12:35
ogra_we could hack something into the s-i process or some such ... but that would still require a #6 release12:35
ogra_(at least for armhf)12:37
ogra_we could indeed do an armhf only release ... at the cost of gettin the image numbers out of sync12:37
dholbachthanks sergiusens12:40
mvo_ogra_: yeah, I really have no good idea either, lets create the device thing on the server so that we are safe for the future, I talk to sil12:47
ogra_yup. i see that :)12:48
ogra_mvo_, the other question is ... why is there a kernel in /boot at all :) i thought we added code to remove it in livecd-rootfs12:49
* ogra_ wonders if that only went into rolling12:50
ogra_ah, so it did12:52
plarsogra_: heya, quick rpi2 question for you if you have a moment - We're seeing that our ethernet hwaddress changes on every boot, I'm guessing because it has the serial as all 0s in proc cpuinfo. Is there any way you know of to have it configure a serial or come up with a static hwaddress?12:55
ogra_plars, seems you are using an outdated image12:55
ogra_that was fixed a while ago12:55
plarsogra_: well, I'm not booting to snappy yet, this is just an ubuntu image as a base, and we'll boot snappy from there. What was the fix?12:56
ogra_changing uboot and reading the binary blob data into the kernel cmdline12:57
ogra_the binary blob provides the actual MAC in a variable12:57
plarsogra_: which binary blob is it reading, and how does it get passed?12:58
ogra_the binary blob that boots your board13:00
ogra_i.e. the graphics driver that acts as bootloader :)13:00
zygaogra_: we're all waiting for our nvidia overlords to boot our x86 pc13:02
ogra_plars, i dont remember exactly, iirc you need to crate a cmdline.txt next to the config.txt13:02
ogra_it needs to contain something ... then the args get handed over to the uboot env13:02
ogra_(RaspberryPi2)ubuntu@localhost:~$ cat /boot/uboot/cmdline.txt13:03
ogra_elevator=deadline13:03
ogra_(RaspberryPi2)ubuntu@localhost:~$ fw_printenv |grep ^args13:03
ogra_args=dma.dmachans=0x7f35 bcm2708_fb.fbwidth=1824 bcm2708_fb.fbheight=984 bcm2709.boardrev=0xa01041 bcm2709.serial=0x8b04db1c smsc95xx.macaddr=B8:27:EB:04:DB:1C bcm2708_fb.fbswap=1 bcm2709.disk_led_gpio=47 bcm2709.disk_led_active_low=0 sdhci-bcm2708.emmc_clock_freq=250000000 vc_mem.mem_base=0x3dc00000 vc_mem.mem_size=0x3f000000  elevator=deadline13:03
ogra_that is how my Pi expands the cmdline13:03
* ogra_ forgot if there were additional steps required13:03
plarsogra_: weird, I actually copied the boot directory from snappy13:04
ogra_from image #4 ?13:04
plarsogra_: so I'm not sure what could be missing13:04
ogra_that only landed in the last image13:04
plarsogra_: from one I downloaded last night13:04
plarsogra_: how recent was that?13:04
plarsogra_: I just grabbed the prebuilt one13:05
mvo_ogra_: yeah, that puzzles me too, on armhf we really do not need that in /boot13:05
ogra_well, if it is the one from ~/platform thats the most recent one13:05
ogra_mvo_, i think we just didnt pull the change into the PPA13:05
mvo_ogra_: oh, ok13:05
mvo_ogra_: that makes sense13:05
plarsogra_: yes, that's the one13:05
ogra_i see the right code in live-build/ubuntu-core/hooks/500-move-kernel-to-device-tar.binary in wily13:05
ogra_plars, weird13:06
asacogra_: its fine13:06
ogra_should definitely work then13:06
asacogra_: can you reply to the release thread explaining the workaround?13:06
ogra_asac, will do13:06
asacor togetyher with your release announce when the pi2 is there13:06
ogra_there too13:06
ogra_cant mention it often enough ;)13:06
asacjust say "becauyse pi2 is not officially consumed from channels you need to do these copies after snappy update13:06
asacand done13:06
asacyep13:07
ogra_sergiusens, i'm looking at package.yaml for pi and BBB oem snaps ... i dont see where it would define generic_armhf vs raspi2_armhf13:11
asaci think sergio forgot to add that optioon to the yaml13:11
asacwas an oversight. we discussed a while back to have another field13:11
ogra_"architecture: armhf" is what i see in both currently13:11
asacbeyond architecture13:11
asacchannel:13:11
asacor somethign13:11
asacgeneric13:11
asacpi213:11
asacetc.13:11
ogra_i see platform ... but that only defines the default dtb13:11
asacdoes the azure have an oem snap?13:12
asacif so it might have that info13:12
asacbut guess it still is created with manual13:12
ogra_if azure does it isnt in http://bazaar.launchpad.net/~snappy-dev/snappy-hub/snappy-systems/files13:12
asacthat much i know13:12
asacbut doesnt mean there isnt one13:12
ogra_right13:13
asacanyway, i know it was a missing field before 15.04 release and most likely we just didnt add it13:13
plarsogra_: weird, I don't see it in the uboot environment, but I do see usbethaddr there, but I don't see it get used13:13
ogra_plars, usbethaddr is wrong13:13
asacbut adding a new field with default "generic" shouldnt be a problem13:13
ogra_ smsc95xx.macaddr is what you need13:13
asacjust remember to add cards etc.13:13
plarsogra_: it's the one I ended up with when I booted snappy13:13
plarsogra_: but not when I boot something else - then it's random even though I copied all the bootloader files and uboot from the snappy image13:14
ogra_do you have uboot.env ?13:14
sergiusensasac, ogra_ since we don't want to expose s-i in snappy so high up; it was never there; you can build with u-d-f passing --device with the channel (like for azure); but it might only work for azure (as we don't want to make it easy to go down a path we can't support)13:15
plarsogra_: I do13:15
asacsergiusens: platform: ?13:17
asacthat doesnt feel like surfacing something from si if we use that13:17
ogra_plars, and is it used ?13:17
plarsogra_: yes13:17
sergiusensogra_, http://bazaar.launchpad.net/~phablet-team/goget-ubuntu-touch/trunk/view/head:/ubuntu-device-flash/snappy.go#L12313:17
ogra_(do you see it pload properly in the serial log)13:17
asacarchitecture: + platform: (optional, default: generic)13:17
sergiusensasac, we had platform; but in the end this would be in the kernel snap13:17
plarsreading uboot.env13:18
ogra_sergiusens, deviceChannel ?13:18
plarsogra_: yep :)13:18
sergiusensogra_, --device13:18
asacsergiusens: wait, in OEM snap specifying what platform this is for makes sense13:18
asachmm13:18
ogra_ah, s.device ... right13:18
asacoor we just say kernel: pi213:18
* ogra_ looked to far down13:18
asacdefault: generic13:18
asacdoesbnt matter for OEM snap... we will revisit those fields for 16.04 anyway then13:18
sergiusensasac, ok; makes sense13:18
plarsogra_: surely it's pulling the serial from the board somehow and not from the image though, right?13:21
ogra_plars, yeah, same thing13:21
ogra_bcm2709.serial=0x8b04db1c13:21
ogra_cmdline option13:21
ogra_seeded from the binary blob13:21
ogra_plars, if you intercept the boot, do you see "args" ?13:22
ogra_in printenv13:22
plarsogra_: no13:23
plarsogra_: was there something in the kernel needed for this?13:23
ogra_no13:23
ogra_thats pre-kernel13:23
ogra_but ...13:23
ogra_mmcargs=setenv bootargs "${args} console=tty0 console=ttyAMA0 root=${mmcroot}"13:23
ogra_and snappy_boot calls "run mmcargs" on first boot13:24
ogra_plars, ah, and:13:25
ogra_loadfdt=fdt addr 0x100; fdt get value args /chosen bootargs13:25
ogra_try running that line13:25
ogra_and then see if args= exists13:25
ogra_if so, add it to your non snappy boot13:25
* ogra_ forgot you have to pull te dtb from ram in to have the values13:26
plarsogra_: just "args"? no still not set13:26
ogra_that was the bit :)13:26
plarsah, I see13:26
plarsget value args /chosen bootargs13:26
plarshang on let me try that13:26
ogra_fdt addr 0x10013:26
ogra_you need that first13:27
plarsogra_: running loadfdt did it, thanks!13:27
ogra_cool13:27
mvo_ogra_: we have a raspi2_armhf platform now!13:27
ogra_mvo_, yeah, i see that !!13:27
ogra_mvo_, i'll triger an edge build to see of it imports fine13:28
asacon rolling? nice ;)13:28
ogra_no13:28
ogra_https://system-image.ubuntu.com/ubuntu-core/15.04/edge/13:28
ogra_on 15.04 edge :)13:28
ogra_build running13:29
mvo_I added it to rolling and 15.04 so we should be fine13:30
mvo_now I guess we just update reference image and the upgrade problem is solved for good13:30
* mvo_ is happy13:30
ogra_mvo_, the importer will now run 5min longer13:33
ogra_or so13:33
ogra_new arch means moar diffing13:33
mvo_meh13:34
clobranoI saw an unexpected (for me) behavior in hw-assign: each call to hw-assign overwrite the udev rule for the <snap>, while the list of write_path in <snap>.apparmor.json.additional is just updated13:35
clobranoso that udev rule only contains 1 device node at a time13:36
asachmmm13:37
asachttp://paste.ubuntu.com/12448771/13:37
asacChipaca: mvo_: the above looks pretty garbled formatting wise13:37
asacis it possible to improve the way we present multi-line yaml?13:38
asaclike the content: one for the network interface looks much nicer13:38
asacjdstrand: see clobrano's questiona bout hw-assign... feels like a bug13:39
asac6 lines above13:39
jdstrandyes, it does13:41
clobranohttp://paste.ubuntu.com/12448814/13:42
mvo_asac: I think the problem is the \t it can only represented in the "" form. looks at the startup above, this is what it should look like13:42
jdstrandclobrano: can you file a bug at https://bugs.launchpad.net/snappy/+filebug ? you might add a comment that it is (perhaps) hindering on your progress on the other bug13:42
clobranosure13:43
clobranowell, it is not really hindering, I just saw that I had to change device name at each try :D13:43
dholbachfgimenez, I'm not sure this helps a whole lot, but I thought I'd share what I was playing around with: https://code.launchpad.net/~dholbach/snapcraft/examples-tests/+merge/27164913:46
dholbachfgimenez, great work on adding the examples test13:46
dholbachtedg, the qmldemo example is still broken on wily - do you know how to fix it?13:46
fgimenezdholbach, i'm looking into it right now, thanks a lot :)13:46
dholbach<313:47
sergiusenspitti, you once told me, iirc, that we can enable autopackage tests on PPAs?13:48
pittisergiusens: that's the plan, yes13:48
pittinot implemented yet because too many diversions and kernel testing having higher prio13:49
pittisergiusens: but I definitely want this too; might still be a few weeks, though13:49
sergiusenspitti, oh, still on paper :-) ah, but sooner than I thought :-)13:49
* sergiusens puts a 1 month away reminder13:50
pittisergiusens: is this something important/critical for snappy development?13:50
tedgdholbach: I think so, I just need to get a wily VM setup13:50
sergiusenspitti, we just added lots of tests; we run them before merging but would be nice to run on package build as well13:51
sergiusenspitti, so important, but not critical13:51
pittisergiusens: i. e. next week I need to work on prototyping the "run deb chroot on snappy" thingy for the snappy sprint the following week; if this is important, I'm happy to work on that on the sprint and have you test it :)13:51
sergiusenspitti, I will defer to elopio on that ;-)13:51
sergiusenspitti, sounds good!13:51
pittisergiusens: the mere act of running them is actually fairly simple; it's mostly how to trigger them and what to do with the results which is the interesting bit there13:52
tedgjdstrand: Is there a permission to read/write the user's home directory?13:54
sergiusensyeah, I hear you, integrating it all together is what mostly blocks things from getting done13:54
sergiusenstedg, wrt question, I was thinking that the wrapper for binaries should cd to $SNAP_APP_DATA_PATH (the one in $HOME)13:55
clobranojdstrand: here it is https://bugs.launchpad.net/snappy/+bug/149729913:55
ubottuLaunchpad bug 1497299 in Snappy "hw-assign overwrites existing udev rules" [Undecided,New]13:55
tedgsergiusens: Why?14:04
sergiusenstedg, there was a docker bug that affected that; but yeah; I guess it will break badly in most occasions14:06
sergiusenstedg, although no binary can read outside its containment either14:06
tedgsergiusens: I think we should probably have a conversation about how we expect UAL to work with core launcher.14:06
tedgsergiusens: I'm curious if we want to seperate out "run as a user" and "run as root"14:07
tedgsergiusens: For instance, setting the XDG* variables so that most things will "just work" with that being their only writable directory14:07
kickinz1tedg, sergiusens docker is not allowed by apparmor to read data outside its own $HOME/apps/docker/version directory.14:11
tedgsergiusens: mvo_: Do we have an idea how to finish off this branch? https://code.launchpad.net/~mvo/snapcraft/more-python-apt/+merge/27083114:13
sergiusenstedg, I like it already, we just need to trim manifest.txt14:15
sergiusenstedg, my brain will explode with this one https://code.launchpad.net/~ted/snapcraft/inception/+merge/271656 :-P14:24
tedgsergiusens: Yeah, it's kinda fun. We should run all our tests in the snappy CI service :-)14:24
sergiusenstedg, hah, this is rather useless though as we depend on build tools still but rather interesting in itself14:25
sergiusenstedg, if we get rid of build tools we can certainly cater for this14:25
tedgsergiusens: Yeah, it feels like something we should do. If we want other people to include a snapcraft.yaml in their repos.14:26
elopioev: can we talk about jenkins?14:33
evelopio: sure!14:33
elopioev: I played with the svn config sync plugin and it needs to push to git. For that we need to put the ssh public key of jenkins on launchpad.14:34
elopioev: is that ok for you?14:34
evelopio: I'm confused; what's the security risk you're eluding to?14:41
elopioev: no security risk. Just to push the config to the git branch in launchpad we need the key.14:42
evelopio: and while we're talking about Jenkins, can I ask that you guys focus on getting your Canonistack Jenkins driving daily testing of Snappy through SPI before all the time gets eaten up transitioning to Jenkins as a service?14:43
evI didn't realise this was going to require so much work for you guys, otherwise I wouldn't have suggested Jenkins as a service until we saw a steady stream of results in SPI.14:43
evelopio: can't you have a separate ssh key that you generate for the purpose?14:44
evsomething like http://superuser.com/a/23240614:44
evoh, I guess when we're dealing with public keys it really doesn't matter14:45
evso yeah, I think it's reasonable for you to put the public key in LP14:45
ev+1 :)14:45
elopioev: I'm not sure if I can tell the plugin to use a different key.14:46
evyup, that's fine14:46
elopioev: ok, let me ask for it on an RT.14:46
evcool14:46
evplease do CC me14:46
elopioev: what's taking long is that we had a release this week, and we have another next week.14:46
elopioso we actually didn't touch ci at all this week.14:46
evelopio: is there anything I can do to help you guys get your tests running daily on SPI?14:47
elopioev: I think not, this was the last question I had. Let me give it another try after the snapcraft release.14:48
* ev nods14:48
Chipacaasac: mvo_: tbh the file-contents-as-value-of-key thing is rather nasty, and i'd change it if we're going to do that long term14:48
Chipacaasac: mvo_: ie treat values that are files differently, e.g. yaml points to /1.0/packages/{pacakge}/config/{uuid}, and you GET/POST to .../uuid to operate on the file14:49
tedgpitti: Have you talked to the libertine container folks about running deb containers?14:52
pittitedg: libertine? no, I didn't (I don't even know what that is)14:52
pittitedg: running it as an actual container is fine; but AFAIUI sabdfl suggested running them in a chroot with shared processes14:53
mvo_Chipaca: I don't follow, sorry. but I'm in a meeting rightnow so maybe I just need to re-parse this14:53
pittiso that from within that you can "admin" snappy14:53
tedgpitti: It does both, depending on kernel version14:53
pittithis comes at quite a high cost and loss of reliability, though14:53
tedgpitti: Basically it is the same feature for phones14:53
tedgpitti: It would be nice if we had one set of this code :-)14:53
asacChipaca: yeah sounds reasonable14:53
asacChipaca: like a resource:// thingy14:54
asacis there any yamnl extension that is standard for such?14:54
pittitedg: ah, https://launchpad.net/libertine ? thanks for the pointer, I'll look at that14:55
tedgpitti: You should chat with ChrisTownsend about it some14:55
tedgpitti: I think they're basically the same goals, it'd be nice if we converged on one solution for phone/snappy14:55
ChrisTownsendpitti: tedg: Yeah, I'm here.  bregma too14:56
pittitedg: not sure -- this sounds like you actually want to containerize and isolate this14:56
pittitedg: but either way, I'll look at this and talk to ChrisTownsend, thanks14:56
tedgpitti: It started more with containers, but because of the old kernels on the phones it grew chroot. So the description might not match the implementation in that regard.14:57
ChrisTownsendtedg: Libertine supports both chroot and lxc.14:58
Chipacadunno15:00
ChrisTownsendpitti: FYI, I'll be around today, but off next week.  bregma can definitely help too.15:03
pittiChrisTownsend: does this do anything like discovering sysv init and systemd jobs in the chroot and start them from the host, but properly chrooted?15:14
pittiChrisTownsend: that seems to be the most brittle/heuristic aspect of all15:15
pittiChrisTownsend: for what Michael and Mark have in mind, it's probably better to actually start the deb env as a proper container with all services and its own init, but then provide a mode to just chroot into it if you want to do snappy admin/devel15:16
pittithat's the model which seems most robust to me and still reasonably fulfill the requirements15:16
ChrisTownsendpitti: Wouldn't we want to use LXC instead of a chroot?15:16
ChrisTownsendpitti: The chroot is only intended for kernels that don't support unprivileged LXC's.15:17
pittiChrisTownsend: with LXC you can't see/admin the host processes and bits; AFAIK this was the raison d'être for this15:17
pittiChrisTownsend: oh, and it's certainly a privileged container15:17
dholbachfgimenez, I could imagine that the problem has to do with the fact that the examples directory is not mentioned in setup.py anywhere, but I'm not 100% sure yet15:17
tedgpitti: I was wondering if we could setup snappy-remote to make it so that it would know it is in an embedded situation.15:18
ChrisTownsendpitti: Hmm, ok.  I really don't have any sense of your requirements, so I may be off base in my replies:)15:18
tedgpitti: So then you could manage your snappy system, but it'd actually be using REST.15:18
pittiChrisTownsend: the idea of that was not to treat some debs as an "app", but to provide a "classic ubuntu" like environment for development and admin'ing snappy15:18
pittimvo_: ^ right?15:18
tedgpitti: I think that sabdfl's concern was being able to manage the core system from the container.15:18
pittiChrisTownsend: well, neither have I, I'll mostly come to this as a consultant :)15:18
mvo_pitti: yes, right, its a full environment to "sh" into15:19
ChrisTownsendpitti: lol, ok15:19
pittitedg: right; so it can't be a container when you get a shell into it15:19
tedgpitti: It could if the snappy tool used the REST interface transparently.15:19
pittitedg: that doesn't preclude actually booting it as a container, so that you have the .deb services running properly15:19
dholbachfgimenez, or integration-tests/manage.py maybe15:19
mvo_pitti: and one use case if e.g. install and run tcpdump on snappy15:19
mvo_pitti: or install strace/gdb etc15:19
pittiright15:19
tedgHmm, strace is trickey15:20
pittiso for that mode you'd chroot into the root fs; you would see the snappy pids, but can't do /etc/init.d/apache2 restart (you need a "container shell" for that)15:20
tedgmvo_: So it would have to be completely unconfined15:20
pittiso it's always a bit weird15:20
pittiyes, this isn't a security thingy -- you want full access15:20
tedgmvo_: Is the concern that you'd need gdb/strace for things already installed as snaps, or for building debugging them?15:21
pittiboth I think15:22
ChrisTownsendI'm thinking the way we make libertine containers may be too confining for this purpose.15:22
pittiyeah, it's two rather different use cases15:23
ChrisTownsendWe make an unprivileged chroot and only bind mount a few necessary host dirs.15:23
mvo_tedg: worth clarifying in budapest, but my understanding was that it is intended to troubleshoot a existing system15:23
pittiChrisTownsend: libertine basically is a snap for a bunch of debs, treated as an "app", right?15:23
tedgpitti: Well the idea is that it maintains a container long term, so you end up apt-get'ing more over time.15:24
tedgpitti: So it's not a one-shot type thing.15:24
pittiwell, I'll take a look at it either way15:24
pittiI don't feel that this "deb env on snap" thing will be a lot of code, it's just getting the concept right15:25
pittithanks for your input! /me needs to leave now15:25
tedg'night pitti !15:34
elopiosergiusens: tedg: could there be a way for a snapcraft.yaml to include another snap?15:34
tedgMan I hate my wifi15:34
tedgOh, oh! An inception2 branch!15:35
sergiusenselopio, crazy talk15:35
sergiusenselopio, just use reusable parts ;)15:35
sergiusenselopio, the snap as a binary or the snap layed out as an overlay?15:35
tedgI mean we could decompress it and just copy the same files into the new snap.15:36
tedgThe potential use I could see is that someone wants to include a particular version of a framework.15:36
elopiosergiusens, tedg: I don't know. I'm just thinking. Lets say I want to test hello-world.snap. Maybe I don't want to put the test binaries in the production snap because they import testtools and a lot of other stuff.15:37
elopioso, maybe I could write a test snap that includes the production snap.15:37
elopiothen I install hello-world-test.snap. And it has both the production and test binaries.15:37
tedgI was thinking that perhaps we could have a plugin you could add to your snapcraft that would do some testing things. Like run the bins under gdbserver.15:38
tedgThat's kinda how QtCreator does things. It builds a new click that has the gdbserver connection setup.15:38
tedgThen it connects to that.15:38
elopiothat sounds cool. But not what I'm after here. I want a test that runs the binary and checks the output. And a test that starts the service and makes requests to it.15:39
tedgHmm, would you want that to be an external package then?15:41
tedgfoo.snap and foo-tests.snap15:41
elopiotedg: maybe. For small tests that don't have a lot of dependencies, I can just add a binary foo-test to foo.snap.15:42
elopiobut for complex things, like a full suite on the docker snap. We probably want to import a testing framework, and testing helpers. For that I would like a docker-tests.snap.15:43
tedgI wonder if we just make it super easy to make that foo-tests.snap and then you don't care how small/big it is.15:43
elopiobut that docker-tests.snap should have access to everything docker.snap has. And we don't have dependencies to say docker-test.snap depends on docker.snap, so I'm thinking we should bundle docker.snap inside docker-tests.snap, somehow.15:44
elopiotedg: that foo-tests.snap it's super easy to make with snapcraft already, just a python project gives us everything we can possibly need.15:45
elopiobut how to call foo from foo-tests.snap?15:45
tedgfoo-tests.run15:46
tedgIt would have to export its own binary15:46
fgimenezdholbach, mmm i think it has to do with the examples directory not being available from plainbox's ${PLAINBOX_PROVIDER_DATA}, the symlink at http://bazaar.launchpad.net/~fgimenez/snapcraft/build-examples-test/view/head:/integration-tests/runtests.sh#L40 is not properly created15:46
elopiotedg: right, how to call foo.run from foo-tests.run if foo.snap is not installed.15:48
elopiooh wait, I'm sorry. You are working on the release. I forgot I said we will discuss about this next week.15:48
elopiotedg: sergiusens: I'll add a meeting to the calendar.15:48
tedgelopio: Wait, why don't you install foo.snap ?15:48
dholbachfgimenez, my last hypothesis was that the examples directory was missing because it wasn't mentioned in neither setup.py nor integration-tests/manage.py, but that might be my lack of understanding of plainbox15:48
* tedg wants to install all the foo's!15:49
dholbachI need to go now though, dinner with the whole family15:49
dholbachhave a great weekend everyone!15:49
elopiotedg: the runner would have to know that if you install foo-test.snap, you also need foo.snap installed. That maybe is not a big deal, but sounds like old world dependencies.15:50
elopiotedg: and one thing I don't know is if foo-test.snap would be able to access the data files of foo.snap. And would it have permission to call foo.run?15:50
tedgelopio: It wouldn't by default, but I think that foo-test.snap could be unconfined.15:53
tedgelopio: We really don't need confinement there.15:54
elopiotedg: we have used unconfined tests in nice ways on the phone. I like that.15:55
elopioon the other hand, if you are confined to the same things that your test subject is, that will give you a view closer to the consumer of that subject. And you could push the tests to the store.15:55
tedgSure, I guess I feel the most important part is that the foo.snap stays in its natural confinment. Even if we peak in, we want it to run as closely to the real world as possible.15:57
tedgAs soon as we adjust its snap in anyway, we're getting away from that.15:57
elopiothat's true.15:59
elopioand bundling it into another snap doesn't leave it untouched at all.16:00
sergiusenselopio, tedg I would make snap testing at this stage more like blackbox testing in any case; check snappy [config|service|...]16:00
elopiosergiusens: I want this to be blackbox, always. But how would you install those blackbox tests into the snappy board?16:02
elopioev: we don't know where the public ssh key is. Can you please give us a hand?16:04
sergiusenselopio, composing the snap is not a good idea; you will most likely need to change apparmor rules and such16:07
sergiusenselopio, drive it externally; use ciaas?16:07
elopiosergiusens: yes, tedg made good points about that. I don't like it now.16:07
elopiosergiusens: do you mean like we do for snappy? Use something like adt-run that will copy the tests into the testbed?16:08
elopioor do you mean to write the tests using only snappy-remote and ssh?16:09
tedgbarry: So we want to be able to set "sys.executable" before running setup.py. Is there a good way to do that?16:09
tedgbarry: I was hoping I could use python3 -c, but that doesn't seem to get the order of operations right.16:09
tedgI probably should use "right" since this is kinda a hack :-)16:10
plarsogra_: https://developer.ubuntu.com/en/snappy/start/#snappy-raspi2 is still correct on building rpi2 images? the oem and device bits especially?16:16
ogra_plars, well, ther versions are outdated, but the rest is fine16:16
ogra_http://people.canonical.com/~platform/snappy/raspberrypi2/ has the bits16:16
plarsogra_: do you know when those will be in the store?16:17
ogra_this will stay valid for another week or two until we start building automatically16:17
ogra_the pi2 snap is in the store already16:17
ogra_you can use that one as well (but it is the same)16:17
plarsogra_: so you don't need to download them separately now?16:17
ogra_the snap16:18
ogra_you still need the device tarball ... we commited the first bits to system-image today for that bit16:18
plarsogra_: ah, so that will still be needed for a while I guess? :(16:18
ogra_well, next stable release will be fully integrated16:19
plarscool16:19
barrytedg: sys.executable gets set from argv0.  on linux i don't believe there's an easy way to override that before the runtime starts up (there is on osx)16:21
tedgbarry: Can I do it in some sort of wrapper script?16:22
tedgbarry: I'm looking at the import stuff and it seems to be all for importing modules.16:22
tedgbarry: Where I just want to import a script.16:22
barrytedg: right, importlib is all about importing modules.  i think you could do it in a wrapper that calls exec with the intended argv016:23
barrytedg: but, why do you want to set sys.executable?  usually that just comes from the shebang line or the prompt16:23
tedgbarry: The problem is that setuptools is pulling it when we're building the snap, which then is the path to the build version and we want to to be the path of the installed version when on the final system.16:24
barrytedg: did you see that setuptools supports --executable (iirc) which lets you set that explicitly?16:25
tedgbarry: In theory, but I couldn't get it to work really. It seems to be building the cmdline tools at install time instead of build time, and the parameter only works on build.16:26
tedgbarry: I don't get anything in usr/bin of the build directory16:26
barrytedg: ah.  well, that's less than helpful ;)16:27
* barry thinks16:28
tedgHmm, doesn't seem subprocess allows setting arg0 to a different value.16:29
barrytedg: right, i think you need to use os.exec*()16:29
* tedg takes the kid gloves off16:30
* barry digs through setuptools16:31
barrytedg: http://stackoverflow.com/questions/28575431/setuptools-entry-points-console-scripts-have-specific-python-version-in-shebang16:38
barryi haven't tried it but that's a new one for me16:38
sergiusensbarry, fwiw, I saw the sys.executable trick in a debian bug16:39
barrysergiusens: "sys.executable trick"?  means setting that attribute early enough?16:40
sergiusensbarry, yeah, import sys\nimport setuptools\nsys.executable = 'path_to_exec'\nsetup(...)16:41
sergiusensbarry, here it is http://stackoverflow.com/questions/17237878/changing-console-script-entry-point-interpreter-for-packaging16:41
barrysergiusens: oh that's cute16:42
sergiusenstedg, btw, seem pyversions -r would solve the python3.4/3.5 issue16:43
barrypy3versions16:43
barrybut that doesn't take a -r16:43
sergiusens-i I guess then16:44
barrywould you want the default python3 version? or will you allow people to select 3.4/3.5?  (note that wily can have both installed, and 3.4 is going away for X)16:44
tedgCool, good. That was next on my list of things to fix.16:44
tedgbarry: If they grab the default python3 plugin we'll grab what ever is default.16:45
barrytedg: ack16:45
tedgbarry: But we allow people to grab any package they want, so eh, whatevs16:45
tedgI really don't want to be writing a shell script to call a python script to call python.16:47
barrytedg: i think writing/amending the setup.py is probably the better way16:47
barrynot great, but better16:47
barrytedg: this seems like a possible upstream related bug: the16:48
barryhttps://bitbucket.org/pypa/setuptools/issues/204/support-for-interpreter-argument-in16:48
tedgYeah, that seems related.16:48
tedgconsole scripts is slightly out of the fold.16:49
asacsergiusens: around?16:49
barrytedg: https://bitbucket.org/pypa/setuptools/issues/272/generated-script-shebang-line16:51
tedgCool, thanks barry16:52
barrytedg: jaraco is a local python dev and we've got a hackathon next week.  i'll ping him personally about it (if i can remember :)16:54
tedgbarry: We should be landing most of the python snapcraft bits today/early next week. It'd be interesting to get some feedback at the hackfest about it.16:59
tedgbarry: Those are the people we want to delight :-)16:59
=== dpm is now known as dpm-afk
barrytedg: awesome!  i'd love to take a closer look.  will you be sending more details to the mailing lists, or is there a wiki i can look at?17:00
tedgbarry: We're working on docs. I think when those get real we'll spam the world.17:00
tedgbarry: As an example you can kinda see things with the examples17:00
barrytedg: sounds great.  i will help spread the word17:00
tedgbarry: Heh, that was bad English17:01
tedgbarry: We have examples :-)17:01
barry:)17:01
tedgbarry: I think the other thing that will be interesting for Python folks is that we're going to allow builds in LP, but that can pull deps from non-archive sources. So using pip or whatever.17:04
tedgThat's in progress, but a big change that folks have wanted.17:05
barrytedg: that's *very* interesting17:07
tedgYeah, I'm super excited about it. But really cjwatson did all the work. I'm just being a fan boy.17:08
barrywe're all cjwatson fanboys here :)17:09
fgimeneznice weekend everyone o/17:09
elopiosergiusens: do you mean run clean twice in integration tests?17:16
elopioor in unit tests?17:16
sergiusenselopio, either or both ;-)17:17
sergiusenselopio, just add snapcraft clean to the make-clean test17:17
elopiosergiusens: I don't like this many mocks, so I'll do it in integration.17:17
elopiosergiusens: yes, on it.17:17
elopiosergiusens: pushed. Thanks for the suggestion.17:21
elopio¿dónde están hablando de eso? No veo ninguna discución en IRC.17:24
elopio*discusión17:24
* beuno blinks17:25
elopiowrong channel.17:25
beuno:)17:25
sergiusenselopio, who was that for :-P17:25
elopiosergiusens: balloons. He's learning spanish.17:26
sergiusenselopio, ah :-)17:26
tedgWe should have a snappy-es channel. I really need an excuse to have better Spanish.17:28
beunotedg, I think the plan of record is to slowly just start speaking in spanish and make english look out of place17:29
tedgbeuno: si, me gusta snappy17:29
tedgIs their something similar to "our Spanish snappy overlords"? ;-)17:30
tedgNever thought about it, but are their different memes for non-English languages? There must be.17:31
elopiohttps://translations.launchpad.net/snappy17:32
elopiogalician is winning17:32
elopiotedg: this is a good one for you https://s-media-cache-ak0.pinimg.com/736x/1c/ed/4c/1ced4cd96aef0fe01a4a240f9edeb606.jpg17:33
tedgHeh, I always find most interesting what doesn't get translated. Like "2fa"17:33
tedgelopio: I'm not sure what that woman has to do with the mob.17:35
* tedg is probably missing some context17:35
sergiusenstedg, our standups have mostly spanish speaking people in them anyways ;-)17:35
sergiusenswe can switch from german to spanish every other day17:36
tedgHa, that won't be confusing.17:36
tedgIf there's one thing I can say, it is that my Spanish is better than my German.17:37
elopiotedg: "that woman" https://en.wikipedia.org/wiki/List_of_El_Chavo_characters#Do.C3.B1a_Florinda17:37
tedgInteresting, I had no idea.17:40
evelopio: the system public ssh key? You'll want to file an RT to get that17:43
elopioev: yes, look at the rt CCed to you. They don't know where it is either.17:43
evha, having a look17:44
elopiosergiusens: is this python config part going to be in the wiki?17:53
sergiusenselopio, if it can, yes17:55
elopiosergiusens: tedg: am I doing something stupid here? http://paste.ubuntu.com/12451892/18:01
elopioI'm getting FileNotFoundError: [Errno 2] No such file or directory: '/tmp/socat/snap/./bin/snapd-socat.wrappe│18:02
elopior'18:02
elopiogot it, I was missing my binary in the snap:18:12
elopionow, what kind of apparmor should I put in this to work?18:15
sergiusenselopio, that is an iteration ;-)18:30
sergiusenstedg, you don't need the filename stuff for python2/3 plugins themselves?18:31
sergiusenselopio, do you mind rechecking this one https://code.launchpad.net/~fgimenez/snapcraft/build-examples-test/+merge/270798 ?18:34
elopiosergiusens: that one is not ready.18:50
tedgsergiusens: ?19:05
sergiusenstedg, I saw your MP; is it possible for pip installed things to provide scripts and us not taking care of that?19:07
tedgsergiusens: They won't be binaries, right?19:08
tedgsergiusens: It's only the first binary executed that needs it.19:08
sergiusenstedg, ah, I can have my snapcraft.yaml be an integrator one that just has a requirements.txt and it installs a binary and and and19:09
sergiusenstedg, it is a harder problem to solve though19:10
tedgsergiusens: But then you don't have setup.py redoing the shebang19:10
sergiusenswell, at least not with this mechanism19:10
sergiusenstedg, so when using pip the shebang thing is clean?19:10
tedgsergiusens: Seems to be19:12
sergiusenstedg, ok then; finally some good news :-)19:13
sergiusenswith python19:13
sergiusens;-)19:13
tedgAt least for the ones in nova, it seems most of the modules just don't have a shebang.19:13
sergiusensbtw, if you want to look https://code.launchpad.net/~sergiusens/snapcraft/organize/+merge/27170219:14
sergiusenselopio, maybe too ^19:14
tedgK, should it delete the copy plugin?19:15
sergiusenstedg, not sure we want to yet, do we?19:17
sergiusenstedg, if we remove the copy plugin we need to drive everything through a makefile19:18
sergiusenstedg, or of what type would the project be?19:18
tedgHmm, yeah... not sure.19:18
sergiusensthis was the question that I accidentally skipped from my notes earlier today19:19
tedgWas thinking the non-specified type, but we kinda play tricks with that right now.19:19
sergiusenstedg, yeah, no type means something different now19:19
sergiusenstedg, we can have the 'nothing' type ;-)19:19
tedg'notnull'19:19
sergiusenshmm, 'nop'19:20
sergiusens:-)19:20
* tedg gets with the program 'nada'19:20
sergiusensnada is good :-)19:21
sergiusenstedg, hmm, moot to remove the copy plugin though; as we move, not copy19:23

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