Monday, 2024-02-12

@sjal:matrix.org> <@clarkb:matrix.org> I doubt the issue is age. And more something that is a side effect of age like label updates/mergine/abandonment/etc10:22
I've had some time today to check it and we've retroactively added another label to Gerrit. I was under an impression that if change is already merged then I can requeue it but Zuul works as intended by preventing gate without all required labels
@sjal:matrix.orgeven if the change was able to successfully build before labels were added to the repository10:26
@fungicide:matrix.orgsjal: out of curiosity, what's the point of continuing to run jobs for an old change which has already merged? to me, it sounds like a hacky workaround for something that could maybe be better supported with a separate pipeline/trigger instead14:18
@sjal:matrix.org> <@fungicide:matrix.org> sjal: out of curiosity, what's the point of continuing to run jobs for an old change which has already merged? to me, it sounds like a hacky workaround for something that could maybe be better supported with a separate pipeline/trigger instead14:21
well, from my best knowledge you can't simply trigger existing merged changes other than from zuul-client and I can't make another commit. Perhaps creating a new pipeline for zuul-client-based triggers would be a good option here but how is it any better than requeuing gate and post
@sjal:matrix.orgwhat would be better approach? I'm doing this because some packages rotated already and they were apparently needed14:23
@sjal:matrix.orgrotated in the external aritfact repository that is14:23
@fungicide:matrix.orgis the change itself a necessary part of this for you, or merely an implementation detail?14:24
@sjal:matrix.orgchange itself is important because of how our release management procedure works14:24
@fungicide:matrix.orglike, is there any reason the jobs can't run on the branch tip state instead of on an old change?14:24
@sjal:matrix.orgyep:(14:24
@sjal:matrix.orgwell, otherwise it requires some legwork as well right? since you'd need to make an empty commit or something14:25
@fungicide:matrix.orgno, zuul has the ability to run jobs on the current branch state instead of a specific change or commit or tag14:26
@sjal:matrix.org'or something' as in trigger it, I'm triggering it via zuul-client I think I'm failing to see how's what you have in mind is superior14:26
-@gerrit:opendev.org- Matthieu Huin https://matrix.to/#/@mhuin:matrix.org proposed: [zuul/zuul] 908794: Merger: add 'clone_filter' configuration setting https://review.opendev.org/c/zuul/zuul/+/90879414:26
@fungicide:matrix.orgsjal: superior insofar as you're clearly doing post-merge testing but you're running pre-merge jobs which causes zuul to care about the validity of your merge requirements for the random change you've picked14:27
@fungicide:matrix.orgzuul has triggers which are intended for post-merge testing and those don't care about your merge requirements (because the state that's being tested has already merged)14:28
@fungicide:matrix.org * sjal: superior insofar as you're clearly doing post-merge testing but you're running in a pre-merge pipeline which causes zuul to care about the validity of your merge requirements for the random change you've picked14:28
@sjal:matrix.org> <@fungicide:matrix.org> sjal: superior insofar as you're clearly doing post-merge testing but you're running in a pre-merge pipeline which causes zuul to care about the validity of your merge requirements for the random change you've picked14:34
ok, yeah I understand now. By post-merge triggers do you mean any of the gerrit triggers? I don't think I like any of them for such a use case as I'd be afraid that users trigger it by an accident. Do you have any examples or something in mind? or how would you best recommend approach this
@mhuin:matrix.org> <@gerrit:opendev.org> Matthieu Huin  https://matrix.to/#/@mhuin:matrix.org proposed: [zuul/zuul] 908794: Merger: add 'clone_filter' configuration setting  https://review.opendev.org/c/zuul/zuul/+/90879414:34
This is an experiment after attending "So you think you know Git" at FOSDEM'24. Partial cloning was demonstrated to be much faster for big repositories, see https://speakerdeck.com/schacon/so-you-think-you-know-git?slide=166
@fungicide:matrix.orgsjal: you could, for example, set up a "periodic" pipeline with a timer trigger, and if you don't want it to run automatically very often just set it with a very infrequent timer. if zuul-client can't enqueue an item for a periodic pipeline, then that's probably a bug worth fixing. also if having the jobs run automatically is never an option, maybe it's worth considering adding a special syntax to the timer trigger to cause it to never run automatically, or adding a separate trigger similar to timer which just never runs automatically and requires manual enqueuing e.g. via zuul-client14:36
@jim:acmegating.comyou can make a pipeline with no triggers14:40
@fungicide:matrix.orgoh! even better, i didn't realize that was an option14:40
@fungicide:matrix.orgthough presumable zuul-client will need some extending to support enqueuing for that?14:41
@jim:acmegating.commhu: is the idea to shift the burden of work from the clone step (which usually only happens once on a merger) to the fetch step?  but then also that when fetching, if it doesn't need to fetch the ancient giant binary blob that someone checked in and then reverted out 2 years ago, it won't do that?  so in summary: one-time merger clone is faster; first fetch is slower (until enough fetches warm the local repo?); but fetches and clones both avoid downloading "unecessary" blobs?14:43
@mhuin:matrix.org> <@jim:acmegating.com> mhu: is the idea to shift the burden of work from the clone step (which usually only happens once on a merger) to the fetch step?  but then also that when fetching, if it doesn't need to fetch the ancient giant binary blob that someone checked in and then reverted out 2 years ago, it won't do that?  so in summary: one-time merger clone is faster; first fetch is slower (until enough fetches warm the local repo?); but fetches and clones both avoid downloading "unecessary" blobs?14:47
+
@jim:acmegating.comAm i missing a bullseye emoji?  or flying unicorn? ;)14:48
@mhuin:matrix.org> <@jim:acmegating.com> Am i missing a bullseye emoji?  or flying unicorn? ;)14:49
Nah, you've just witnessed a big clumsy hand hitting Return too fast
@mhuin:matrix.org> <@jim:acmegating.com> mhu: is the idea to shift the burden of work from the clone step (which usually only happens once on a merger) to the fetch step?  but then also that when fetching, if it doesn't need to fetch the ancient giant binary blob that someone checked in and then reverted out 2 years ago, it won't do that?  so in summary: one-time merger clone is faster; first fetch is slower (until enough fetches warm the local repo?); but fetches and clones both avoid downloading "unecessary" blobs?14:51
* If I understand the feature correctly, that's what I think would occur, yes. There are more details about this here https://github.blog/2020-12-21-get-up-to-speed-with-partial-clone-and-shallow-clone/ with pretty pictures that illustrate what happens.
@mhuin:matrix.orgThis seems to be however mostly useful for large repos - the cutoff in terms of file and history size being unclear14:53
-@gerrit:opendev.org- James E. Blair https://matrix.to/#/@jim:acmegating.com proposed: [zuul/zuul] 908797: Fix filtering on status page https://review.opendev.org/c/zuul/zuul/+/90879714:53
@mhuin:matrix.orgfurthermore, while Scott Charon's presentation boasts impressive cloning times with the linux repo (from 24 minutes for a full clone to 2 minutes for a treeless clone), other tests suggest the speed boost comes with larger CPU costs (see https://github.blog/2020-12-22-git-clone-a-data-driven-study-on-cloning-behaviors/ )14:56
@jim:acmegating.commhu: other than what you've identified, i think my main additional concerns would be (1) verifying that subsequent fetches do download any blobs/etc needed for a full checkout or merge -- because by the time we hand over a repo to a job, it needs to be self-sufficient (can't fetch from origin any more). and (2) if this does prove to be useful, this probably needs to be a per-project tenant config setting (but that's more plumbing, so that's just something to keep in mind for when it's less experimental)14:57
@mhuin:matrix.orgre. 1 if a job requires to perform a git diff or git blame or resetting to a previous commit then yeah, treeless/blobless clones aren't suitable - but then I'm not sure any job would do that; or that could be documented ("if you intend to do this, do not use partial cloning optimizations")15:07
@mhuin:matrix.orgre 2. yeah that'd be ideal since this is so tied to repos' specifics15:07
@fungicide:matrix.orgin opendev we definitely have jobs that rely on git diff to identify what's being changed (though that would generally be between HEAD and origin/HEAD or, more naively, between HEAD and HEAD^1)15:10
@fungicide:matrix.orgactually, release note jobs with reno may need deeper inspection of more of the history, since they need to extract specific files added in specific commits between each tag15:12
@fungicide:matrix.organd we have jobs that rely on git notes refs too, if that would be impacted at all15:13
@jim:acmegating.comlol there's a flaky unit test that's hitting like every change we run jobs on, but the one change i want it to hit, https://review.opendev.org/908510 has never seen it15:14
@fungicide:matrix.orgheisenbug?15:15
@jim:acmegating.com(if it continues, that actually does provide data; it's suggestive of a very tight timing issue and the solution might just be to bump some timeouts)15:15
@mhuin:matrix.org> <@fungicide:matrix.org> and we have jobs that rely on git notes refs too, if that would be impacted at all15:16
depends on where the git note refs are stored, if it's in blobs then you can't do blobless/treeless clone
@fungicide:matrix.orgmhu: well, storage aside, notes are tied to commits, so without distinct commits they may not have the necessary data for that association15:18
@fungicide:matrix.orgbut they're tied to the commit refs, so may not actually need the blobs15:19
@fungicide:matrix.orgi'd need to experiment15:19
@mhuin:matrix.orgbasically: it's complicated, your mileage may vary, here be dragons15:20
@fungicide:matrix.orgnotes have to be fetched independently of refs anyway15:20
@fungicide:matrix.orgthe automatic way to get them is by extending the fetch pattern in git config15:20
-@gerrit:opendev.org- James E. Blair https://matrix.to/#/@jim:acmegating.com proposed: [zuul/zuul] 908834: Increase timeouts in TestComponentRegistry https://review.opendev.org/c/zuul/zuul/+/90883415:53
@clarkb:matrix.orgfungi: all of openstack and zuul also rely on complete git history for versioning16:23
@fungicide:matrix.orgoh, right, pbr wants it, just unclear if it would be sufficient to have blobless refs to generate that info16:24
@clarkb:matrix.orgfungi: it may be, but mhu's change also lets you set clone depth16:25
@clarkb:matrix.organd that will definitely create problems16:25
@clarkb:matrix.orgI don't necessarily think it is a bad feature, but I think we need to better undersatnd how it will impact repos in jobs (and left a review to that effect)16:26
@jim:acmegating.comblobless sounds like it may be more likely to be generally useful with fewer problems.16:26
@clarkb:matrix.orgcorvus: both circular dep web ui fixups lgtm16:29
@clarkb:matrix.orgcorvus: also the updated https://review.opendev.org/c/zuul/nodepool/+/908613 to fix nodepool dib build testing of centos would be helpful16:36
@jim:acmegating.comClark: lgtm.16:38
@jim:acmegating.comhttps://review.opendev.org/908670 and https://review.opendev.org/908834 are both to address test races; reviews of those may help get those fixes in faster :)16:41
@clarkb:matrix.orgack I'll look at those next16:42
-@gerrit:opendev.org- Zuul merged on behalf of James E. Blair https://matrix.to/#/@jim:acmegating.com: [zuul/zuul] 908366: Allow circular dependencies in the Zuul project https://review.opendev.org/c/zuul/zuul/+/90836616:47
@clarkb:matrix.orgboth of the unittest fixes lgtm as well. They seem straightforward enough (and only touch testing) so we may just want to approve them now?16:48
@jim:acmegating.comyeah; 834 is a little bit of a shot in the dark but shouldn't hurt16:48
@jim:acmegating.comthe webui regression fixes are also straightforward and follow existing patterns so i'm inclined to approve them if another review doesn't show up shortly.16:50
@fungicide:matrix.orgthe site preview for https://zuul.opendev.org/t/zuul/build/1c05f5ce816748f09fda22aa843e109b performs a surprising redirect. not sure how it even continues to work after that, but somehow it does? maybe an odd firefox behavior, i haven't tried in other browsers16:58
@jim:acmegating.comfungi: it's all an illusion (not a real redirect)16:59
@jim:acmegating.comjust js rewriting the url17:00
@clarkb:matrix.orgeverything is alraedy loaded into your browser at that point and then its just operating on the links/paths you give it right?17:00
@jim:acmegating.comyep17:00
@fungicide:matrix.orggot it, that explains the behavior17:00
@fungicide:matrix.organyway, looking at the openstack tenant status through that and then filtering by 904260 should currently turn up one item in the gate pipeline, but returns two (one of which is a separate change). is that expected?17:01
@clarkb:matrix.orgI think 904260 may show up in the other change's chagne list?17:03
@clarkb:matrix.orgI don't see why yet but that could explain why it shows up17:03
@jim:acmegating.comi'll see if i can come up with an explanation before it changes :)17:04
@fungicide:matrix.orgwell, if i filter for 899868 i get all the changes ahead of it in the gate too, so seems like it doesn't filter out changes sharing the same queue maybe?17:05
@fungicide:matrix.orgthat seems to be the common factor anyway17:05
@fungicide:matrix.orgi don't use the status view filter very often, so not sure if that's how it always worked17:06
@clarkb:matrix.orgThe update to the filter is looking at each ref in the items (because items can have more than one ref now). And ya maybe shared queues in dependent pipelines have refs set up like that for items17:06
@jim:acmegating.comi'm also unfamiliar with the filter, but it looks like it's not so much a "change/item" filter as a "queue" filter.  so apparently it will always show you the entire queue with any matching change/item17:07
@clarkb:matrix.orgoh ya the functions is named "filterQueue"17:09
@jim:acmegating.comso yeah, in this particular case it's finding one match, but that match is in a queue with two items17:11
@fungicide:matrix.orgokay, so it's working as designed, also presumably as intended17:11
@jim:acmegating.comi guess the idea is probably ppl still want to see what's ahead of their changes of interest in the gate17:11
@fungicide:matrix.orgwfm. thanks!17:12
-@gerrit:opendev.org- James E. Blair https://matrix.to/#/@jim:acmegating.com proposed: [zuul/zuul] 908845: DNM: test circular dep https://review.opendev.org/c/zuul/zuul/+/90884517:32
-@gerrit:opendev.org- James E. Blair https://matrix.to/#/@jim:acmegating.com proposed: [zuul/nodepool] 908846: DNM: test circular dep https://review.opendev.org/c/zuul/nodepool/+/90884617:33
-@gerrit:opendev.org- James E. Blair https://matrix.to/#/@jim:acmegating.com proposed: [zuul/zuul] 908845: DNM: test circular dep https://review.opendev.org/c/zuul/zuul/+/90884517:34
@jim:acmegating.comthere's a circular dep.  an interesting thing is that we don't get dedup on the quick-start job because the job graph isn't the same in the two repos (we don't run the standalone registry job in the zuul repo)17:35
@jim:acmegating.comoh and the image build jobs are different17:37
@clarkb:matrix.orgthe non monospace font for the change numbers bothers me for some reason17:37
@jim:acmegating.comyeah me too17:37
@clarkb:matrix.orgon the status page I mean17:37
-@gerrit:opendev.org- Zuul merged on behalf of Clark Boylan: [zuul/nodepool] 908613: Fetch compatibile dnf download command in container image https://review.opendev.org/c/zuul/nodepool/+/90861318:13
-@gerrit:opendev.org- Zuul merged on behalf of James E. Blair https://matrix.to/#/@jim:acmegating.com: [zuul/zuul] 908670: Fix race in test_deps_by_topic_git_needs https://review.opendev.org/c/zuul/zuul/+/90867018:13
-@gerrit:opendev.org- James E. Blair https://matrix.to/#/@jim:acmegating.com proposed: [zuul/zuul] 908853: Fix subway graph line gap https://review.opendev.org/c/zuul/zuul/+/90885318:14
-@gerrit:opendev.org- James E. Blair https://matrix.to/#/@jim:acmegating.com proposed:18:18
- [zuul/zuul] 906203: Add dark mode images for status page https://review.opendev.org/c/zuul/zuul/+/906203
- [zuul/zuul] 908853: Fix subway graph line gap https://review.opendev.org/c/zuul/zuul/+/908853
- [zuul/zuul] 906204: Wrap long job names on status page https://review.opendev.org/c/zuul/zuul/+/906204
-@gerrit:opendev.org- Zuul merged on behalf of James E. Blair https://matrix.to/#/@jim:acmegating.com: [zuul/zuul] 908747: Fix re-enqueue buildset in web ui https://review.opendev.org/c/zuul/zuul/+/90874718:20
@fungicide:matrix.orgcorvus: regarding the note at https://zuul-ci.org/docs/zuul/latest/howtos/openid-with-keycloak.html#configuring-jwt-signing-algorithms a bit of digging suggests that was fixed in pyjwt 2.5.0 and may no longer be a necessary step? also latest keycloak makes disabling that harder (i think it involves deleting the rsa-enc-generated provider now, as it no longer presents an option to disable listed keys)18:23
@fungicide:matrix.orgchangelog entry includes "Skip keys with incompatible alg when loading JWKSet by @DaGuich in https://github.com/jpadilla/pyjwt/pull/762"18:24
-@gerrit:opendev.org- Jeremy Stanley https://matrix.to/#/@fungicide:matrix.org proposed: [zuul/zuul] 908855: Refresh Keycloak OpenID Howto for latest Keycloak https://review.opendev.org/c/zuul/zuul/+/90885518:48
-@gerrit:opendev.org- Zuul merged on behalf of James E. Blair https://matrix.to/#/@jim:acmegating.com: [zuul/nodepool] 904220: Fix max concurrency log line https://review.opendev.org/c/zuul/nodepool/+/90422019:51
-@gerrit:opendev.org- Jeremy Stanley https://matrix.to/#/@fungicide:matrix.org proposed: [zuul/zuul] 908855: Refresh Keycloak OpenID Howto for latest Keycloak https://review.opendev.org/c/zuul/zuul/+/90885520:26
@jim:acmegating.comfungi: cool!20:32
@jim:acmegating.comhopefully the tutorial testing will be helpful there20:32
@fungicide:matrix.orgyes, that's my hope as well (and why i adjusted the realm blob)20:44
@fungicide:matrix.orgunfortunately, if true, it means that note was no longer accurate about 2 months after it got added, and we've had it in there for something like 1.5 years20:45
@clarkb:matrix.orgcorvus: that increase of the timeouts change really doesn't want to merge21:04
@clarkb:matrix.orgthe fix for status page filtering is still testing though so thats good21:05
-@gerrit:opendev.org- Zuul merged on behalf of James E. Blair https://matrix.to/#/@jim:acmegating.com: [zuul/zuul] 908797: Fix filtering on status page https://review.opendev.org/c/zuul/zuul/+/90879721:11
@fungicide:matrix.organd there it goes!21:11
-@gerrit:opendev.org- James E. Blair https://matrix.to/#/@jim:acmegating.com proposed: [zuul/zuul] 908865: Fix test_timer_preserve_jobs race https://review.opendev.org/c/zuul/zuul/+/90886521:13
@jim:acmegating.comClark: ^ but that came out of it, so... :)21:13
@jim:acmegating.comthese changes are also bugfix-level changes for the status page: https://review.opendev.org/906203 https://review.opendev.org/908853https://review.opendev.org/906204 but not regressions from the recent updates 21:15
@clarkb:matrix.orgack I'll look at reviewing those momentarily.21:18
@jim:acmegating.com * these changes are also bugfix-level changes for the status page: https://review.opendev.org/906203 https://review.opendev.org/908853 https://review.opendev.org/906204 but not regressions from the recent updates 21:18
@jim:acmegating.comi took advantage of all the gate resets earlier to do the subway lines fix21:19
@fungicide:matrix.orgcorvus: speaking of subway graph rendering bugs, not sure if it's known, but in dark mode the curved line tile ends up rendering with the light bg/fg instead of dark21:22
@jim:acmegating.comfungi: that's one of the above fixes21:22
@fungicide:matrix.orgoh, i missed that there was a third one!21:23
@fungicide:matrix.orgyep, exactly that change. perfect21:23
@fungicide:matrix.orgusually i rely on openstack as a source of failing gate pipeline changes to preview such ui fixes, but it's uncharacteristically quiet there at the moment21:31
-@gerrit:opendev.org- Jeremy Stanley https://matrix.to/#/@fungicide:matrix.org proposed: [zuul/zuul] 908855: Refresh Keycloak OpenID Howto for latest Keycloak https://review.opendev.org/c/zuul/zuul/+/90885522:26
-@gerrit:opendev.org- Zuul merged on behalf of James E. Blair https://matrix.to/#/@jim:acmegating.com: [zuul/zuul] 908834: Increase timeouts in TestComponentRegistry https://review.opendev.org/c/zuul/zuul/+/90883423:34
-@gerrit:opendev.org- Jeremy Stanley https://matrix.to/#/@fungicide:matrix.org proposed: [zuul/zuul] 908869: Test with Keycloak 23 https://review.opendev.org/c/zuul/zuul/+/90886923:51

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