Friday, 2018-07-27

*** ispp has joined #openstack-loci07:00
isppSamYaple could this work? after fixing the comments Jean wrote there of course https://review.openstack.org/#/c/584279/07:14
*** ispp has quit IRC07:27
*** ispp has joined #openstack-loci07:48
*** e0ne has joined #openstack-loci08:22
*** pbourke has quit IRC08:41
*** pbourke has joined #openstack-loci08:42
openstackgerritJean-Philippe Evrard proposed openstack/loci master: [WIP] Add OpenSUSE Leap 15 support for Requirements  https://review.openstack.org/58629509:42
*** ispp has quit IRC10:09
evrardjpispp it should : )10:15
evrardjpif not we have other issues in zuul :D10:15
hrwevrardjp: nice work on suse stuff10:16
evrardjphrw: I am just starting : )10:16
evrardjpI will probably be more vocal when it builds :)10:16
hrwevrardjp: from that moment to building images is ~hour10:16
evrardjpI am doing a map right now, and I found a few bugs in other things10:16
evrardjphrw: well, we don't have mariadb in leap15 yet, so I think it will be a little harder than that :p10:17
hrwevrardjp: I do not care yet about !loci stuff ;D10:17
evrardjphahaha10:18
evrardjpwhich distro are you using?10:18
hrwevrardjp: for me first goalset was to build requirements+other images.10:18
hrwdebian:stretch10:18
evrardjpthat seems close to build, isn't it?10:18
evrardjpShould we discuss including those in -nv gating or external CI?10:18
hrwevrardjp: https://git.linaro.org/ci/job/configs.git/tree/ldcg-loci can be useful to you too10:18
hrwevrardjp: that build.sh I use to build own images10:19
evrardjpyeah I guessed :)10:19
evrardjpI have my build.sh too it's just far less extensive than that : p10:19
hrwdebian images build fine10:19
evrardjpdo you have a CI you can use to report on the image building?10:20
hrwevrardjp: once you pass requirements image other just follow10:20
evrardjpon a per commit bassis maybe?10:20
evrardjphrw: no doubt10:20
hrwevrardjp: there is a work on arm64 ci for openstack but it has some issues due to being in china10:20
hrwevrardjp: so first we need to get it working with kolla before we go for other projects10:20
evrardjpcool10:22
evrardjpthe arm64 thingy10:22
evrardjpsad the china issues10:22
hrwour cloud admin works on getting UK and US clouds operational10:22
hrwevrardjp: ImportError: No module named pkg_resources10:29
hrwevrardjp: your patch with opensuse/leap:15 image fails10:29
hrwevrardjp: you may need to add python-setuptools to install list10:31
evrardjphrw: yeah, it's still WIP10:32
evrardjphrw: it will not work as is, as there are a few bindep thingies that need to be done10:32
evrardjphrw: I will inform you when ready10:32
*** ispp has joined #openstack-loci10:33
hrwsure, just wanted to check ;D10:33
evrardjphehe10:34
hrwnext week (when I will be back home) I plan to take a look at scripts/*10:34
hrwevrardjp: python2-setuptools helped10:35
hrwand yep. bindep stuff hurts you10:35
hrwevrardjp: you basically need separate class for opensuse bindep10:43
hrwdpkg for debian, rpm for rhel/centos, zypper for suse10:43
hrws/rpm/platform:redhat/ s/zypper/platform:suse/10:45
hrwone step from proper bindeps for you evrardjp10:55
hrwthere are some bindep entries which I would rather remove completly ;D10:58
hrw82 new packages to install.10:59
hrw;D10:59
hrwevrardjp: https://paste.fedoraproject.org/paste/FHaenZ8fPHp6691N4tQjAQ for you11:00
hrwevrardjp: with this process of building requirements image for opensuse/leap:15 goes11:01
hrwevrardjp: something failed to build still but should get you closer11:08
evrardjphrw: it's not needed to separate the two, platform:rpm is supported by suse11:59
evrardjpI see you've written libjpeg8 too12:00
hrwevrardjp: but package names are different12:05
hrwevrardjp: so s/platform:redhat platform:suse/platform:rpm/ where are same and done ;D12:06
evrardjpsome12:06
evrardjpyeah well I listed them on a paper -- call me old school12:06
evrardjpI arrive to the same list as you12:06
hrwI will have to do some rebuilds to check can some library packages be dropped12:07
hrwas I highly dislike situation when someone install library package instead of a package which depends on it12:08
*** ispp has quit IRC12:08
* hrw off12:10
hrwlaptop with broken open/close lid detector suxx. will repair that next week12:11
*** ispp has joined #openstack-loci12:20
evrardjphaha12:25
evrardjpwhat do you think of building a blacklist for things in loci?12:25
evrardjpI can definitely see a blacklist for arm things, or for some specific cases12:25
evrardjphrw: you could have used it for scipy12:26
evrardjpSamYaple: opinion?12:26
evrardjpMy point is that we can shave off computing minutes for ppl that don't care about x and y12:26
evrardjp*thinking about the planet*12:26
*** ispp has quit IRC12:36
evrardjppbourke: I am confused about the dockerfiles folder, what is it useful for?12:37
evrardjpI thought the main DOckerfile was used all the time, and needed overrides.12:37
evrardjpit looks like it will get used for the gating: https://github.com/openstack/loci/blob/8a25daae2985cb492c6bd2e7d5338cb0bbac6450/playbooks/loci-builder.yaml#L3412:39
evrardjpI just wonder if we could make things simpler12:39
SamYapleevrardjp: we could do a blacklist. but to what end?12:41
SamYapleas far as teh dockerfiles, they are there primarily to make the gate move, but also as an example template for a LCOI base image that the user would be maintaining themselves12:42
evrardjpSamYaple: there are wheels I don't need built -- skipping them makes it easy, and fastens the build12:42
SamYapleoh that, yea no to that12:42
SamYapleit kinda kills part of the drive12:42
SamYaplethe requirements image *should* contain everything needed to build official openstack projects12:42
evrardjpI agree, project-wise12:43
SamYaplethough blacklisting scipy and losing monasca-anlytics is not great, but fine for right now12:43
evrardjpuser wise that's kinda meh12:43
SamYapleas far as building *actually* goes, you dont have to use the requirements image at all12:43
evrardjpI like the idea of sharing layer12:43
SamYapleyou can push the ocmpiled wheels to a repo and then ship an `--build-args WHEELS=empty.tar.gz` essentiall12:44
SamYapleso you dont even *need* requirements, its already there as a helper piece12:44
evrardjpcompletely agree -- but why would I setup a new process, while loci works perfectly12:44
evrardjpabout dockerfiles:12:44
SamYapleive been playing with pushing the whls from the requirements build to my local repo12:45
SamYapleso "loci works perfectly" doesn't mean it can't work better in specific envs12:45
evrardjpI think that https://github.com/openstack/loci/blob/8a25daae2985cb492c6bd2e7d5338cb0bbac6450/playbooks/loci-builder.yaml#L34 is limited: for example  https://github.com/openstack/loci/blob/fd31a2f0d5d035c4b0171ea773da331ae9428c6c/playbooks/vars.yaml#L29 name ubuntu is limited, what when we want bionic ?12:46
evrardjpexcept if it's fine to rename "ubuntu" to "xenial"12:47
evrardjpthis way bionic has its own name too12:47
evrardjpSamYaple: what's your opinion?12:47
SamYapleevrardjp: i don't believe the plan was to gate xenial and bionic at the same time12:50
SamYapleweve already be through trusty and xenial, granted it was early on12:50
SamYaplebut it was a cut over12:51
SamYaplethe current image technically should work on trusty, xenial, and bionic12:51
SamYapleyou just provide the base12:51
evrardjpI have the feeling if we start to fiddle with the apt sources for  bionic we'll have trouble -- like wheels for nova built for the wrong version of libvirt.12:54
*** ispp has joined #openstack-loci13:03
SamYapleevrardjp: we've got a lot of experince between us for building nova and even libvirt in a docker container, i don't believe there are any issue that will cause major touble13:07
SamYaplebionic won't have any cloud-archive stuff, thats probably the *hardest* part13:07
*** mandre is now known as mandre_away13:18
evrardjpok13:18
evrardjpthat explains13:19
*** e0ne has quit IRC15:16
openstackgerritJean-Philippe Evrard proposed openstack/loci master: Add OpenSUSE Leap 15 support for Requirements  https://review.openstack.org/58629515:26
openstackgerritJean-Philippe Evrard proposed openstack/loci master: Add OpenSUSE Leap 15 support  https://review.openstack.org/58629515:26
-openstackstatus- NOTICE: A zuul config error slipped through and caused a pile of job failures with retry_limit - a fix is being applied and should be back up in a few minutes15:38
*** ChanServ changes topic to "A zuul config error slipped through and caused a pile of job failures with retry_limit - a fix is being applied and should be back up in a few minutes"15:38
evrardjpSamYaple: what do you think of spreading the jobs per distro?15:49
evrardjpper image at least15:49
SamYapleah yea, forgot to mention that. the "large" jobs i described before would be distro specific15:50
evrardjpSamYaple: I am thinking of yesterday's conversation, if you make the base jobs longer (multiple branches)15:50
SamYapleso we could non-voting the distros15:50
evrardjpgood!15:50
evrardjpperfect15:50
evrardjpthat's what I thought too15:51
evrardjpok we are in sync15:51
SamYaplecool. yea thats what we came up with and havent implemented yet :D15:51
evrardjpwant help?15:51
evrardjpit's close to week-end for me, but I can do it next week15:52
evrardjpI'd rather not bring opensuse in gates yet if we change this15:52
SamYapleYou are welcome to POC this whole idea for opensuse if you want15:53
SamYapleif youre offering15:53
SamYaplewe can adapt that work pretty quickly for the other distros i think15:53
evrardjpwell if I do the work I will do it directly for all the distros : p15:54
evrardjpI just rather be in sync15:54
evrardjpwith how to do it15:54
evrardjpif you have cycles, go ahead, you probably have a better idea of what you want15:54
evrardjpI can review it15:54
SamYapleAh i meant that was my plan15:55
SamYaplePOC one distro, then quickly move the otehrs to it15:55
SamYaplewith both old and new jobs running breifly15:55
SamYapleif you POC opensuse, same thing15:55
*** openstackgerrit has quit IRC16:04
*** ispp has quit IRC16:11
evrardjpSamYaple: if I want to build keystone from my previously built requirements on my local machine, shouldn't WHEELS="<docker image>:<docker tag>" work ?16:33
evrardjpor do I absolutely need a registry to listen on localhost?16:35
evrardjp< noob16:38
SamYapleevrardjp: WHEELS=http://some.site/tarball.gz works17:29
SamYaplealso what you posted17:29
SamYaplegot confused with line split17:29
evrardjpSamYaple: I don't want to publish it yet17:31
SamYaplewait, confused again. WHEELS="<image>:<tag>"17:31
SamYaplethat only works if its on dockerhub17:31
evrardjpexactly17:31
evrardjpquestion:17:31
SamYapleso push to dockerhub if you want to use it that way?17:31
evrardjpin the requirements image, where are the wheels built17:31
SamYapleor WHEELS="<registry>/<image>:<tag>" would work17:31
SamYapleevrardjp: https://github.com/openstack/loci/blob/master/scripts/requirements.sh#L3317:32
evrardjpSamYaple: I wanted to use the locally built ones17:32
SamYaplethere, it builds wheels17:32
SamYapleoh locally built wheels outside of the requirements image?17:32
evrardjpso /17:32
evrardjpwait17:32
SamYapleim confused by what youre asking sorry17:32
SamYapleWHEELS is super flexible though17:32
evrardjpso I want to avoid pushing to a public registry,whether it's dockerhub or anything else17:32
evrardjpso I wanted to have it somewhere local.17:33
SamYaplethen your only option is to host it as a tarball17:33
SamYapleonly things going into the container are over the network17:33
evrardjpI thought: 1) maybe I could inherit the requirements image, and point to that location17:33
SamYapleno way to inherit or otherwise transfer the wheels without making a layer in the final image (of the size of all the wheels)17:34
evrardjpSamYaple: is there no way to avoid the "over the network" part?17:34
SamYaplespecifically no because of the last statement17:34
SamYaplewe are avoiding the "layer" part17:34
SamYapleby using the network17:34
SamYaplefwiw, i spin up an apt-cacher, devpi (pypi mirror), and apache file host for these reasons17:35
SamYapleits still 100% possible to build in an isolated environment with access to proper mirrors. I know because i do it :P17:36
evrardjpok another question then, is there a way to create easily the .tar.gz file from the requirements image?17:36
SamYapleyep17:36
SamYapleits the last layer in the image, its already a tarball17:36
SamYapleyou can extract it17:36
evrardjpplease explain for docker noobs?17:36
SamYaple`docker export requirements:tag`17:36
SamYapleor save17:37
evrardjpok17:37
SamYaplei cant ever remember17:37
SamYapleits the one that doesnt flatten17:37
evrardjpyeah but it's a docker command17:37
SamYapleno, there are two commands, export and save17:37
SamYaplethe file it produces is a tarball with other tarballs17:37
SamYapleadditionally, you can run `WHEELS=<location> scripts/fetch_wheels.py` and itll pump out /opt/loci/wheels.tar.gz17:38
SamYapleif you want to beef up fetch_wheels.py to be a touch mroe generic, thats fine17:38
SamYaplebut the logic for layer extraction is there17:38
evrardjpnot sure to understand17:40
evrardjpabout `WHEELS=<location> scripts/fetch_wheels.py` and itll pump out /opt/loci/wheels.tar.gz17:41
SamYaplehttps://github.com/openstack/loci/blob/master/scripts/fetch_wheels.py17:45
evrardjpyes I am on it17:45
SamYaplehttps://github.com/openstack/loci/blob/master/scripts/fetch_wheels.py#L12117:45
evrardjpso /17:46
SamYaple /tmp not /opt/loci/wheels17:46
SamYapleyou can do it by hand, and extract the right tarball with the docker commands, or you can use that script17:46
SamYapleor you can reference that script to see what its doing17:46
evrardjpstill not clear.17:46
evrardjpwell it's clear if it's external: I can use https://github.com/openstack/loci/blob/5682a103f0588f148b955732a409c76b61c9a59c/scripts/fetch_wheels.py#L10517:47
evrardjpelse registry17:47
evrardjpmy point is to point to a wheel location so L10217:47
SamYapleL102 is not what you think it is17:48
SamYaplethats helper code when run outside the container like im describing17:48
SamYaplethere is no wheels file in the container, nothing to f.read() from17:48
evrardjpso your point is I have to extract from requirements a tar containing the wheels -- then copy to docker image -- then point to it using WHEELS= then remove the file17:48
SamYapleif you want to use WHEELS like that, then thats one way you can do it. yes17:49
SamYaplebut at the end of the day, WHEELS are fetched over the network17:49
SamYaplelots of ways to provide that network fetching though17:49
evrardjpyeah I could run my own registry that listens on everything17:49
evrardjpand I'd be done17:49
SamYapledocker run -d --net=host registry:217:50
SamYapledoes that pretty well17:50
SamYaplebut we do have the mirror setups in the gate17:50
evrardjpyeah17:50
SamYaplehttps://github.com/openstack/loci/blob/master/playbooks/setup-gate.yaml#L4917:51
SamYaplefrom there to end17:51
evrardjpok so now I want to learn how to extract those wheels to tar.gz as docker save extract multiple layers17:51
SamYapleusing apach as the git mirror17:51
evrardjpSamYaple: yes I read that. I didn't want to follow that route17:51
SamYaplewell git cache more accurately17:51
evrardjpI wanted to pass files locally, because of some limitation.17:51
SamYapleevrardjp: last layer in the image is a tarball containing only *whl and upper-constraints.txt from the version it was built from17:52
SamYapleI dont know what to say about the local passing other than we have no plans to ever support it under the current structure which uses docker build17:53
SamYapleor i should rephrase, we dont plan on supporting adding additional layers unneccesarily due to bloating the size17:55
SamYapleif docker build allows us to do this without saving all wheels as a layer, then go for it17:55
evrardjpSamYaple: I will probably need to have some creative thinking17:56
evrardjpas I won't be able to run a shell script either17:57
evrardjpthat's gonna be fun!17:57
evrardjpanyway17:57
evrardjpthanks!17:57
SamYapleno problem! but focus on the docker limitation part17:57
SamYaplethere is no way to do this from the LOCI side17:57
SamYapledockers gotta change17:58
SamYapleah right. i should probably add, we support `docker build <gitrepo>` so anything you do think up has to exist in the Dockerfile and not as an external build tool17:58
evrardjpthat was my case anyway17:59
evrardjpI can only use Dockerfiles, and no external things.17:59
evrardjplimits the things.18:00
evrardjpI will try to see what I can find18:00
evrardjpI am off for today18:00
evrardjpthanks for the help!18:00
SamYaplesee ya buddy! take care18:02
*** e0ne has joined #openstack-loci20:06
*** e0ne has quit IRC20:22
*** pbourke has quit IRC21:10
*** e0ne has joined #openstack-loci21:16
*** pbourke has joined #openstack-loci21:27
*** e0ne has quit IRC22:00

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