/srv/irclogs.ubuntu.com/2015/11/05/#snappy.txt

Sam_Hi01:11
Sam_I am trying to build the Snappy Ubuntu Core amd64 image, does any of you have experience to this ?01:12
fgimenezgood morning08:12
longsleepogra_: Hey, can you point me to some infos how you folks build the raspi2_armhf system-image channel? Is that created by the system-image or is there a cdimage somewhere for rpi2?09:48
=== davidcalle_ is now known as davidcalle
JamesTaitGood morning all; happy Gunpowder Day, and happy Men Make Dinner Day (totally unrelated)! ๐Ÿ˜ƒ11:15
woodrowshenhi all, i just quickly ask a problem, snapcraft will happen errors when the snapcraft.yaml only set the field of seccomp for security policy.11:17
woodrowshenis it a abnormal rule i used or limitation ?11:19
Chipacahah! http://dave.cheney.net/2015/11/05/lets-talk-about-logging11:48
* Chipaca points out snappy's logger.Logger interface has exactly two methods :-)11:49
mvo_Chipaca: I saw that too and I much agree, want debug in standard logger and be happy11:49
Chipacaone for things the user should see, one for debugging11:49
Chipacaeven documented as such :-)11:49
mvo_yep11:49
Chipacaso we went with Notice instead of Info, because we're awkward with names or something :-)11:49
Chipacaanyway. need to take a break from sending hard emails.11:50
Chipacawillpower running low :-)11:50
Chipacastgraber: ping12:05
Chipacastgraber: is there an lxd image manifest anywhere? (is that a thing?)12:06
mvo_stgraber: and how is it (lxd image) build currently? is the script for that available somewhere12:19
ChipacaI got to https://images.linuxcontainers.org:8443/images/ubuntu/wily/amd64/default/20151105_03:49/12:21
Chipacabut no manifest nor nothing12:21
dholbachDay 3 of UOS starting in about 20 minutes: http://summit.ubuntu.com/uos-1511/2015-11-05/13:42
clobrano\0/13:43
ogra_no way !13:46
ogra_and tons of snappy topics today too !13:46
dholbachyeppers :)13:47
stgrabermvo_, Chipaca: the images on images.linuxcontainers.org are auto-generated images from the lxc-* template scripts we have in LXC, those are generated daily on https://jenkins.linuxcontainers.org using the scipts at github.com/lxc/lxc-ci, no manifest content is published (we could add that though)13:50
stgrabermvo_, Chipaca: the recommended Ubuntu LXD images are those you get by doing "lxd-images import ubuntu --alias ubuntu" or "lxd-images import ubuntu wily --alias ubuntu-dev", ...13:51
stgraberthose are cloud images and their manifest is published at https://cloud-images.ubuntu.com13:51
stgraberLXD uses the root.tar.xz images combined with the lxd.tar.xz metadata tarball13:52
Chipacastgraber: ah, then i think it's the latter i need for this13:52
stgraberthe lxd-images command will go away in 16.04 in favor of simplestream support directly in LXD, at which point you'll get things like "lxc launch ubuntu:lts my-container" and that will just work straight after installation, the image will be cached for you and kept up to date behind the scene13:53
ali1234so what exactly does a snapcraft plugin do?14:55
ogra_ali1234, everything to build a snap with a specific build tool ...14:58
ogra_i.e. we have a cmake plugin that allows you to define the github tree for some cmake using source and then call snapcraft build to generate a snap for you14:59
tedgelopio: Can we ask coveralls to only fail if the coverage goes down by like a half percent or something? There seems to be a lot of noise there.15:00
=== alesage_ is now known as alesage
ali1234i'm looking at my github right now and actually there is quite a few things on here that could be packaged with snappy i suspect15:01
ali1234and also a few that just don't make any sense at all15:01
elopiotedg: I will check. But I like the noise, it will make you add an autotools test when you get really tired of it.15:02
tedgelopio: Sure, but I have an MR that gets an "x" because coveralls thinks it decreased by 0.03%15:05
elopiotedg: yes, it's possible, but I'm not an owner of the repo.15:05
elopiothere's a notifications tab.15:05
tedgHmm, okay. I'll look.15:05
elopiooh wait, I think it's possible, but the screenshot doesn't show the full controls.15:06
longsleepogra_: quick question, when building the raspi2 image with u-d-f how do you make it select the raspi2_armhf device channel, using the --device parameter?15:06
ogra_longsleep, right15:06
longsleepogra_: ok, i was wondering if i should care that this option is listed as deprectated15:07
ogra_longsleep, we need to drop this warning i guess ... even though sergiusens will cry :)15:08
longsleepogra_: ok cool, i finally had time to try out my own system image server and hat to use this parameter to make it use the odroidc channel15:09
longsleepAnother question, when you build ubuntu-core preinstalled images, does the stable line also build with ppa:snappy-dev/image ? Docs in the ppa say its only used in edge.15:27
ogra_after 15.04 release we started using the PPA there too for fixes15:28
ogra_(the SRU turnaround time is sometimes to slow so the PPA is used as staging area for this)15:28
longsleepogra_: ok, so the ppa is required currently to build 15.04 snappy images - correct?15:29
ogra_right15:29
longsleepogra_: ok, thanks for confirming15:29
ogra_but why would you do that at all15:29
ogra_just make your s-i server import the one from the ubuntu s-i server15:29
ogra_and only provide your own device tarball15:30
longsleepogra_: yeah i have that now, but now i need to change some things in the ubuntu-core rootfs15:30
longsleepogra_: can i do this with the system-image server?15:30
ogra_eeek !15:30
ogra_only if you set up your own build env15:31
longsleepogra_: i am trying to avoid it still - experimenting with it15:31
ogra_which is rather very complex15:31
longsleepogra_: i got that as well, i mean i can build the rootfs with cdimage and all15:31
ogra_yeah, but you really shouldnt15:31
longsleepogra_: but it tages ages and that cdimage scripting has soooo many features15:31
ogra_especially in the light that system-image is going away soon15:32
ogra_and you will have an OS snap that contains the rootfs15:32
longsleepogra_: yeah - but still, i need to be able to modify the rootfs - add own key ring for example15:32
longsleepogra_: i have not completely understood all aspects of the system-image server scripts - maybe that one can incorporate some overlay tarball on top of the pulled upstream rootfs15:33
ogra_not sure thats supported in snappy, the overlay thing is for the vendor tarball on phones15:34
ogra_in snappy you would have an additional snap in the store that your oem snap pulls in15:34
longsleepogra_: ok - but how can that overwrite stuff which is part of the rootfs?15:34
ogra_it cant on snappy15:35
ogra_and on the phone it doesnt do that either, it installs to rw space and gets linked/bind mounted15:35
longsleepogra_: well that would be fine with me too15:36
ogra_(or the apps simply get changed to read fro the overlay location)15:36
ogra_it isnt a concept to use in snappy15:36
ogra_it wont work15:36
longsleepunderstood, thats why i currently have to modify the rootfs / build my own rootfs15:36
ogra_what do you change ?15:36
longsleepupdate without internet connection from own url for example, replace openssl with libressl, change client.ini to use own system image server15:38
longsleepi am pretty sure there is more to come15:38
longsleepbtw, the client.ini might actually be a bug, or might not be used at all by snappy tool - to sure but when installed from another system image server, only default.ini has the custom server and snappy update fetches stuff from system-image.ubuntu.com (configured in client.ini)15:39
longsleeplet me know if you think it is a bug and want me to add it15:39
ogra_it might be a bug, but as i saidm system-image is completely going away soon15:39
ogra_for snappy that is15:40
ogra_your rootfs will be a snap from the store with a readonly img inside15:40
longsleepyeah - we will change whatever needs to change then - no problem15:40
longsleepogra_: i will be one of the first to test if you have something i can test15:40
ogra_:)15:41
ogra_it will happen for 16.0415:41
longsleepyeah i cannot wait until then15:41
longsleepbut, wouldnt there still be some bootstrapping system image which then mounds the readonly image?15:42
longsleepogra_: or do you want to put all this into the ramdisk?15:42
ogra_i would love to actually use the initrd *as* the readonly rootfs (like android does) ... but i fear that wont happen (too much pr-mount stuff that we need to do)15:43
ogra_i was pondering to bring that setup up on the mailing list though15:43
ogra_s/pr/pre/15:44
longsleepyeah probably a good idea, it would be nice to have it all inside initrd to avoid having some preloader gear on disk15:44
longsleepogra_: if there is something outside the ramdisk and something outside that rootfs from a snap then that something will need to be changed eventually by some and the situation is not so much different from today15:45
longsleepogra_: i read on the ml, that you work on building the device tarball outside of cdimage - while that would be awesome i would also be interested to create a much simpler rootfs build script - do you see any problems with a simple debootstrap approach, assuming all the hooks for ubuntu-core are run?15:48
ogra_longsleep, no, i'm building it inside of cdimage15:49
longsleepogra_: oh - then i misread your mail sorry15:50
ogra_longsleep, i'm just moving it to a later point in the build and try to get rid of all tools inside the rootfs that are related to it15:50
ogra_so that i.e. something like initramfs-tools and all its deps are not in the readonly rootfs anymore15:50
longsleepogra_: i see - that would be nice yes15:51
longsleepogra_: so your goal is to reduce the rootfs from build dependencies for the device part - understood15:51
ogra_i'm not yet sure how we'll create it in a "all snaps" world15:51
longsleepthats pretty similar of what i want to have, i mean i have many debootstrap minbase scripts for various targets producing a minimal rootfs - i would like to create the snappy rootfs the same way if possible15:52
longsleepand for my case, i never need that script to produce a device tarball as this comes in extra from another source15:53
ogra_right15:54
longsleepi mean i totally get why you folks create the images like you currently do, existing infrastructure and all - but for an outside the cdimage approach is really complicated15:55
longsleepespecially if you only want to build for a single target and version15:56
elopioplars: ev: things are happening, finally: http://paste.ubuntu.com/13112950/15:58
ogra_well, preferably you shouldnt modify the OS snap/readonly rootfs15:59
plarselopio: indeed, we are back online :)16:00
ogra_and preferably we'd prouce an OS snap that suits you to be able to put a framework snap on top to provide your differences16:00
elopioplars: I will now replace the deb + unpack with installing it from the ppa, as we talked long ago. I'm sorry this is still taking so much time.16:01
plarselopio: no problem, hard to iterate on it when things were down, plus there was that bug16:01
longsleepogra_: yeah - i am happy to provide feedback as things evolve - for now i am on the page to build that system no matter what and beeing as snappy-ish as possible without loosing possible customizations16:02
longsleepogra_: btw, cloud-init - we talked about this a long time ago - i want to have it gone :)16:02
ogra_longsleep, me too, but i'm not sure it will actually happen16:03
longsleepogra_: same goes for systemd timesyncd as it is insecure16:03
ogra_we might keep it and have it comppletely disabled or so16:03
longsleepogra_: and all that smartcard stuff - i am not even sure why that is there16:04
longsleepogra_: well i am listening if anyone wants to explain why snappy needs to run pkcsslotd by default16:05
elopioplars: can you please add the tools-proposed ppa on the agent, in case you haven't already? https://launchpad.net/~snappy-dev/+archive/ubuntu/tools-proposed16:05
ogra_longsleep, cant tell you ... i was asked to seed it, thats all i know16:06
plarselopio: will do, but it will only get updated when we deploy or manually update it16:06
plarselopio: that's ok?16:06
elopioplars: can't you tell the agent to autoupdate? That's the idea, to make it easy to push a new version of the tests to the agents.16:07
longsleepogra_: well ok - but someone has to know :)16:07
plarselopio: that's pretty risky I think... if it's infrastructure, we should be deploying a known-good, tested version16:08
plarselopio: if it's for a test, it should get pushed in temporarily via the test, and abandoned at the end of the test16:08
plarselopio: otherwise it could leave the test environment in an unstable condition for future tests16:09
plarselopio: this if for things like ubuntu-device-flash I guess?16:09
Chipacawhere were the generic-amd64 snap sources?16:22
* Chipaca <- bad memory16:22
Chipacahttps://code.launchpad.net/~snappy-dev/snappy-hub/snappy-systems16:25
Chipacagot it16:25
ogra_https://code.launchpad.net/~snappy-dev/snappy-hub/snappy-systems16:25
ogra_bah16:25
Chipacambuahaha16:25
ogra_:)16:25
=== ara is now known as ara_afk
=== ara_afk is now known as ara
evelopio: what am I looking at? :) I mean I see SPI data in there (test_opportunity.json), but itโ€™s also a wall of text16:40
elopioev: you are looking at the output of the tests running in the bbb in the lab.16:40
evwoohoo16:40
evrunning every day?16:40
elopiothey fail because the script is taking an outdated deb, but that's good, they should fail.16:41
evhah!16:41
elopioev: yes, they run every day, but for now deployed on my canonistack jenkins.16:41
elopioplars: sorry, I was on a hangout.16:41
elopioplars: let me try without a package. Just copying all the golang setup.16:43
elopioplars: but on travis we have the option to install packages and ppas. We are taking advantage of that in many of our tests, it would be nice if we could do it here too, somehow.16:43
plarselopio: thats on your test instance, which gets created/destroyed every time, in the spi case, that is equivilent to the system running snappy, which you can absolutely do whatever you want to it16:45
plarscreating a new host for it each time, would require another provisioned instance in the middle of the device host, and the device itself.. it's something we could explore but would be complicated and add some additional time to the process16:46
fgimenezelopio, can you please take a look at https://github.com/fgimenez/snappy-github-plugin/pull/2 when you have time?16:46
elopioplars: that's the problem with this model. We need to do stuff on the test bed, and on the controller.16:46
elopiothe way to avoid that was to package the stuff of the controller in this deb package that is on the ppa.16:47
fgimenezelopio, jenkins job triggered from github, if you could propose a PR for testing it would be great16:47
plarselopio: I think we can work with what you want to do pretty easily, we just need to separate what is required/stable infrastructure from what is being tested16:47
elopioplars: let me first tackle the daily problem with what you have today.16:48
plarselopio: and I think it might make things easier for your use case if you don't feel like you have to build everything on the test host16:48
elopiothen we will try to solve harder problems, like testing the branches and testing snapcraft.16:48
plarselopio: for example, you can do whatever you want on your jenkins, build a new version of snappy tools, ubuntu-device-flash, etc... and ship those down to the job when it runs. It would also likely cut your execution time16:48
elopiofgimenez: woohoo.16:48
fgimenezelopio, your user is whitelisted, so the job should be triggered automatically. you can trigger a rebuild with a comment "retest this please"16:48
elopiofgimenez: I need to walk with the dog because he's driving me crazy. I will try when I return.16:49
fgimenezelopio, ok thx!16:49
elopiofgimenez: so wait, if I propose a branch to ubuntu-core/snappy it will take it and run tests for it?16:50
fgimenezelopio, no, its only for that repo, and the build is currently a couple of echo commands16:50
elopioahhh16:50
fgimenezelopio, you should fork it and PR to it16:50
elopiofgimenez: cool. bbs.16:51
=== kyrofa_ is now known as kyrofa
=== ev_ is now known as ev
=== balloons is now known as Guest9062
evelopio: awesome!17:27
=== kickinz1_ is now known as kickinz1
=== Guest9062 is now known as balloons
plarssergiusens: would something like https://github.com/plars/snapcraft/tree/empty-plugin be welcome? I saw some discussion about possibly having something like this and/or modifying copy to make it not require files to copy... but I think that's a bit confusing (copy but don't *really* copy)18:49
sergiusensplars, we wanted to call it the 'null' plugin :-)18:49
plarssergiusens: as an added bonus, it enables things like https://github.com/plars/snapcraft/commit/9118f2bb67c10c868109cdc5d3ac5052bbe28121 - testing init with parts specified18:49
plarssergiusens: yeah, I tried that, but it turns out null is a special word in yaml I think :)18:49
plarssergiusens: it choked on that18:50
plarsit reads it as NoneType18:50
plarson a related note, I don't see a way to actually use snapcraft init with the partname specified with the current set. All of them seem to have required args with no way to specify. Is that an issue with snapcraft, or an issue with me not seeing how to specify it? :)18:51
plarsI don't see any way at the moment to specify it, but perhaps I'm just missing it18:52
zygasergiusens, plars: joc_ implemented a null plugin earlier this week :)18:57
sergiusenszyga, I don't see it! :-D19:01
sergiusensplars, init with parts needs some love/refactor19:01
zygasergiusens: it was merged to plainbox-provider-p... as a local plugin19:01
zygasergiusens: I encouraged joc to propose it to snapcraft19:01
zygasergiusens: if you want I can dig it out and push19:02
zygasergiusens: no tests though19:02
zygasergiusens: (it's really trivial though)19:02
joc_very trivial19:02
sergiusensjoc_, zyga we can use it in our unit tests instead of the mocked plugins though and then, yay, tests ;-)19:03
sergiusensbut deal with plars since he has one there too19:03
zygajoc_: see if your plugins is any different from the one plars made and let's get one landed in snapcraft19:04
zygajoc_: less x- the better19:04
plarszyga: ah, I didn't even know that, I'm not subscribed to that I guess19:07
plarsjoc_: you should propose then19:07
=== dholbach is now known as therealpopey
=== therealpopey is now known as dholbach
=== jdstrand_ is now known as jdstrand
zygasergiusens: hey, leo reported something about scenarios for thest that have the same steps22:16
zygasergiusens: that sounds awfully like templates which we do support22:16
zygasergiusens: do you know more what he was thinking about?22:16
tedgelopio: ^22:17
zygatedg: ah, thanks22:17
elopiozyga: https://github.com/ubuntu-core/snapcraft/blob/master/integration-tests/units/examples.pxu22:18
elopioall the tests in there are the same, changing the dir.22:18
elopiozyga: tell me more about templates...22:18
zygaelopio: perfect :)22:18
zygaelopio: it's very easy, write one more job that does the equvalent of ls examples/*22:18
zygaelopio: and prints something like this to stdout:22:18
zygaelopio: name: godd\n\n22:18
zygaelopio: name: gopaste\n\n22:19
zygaelopio: etc22:19
zygaelopio: make that a plugin: resource22:19
zygaelopio: and run it to see that it works OK22:19
zygaelopio: then step two22:19
zygaelopio: take any of the example jobs22:19
zygaelopio: replace the name of the example with {name}22:19
zygaand stick this up front in the unit:22:19
zygaunit: template22:19
zygatemplate-unit: job22:19
zygatemplate-resource: id-of-the-resource-you-made22:19
zygathen last step is to stick the resource in front of the test plan22:20
zygaand also add one more field to the test plan: boostrap_jobs: id-of-the-resource-you-made22:20
zyga(you have to reference it twice for now)22:20
zygaelopio: I'll give you the man page with everything22:20
elopiozyga: I'll try when I get back and report how it went. Thanks.22:20
zygaelopio: http://plainbox.readthedocs.org/en/latest/manpages/plainbox-template-units.html22:21
zygaelopio: scroll to the example22:21
zygaelopio: just one gotcha, { } are expanded with python format-like system22:21
zygaelopio: so {{ }} are good for quoting22:22
zygaelopio: that's not mentioned in the man page22:22
zygaelopio: you will have to do quoting22:22
zygaelopio: or drop ${foo} in favour of $foo22:22
zygaelopio: try it and send me a link tomorrow, if anything needs tweaking I'll help you out22:23
zygaelopio: the only weird thing with templates is that with the new world we're going to (all the new tools but _not_ plainbox CLI yet), resource jobs that instantiate jobs from templates need to be listed in boostrap_include in the test plan22:24
zygaelopio: http://plainbox.readthedocs.org/en/latest/manpages/plainbox-test-plan-units.html22:24
zygaelopio: but plainbox CLI is the last thing to go and for that you still have to just list it in the plain include section22:24
zygaelopio: so list it twice and that will be okay22:24

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