Friday, 2022-07-01

@jim:acmegating.comClark: questions on your questions on https://review.opendev.org/84823400:12
@clarkb:matrix.org> <@jim:acmegating.com> Clark: questions on your questions on https://review.opendev.org/84823400:25
Responded, does that make more sense?
@clarkb:matrix.orgoh wait I see an error ya I think my simplification over simplified00:26
@clarkb:matrix.orglet me update00:26
@clarkb:matrix.organd updated00:29
@jim:acmegating.comClark: that seems plausible :)00:45
-@gerrit:opendev.org- Zuul merged on behalf of Rajesh Tailor: [zuul/zuul] 847946: Fix typo from 'execption' to 'exception' https://review.opendev.org/c/zuul/zuul/+/84794601:07
-@gerrit:opendev.org- Zuul merged on behalf of Simon Westphahl: [zuul/zuul] 848137: Fix exception in blob store cleanup https://review.opendev.org/c/zuul/zuul/+/84813701:35
-@gerrit:opendev.org- Zuul merged on behalf of Artem Goncharov: [zuul/zuul] 817393: Fix gitlab squash merge https://review.opendev.org/c/zuul/zuul/+/81739302:44
-@gerrit:opendev.org- Zuul merged on behalf of James E. Blair https://matrix.to/#/@jim:acmegating.com: [zuul/nodepool] 848341: Fix race in test_aws_resource_cleanup https://review.opendev.org/c/zuul/nodepool/+/84834103:05
@chgans:matrix.orgdoes nodepool support autoscaling out of the box? eg. i want to have up to 10 builders (CPU/IO intensive) and up to 10 "generic" nodes (cheap), and i want these nodes to be kept around and deleted after a grace period. AFAIU, it seems to be supported, eg using labels in config (https://zuul-ci.org/docs/nodepool/latest/configuration.html#attr-labels) and matching them in (AWS) driver https://zuul-ci.org/docs/nodepool/latest/aws.html#attr-providers.[aws].pools.labels. Is this correct?04:58
-@gerrit:opendev.org- Zuul merged on behalf of Ian Wienand: [zuul/nodepool] 847698: dib: Bump to 3.22.0 https://review.opendev.org/c/zuul/nodepool/+/84769805:08
-@gerrit:opendev.org- Simon Westphahl proposed: [zuul/zuul] 848234: Fix read-only branches error in zuul-web https://review.opendev.org/c/zuul/zuul/+/84823407:37
-@gerrit:opendev.org- Zuul merged on behalf of lotorev vitaly: [zuul/zuul] 844742: Replace 'web' section with 'webclient' https://review.opendev.org/c/zuul/zuul/+/84474208:11
@q:fricklercloud.deWhat does the community think about doing regular meetings? Maybe not necessarily weekly, but bi-weekly or monthly? I have the impression that a lot of topics just float by in the chat here and get ignored and lost, so having an occasion where more concentrated focus could be given to them might be useful.08:29
Slightly related, how about planning a virtual PTG session loosely coupled to the OpenInfra PTG?
@mhuin:matrix.org> <@q:fricklercloud.de> What does the community think about doing regular meetings? Maybe not necessarily weekly, but bi-weekly or monthly? I have the impression that a lot of topics just float by in the chat here and get ignored and lost, so having an occasion where more concentrated focus could be given to them might be useful.09:14
> Slightly related, how about planning a virtual PTG session loosely coupled to the OpenInfra PTG?
That, or moving some discussions tu zuul-discuss
@q:fricklercloud.deHmm, that doesn't seem to be very active either, but I'll give it a try09:53
-@gerrit:opendev.org- Zuul merged on behalf of Guillaume Chauvel: [zuul/zuul] 735475: Fix zuul_run_command ret when command is not found https://review.opendev.org/c/zuul/zuul/+/73547510:08
@westphahl:matrix.orgClark, corvus : question on https://review.opendev.org/848234 re. the update logic in general + addressed the comments13:02
-@gerrit:opendev.org- Zuul merged on behalf of James E. Blair https://matrix.to/#/@jim:acmegating.com: [zuul/zuul] 846055: Validate dependent job names https://review.opendev.org/c/zuul/zuul/+/84605513:09
@jim:acmegating.comChristian Gagneraud: yep, that's the idea :)14:00
@jim:acmegating.comfrickler: meetings can be useful when there's ongoing development coordination needed for specific topics.  i don't think zuul is in that place, and the mailing list or chat is sufficient for where we are now.14:01
-@gerrit:opendev.org- Matthieu Huin https://matrix.to/#/@mhuin:matrix.org proposed: [zuul/zuul] 848132: zuul-web: return errors as JSON https://review.opendev.org/c/zuul/zuul/+/84813214:08
@fungicide:matrix.org> <@chgans:matrix.org> does nodepool support autoscaling out of the box? eg. i want to have up to 10 builders (CPU/IO intensive) and up to 10 "generic" nodes (cheap), and i want these nodes to be kept around and deleted after a grace period. AFAIU, it seems to be supported, eg using labels in config (https://zuul-ci.org/docs/nodepool/latest/configuration.html#attr-labels) and matching them in (AWS) driver https://zuul-ci.org/docs/nodepool/latest/aws.html#attr-providers.[aws].pools.labels. Is this correct?14:26
nodepool is primarily designed to elastically provide resources as they're needed, so scales the pool up and down to fit the workload (within the maximum you set in configuration and any quotas in the providers). it's not really meant to "keep things around" after they get allocated to a job and it completes. the idea is that you can keep only the resources your jobs need in the provider and then tear them down as soon as possible in order to minimize things like billable time
@jpew:matrix.orgOur gate pipeline has a lot of expensive "build" jobs, and then a few longer "test" jobs that are dependencies of the "build" jobs, and we've noticed that behavior Zuul/nodepool uses to satisfy node requests is suboptimal for maximizing throughput. The issue is that many build jobs queue up and request nodes (mode than nodepool can provide). nodepool seems to satisfy requests in more-or-less FIFO order. Thus when the "test" jobs for the change at the top of the gate queue are finally able to run, they have to wait for all of the currently queued "build" node requests before they can run. When this is combined with the gate queue "window", this means we aren't optimally using cluster resources because we hit the window limit while the top change is still waiting for it's test jobs to get assigned a node. It ends up with a "sawtooth" node usage pattern; once the top change gates, the window extendes to the next change and more "builds" start, but the problem starts with the next buildsets "test" jobs.... it would be nice if jobs that had a dependency could "cut" in line to get a build node before jobs that don't have any dependencies14:27
@jpew:matrix.orgOr even just be able to statically assign the node allocation priority from the job (NodeSet?)14:31
@jim:acmegating.comjpew: i think the first thing makes the most sense.  since that's not implemented, you might consider tweaking the window size.  also, there are some tricks you could do with job.hold-following-changes, but that's likely to slow things down more unless you have just the right job timing.14:39
@jpew:matrix.orgYa, I started looking at the code.... apparently there is an undocumented option called `use_relative_priority` which sets the node allocation priority based on the position of the change in the gate queue14:41
@jim:acmegating.comthat's not what you want14:41
@jim:acmegating.comjpew: actually, the thing you want may already be implemented -- child jobs do get a priority bump14:43
@jim:acmegating.comthe interactions between all these things, priority, window, launcher queues, may be more complex14:44
@jim:acmegating.comjpew: oh, it's only for paused parents14:44
@jim:acmegating.comnot complete parents14:44
@jim:acmegating.comso yeah, my original response stands :)14:44
@jpew:matrix.orgSo the naive approach is to set the priority to `len(parents)` (or `-len(parents)`... not sure which way the priority works).14:46
@jim:acmegating.comlower better14:46
@jpew:matrix.orgIs that approach sufficient, and does it need a flag to control it?14:47
@jpew:matrix.org(as an aside, what is use_relative_priority for)14:48
@jim:acmegating.comjpew: honestly i don't know right now, i don't have a lot of time to dig into the nuance.  i know that someone is going to need to do a lot of thinking about that before we merge anything though, because that could radically change behavior.  i would not think we would want a flag though.14:50
@jpew:matrix.orgcorvus: Fair enough14:51
@jim:acmegating.comjpew: use_relative_priority adjusts priority across tenants14:51
@jim:acmegating.comit prevents one tenant from monopolizing resources compared to others14:51
@jim:acmegating.comjpew: having said that.... there is a possibility that it may unintentionally help your situation14:52
@jim:acmegating.com(just because of the way it's implemented)14:53
@jim:acmegating.comjpew: ah no, the quantization will neuter it for that use case14:53
@jim:acmegating.comyeah, actually it might help14:54
@jim:acmegating.commaybe give it a try and see :)14:54
@jpew:matrix.orgcorvus: Ah, ya. We probably want that anyway because we have a lot of tenants on the same cluster14:54
@jim:acmegating.comthe quantization means it's only effective for the top 10 changes14:55
@jim:acmegating.comi think we may want to make it the default14:55
@jpew:matrix.orgThat's fine, as long as the top few changes keep moving it will help us greatly. If/we the behavior breaks on us (since it isn't the intended purpose) we can revisit something based on number of parents14:56
@jim:acmegating.comjpew: cool, please report back your observations :)14:56
@jpew:matrix.org * That's fine, as long as the top few changes keep moving it will help us greatly. If/when the behavior breaks on us (since it isn't the intended purpose) we can revisit something based on number of parents14:56
@jpew:matrix.orgcorvus: Ya, I'll try to remember to do that :)14:57
@jim:acmegating.comjpew: https://opendev.org/opendev/system-config/src/branch/master/playbooks/roles/zuul/templates/zuul.conf.j2#L514:57
@jpew:matrix.orgAH, cool. It's nice to know that's already used in production14:58
@jpew:matrix.orgPerhaps I'll add some documentation14:58
@jim:acmegating.comjpew: not necessary :) https://zuul-ci.org/docs/zuul/latest/configuration.html#attr-scheduler.relative_priority14:58
@jpew:matrix.orgOh, hah14:59
@jim:acmegating.comjpew: the behavior is also within a tenant... so it'll even out requests among different projects within the same tenant.  sorry my description here was incomplete, but the docs are better ;)15:01
@jim:acmegating.comthe way i look at it is: it slows down the second and following changes for each project, so that every project's first change gets nodes first.  so if your project uploads one change at a time periodically, you will see fast results.  if you upload hundreds of changes to your project all at once, you will be delayed.  it's idea of "fair" is that every project gets to make progress on at least one change at the same time.15:04
@jpew:matrix.orgYep15:04
@jim:acmegating.comswest: Clark responded on https://review.opendev.org/848234  (sorry, it took a bit to collect my thoughts on that)15:30
-@gerrit:opendev.org- Matthieu Huin https://matrix.to/#/@mhuin:matrix.org proposed: [zuul/zuul] 848132: zuul-web: return errors as JSON https://review.opendev.org/c/zuul/zuul/+/84813215:41
@clarkb:matrix.org> <@jim:acmegating.com> swest: Clark responded on https://review.opendev.org/848234  (sorry, it took a bit to collect my thoughts on that)16:05
I'm trying to understand if your comment about updateProjectBranches() implies a need for change. Specifically around improving updateProjectBranches() to handle the None case for all branches if we don't actually need all_branches to be fetched and set. It seems if we have an error and return None once. Then from that point forward we'd continue to track all branches even if possibly unnecessary?
@jim:acmegating.comClark: i was trying to say that no change is necessary, and expand on the lifecycle of that since swest asked about it16:06
@clarkb:matrix.orggot it16:08
@clarkb:matrix.organd I guess no vote yet to further discuss the LookupError16:08
@jim:acmegating.comClark: and to put that another way: updateProjectBranches only needs to run a query if there is an existing cache entry.  if there is not an existing cache entry (for whatever reason) it should not perform a query.16:09
@jim:acmegating.com(for further clarity: a cache entry of the empty list *is* a cache entry)16:10
@clarkb:matrix.orgoh got it ya the check is not None16:10
@clarkb:matrix.orgso an empty list of branches still counts16:10
@jim:acmegating.com(it's just that "no entry because it's unused, and no entry because it failed are equivalent to the logic in that method, and that is correct and should not be changed)16:10
@clarkb:matrix.orgright16:10
@jim:acmegating.comand yeah, if you're on board, i think i'm at +1 on the change, pending swest's thoughts on the exception handling.  also, i think i want to throw some more tests at it over the weekend.16:11
@clarkb:matrix.orgSorry if I'm catching up slowly. I've had a very slow start to the day. If I was canadian I'd have a good excuse; unfortunately, I am not16:11
@jim:acmegating.comClark: but at least you apologized?  :)16:12
@clarkb:matrix.orgyes I think the change makes sense to me now that set(None) and the confusing return logic have been handled 16:12
@clarkb:matrix.orgHappy Canada Day! :)16:12
@jim:acmegating.comoh.  i also think maybe some more comments would be good.  i'll leave a note.16:12
@clarkb:matrix.orgfrickler: I feel like most of the communication in here tends to be focused on code review discussion, debugging, or general information gathering (for example the question about nodepool autoscaling). Of those I feel the first two do aid from synchronous discussion, but also don't need to be scheduled. Maybe we could be better about keeping track of the issues people are having with deployments to try and ease deployment friction? For general information gathering I think that can be asynchronous on eg the mailing list. Then we try to send email for things that need broader consensus (see my email about dropping platform version defaults in zuul job roles for an example). But those aren't served by synchronous meetings. The one thing I could see synchronous meetings helping with is checkups on progress towards major goals, but I'm not sure Zuul is in a spot where that is required right now? Even zuulv5 was done without that.16:38
@clarkb:matrix.orgI guess I'm wondering if there is a specific need that isn't being addressed that you ahve in mind that I am missing that would be aided by meetings16:38
@clarkb:matrix.org> <@fungicide:matrix.org> nodepool is primarily designed to elastically provide resources as they're needed, so scales the pool up and down to fit the workload (within the maximum you set in configuration and any quotas in the providers). it's not really meant to "keep things around" after they get allocated to a job and it completes. the idea is that you can keep only the resources your jobs need in the provider and then tear them down as soon as possible in order to minimize things like billable time16:43
There is a min-ready setting (https://zuul-ci.org/docs/nodepool/latest/configuration.html#attr-labels.min-ready) to instruct Nodepool to keep a reasonable number of nodes ready to go at any time (note this will be backfilled as demand uses nodes so if max-servers is > min-ready you'll have in use + min-ready present). There is also a max-ready-age setting (https://zuul-ci.org/docs/nodepool/latest/configuration.html#attr-labels.max-ready-age) which will delete old min-ready servers if they aren't used but they will then be backfilled too so this may or may not be what was intended for the original question.
@avass:vassast.org> <@clarkb:matrix.org> frickler: I feel like most of the communication in here tends to be focused on code review discussion, debugging, or general information gathering (for example the question about nodepool autoscaling). Of those I feel the first two do aid from synchronous discussion, but also don't need to be scheduled. Maybe we could be better about keeping track of the issues people are having with deployments to try and ease deployment friction? For general information gathering I think that can be asynchronous on eg the mailing list. Then we try to send email for things that need broader consensus (see my email about dropping platform version defaults in zuul job roles for an example). But those aren't served by synchronous meetings. The one thing I could see synchronous meetings helping with is checkups on progress towards major goals, but I'm not sure Zuul is in a spot where that is required right now? Even zuulv5 was done without that.16:44
If I compare to GitHub projects i feel like opendev (or maybe just zuul) is missing GitHubs equivalent of an "issues" page. I know storyboard exists, but it's a bit disconnected to the repository and the discussions and doesn't seem to be used a lot (or maybe I'm just bad at checking it?), so it feels underutilized.
@clarkb:matrix.org> <@avass:vassast.org> If I compare to GitHub projects i feel like opendev (or maybe just zuul) is missing GitHubs equivalent of an "issues" page. I know storyboard exists, but it's a bit disconnected to the repository and the discussions and doesn't seem to be used a lot (or maybe I'm just bad at checking it?), so it feels underutilized.16:46
Ya I think that the story around bug tracking could be better. That said I personally really dislike how project issue trackers get used like a mailing list or forum. It pollutes the list of things that are known as defects that need trackign with discussions about other stuff and it is hard as a casual user to determine if something I've experiencing is already known.
@clarkb:matrix.orgIt also leads to an expectation that more casual contributors need to subscribe to the issue tracker for all the things. And I personally find that very overwhelming and just turn it off instead16:47
@fungicide:matrix.orgthe opendev sysadmins are definitely looking for help with storyboard, right now the version of the software we're hosting is outdated and missing useful features because we need to find time to rewrite our deployment automation for it16:47
@avass:vassast.orgI took a quick look at zuuls docs and i couldn't see storyboard mentioned unless i checked "vulnerability reporting":16:50
https://zuul-ci.org/docs/zuul/latest/vulnerabilities.html
So maybe it's a good idea to mention storyboard on the frontpage of the docs at least to encourage it a bit?
@avass:vassast.org* I took a quick look at zuuls docs and i couldn't see storyboard mentioned unless i checked "vulnerability reporting":16:51
https://zuul-ci.org/docs/zuul/latest/vulnerabilities.html
So maybe it's a good idea to mention storyboard on the frontpage of the docs at least to promote it a bit?
@clarkb:matrix.orgThere is a bugs link in the footer of the website which goes there16:51
@clarkb:matrix.orgBut ya maybe we need to make it more prominent?16:51
@jim:acmegating.comit's on every page, and has a section in the community page16:52
@jim:acmegating.comi'm not sure we should try to funnel more people to storyboard16:52
@avass:vassast.orgI think that footer is a bit too out of sight :)16:52
@jim:acmegating.comit's an issue tracking system, which is a place to organize information around issues.  it's not a support forum16:52
@jim:acmegating.comso like, if you want to report a bug, i'm pretty sure you'll be able to find the place to do it16:52
@jim:acmegating.com(i can confirm that plenty of people are able to find it)16:52
@jim:acmegating.comi don't think we should encourage folks to start filing issues every time they have a question about zuul16:53
@jim:acmegating.comthat will not improve their experience16:53
@avass:vassast.orgBut i meant the sphinx docs specifically, it's easier to find on the main site.16:53
@jim:acmegating.com> <@avass:vassast.org> But i meant the sphinx docs specifically, it's easier to find on the main site.16:54
er, you're saying the docs aren't prominent enough? sorry i thought you meant the bug tracker link
@avass:vassast.orgI think that maybe it's a good idea for this page to mention storyboard:16:54
https://zuul-ci.org/docs/zuul/latest/
@jim:acmegating.comah, okay.  wfm.16:55
@avass:vassast.orgI think I've mentally filed https://zuul-ci.org/ as an ad for the product and https://zuul-ci.org/docs/zuul/latest/ as technically information that i actually want, so i personally escape the main site as fast as possible if i ever end up there :)16:58
@jim:acmegating.comaww :(16:58
@jim:acmegating.comand here i treat it as an index for all things zuul related16:59
@avass:vassast.orgI think i use the documentation page as an index for the component i want to read about though 17:02
@fungicide:matrix.orgnote that the zuul docs link doesn't provide an index of the client, or nodepool, or other parts of zuul17:13
@fungicide:matrix.org(though they can be found in the drop-down, or at the grandparent level url)17:14
@fungicide:matrix.orgalso i wholeheartedly agree that the defect and task tracker should not be turned into a support request/trouble ticket system. not only is that software not designed for such a use case, organized software support is something for companies to provide and not an "assignment" of the project's contributors17:16
-@gerrit:opendev.org- Zuul merged on behalf of Kenny Ho: [zuul/zuul] 837063: Add build set URL to reporter https://review.opendev.org/c/zuul/zuul/+/83706317:35
@avass:vassast.org> <@fungicide:matrix.org> note that the zuul docs link doesn't provide an index of the client, or nodepool, or other parts of zuul17:42
Uh yeah i meant this "Documentation" page: https://zuul-ci.org/docs/
I realize that was unclear from my side
-@gerrit:opendev.org- Clark Boylan proposed: [zuul/nodepool] 848331: Update to python3.10 https://review.opendev.org/c/zuul/nodepool/+/84833117:46
-@gerrit:opendev.org- Clark Boylan proposed: [zuul/nodepool] 848331: Update to python3.10 https://review.opendev.org/c/zuul/nodepool/+/84833117:49
@clarkb:matrix.orgSo I actually think https://review.opendev.org/q/topic:python3.10 might be reviewable at this point. The dependencies for nodepool that gave us compilation struggles on arm64 now appear to all publish wheels to pypi17:50
@clarkb:matrix.orgThat means we can drop the reliance on the opendev openstack wheel mirror entirely and fetch wheels from pypi.17:50
@clarkb:matrix.orgSelfishly I'd like to get us all the way up to python3.11, but that doesn't happen until october. Python3.10 seems like a good first step on that path17:51
@fungicide:matrix.orgwe might be able to install https://packages.debian.org/python3.11-full (currently in sid)18:01
@clarkb:matrix.orgI'm not sure we should ship production zuul images based on beta python18:01
@clarkb:matrix.orgI'm happy to wait for the full 3.11 release18:01
@fungicide:matrix.orgoh, no i just meant if you want to test with it18:01
@clarkb:matrix.orgoh i see18:02
@clarkb:matrix.orgThere are docker images for 3.11 that opendev could add at this point18:02
@clarkb:matrix.orgits not availability that is the issue, more that I'm wary of pushing it into production too soon18:02
@fungicide:matrix.orgoh, absolutely18:02
@clarkb:matrix.orgbut ya maybe running unittests against it and seeing if it improves runtimes is worthwhile18:02
@clarkb:matrix.orgOnce the current runs complete (for more data gathering) I've got some updates locally I'll push which convert more jobs to python3.1018:25
@clarkb:matrix.orgthat shoudl give us a good amount of coverage18:25
-@gerrit:opendev.org- Clark Boylan proposed: [zuul/zuul] 840356: Bump up to python3.10 https://review.opendev.org/c/zuul/zuul/+/84035618:58
-@gerrit:opendev.org- Clark Boylan proposed: [zuul/nodepool] 848331: Update to python3.10 https://review.opendev.org/c/zuul/nodepool/+/84833119:32
@clarkb:matrix.orgThis is interesting running a pip installed `virtualenv` on ubuntu-jammy results in a venv with no venv/bin/ instead it is venv/local/bin19:59
@clarkb:matrix.orgfungi:  ^ do you know if that is a new virtualenv behavior affecting older debuntu or if that is new to jammy?19:59
@clarkb:matrix.orgI'm about to try and reproduce on focal19:59
@clarkb:matrix.orgOk it does not reproduce with the same virtualenv bootstrapping on focal so something to do with python on jammy20:04
-@gerrit:opendev.org- Clark Boylan proposed: [zuul/zuul] 840356: Bump up to python3.10 https://review.opendev.org/c/zuul/zuul/+/84035620:17
@clarkb:matrix.orgWell now I am extremely confused. I spun up a new container to try and reproduce the original failures and now it won't even reproduce the old behavior of stashing things in venv/local/bin20:58
@clarkb:matrix.orgbut it seems that when things are stashed in venv/local/bin the venv acts as if system-site-packages is true even though it is explcitly set to false in it sconfig file20:58
@clarkb:matrix.orgthat issue is leading to the current retry failures20:58
@clarkb:matrix.organd now I've managed to reproduce in a new container not changing any process that I know of21:02
@clarkb:matrix.orgnow to see if I can reproduce without zuul installations21:03
@clarkb:matrix.orghttps://paste.opendev.org/show/blwHnssUggeWQ8CEvJrj/ thats a more minimal reproducer. I have to look at my container that doesn't reproduce more closely to see what might be different21:07
@clarkb:matrix.orgoh wait I already deleted that container arg21:08
@clarkb:matrix.orgI think that I maybe missed the `pip install -U pip setuptools wheel` step on the one that was happy. So I was using the distro pip the entire time. Something about updating distro pip maybe?21:09
@clarkb:matrix.orgOk using distro pip to install virtualenv produces working virtualenvs21:12
@clarkb:matrix.orgPretty sure the issue is related to `pip install -U pip`21:12
@clarkb:matrix.orgok no it is setuptools21:17
@clarkb:matrix.orgeverything works after I `pip install -U pip` but the instant I `pip install -U setuptools` the next virtualenv creation breaks21:18
@fungicide:matrix.orgi wonder if it's using the debian-patched distutils which is how they override `sudo pip install ...` to install into /usr/local instead of just /usr21:24
@fungicide:matrix.orgsetuptools semi-recently embedded a copy of distutils in preparation for it being removed from the stdlib, right?21:24
@clarkb:matrix.orgAny setuptools >=60 seems to cause this to happen21:26
@clarkb:matrix.orgoh ya you think maybe set the flag to undo that? You know I wonder if I hit this with devstack jammy python3.10 work.21:27
@fungicide:matrix.orghttps://setuptools.pypa.io/en/latest/history.html#v60-0-021:27
@fungicide:matrix.orgthat's the release where distutils absorbing happened21:28
@clarkb:matrix.orgInstalling setuptools==62.6.0, setting that env var, then running virtualenv produces a working venv21:29
@clarkb:matrix.orgSo ya it must be that21:29
@clarkb:matrix.orgI can't imagine that virtualenv not actually producing a virtualenv is behavior pypa wants, but I alsos suepct that if I file this as a bug I'll get yelled at for using pip and setuptools wrong21:30
@fungicide:matrix.orgwell, if you're using distro patched toolchains, then yes the distro-patched distutils is required to work with them. if you use the distutils embedded in new versions of setuptools, you need all upstream toolchain not distro patched anything, from what i've gathered21:33
@clarkb:matrix.orgsure, the problem is there is no indication that any of this might be happening and when you make a virtualenv it does the oppposite it just aliases the global pyhton21:34
@clarkb:matrix.orgat the very least virtualenv shoudl fail21:34
@clarkb:matrix.orgbut I know that if I try to argue that upstream is unlikely to listen21:34
@fungicide:matrix.orgyeah, i agree it's a tangled mess21:34
@clarkb:matrix.orgif virtualenv cannot make a virtualenv then it should exit with an error. Not make a virtualenv like thing that pollutes your global instllation21:35
@fungicide:matrix.organd yes, if you want upstream to agree about anything you have to basically eschew distro everything these days21:35
-@gerrit:opendev.org- Clark Boylan proposed: [zuul/zuul] 840356: Bump up to python3.10 https://review.opendev.org/c/zuul/zuul/+/84035621:37
@clarkb:matrix.orgI expect that might actually pass now with the env var set21:37
@clarkb:matrix.orgBut I'm not sure we want to merge it in that state? Its probably fine for testing but I dunno it feels wrong21:37
@clarkb:matrix.org> <@fungicide:matrix.org> and yes, if you want upstream to agree about anything you have to basically eschew distro everything these days21:38
Ya I'm mostly ok with that with a couple of exceptions. One, I'm still using the distro to bootstrap typically. This specific issue is that. But also regardless of distro vs not the tool should do what it says on the tin or fail. I feel like thats basic user expectations and doesn't matter where you sourced it.
@fungicide:matrix.orgyeah, you might be able to argue the bug angle with the virtualenv maintainer21:39
@fungicide:matrix.orgalso, if we don't setenv `VIRTUALENV_CREATOR = venv` then that might be worth a try21:40
@fungicide:matrix.orgthat's the option that tells virtualenv to just be a passthrough to venv when available21:40
@clarkb:matrix.orgwe don't because venv doesn't work for other reasons21:41
@clarkb:matrix.orgthere are comments about this in the code21:41
@clarkb:matrix.orghas to do with running the manage-ansible command itself out of a virtualenv21:41
@fungicide:matrix.orgahh, okay21:42
@clarkb:matrix.orgthat problem may be solveable though I'm not sure21:43
@clarkb:matrix.orgmaybe that is the better long term option we should be looking at though.21:43
@clarkb:matrix.orgsince that will always be using the distro provided venv module that comes with the python install if you are using distro python21:43
@clarkb:matrix.orghrm the resulting installation is still broken on that change but it gets past the install step at least21:46
@clarkb:matrix.orgAnyway i need to take a break after melting my brain against python and pip and setuptools all afternoon so far21:46
-@gerrit:opendev.org- Clark Boylan proposed: [zuul/zuul] 840356: Bump up to python3.10 https://review.opendev.org/c/zuul/zuul/+/84035623:00

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