Friday, 2019-05-24

openstackgerritTony Breeds proposed openstack/requirements stable/ocata: Use the new opendev path for requirements-check  https://review.opendev.org/65812200:10
openstackgerritTony Breeds proposed openstack/requirements stable/ocata: Add upper-constraints enforcement for local reqs  https://review.opendev.org/65874800:11
*** samueldmq has quit IRC00:12
openstackgerritTony Breeds proposed openstack/requirements stable/stein: Fix where we use constraints  https://review.opendev.org/66114400:26
openstackgerritTony Breeds proposed openstack/requirements stable/rocky: Fix where we use constraints  https://review.opendev.org/66114500:26
openstackgerritTony Breeds proposed openstack/requirements stable/queens: Fix where we use constraints  https://review.opendev.org/66114600:27
openstackgerritTony Breeds proposed openstack/requirements stable/pike: Fix where we use constraints  https://review.opendev.org/66114700:27
openstackgerritTony Breeds proposed openstack/requirements stable/ocata: Fix where we use constraints  https://review.opendev.org/66114800:27
tonybprometheanfire: So I looked at https://etherpad.openstack.org/p/reqs-py2-caps and I don't think we shoudl send it00:50
tonybprometheanfire: we staill have a lot of unknowns and we haven't actually added anything testing or process wise that will stop it from happening again00:51
prometheanfireya, info is not actionable00:52
tonybprometheanfire: true we may not end up with a "bandit", style issue *and* a gate issue at the same time but we still a) don't detect when a library adds a braking chnage like this ; and b) don't forcefully push an update into a project when it's needed00:52
tonybwe have some hard thinking to do00:52
prometheanfireindeed00:53
* tonyb really wishes he had more headspace01:03
*** altlogbot_1 has quit IRC02:12
*** altlogbot_0 has joined #openstack-requirements02:13
openstackgerritTrinh Nguyen proposed openstack/requirements master: Ignore python 3.4 and 3.5 for sphinx  https://review.opendev.org/66114902:37
openstackgerritMerged openstack/requirements stable/ocata: Cap keyring and scikit-learn on python2  https://review.opendev.org/66086005:19
openstackgerritMerged openstack/requirements master: Add cinder extras infinisdk  https://review.opendev.org/65808605:27
openstackgerritOpenStack Proposal Bot proposed openstack/requirements master: Updated from generate-constraints  https://review.opendev.org/66118906:20
*** hberaud|gone is now known as hberaud07:03
openstackgerritMerged openstack/requirements master: update constraint for osprofiler to new release 2.8.0  https://review.opendev.org/66046407:10
openstackgerritMerged openstack/requirements stable/ocata: Use the new opendev path for requirements-check  https://review.opendev.org/65812207:10
*** dtantsur|afk is now known as dtantsur07:30
*** mnaser has quit IRC07:35
*** jungleboyj has quit IRC07:40
*** jungleboyj has joined #openstack-requirements07:43
*** mnaser has joined #openstack-requirements07:43
*** e0ne has joined #openstack-requirements07:51
*** mnaser has quit IRC08:02
*** jungleboyj has quit IRC08:04
*** mnaser has joined #openstack-requirements08:05
*** jungleboyj has joined #openstack-requirements08:07
*** rm_work has quit IRC08:09
*** rm_work has joined #openstack-requirements08:10
*** tosky has joined #openstack-requirements08:10
*** zbr has joined #openstack-requirements08:19
*** AJaeger has joined #openstack-requirements08:38
openstackgerritAndreas Jaeger proposed openstack/requirements master: Remove projects.txt and friends  https://review.opendev.org/61908908:38
AJaegertonyb: you wanted to followup last year on the patch above - I just rebased and removed merge conflicts. ^08:39
AJaegertonyb: do you still want to take this over - or have an advice on how to handle this?08:39
*** ccamacho has joined #openstack-requirements08:56
*** hberaud is now known as hberaud|school-r09:55
*** hberaud|school-r is now known as hberaud|lunch10:05
*** aspiers has joined #openstack-requirements10:11
aspiersany requirements experts awake, e.g. dirk? got a context about using contextlib2 safely on py2 without breaking py310:12
*** hberaud|lunch is now known as hberaud11:20
aspiersthis is what I've done: https://review.opendev.org/#/c/660500/11:48
dirkaspiers: you can add specifiers on the python version..11:48
aspierssee https://review.opendev.org/#/c/660500/7/nova/test.py@6911:48
aspiersI see lower-constraints.txt already sets the specifier on Python 211:48
*** adriant has quit IRC11:48
aspierssorry11:49
dirke.g. simply add contextlib2;python_version<'3.0'11:49
aspiersthat's not what I meant11:49
dirkto your requirements/test-requirements11:49
aspiersyeah11:49
aspiershrm, I saw the specifier somewhere11:49
aspiersah, maybe in global upper constraints11:49
aspiersor global lower11:49
*** adriant has joined #openstack-requirements11:49
aspiersyeah, global upper11:50
aspierscontextlib2===0.5.5;python_version=='2.7'11:50
dirkyeah, you need to add it to lower-constraints and to the projects *requirements.txt file11:50
aspiersOK11:50
aspiersactually it's only needed for test-requirements.txt I think11:50
dirkright11:50
aspiersthe interesting thing is that contextlib2 was already in my testenv11:50
aspiersI don't know why11:51
dirkso add it to test-requirements with the line matching the specifiers in global-requirements.txt and to lower-constraints.txt as a copy of the gr's upper-constraints entry and then you're done11:51
dirkyes, it is most likely already pulled in by some other dependency11:51
dirkbut its good to be explicit if the code explicitly imports it11:51
aspiershow would I find out which one?11:51
aspiersout of curiosity11:51
aspiersGemfile.lock makes this easy in Ruby11:51
dirkI usually grep the egg files in the .tox directory11:51
aspiershah OK11:51
dirksomewhere you can find a textual reference11:51
aspierscmd211:52
aspiersand futurist11:53
aspierstaskflow11:53
aspierstraceback211:53
aspiersOK11:53
aspiersI will add it explicitly as you suggested11:53
aspiersthanks!11:53
aspiersOK, except === is undocumented11:55
aspiershttps://pip.pypa.io/en/stable/reference/pip_install/#requirement-specifiers11:55
aspiersawesome11:55
aspiersdirk: is === some weird openstack-requirements thing?11:56
*** dims has left #openstack-requirements12:20
*** e0ne has quit IRC12:52
*** e0ne has joined #openstack-requirements13:01
*** bnemec is now known as beekneemech14:14
*** stephenfin is now known as finucannot14:14
*** hberaud is now known as hberaud|school-r14:27
*** hberaud|school-r is now known as hberaud14:32
*** markmcclain has joined #openstack-requirements15:07
*** e0ne has quit IRC15:08
*** e0ne has joined #openstack-requirements15:11
aspiersdirk: https://review.opendev.org/#/c/660500/9 is failing on requirements-check and I don't understand why15:13
*** e0ne has quit IRC15:14
*** e0ne has joined #openstack-requirements15:15
aspiers"Requirement for package contextlib2 has no lower bound" when validating test-requirements on Python 3.6.5, even if I add ==0.5.5 to the contextlib2 line in test-requirements15:15
aspiersall mentions of contextlib2 are filtered by python_version15:16
aspiersso on Python 3 I wouldn't even expect it to think about contextlib2 at all15:16
AJaegeraspiers: you have "contextlib2" as requirement, change to "contextlib2>=1.2.3" or whatever is the version you want15:18
aspiersAJaeger: that's what I did15:19
AJaegerNo, let me comment...15:19
aspiersbut all mentions of contextlib2 are filtered to only apply to Python 215:19
aspiersAJaeger: OK thanks15:19
aspiersAJaeger: I mean, that's what I tried locally and it didn't make any difference15:20
aspiersI didn't push to Gerrit15:20
aspiersThere's also a weird sphinx error15:20
aspiersRequirement(package=u'sphinx', location='', specifiers='!=1.6.6,!=1.6.7,<2.0.0,>=1.6.2', markers=u"python_version=='2.7'", comment=u'# BSD', extras=frozenset([])) 'markers': u"python_version=='2.7'" does not match "python_version>='3.4'"15:20
AJaegeraspiers: commented...15:20
AJaegersphinx is weird - might be a followup from the other...15:21
finucannotaspiers: Ignore that warning15:21
aspiersAJaeger: like I said, that's what I already tried locally and it doesn't change anything15:21
finucannotIt's just a warning, not an error. It's trying to match each requirement one by one. The version markers don't match because there's another entry in global-requirements that specifies the 2.7 marker15:22
aspiersah, now I've got it working15:22
finucannotWe should probably collect those warnings and only issue if no matches can be found whatsoever15:22
aspiersyes15:23
aspiersbut also, what the hell is === ?15:23
aspiersin global upper-constraints.txt15:23
finucannotum, what?15:25
finucannotOh, I'm not sure. Didn't spot that before15:25
aspiersfinucannot: https://opendev.org/openstack/requirements/src/branch/master/upper-constraints.txt15:25
finucannotaspiers: TIL https://stackoverflow.com/questions/34434133/what-are-triple-equal-signs-and-ubuntu2-in-python-pip-freeze15:25
aspiersapparently you are better at google than me15:26
finucannotLoads more here https://www.google.com/search?q=requirements.txt+three+equals+signs15:26
aspiersAlso, "Use of this operator is heavily discouraged and tooling MAY display a warning when it is used."15:26
finucannotYeah, _why_ we use it is beyond my paygrade15:26
*** zul has quit IRC15:49
*** dtantsur is now known as dtantsur|afk16:01
*** e0ne has quit IRC16:04
openstackgerritMatthew Thode proposed openstack/requirements master: Updated from generate-constraints  https://review.opendev.org/66118916:27
*** ccamacho has quit IRC16:30
openstackgerritMerged openstack/requirements stable/stein: Fix where we use constraints  https://review.opendev.org/66114416:50
openstackgerritMerged openstack/requirements stable/rocky: Fix where we use constraints  https://review.opendev.org/66114516:50
*** hberaud is now known as hberaud|gone17:03
openstackgerritMerged openstack/requirements stable/pike: Fix where we use constraints  https://review.opendev.org/66114717:29
*** e0ne has joined #openstack-requirements17:54
*** finucannot is now known as stephenfin18:05
*** e0ne has quit IRC18:26
*** e0ne has joined #openstack-requirements18:31
*** tosky has quit IRC19:16
*** aspiers has quit IRC20:38
*** aspiers has joined #openstack-requirements20:47
tonyb[m]If we have ==1.2.3 and a project creates 1.2.3.1 it is a candidate with === it isn't20:51
openstackgerritMatthew Thode proposed openstack/requirements master: Updated from generate-constraints  https://review.opendev.org/66118920:52
tonyb[m]aspiers: I'll red the scroll back and see if I have a specific answer20:55
*** e0ne has quit IRC21:40
openstackgerritMerged openstack/requirements stable/queens: Fix where we use constraints  https://review.opendev.org/66114622:24
prometheanfirestupid rh :(22:52
prometheanfire2019-05-24 21:06:58.590007 | ubuntu-bionic | ContextualVersionConflict: (urllib3 1.25.3 (/home/zuul/src/opendev.org/openstack/requirements/.tox/py27-check-uc/lib/python2.7/site-packages), Requirement.parse('urllib3<1.25'), set(['openshift']))22:52
prometheanfirethey are capping kubernetes as well22:52
prometheanfireand their upstream isn't that responsive22:52
tonybAJaeger: I replied on that review but the TL;DR: Yes we want to get that done and yes I'm keen to help23:02
prometheanfiretonyb: not sure if you can poke anyone re ^23:04
tonybprometheanfire: Not really perhaps amcrae can but he isn't here.23:06
tonybaspiers: Looks like you're all fixed.23:08
aspierstonyb: maybe23:08
* tonyb think that === is the right thing to use for a constraint as it's *explicitly literal* whereas '==' is too flexible.23:08
aspierstonyb: I don't really understand everything I did fully, but I think it's probably working23:09
* tonyb is displeaseed to see 'Use of this operator is heavily discouraged'23:09
aspiersYeah I understand === now23:09
tonybaspiers: You said "use the library on py 2.7* and constrain it to excatly this version in the l-c jobs"23:10
aspiersI guess I need to read https://docs.openstack.org/project-team-guide/dependency-management.html23:10
tonybaspiers: please do and ask questions, as is common (I think) with docs they're written by people that know the topic which means they often have base assumptions that aren't gererally known23:11
aspiersone thing I didn't understand is why the lower-constraints check would care about lines specifying python 2, if it's running the check on python 323:11
tonybso seeing where you struggle for understanding would be helpful23:12
prometheanfiretonyb: well, if you can bug them when you see them that'd be nice, it's annoying to have them cap the rest of openstack23:12
tonybaspiers: I *think* that's just an aspet of our tooling being dumb/taking shortcuts23:12
prometheanfireespecially urllib now23:13
tonybprometheanfire: You could just open an issue on GH (if you haven't already)23:13
aspiersalso upper-constraints has contextlib2===0.5.5;python_version=='2.7' but global-requirements has contextlib2;python_version<'3.0'23:13
aspierswhy not use the same python version specifier?23:14
tonybaspiers: So that's a slightly sore point as I really want them to match so I think that <='3.0' shoudl always be written as =='2.7' but ....23:15
tonybthe reason we don't emit <'3.0' in u-c is because they way we generate the u-c file basically installs g-r in multiple python versions so it knows that it's in 3.4 ... 3.6 (we don't do 3.7 yet IIRC)23:16
tonybwe could add logic to emit that as <'3.4' but currently we just don't attempt to do that and instead write one entry for each python_version23:17
tonybso basically we wrote the simple tool and then introduced inconsistencies because g-r is (kinda0) for people and u-c is for computers23:18
tonybaspiers: is that any clearer?23:18
aspierspossibly, my brain's a bit too frazzled at this time of night/week23:18
tonybs/<=/</ but you get the point23:18
aspiersI'll have to come back to it when I'm fresher23:18
tonybaspiers: all good It's friday (for you)23:19
tonybaspiers: you should knock off ;P23:19
aspiersyeah, and you should be enjoying your weekend :)23:19
tonybpfft23:19
tonybKids are building lego I'm shopping online it's all good23:20
aspiers:)23:20
prometheanfiretonyb: I did, not much is being done about it (a couple of weeks ago for kubernetes, just let them know about urllib3)23:20
tonybprometheanfire: okay.23:23
prometheanfirehttps://github.com/openshift/openshift-restclient-python/issues/28923:23
* tonyb subscribes but I doubt we'll get much traction23:24
prometheanfireya23:25
prometheanfireupstreams that cap bother me on a deeper level than is probably warranted23:25
tonybprometheanfire: which is kinda funny as we (OpenStack would defensivly cap as openshift is doing) until juno23:26
prometheanfireyep, that was fixed :P23:29
* tonyb goes to build some lego23:35
prometheanfirethe lego saturn 5 was awesome23:47

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