Saturday, 2020-05-09

*** rfolco|rover has joined #zuul00:04
*** rfolco|rover has quit IRC00:09
*** swest has quit IRC01:50
*** Goneri has quit IRC01:53
*** swest has joined #zuul02:04
*** saneax has quit IRC03:02
*** zxiiro has quit IRC03:03
*** evrardjp has quit IRC04:36
*** evrardjp has joined #zuul04:36
*** sgw has quit IRC06:13
*** jpena|off has quit IRC07:18
*** jpena|off has joined #zuul07:19
*** avass has joined #zuul07:31
openstackgerritAndreas Jaeger proposed zuul/zuul-jobs master: Revert "Revert "ensure-tox: use venv to install""  https://review.opendev.org/72641308:33
openstackgerritAlbin Vass proposed zuul/zuul master: Update to create-react-app 3.4.1  https://review.opendev.org/71630509:03
*** tosky has joined #zuul09:29
avassmordred: I feel like I'm learning react the hard way. But I have some wild guesses about what's going on. This is the error we get: https://reactjs.org/docs/error-decoder.html/?invariant=130&args[]=undefined&args[]= from line 21 in src/actions/configErrors.js09:45
avassmordred: and since the dispatch function seems related to redux: https://redux.js.org/api/store#dispatchaction my guess is that something similar to the test cases is going on where a class component has been turned into a function component somewhere09:46
avassand that causes strange happenings :)09:48
veecueCan someone help me understand how line-comments are submitted to gerrit for the tox-linters?10:51
openstackgerritAlbin Vass proposed zuul/zuul master: Update to create-react-app 3.4.1  https://review.opendev.org/71630510:54
avassveecue: depends on which part you're interested in :)10:55
avassveecue: if you just need to know how to use zuul_return to return line number you can take a look at this: https://opendev.org/zuul/zuul-jobs/src/branch/master/roles/tox/tasks/main.yaml#L5710:59
avassuuh, file comments10:59
openstackgerritAlbin Vass proposed zuul/zuul master: Update to create-react-app 3.4.1  https://review.opendev.org/71630511:01
veecueavass: Are the line comments part of the file comments? And mostly I'm interested in it from the driver side, since it is not really documented in the gerrit driver.11:06
avassveecue: ah, yeah I don't know how that works inside zuul11:07
avassmordred: I'm so confused, according to the ES6 spec we are missing a semicolon in the export, but npm lint is complaining when i add a semicolon :(11:09
openstackgerritAlbin Vass proposed zuul/zuul master: Update to create-react-app 3.4.1  https://review.opendev.org/71630511:10
openstackgerritJustus proposed zuul/zuul master: more work towards a working gitea driver  https://review.opendev.org/72639113:07
*** avass has quit IRC13:22
openstackgerritJustus proposed zuul/zuul master: more work towards a working gitea driver  https://review.opendev.org/72639113:29
fungiveecue: it relies on the line property of the set review method in gerrit's rest api: https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#set-review13:33
veecueok. Gitea allows for a similar API. But how are the lines passed from Zuul to the Reporter driver? That's the point, I was missing13:34
corvusveecue: the reporter class has a getFileComments method; you'll want to call that, then probably transform the results into the data structure that gitea is expecting.  the github driver is a good example of this13:39
veecuecorvus, fungi: Thank you!13:40
fungiyeah, i had to go hunting for it as well, some of that got refactored after it was added, i guess to abstract it a bit for use by the github driver13:41
corvusveecue: i just started up a local zuul talking to a local gitea and verified basic connectivity with your changes :)13:48
veecue:) I'm currently integrating it into my production gitea to test a few real-life applications13:52
openstackgerritMerged zuul/zuul master: Remove dmsimard from zuul-jobs maintainers  https://review.opendev.org/72643214:08
*** dustinc has quit IRC14:14
corvusveecue: i think we need some updates to giteapy to support branch protection.  i'm planning on re-running the swagger code generator to update it.  before i get too far: does that sound right to you?14:37
veecueAlready did it ;)14:39
corvusveecue: glad i asked  :)  do you have a pr for that?14:40
veecuehttps://pastebin.com/5Gd8juqL14:40
veecuecorvus: I wasn't sure whether we should try to update upstream giteapy or just include our own in the zuul repo, that's why I only built it for my dev environment. Have to change my car's tires now, feel free to use the script and properly include it somewhere14:42
corvusi bet we can update giteapy, i'll take a look at that14:42
*** avass has joined #zuul14:46
*** zenkuro has quit IRC15:14
corvusveecue: it's not small -- https://github.com/dblueai/giteapy/pull/215:19
openstackgerritAlbin Vass proposed zuul/zuul master: Update to create-react-app 3.4.1  https://review.opendev.org/71630515:38
veecuecorvus: yeah, but mostly cosmetic changed due to the new swagger-gen version. Why do you want to have the Branchprotection API?15:40
corvusveecue: to support the workflow where people use development branches on the target repo itself (rather than forks of the repo) -- there's some description here for the github driver: https://zuul-ci.org/docs/zuul/reference/drivers/github.html#branch-protection-rules15:46
openstackgerritAlbin Vass proposed zuul/zuul master: Update to create-react-app 3.4.1  https://review.opendev.org/71630515:52
openstackgerritJames E. Blair proposed zuul/zuul master: Support exclude-unprotected-branches  https://review.opendev.org/72654015:53
corvusveecue: ^ that works with the updated giteapy15:53
openstackgerritJames E. Blair proposed zuul/zuul master: Support exclude-unprotected-branches  https://review.opendev.org/72654015:54
veecuecorvus: Oh and from there we can also get the required number of approvals to calculate whether we can gate15:55
corvusveecue: yep15:56
veecueother question: how can I tell zuul to run in a sub-url of a domain instead of /?15:57
fungias in zuul-web? (status api, dashboard....)15:58
corvusveecue: https://zuul-ci.org/docs/zuul/howtos/installation.html#sub-directory-serving15:58
veecueThanks!15:59
corvusthere are several other options there too; here's the overview: https://zuul-ci.org/docs/zuul/howtos/installation.html#web-deployment-options16:00
veecueapparently that first link was outdated. I didn't find any "homepage" option in the package.json16:02
corvustristanC, mordred: ^16:03
corvusveecue: it might be worth trying the rest of the instructions and ignoring that for now -- maybe that's no longer necessary16:07
mordredcorvus: oh yeah - we need to update that - we do not need to set the homepage setting any longer16:09
veecuecorvus: I'm doing almost the same thing with nginx. API and everything works. But assets are still tried to be loaded from "/". Used REACT_APP_ZUUL_API as a workaround16:10
veecuemordred: How do I set the prefix then? The files still point to "/"16:11
mordredhrm. I didn't think we needed to do that any longer16:16
* mordred pokes16:18
mordredveecue: tristanC would definitely know the answer here - he runs his on a suburl in production16:19
mordredhrm. so - https://opendev.org/zuul/zuul/src/branch/master/web/src/api.js#L26 also says package.json needs to be updated16:23
corvusit apparently disappeared in https://review.opendev.org/607479  (it was in the original react patch, but not in the re-do after we reverted it)16:26
openstackgerritAlbin Vass proposed zuul/zuul master: Update to create-react-app 3.4.1  https://review.opendev.org/71630516:28
avassmordred: do you know if it's possible to reproduce that error locally somehow?16:30
mordredavass: you'd need a zuul with a config error in a tenant16:31
avassmordred: so not without some effort :)16:31
corvusbut you can use the api env var to point at a running instance with an error16:31
avasscorvus: doesn't yarn start:multi do that? because the error doesn't appear when i do that16:32
mordredhttps://zuul.opendev.org/t/zuul/status ... the opendev zuul tenant has config errors16:32
mordredavass: try start:opendev16:32
mordredand then browse to the zuul tenant16:32
avassI'll check16:32
mordredyou should see the page go blank16:32
avassI've been using the fedora tenant, but that doesn't error locally16:33
mordredoh - interesting - the fedora tenant totally breaks with the published site preview link doesn't it16:34
avassyeah16:35
tristanCveecue: corvus: it seems like we are using `PUBLIC_URL=/zuul/ ./node_modules/.bin/yarn build` to get a zuul-web working in a `/zuul` sub url, from: https://softwarefactory-project.io/cgit/rpms/zuul/tree/zuul.spec#n20316:36
*** evrardjp has quit IRC16:36
*** evrardjp has joined #zuul16:36
avassmordred: I think the response data ins the fetchConfigErrorsAction for some reason: https://opendev.org/zuul/zuul/src/branch/master/web/src/actions/configErrors.js#L2216:36
avassthat's supposed to say '...is undefined...' :)16:37
mordredavass: it shouldn't matter - but we're using the npm role in playbooks/dashboard/run.yaml instead of the yarn role16:37
mordredavass: so maybe we should update the job to use yarn - perhaps using npm it's ignoring yarn.lock in the repo and calculating its own deps and it's different than what we're getting using yarn16:38
mordredavass: because I agree - it's working for me locally16:38
avassmordred: yeah, start:opendev works as well16:38
mordredlet's update that then16:38
openstackgerritJustus proposed zuul/zuul master: executor: Catch error when reading cpu_times  https://review.opendev.org/72654516:39
openstackgerritAlbin Vass proposed zuul/zuul master: Update to create-react-app 3.4.1  https://review.opendev.org/71630516:41
veecuetristianC: Thank you! Maybe the documentation should be updated with that ;)16:42
openstackgerritAlbin Vass proposed zuul/zuul-jobs master: DNM: test building dashboard with yarn  https://review.opendev.org/72654616:44
openstackgerritAlbin Vass proposed zuul/zuul master: Update to create-react-app 3.4.1  https://review.opendev.org/71630516:44
veecuetristianC still does not work... Now the assets get loaded correctly, but the API is still tried to be reached from /16:50
openstackgerritAlbin Vass proposed zuul/zuul-jobs master: DNM: test building dashboard with yarn  https://review.opendev.org/72654616:50
mordredavass: I'm going down a smidge of a rabbithole here ...16:55
mordredavass: I just realized how many of our npm jobs are super npm specific16:55
mordredso I'm gonna fix that16:55
mordredalso - we dont seem to run ensure-nodejs in any of our javascript jobs16:55
tristanCveecue: that's odd, here is how the zuul api url is discovered: https://opendev.org/zuul/zuul/src/branch/master/web/src/api.js#L9616:57
mordredavass: oh - we _do_ run ensure-nodejs in the jobs. that's good at least17:00
avassmordred: using the yarn role did not fix it hmm17:02
openstackgerritMonty Taylor proposed zuul/zuul-jobs master: Support using yarn instead of npm in npm jobs  https://review.opendev.org/72654717:06
mordredavass: weird17:07
mordredwell - ^^ that should at least update _all_ of our zuul jobs to use yarn instead of npm :)17:07
avassmordred: should we run yarn in the npm role?17:08
avassmordred: feels weird17:08
mordredavass: I mean - the other option is to make analog jobs for every javascript job we have17:09
mordredbecuaes they all juse use npm right now even for yarn projects17:09
mordredmaybe there's a more generic name we could use17:09
mordred(yarn is a mostly drop-in replacement, other than the whole yarn.lock thing)17:09
avassmordred: maybe the name just shouldn't be 'npm' if we might be running yarn instead17:09
mordredyeah17:10
mordredlike: build-javascript-content-tarball for instance17:10
mordredthat's a great generic job - and for us now it's currently using npm and not yarn17:10
mordredI'm not sure what the generic term is for "npm or yarn" :(17:10
mordredavass: ok - what about this - what about make the role "js-package-manager" (slightly ugly) - have it do yarn vs npm17:11
mordredavass: have the yarn and npm roles use it with overrides set17:12
mordredavass: but have the jobs in tree use it instead17:12
mordredavass: and then make jobs like nodejs-npm that is named something else17:12
mordredlike maybe "nodejs-build" or something17:12
* mordred works on patch17:13
mordredavass: oh- or not nodejs-buiold - what about just "js-build" or "javascript-build"17:14
avassyeah, that sounds like a plan :)17:14
*** tumble has joined #zuul17:17
mnasercorvus, mordred: our CI is now reporting to zuul/zuul-jobs (see: https://review.opendev.org/#/c/726547/1) and it's already blowing up from what looks like missing bindeps17:29
mnasercc noonedeadpunk ^17:29
mnaserconfigure: error: no acceptable C compiler found in $PATH17:32
AJaegerthanks, mnaser for setting that up.17:32
mnaserAJaeger: just noticed sql reporter wasnt setup so the build pages are 404-ing but just fixed that now17:32
AJaegermnaser: once you have the bindeps running, please test https://review.opendev.org/726413 - recheck should be enough17:33
avassmordred: I've been stepping through everything with the debugger and it looks like it fails somewhere inside redux/react. So problems with dependencies sounds probable17:33
openstackgerritMohammed Naser proposed zuul/zuul-jobs master: bindep: add gcc  https://review.opendev.org/72654917:35
avassmnaser: is there a reason why that should be in a bindep instead of the role?17:37
mnaseravass: because the job that's failing is the tox-pyXX jobs17:37
mnaserso the actual 'creation' of the tox venv fails because we have dependencies inside zuul-jobs that cant be built17:38
fungimnaser: as to why, my expectation is that we're using some python dependencies which require c extensions and aren't published on pypi as wheels for the relevant platforms, so in opendev the prebuilt wheel cache is masking the missing dependencies17:39
mnaserfungi: that explains things17:40
avassmnaser: so that's specific for those environments?17:41
AJaegermnaser: yeah, py27 testing for vexxhost succeeded ;)17:42
mnasernope, its just that opendev has a prebuilt wheel for it (and we don't) so the jobs pass upstream and don't pass here.  any other user that's not opendev would likely fail to have those wheel build17:42
mnaseryep but now another challenge.. "Python.h: No such file or directory" -- when using pyenv..17:42
AJaegerpy35 fails with "ERROR: ansible-lint 4.3.0a0 has requirement ansible>=2.8, but you'll have ansible 2.6.20 which is incompatible."17:42
mnaserthis is weird: /home/zuul/src/opendev.org/zuul/zuul-jobs/.tox/py35/include/site/python3.7/netifaces17:43
mnaser(we use the pyenv ensure-python stuff)17:43
AJaegerAh, ansible is not the real failure17:43
AJaegeryou need python-devel as well17:44
mnaserAJaeger: i don't think so, because in this case, the headers come from pyenv17:44
mnaseri think the issue is that it's using the system-provisioned python, not the one that pyenv installed17:44
AJaegeroh fun17:45
mnaserhence why it ran py35 target in python 3.7 (debian)17:45
mnaserah damn17:45
mnaserwe run ensure-python *after* ensure-tox17:45
mnaserso we end up installing python *after* installing tox, which means it already installed tox with system python17:45
AJaegermnaser: I suggest you use "gcc [test]" for bindep.txt17:48
openstackgerritMohammed Naser proposed zuul/zuul-jobs master: bindep: add gcc  https://review.opendev.org/72654917:49
mnaserAJaeger: done :)17:49
openstackgerritMohammed Naser proposed zuul/zuul-jobs master: tox: run ensure-python first  https://review.opendev.org/72655017:49
AJaegerthat was quick, mnaser ;)17:49
mnaserAJaeger: wanted to push it before the ensure-python swap patch :P17:50
mnaserto avoid the "oops dependency broke"17:50
openstackgerritJustus proposed zuul/zuul master: executor: Catch error when reading cpu_times  https://review.opendev.org/72654517:50
AJaegermnaser: still your CI is confused ;(17:50
mnaserhm17:51
mnaserthis has been a repeat issue i've been unable to pin down :\17:51
AJaegeris that a problem with depends-on? What if you stack them on top of each other?17:52
mnaser2020-05-09 17:52:19,587 INFO zuul.Pipeline.opendev.third-party-ci: Unable to merge change <Change 0x7fac2c23de20 zuul/zuul-jobs 726550,1>17:53
mnaseryeah it seems completetly hard locked17:56
mnasereven if the depends is not in gate17:56
openstackgerritMohammed Naser proposed zuul/zuul-jobs master: tox: run ensure-python first  https://review.opendev.org/72655017:56
mnaserhttps://www.irccloud.com/pastebin/uqzW5t4N/17:58
mordredmnaser: weird - those two patches look good though17:59
mnasermordred: and opendev's zuul was happy18:00
mnaseri guess i can look at merger logs18:00
mordredcorvus: workoing on some updates to javascript jobs - made me think - what if we defined a zuul job parameter "deprecated" that would allow setting a message that zuul would return as a comment (assumign it's configured to commnent) on any run of that job or any of its children?18:00
mnaserinteresting, 2/3 mergers have a bunch of "Updating local repository" in the logs, but one of them is absolutely silence18:01
avassmordred: what if we could return a warning from any job18:02
AJaegermordred: so, if a job uses role X and that role X is marked deprecated, it would comment on that one? Yeah, we discussed that in the context of moving from install-X to ensure-X - but nobody acted on it so far.18:02
AJaegermordred: also, marking jobs directly as deprecated would be great...18:02
mordredyeah - there's two things here ...18:02
mnaseroh no no no18:03
mnaserour tox-py38 jobs have been lying to us18:03
mordredmnaser: AWESOME18:03
mnaser /usr/local/lib/python3.6/dist-packages/tox/config/__init__.py:600: UserWarning: conflicting basepython version (set 3.6, should be 3.8) for env 'py38';resolve conflict or set ignore_basepython_conflict18:03
mnaser(thats opendev)18:03
mnasermine just failed with py38 with "ModuleNotFoundError: No module named '_ctypes'"18:03
AJaegeror going further: What about making the openstack-train-python-jobs deprecated on master only?18:03
mordredmnaser: because of the install python ordering18:03
avassmnaser: I believe we had some problems with deleted tags/branches a long time ago and the mergers got stuck in a loop18:03
mnasermordred: im not sure yet.  https://0db61f2fe1de63c8170b-7716d10619577c42ab1386a760b8bb5c.ssl.cf5.rackcdn.com/726550/1/check/tox-py38/9422faf/job-output.txt18:04
mnaseri see /usr/local/lib/python3.6/dist-packages/tox/config/__init__.py:600: UserWarning: conflicting basepython version (set 3.6, should be 3.8) for env 'py38';resolve conflict or set18:04
AJaegermnaser: zuul-jobs hsould install the correct python interpreter18:04
mordredAJaeger avass: one is ansible content indicating that it's deprecated (like the roles) - so a way to zuul_return a warning would be great. the other is a job definition itself where there might not be specific python content that needs to return a warning, where a job attribute could be very useful18:04
mnaserok this job is going to fail 3 times because its failing in pre18:05
mordredmnaser: neat18:05
mnaserbut im failing to install tox under python3.8 with ModuleNotFoundError: No module named '_ctypes'18:05
mnaserhttps://stackoverflow.com/questions/27022373/python3-importerror-no-module-named-ctypes-when-using-value-from-module-mul18:05
AJaegermordred: agreed18:05
mnaserapparnetly you need libffi-dev18:05
avassmordred: You could always add a 'pre' with a deprecation warning for a specific job if we can return warnings18:05
AJaegeravass: a magic role "job-is-deprecated"? Neat18:06
mordredoh good point - we could even just put deprecations in a base pre playbook and have it do nothing if a variable isn't set18:06
mordredmnaser: we need libffi-dev or just libffi? I'm guessing -dev - yeah18:07
mnasermordred: i think -dev, but only when using pyenv it seems18:08
mordredmnaser: oh gross18:08
AJaegermordred, mnaser let's copy from https://opendev.org/zuul/zuul/src/branch/master/bindep.txt#L27-L3118:08
mnaserAJaeger, mordred: i think we _only_ might need it for pyenv only18:09
mordredmnaser: that makes me think in your case you might want to start making tox installs in stow as well - perhaps in each of your pyenv stow dirs18:09
mnaserso we would add it into the role18:09
mordredso that if you pull a python from pyenv from stow, the ensure-tox would wind up being a no-op18:09
mnasermordred: yeah the infra is there but we haven't gotten around actually getting the images to ship python from stow (yet)18:09
mnaseri could probably add the element though..18:09
mordredah - nod18:09
mnaseri think all i need to do is just add the element to start with18:10
AJaegerI'll sign off again, have a great weekend everybody!18:10
mnaserlater, take care AJaeger18:10
avassAJaeger: bye!18:10
mordredmnaser: yeah - for now, maybe just put libffi-dev into the pyenv ensure steps18:11
openstackgerritMerged zuul/zuul-jobs master: bindep: add gcc  https://review.opendev.org/72654918:11
openstackgerritMerged zuul/zuul-jobs master: tox: run ensure-python first  https://review.opendev.org/72655018:11
zbrAJaeger: re ansile-lint prepare for more changes, in less than a week from now it will require py>=3.6, already master does.18:11
zbrbut, one should not confuse ansible version requirement from linter with the range supported by the code.18:11
avasszbr, mordred: we were planning on dropping support for py35 right?18:11
mordredavass: well ... that woudl be zuul, not zuul-jobs18:12
zbri am sure nobody lints with a matrix of pythons and ansible versions anyway ;)18:12
mordredwe _definitely_ have to support 3.5 in zuul jobs all the way to EOL - and probably a good idea to do our best in zuul-jobs even past that18:12
mordredyah - the base python in tox used for ansible-lint shouldn't matter much18:12
openstackgerritMohammed Naser proposed zuul/zuul-jobs master: pyenv: install libffi-dev  https://review.opendev.org/72655218:13
avassoh, yeah that's true18:13
zbrmordred: super. i just wanted to be sure everyone knows that.18:13
avassI'll go back to debugging :)18:13
zbrin fact I think we should consider seriously testing zuul-jobs with newest release of ansible all the time.18:14
zbrwe should have lower-upper bound testing to avoid additional bumping costs18:14
avassyeah18:14
veecuetristianC: seems like that only the info endpoint is flawed. When I navigate to the tenant manually, everything works18:16
openstackgerritMonty Taylor proposed zuul/zuul-jobs master: Add new non-npm specific javascript jobs  https://review.opendev.org/72654718:17
mordredavass: ^^18:17
mordredmnaser: did you see AJaeger's comment on your latest patch?18:19
mnasermordred: ah yeah, that's useful, waiting to see if it passes py38 in my env before restarting it18:20
mordredmnaser: cool18:20
mnaserseems to have gotten past that issue18:20
mnasermordred: it seems to have failed for other reasons (that seem to tell me tox-py38 in opendev isnt that accurate?)18:22
mnaserAttributeError: module 'cgi' has no attribute 'escape'18:22
mnaserill push that up anyways because thats a fix18:22
openstackgerritMohammed Naser proposed zuul/zuul-jobs master: pyenv: install libffi-dev  https://review.opendev.org/72655218:22
mnaserpython 3.8 removed cgi.escape18:23
mnaserhttps://github.com/python/cpython/pull/766218:23
mnaserso that 100% confirms opendev is running tox-py38 _not_ in py38 :X18:24
avassmordred: why do we default to node_version 6?18:24
mnaseravass: i think that might have been leftover.  i meant to bump that upstream to the latest lts after notifying ML, but never got around it18:24
avassmordred: also, you missed a thing :)18:24
openstackgerritMonty Taylor proposed zuul/zuul-jobs master: Add new non-npm specific javascript jobs  https://review.opendev.org/72654718:25
mordredavass: good catch!18:25
clarkbmnaser: for the python3.8 jobs to run properly thry have to run on bionic and install the newer python iirc. I epect that step of install newer python is being skipped or failing for some reason18:25
clarkbalso you can tell tox to fail if the specified version isnt available (whoch we should do for belts and suspenders)18:26
mnaserclarkb: yeah i think we should do that in zuul/zuul-jobs -- anyways, i'm unsure on how to best fix this18:27
fungiot looks like we are installing in 3.8: https://review.opendev.org/72628818:27
mnasercgi.escape was replaced by html.escape, cgi.escape was deprecated in py3.118:27
mnaserbut html.escape was added in py3 only18:27
mnaserso while replacing cgi.escape by html.escape will work, it'll work for py3x only18:28
fungier, https://zuul.opendev.org/t/zuul/build/1bbf4b79169c4b41933145152a9fcf1e/log/tox/py38-0.log18:28
fungicreated virtual environment CPython3.8.0.final.0-64 in 655ms18:28
fungimaybe ubuntu is forward-porting cgi.escape to its packaged python?18:29
clarkbhttps://opendev.org/zuul/zuul-jobs/src/branch/master/roles/ensure-python/tasks/main.yaml#L1518:29
mnaserfungi: that's a possibility18:29
fungiagain, this goes back to the old "what do you want to test" question18:30
mnaseri do see this though: /usr/local/lib/python3.6/dist-packages/tox/config/__init__.py:600: UserWarning: conflicting basepython version (set 3.6, should be 3.8) for env 'py38';resolve conflict or set ignore_basepython_conflict18:30
fungitest against the python interpreters people will likely have on their systems? or test against a custom-compiled upstream cpython?18:30
mnaseryeah18:31
clarkbmnaser: I think that means our tox config is bad18:31
clarkbnot that 3.8 isnt availablr18:32
openstackgerritMonty Taylor proposed zuul/zuul master: Update node to v14 and reorg the jobs a bit  https://review.opendev.org/72655318:32
openstackgerritMonty Taylor proposed zuul/zuul master: Update to new javascript jobs  https://review.opendev.org/72655418:32
fungiclarkb: then how do you explain the log i linked?18:32
clarkbfungi: hrm ya I dunno how can you have that warning and a 3.8 env?18:32
avassI'm logging off too, bye!18:33
clarkbmnaser: is that warniny from opendev jobs?18:33
mnaserclarkb: yeah, https://7f8143495509f2da98f9-0ee3eeb68aa256c74f1e35f60c262d61.ssl.cf2.rackcdn.com/726552/1/check/tox-py38/51989fa/job-output.txt18:33
clarkbfungi: mnaser's example is from zuul-jobs is yours a zuul-jobs example too?18:34
clarkbhttps://opendev.org/zuul/zuul-jobs/src/branch/master/tox.ini#L7 that is the issue18:35
clarkbwe need to set ignore basepython conflict18:35
clarkb`python3` == python3.6 on bionic18:36
fungihttps://7f8143495509f2da98f9-0ee3eeb68aa256c74f1e35f60c262d61.ssl.cf2.rackcdn.com/726552/1/check/tox-py38/51989fa/tox/py38-0.log18:37
fungiyeah, i was looking at zuul/zuul not zuul/zuul-jobs18:37
fungii agree the tox.ini for zuul-jobs is broken18:37
fungiwe should match it to the tox.ini for zuul probably18:37
clarkbfungi: except zuul-jobs supports python218:38
fungiahh18:38
mordredbut - arent' we also not actually getting 3.8?18:38
mordredbecause if we were we'd see the error with cgi.escape18:38
mordredI just checked - it is not in 3.8 on ubuntu bionic18:38
clarkbmordred yes because we use python318:38
clarkbpython3 is 3.6 on bionic18:38
mnaserfwiw this is my missing cgi.escape failure: https://zuul.vexxhost.dev/t/opendev/build/78238d9ed3c7412d9bf0ad26ffc6476d18:38
fungimordred: yes, ignore_basepython_conflict = True will solve that, -e py38 will either actually use 3.8 or throw an error because it's missing18:39
mordredoh - because py38 isn't smart enough to use python3.8 even if it's installed?18:39
clarkbif weset ignore base python vonflict the testing should work as expected18:39
mordredclarkb: jesus18:39
mordredok18:39
clarkbmordred: correctit will if we set ignore basepython conflict18:39
mordredso - we weren't installing 3.8 properly probably, but not noticing it because of basepython conflict18:39
fungiit's tox trying to reconcile you setting basepython to something other than what -e py38 would actually use18:39
mordredso multiple broken things18:39
mordredmnaser: you found a lovely can of worms today!18:40
mnaserlols18:40
mnaseri still need to figure out why my merges are failing :\18:40
mordredyeah18:40
clarkbthis is like the fifth project I've had to debug this for :)18:40
mordredclarkb: you're getting good at it then18:41
clarkbmight be worth an email blast I guess18:41
mnaserwild idea18:41
mnasershould we add a simple check for this inside tox job18:41
clarkbmnaser: no18:41
mnaserso it just fails if it detects tox isn't properly configured18:41
clarkbits not our job to tell people how to configure tox18:41
clarkbit could be proper though18:41
clarkbwe cant know18:41
mnaserbut for example cant tox-py38 job know that it is _not_ running in py3818:42
clarkbya that may be desireable for someone since that is how they configured tox18:42
fungithough i think tox upstream has said ignore_basepython_conflict will (eventually) default to True18:42
mnasersounds like we're letting users shoot themselves in the foot, but eh18:42
clarkbmnaser: no tox is18:42
mordredclarkb: so - ignore_basepython_conflict = True is the thing that will cause tox to blow up if py38 isn't done with python 3.8?18:43
clarkbI think if we start being opinionated about tools like that we start to lose the utility of the tool18:43
clarkbmordred: yes18:43
mordredclarkb: do we also have to add a [py38] section with base python in it?18:43
clarkbmordred: no18:43
fungibasically it works like this:18:44
fungitox believes when you say -e py38 that you want to use python3.818:44
fungibut if you set basepython then it believes you want to use that for *everything*18:44
openstackgerritMonty Taylor proposed zuul/zuul-jobs master: Set ignore_basepython_conflict to true  https://review.opendev.org/72655518:44
mordredfungi: ah. thank you18:45
fungiand it has trouble reconciling those requests, so trusts the basepython option over the implicit python version from the env name18:45
clarkbwhat tox is missing is a way to clearly say I want python3 by default even if tox is installed uner python2.718:45
fungiignore_basepython_conflict is used to tell it that if the implicit env version conflicts with the basepython you've set, that's okay18:46
clarkbwe can aplroximate that with basepython and ignoring conflicts but it isnt straightforward or clear18:46
fungiand to use the implicit version from the env name18:46
mnaseri see a bunch of "WARNING zuul.GerritConnection: Unable to get change for <GerritTriggerEvent ref-replicated opendev.org/zuul/zuul-jobs>" and "WARNING zuul.GerritConnection: Unable to get change for <GerritTriggerEvent ref-replication-done opendev.org/zuul/zuul>" in my logs, is this expected (in trying to troubleshoot why my merges fail) -- or does opendev see those warnings too?18:46
clarkbmnaser: I think that might be zuuls way of ignoring replication eveents18:47
clarkbpossible we could log that better18:47
mordredfungi: in answer to your earlier question about what python people are likely to have vs custom compiled - I'm starting to think the correct answer is "both" - even though that explodes the matrix even more18:47
mnaserprobably no need to log it as a warning i assume18:47
fungimordred: i've always felt "both" when possible is correct18:48
clarkbI'll try to remember to writr an email about this by monday ish18:48
mnasernow whats interesting is it looks like 3 merges are issued by zuul, and one of the 3 is failing18:48
mnaserhttps://www.irccloud.com/pastebin/dFyao4se/18:49
mnaser"commit: None"18:49
mnasermordred: nice, tox-py38 has officially failed!18:54
mordredmnaser: woot!19:00
mordredmnaser: I guess I should fix that in that patch19:00
mnasermordred: if you end up doing that, mind adding https://review.opendev.org/726552 as a dependency too?  so that we can see our ci pass too :>19:02
openstackgerritMonty Taylor proposed zuul/zuul-jobs master: Set ignore_basepython_conflict to true  https://review.opendev.org/72655519:03
openstackgerritMonty Taylor proposed zuul/zuul-jobs master: pyenv: install libffi-dev  https://review.opendev.org/72655219:03
openstackgerritMonty Taylor proposed zuul/zuul-jobs master: Set ignore_basepython_conflict to true  https://review.opendev.org/72655519:03
mordredmnaser: done!19:03
mordredclarkb, fungi: got a sec to review https://review.opendev.org/#/c/726552 ?19:04
mnasermordred: awesome.  ok, so once this is done, we should be reporting and passing.  and then i'll recheck that revert of revert of revert of revert for the venv19:04
mordredmnaser: \o/19:04
mordredmnaser: that's very exciting19:04
mnaseryeah i thought this was gonna be a bit more of a pain but noonedeadpunk pretty much setup 99% of the work19:05
mnasermordred: i wonder if it would make sense for us to move the config repo for that tenant into opendev19:05
mnaserso folks can add jobs that we can run too..19:05
mnasereasier to add someone as a reviewer on a gerrit change than ping someone :P19:06
openstackgerritMonty Taylor proposed zuul/zuul-jobs master: Add new non-npm specific javascript jobs  https://review.opendev.org/72654719:06
mnasermordred: btw i think you left a +2 on PS#2 on https://review.opendev.org/#/c/726552/319:07
mordredmnaser: that's because I'm dumb19:08
mnaser:P19:08
mnasermordred: left a small comment on the html.escape cahnge19:10
mnaserit also looks like cgi.escape and html.escape don't behave the same too19:11
mnaseroop19:11
mnasermordred: just went through the painful diffing and left a comment at where it failed too19:16
mordredmnaser: ugh19:17
*** Goneri has joined #zuul19:17
openstackgerritMonty Taylor proposed zuul/zuul-jobs master: Set ignore_basepython_conflict to true  https://review.opendev.org/72655519:18
openstackgerritMonty Taylor proposed zuul/zuul-jobs master: Set ignore_basepython_conflict to true  https://review.opendev.org/72655519:19
mordredmnaser: thanks!19:19
mnasernp :)19:19
* mnaser keeps telling themselves "just close this rabbithole to go do something else" and we keep going deeper19:19
mnaser:P19:19
mnaseri think this might be it though19:19
openstackgerritMonty Taylor proposed zuul/zuul-jobs master: Add new non-npm specific javascript jobs  https://review.opendev.org/72654719:24
openstackgerritMonty Taylor proposed zuul/zuul-jobs master: Get rid of use of include: with static:  https://review.opendev.org/72655619:26
mordredmnaser: infinite rabbit holes seem to be my speciality these last few weeks19:27
mnasermordred: wait, our change is even more questionable now we have two sets of outputs?19:27
mnaserif its <py3, the tests would have a differeent refernce than >py319:28
openstackgerritMerged zuul/zuul-jobs master: pyenv: install libffi-dev  https://review.opendev.org/72655219:35
mordredmnaser: oh god19:36
mordredmnaser: I have an idea19:37
openstackgerritMonty Taylor proposed zuul/zuul-jobs master: Set ignore_basepython_conflict to true  https://review.opendev.org/72655519:41
mordredmnaser: I had a different idea, but decided just sledgehammer19:41
mnasermordred: fingers crossed19:42
mordredtypo19:43
openstackgerritMonty Taylor proposed zuul/zuul-jobs master: Set ignore_basepython_conflict to true  https://review.opendev.org/72655519:57
openstackgerritMohammed Naser proposed zuul/zuul-jobs master: Set ignore_basepython_conflict to true  https://review.opendev.org/72655520:43
mnaserAJaeger: https://review.opendev.org/#/c/726555/8 should be ready to land to fix 3.8 issues (and making vexxhost ci passing by default)20:51
*** avass has quit IRC21:03
*** Goneri has quit IRC21:07
*** Goneri has joined #zuul21:13
*** tumble has quit IRC21:15
fungiif you can build a ledge in the rabbit hole, then you can probably set up a bivouac there and make camp21:22
*** Goneri has quit IRC21:24
fungiat least then you can continue your descent another dat21:24
fungiday21:25
openstackgerritMerged zuul/zuul-jobs master: Set ignore_basepython_conflict to true  https://review.opendev.org/72655521:32
mnaserfungi: aha.  well, thanks for that +w.  that makes our ci passing now and doing 3pci :)21:33
fungithanks for the actual fix for our broken jobs! ;)21:59
mordredfungi, mnaser: fascinating failure on mnaser's 3pci on https://review.opendev.org/#/c/726413/22:10
mordredianw, mnaser: ^^ I know what the issue is22:26
mordredwe're assuming that you want to use the distro-installed python322:26
mordredbut - in mnaser's case, python is coming pyenv and is in /usr/local/bin/python322:26
mordredso the correct behavior for these roles would be to use _that_ python to make the tox venv22:27
mordredI think if we want to do this properly, we need to have ensure-python set a cacheable fact that contains the python path22:27
mordredthen in ensure-pip we use that, defaulting to python3 if it's not set, to find python3 -m venv22:28
mordredthen in ensure-tox we also use that, defaultig to /usr/bin/python322:28
mordredit might be _easier_ to just remove /usr/bin from it and use python3 for the test22:28
clarkbshouldnt that just be in the path already?22:28
mordredsince /usr/local/bin is usually in the path before /usr/bin/ and if it has been installed is probably what is desired22:28
mordredyeah22:28
mordredso - I'm going to try just removig the explicit /usr/bin22:29
clarkb++22:29
openstackgerritMonty Taylor proposed zuul/zuul-jobs master: Revert "Revert "ensure-tox: use venv to install""  https://review.opendev.org/72641322:30
mordredclarkb: let's see if that passes on vexxhost22:30
openstackgerritMonty Taylor proposed zuul/zuul-jobs master: Add new non-npm specific javascript jobs  https://review.opendev.org/72654722:44
veecueis there anything special I have to consider when importing zuul/zuul-jobs? The jobs get imported properly and are listed in zuul-web, but are silently ignored when executing22:45
mnaserveecue: does your base job include them too?23:20
veecueI think, I've found it. They implicitly use the job called "base" as the base-job, which I hadn't defined. But is there any way to make builds with invalid jobs fail instead of silently ignoring them?23:22
mnaserveecue: generally, i think the web ui will show a little notification bell in the top right corner23:24
mnaserwhich will say what are the current config issues23:24
ianwmordred: you need the /usr/bin beacuse of the way pip: module works ...23:25
veecuemnaser: It does, but only for unexisting jobs, etc. Also, when I add an unexisting job to the a pipeline, I would expect it to fail23:25
ianwiirc it has something like if startswith("/") exec it, otherwise use like shell wrapper23:26
ianwhttps://github.com/ansible/ansible/blob/devel/lib/ansible/modules/packaging/language/pip.py#L476 is what i'm thinking of and that get_bin_path function23:28
*** tosky has quit IRC23:38
mordredianw: oh ... ugh :(23:55
mordredianw: wait - wouldn't that still work though?23:55
mordredianw: (the answer is a very red no apparently)23:56
openstackgerritMonty Taylor proposed zuul/zuul-jobs master: Revert "Revert "ensure-tox: use venv to install""  https://review.opendev.org/72641323:59
mordredianw: well - we have vexxhost 3pci reporting now - so we should be able to eventually figure it out23:59

Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!