Wednesday, 2018-01-10

*** mordred has quit IRC02:42
*** mordred has joined #openstack-dib02:44
*** pmannidi has quit IRC02:44
*** pmannidi has joined #openstack-dib02:48
*** chhavi__ has joined #openstack-dib04:25
openstackgerritIan Wienand proposed openstack/diskimage-builder master: Revert "Dont install python-pip for py3k"  https://review.openstack.org/53239504:50
*** pmannidi has quit IRC07:21
*** hashar has joined #openstack-dib08:19
*** owalsh has quit IRC09:09
*** owalsh has joined #openstack-dib09:10
*** andreas_s has joined #openstack-dib09:30
*** hashar is now known as hasharAway10:51
*** andreas_s has quit IRC11:08
*** andreas_s has joined #openstack-dib11:09
*** andreas_s has quit IRC11:23
*** andreas_s has joined #openstack-dib11:23
*** chhavi__ has quit IRC11:35
*** andreas_s has quit IRC11:37
*** andreas_s has joined #openstack-dib11:38
*** andreas_s has quit IRC11:48
*** andreas_s has joined #openstack-dib11:49
*** vmlinuz has joined #openstack-dib11:56
*** vmlinuz has quit IRC12:26
*** vmlinuz has joined #openstack-dib12:38
*** vmlinuz has joined #openstack-dib12:38
*** andreas_s has quit IRC13:27
*** andreas_s has joined #openstack-dib13:32
*** andreas_s has quit IRC13:37
*** andreas_s has joined #openstack-dib13:38
*** andreas_s has quit IRC13:40
*** andreas_s has joined #openstack-dib13:40
*** andreas__ has joined #openstack-dib13:41
*** andreas_s has quit IRC13:45
*** ameeda_ has joined #openstack-dib13:46
*** ameeda_ has quit IRC14:13
*** dhill_ has quit IRC14:27
*** dhill_ has joined #openstack-dib14:27
*** chhavi__ has joined #openstack-dib14:34
*** openstackgerrit has quit IRC15:01
*** tdriscoll has joined #openstack-dib16:04
*** andreas__ has quit IRC16:30
*** andreas_s has joined #openstack-dib16:32
*** andreas__ has joined #openstack-dib16:33
*** andreas_s has quit IRC16:36
*** andreas__ has quit IRC16:41
*** clarkb has quit IRC16:53
greghaynesianw: hey, on ^ I think the the way to go might be add support for DIB_PYTHON_VERSION="2,3", which i guess is what infra would want17:14
greghaynessurprsied it broke infra since I thought they install all the deps explicitly, but probably shouldnt break back compat anyhow17:15
*** openstack has joined #openstack-dib18:32
*** ChanServ sets mode: +o openstack18:32
ianwgreghaynes: i guess it exposes the job should probably install deps20:16
ianw"2,3" might be ok ... i think my preference for a point release would be retain the old behaviour, and then consider larger changes20:17
greghaynesianw: yep, what do you think of a patch that adds support for 2,3 and makes that the default?20:20
greghaynesit gets odd if someone is explicitly setting DIB_PYTHON_VERSION=3 or similiar as it would be a behavior change there...20:20
greghaynesso if we want to be super pedantic I could put in a deal for -2,3 to special case no python220:21
ianwis this a special case?  one of the problems here is you can get yourself so tangled up with pip installs of these things20:26
ianwdepending on what order you get different binaries in the path, which then creates different virtualenvs etc20:26
ianwalso, the fedora path hasn't obeyed this either20:26
greghaynesI kind of think the place we want to be is having py3k only be the default since thats what various upstream distros are doing20:27
greghaynesso I dont think it a special case20:27
greghaynesbut here it would be unless we did a major version bump due to backwards compat20:27
ianwi agree with the sentiment20:32
ianwDIB_PYTHON_VERSION hasn't really been about "don't bring in py2 packages", it was more "use this to do python things during the build"20:33
ianwwhich is a sort of subtle difference20:33
ianwso yeah, thinking on it a bit more, I'm not sure DIB_PYTHON_VERSION=2,3 makes that much sense20:34
ianwmaybe we need a specific flag for this element to disable python2 components20:34
ianw(and for other elements to follow too i guess)20:34
ianwalthough, maybe most other elements are happy just calling dib-python so, defacto, do things with the right python20:35
greghaynesThose two things (what dib uses for python in build and what yuou end up with) are coupled which was the root cause of that var - you have to tell dib to use the same thing you want20:35
ianw... which kind of loops back to maybe this element is a special case20:35
greghaynesits fine if what you want is a superset, but dib has to use something you want basically20:35
ianwright, but it's just in this element we have all these ordering issues20:36
greghaynesand yes thats the idea with dib-python - use that as the indirection layer so no one else needs to care (hopefully)20:36
greghaynesyep20:36
ianwwiping out the system packages, making sure /usr/bin/pip is a python2 version (when installing v3 pip overwrites that, etc)20:36
ianwthat's kind of the point of this element ... to make python2 & 3 pip/virtualenv live happy together20:37
ianwfor almost every other element, i'd image they just want to install their package based of dib-python version, where a strict 2/3 split is fine20:38
greghayneshrm, so if we go the route of making a separate element for pure python2 and python3 were going to have to mess with element-provides stuff20:39
greghaynesbecause various things element-deps on pip-and-virtualenv20:39
greghaynesactually, hrm, I think various things dont really want to use dib-python if youre installing a package, thats just if you want to run some python as part of a build20:41
greghaynesbecause when youre installing something you generally want to be explicit about py3 vs py220:41
greghayneswhich also makes me think that if we go the route of splitting elements then you want to have element-provides for pip3, virtualenv3, pip2, virtualenv220:42
greghaynesbut then you get in to the thing I think you were talking about where the two versions of pip interact with each other20:43
greghaynesI have to run and grab lunch, will think on it a bit though20:44
ianwyeah, you want to end up with a consistent sane state as left in https://git.openstack.org/cgit/openstack/diskimage-builder/tree/diskimage_builder/elements/pip-and-virtualenv/README.rst#n4120:44
greghaynesbut im fine with reverting that patch, just trying to figure out a path forward afgter20:44
ianwsure, yeah when i get a minute i just want to do some test builds before pushing20:45
ianwso you're not really supposed to set DIB_PYTHON_VERSION, right, it's exported by dib-python20:45
ianwmaybe we need a different variable that handles 2 3 2,3 as suggested20:46
greghaynesI think youre supposed to be able to set it to force dib to use a certain version20:46
ianwto indicate to elements what versions of things they can try to install20:46
ianwsince it's in the environment, i think really it has to be considered an api for elements so a 2,3 change would be incompat?20:47
ianwi guess setting it works, but it's not mentioned at all in https://git.openstack.org/cgit/openstack/diskimage-builder/tree/diskimage_builder/elements/dib-python/README.rst what the implications of that are20:49
*** vmlinuz has quit IRC21:02
*** hasharAway has quit IRC21:38
*** chhavi__ has quit IRC21:41
greghaynesYep thats what I was getting at with maybe making a special case for now. Something like "-2,3" that means 'no python2' and have a todo in there to change the behavior when a new major version bump happens to require 2,3 in order to get both21:50
ianwi don't think we can directly do that, because the idea was you could do virtualenv -p python${DIB_PYTHON_VERSION} and get something sane22:17
greghayneswhere would you want to do that?22:28
ianwgreghaynes: do what, make a virtualenv as part of an element?23:38
greghaynesianw: specifically with dib_python_version. Cases like that I am thinking you actually wouldnt want to use DIB_PYTHON_VERSION since most things you isntall you know you want it specifically on python2 or 323:39
greghaynesIOW maybe DIB_PYTHON_VERSION should be only for dib build time stuff and so a user can make sure dib doesnt require a different python than they want, for other cases just be explicit about python2 or python323:40
greghayneshrm, which makes me think your original thought about breaking it out in to separate elements might be the way to go...23:42
greghaynespip-and-virtualenv, I mean23:43
ianwso I sort of see DIB_PYTHON_VERSION as a read-only value ... it's exported by dib-python just as a reference to what python version "dib-python" is.  dib-python being the "system python" you want to use when using python in an element, to abstract away from python2/3 not being there23:44
greghaynesthe issue is we seem to have two use cases were going to need to support - installing both 2 and 3 and installing only 3 since thats upstream default23:45
greghaynesso thre does need to be some way for a user to specify which23:45
greghaynesid be fine using some other mechanism though...23:46
ianwok, but is that the role of dib-python?  it doesn't actually *install* anything23:46
*** tdriscoll has quit IRC23:46
greghaynesdib-python I think is purely an indirection layer for things doing build time python work23:47
ianwright, we agree on that :)23:47
greghaynesso how crazy do you think itd be to make DIB_PYTHON_VERSION readonly as you say, then make pip-and-virtualenv2 and pip-and-virtualenv3, then have pip-and-virtualenv depend on both23:49
ianwso we have slightly overloaded it however23:49
ianwwith dib_python_version in package installs?23:49
greghaynesI dont understand23:50
greghaynesI agree we have overloaded it, dont understand the package installs thing23:50
ianwhttps://git.openstack.org/cgit/openstack/diskimage-builder/tree/diskimage_builder/elements/package-installs/README.rst#n5323:51
greghaynesah. I think the two pip-and-virtualenv elemetns would use that, then as a user if you wanted pip/virtualenv youd be using element-deps to specify pip-and-virtualenv{2,3,}23:52
ianwthere's a bit of ordering to worry about ... if we get-pip.py install pip, and it takes over /usr/bin/pip as pip3 things go haywire23:54
greghaynesyep, wed have to be explicit about the order the install scripts run in, but thats doable I think... maybe with a big warning comment of 'make sure this runs before the other install pip script'23:55
greghaynesit also could get messy if someone wanted to conditionally depend on one or the other since theres no mechanism to do anything dynamic in element-deps23:56
greghaynesbut thats not any worse than it is ATM23:56
ianwand i'm not sure element-deps is ordering dependent.  it is "this will happen before me" ... but not stronger than that i don't think23:59
greghayneselement-deps arent but the scripts inside the elements are23:59

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