Tuesday, 2018-04-10

*** e0ne has joined #openstack-loci06:29
*** pbourke has joined #openstack-loci08:35
*** pbourke has quit IRC10:30
*** openstackgerrit has joined #openstack-loci11:29
openstackgerritVirgil Chereches proposed openstack/loci master: Fixed fetch_wheels.py to handle any docker-compliant registry.  https://review.openstack.org/55766611:29
*** openstackgerrit has quit IRC12:04
*** pbourke has joined #openstack-loci13:20
*** pbourke has quit IRC13:21
*** pbourke has joined #openstack-loci13:21
*** portdirect has quit IRC14:19
*** portdirect has joined #openstack-loci14:19
*** tommylikehu has quit IRC14:26
*** tommylikehu has joined #openstack-loci14:26
*** alanmeadows has quit IRC14:26
*** alanmeadows has joined #openstack-loci14:27
*** cristicalin has joined #openstack-loci14:28
*** lamt has quit IRC14:29
*** lamt has joined #openstack-loci14:29
*** lamt is now known as Guest2981014:29
cristicalinSamYaple, are you around ?14:30
cristicalinany strong feelings aginst doing multi-stage builds in loci ?14:30
SamYaplecristicalin: a few. what do you have in mind14:30
cristicalincontinue the current approach but add a last build phase where staring from ${FROM} you copy /var/lib/openstack and just do a bindep install for the rest14:31
SamYaplecristicalin: thats basically what we have...14:32
SamYaplethe pip wheels are built first14:33
cristicalinwell, yes and no because you still have some leftovers in the build image which are needed to pull down the wheels archive14:34
SamYaplecristicalin: where?14:34
cristicalinin my case I'd like not to use the ${FROM} if possible and use a slimmer version14:34
SamYapleoh you mean like the fetch_wheels stuff14:34
cristicalinyes14:34
SamYaplelisten, if you can show a slimmer version, be my guest14:35
cristicalinok, I'll do my best14:35
SamYaplethe most youll ever be able to save is 1-2mb, uncompressed14:35
SamYaplebut we love new ideas and things!14:35
SamYaplethe size part, however, is pretty well optimized14:35
portdirectOn another note14:35
SamYapleand do remember, multistage builds make it take significatnly longer to build14:36
portdirective got some devs crying non-stop at me, how much do we hate the idea of a 'debug' profile that gives you ping/curl/nmap etc14:36
SamYapleif its in bindep.txt, i dont care14:37
cristicalinwe provide an install-debug.sh in our own containers14:37
cristicalinthat assumes the environment has some sort of access to repos14:37
cristicalinmaybe that can be enough14:38
portdirectwe dont have that luxury unfortunately14:38
portdirectI was asking them to just add what they needed to the dist_packages args14:39
SamYaplethat works too14:39
portdirectthe appetite for that was surprisingly low.14:40
SamYaplewhy? thats literally what its designed for14:41
SamYapleso you dont need a patch to loci to installyour packages...14:41
portdirect¯\_(ツ)_/¯14:41
portdirectit also means they could install what they want/need14:42
portdirectbut le sigh.14:42
*** Guest29810 is now known as lamt14:42
cristicalinSamYaple, http://paste.openstack.org/show/718832/ for image sizes (fist one is loci, next is the multistage)14:42
cristicalinboth keystone newton-eol14:42
cristicalinno apache just uwsgi in both14:42
portdirectwhat base images are they built from?14:43
cristicalinubuntu:xenial14:43
portdirectthe same in both?14:43
SamYapleportdirect: cant be. look at the dates14:43
cristicalinmy base is a bit more slimmed down but I cannot use it for the build with loci14:44
cristicalinthat's the reason I need the multi-stage14:44
portdirectso not the same14:44
SamYapleright14:44
portdirectcan you build with the same base at all stages?14:44
cristicalinno but it makes the point why multi-stage is useful14:44
SamYaplecristicalin: why cant you use your base with loci. thats the first step14:44
cristicalinbecause I take out non essential things and some essentials out of it :)14:45
cristicalinso not suitable for build just runtime14:45
cristicalinbasically libc and some other needed things + dash instead of bash14:45
portdirectcan you publish this image, or the source so we can discuss properly?14:45
cristicalinand that's it14:45
cristicalinyes14:45
SamYapleso it doesnt sound like multistage build is getting us anything, the size difference is from removing things like bash14:45
portdirectcristicalin: this is what our newton images look like:14:46
portdirectopenstackhelm/keystone                                                          newton                                     9553a0a8b8b8        7 weeks ago         284 MB14:46
portdirectbuilt with loci as is14:46
cristicalin http://paste.openstack.org/show/718833/14:47
cristicalinthat's the runtime image14:47
portdirectif you left bash in there, would it not be able to build loci?14:48
cristicalinnot sure, though I can do a test14:49
SamYaplecristicalin: so you are purging files that were already in your base image.... you arent saving any space that way14:56
SamYaplethey still exist in the base layer14:56
SamYaplealso, in case you didnt know the docker daemon has a build in dumb-init now, you dont have to include it in the images14:57
SamYapleusing tini i belive14:57
cristicalinSamYaple, Makefile calls the docker build with squash14:57
cristicalinso it squishes the layers of that image14:57
cristicalintini only works for regular docker afaik14:58
cristicalinif you run in k8s you don't get that14:58
SamYapleif k8s chooses not to use it, then thats correct14:59
SamYaplei dont know how it wants to do child reaping then14:59
cristicalinportdirect, so I need to keep both bash and login15:02
cristicalinand with keeping that my image is 284M, same as yours15:02
portdirectSamYaple: child reaping is here properly in 1.10 k8s15:26
portdirectwhere the approach they are taking is to start moving the containers in pods to share pid namespace15:26
portdirectand the "pause" container will reap15:26
portdirectthey brought this in previously 1.8.3? and then wound it back out15:27
portdirectas then it was a forced change, which made for a lot of sad people15:27
portdirectwith 1.10 its a param on each pod15:27
portdirectoff by default15:27
portdirectand i think this will change to on by default with 1.1115:28
*** e0ne has quit IRC15:37
cristicalinthat also needs a current day docker15:43
cristicalinI think RH finally switched to 1.1315:44
cristicalinso you get the shared PID space between containers in the same pod15:44
cristicalinbut good stuff, thanks for the info portdirect15:44
*** cristicalin has quit IRC15:52
*** e0ne has joined #openstack-loci16:06
*** e0ne has quit IRC16:35
*** e0ne has joined #openstack-loci16:36
*** cristicalin has joined #openstack-loci16:49
*** pbourke has quit IRC17:05
*** cristicalin has quit IRC17:21
*** e0ne has quit IRC17:54
*** pbourke has joined #openstack-loci18:18
*** e0ne has joined #openstack-loci18:59
*** pbourke has quit IRC19:50
*** e0ne has quit IRC20:30

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