Wednesday, 2024-04-03

-@gerrit:opendev.org- Zuul merged on behalf of James E. Blair https://matrix.to/#/@jim:acmegating.com: [zuul/nodepool] 914928: Fix deletion of intermediate image builds https://review.opendev.org/c/zuul/nodepool/+/91492806:34
@fserucas:matrix.orgHi,08:57
Could you please review this change https://review.opendev.org/c/zuul/zuul/+/908507.
-@gerrit:opendev.org- Simon Westphahl proposed: [zuul/zuul] 914947: Temporarily pin urllib3 before 2.1.0 https://review.opendev.org/c/zuul/zuul/+/91494709:53
-@gerrit:opendev.org- Benjamin Schanzel proposed: [zuul/zuul] 914949: Zuul-web: Fix literal filter queries being esacped https://review.opendev.org/c/zuul/zuul/+/91494910:19
-@gerrit:opendev.org- Francisco Seruca Salgado proposed: [zuul/zuul] 908507: Update decrypt_secret.py script https://review.opendev.org/c/zuul/zuul/+/90850712:41
@jpew:matrix.orgWould someone mind a look at https://review.opendev.org/c/zuul/zuul/+/914818?forceReload=true ? We've had users complain that changes regate when they make any comment on a failed change14:09
@jkkadgar:matrix.orgQuestion when merge-mode: cherry-pick is set: When a user creates a gerrit relation chain change of A and B and then gates and merges A, B now will not regate until the patch is rebased or a new patch is submitted. Applying the gerrit vote for it to gate will cause nothing to happen (no comments or jobs will run). Does anyone know why this is happening?14:15
@clarkb:matrix.orgI think that is due to cherry pick creating a new commit on merge which effectively unparents the child and parent change. This is why you need to rebase. I would look at the Gerrit merge ability state of the child to confirm.14:18
@jkkadgar:matrix.orgIs it possible to change the gerrit driver to handle this case and still gate?14:19
@clarkb:matrix.orgCurrently zuul relies on Gerrit to specify whether or not a change is mergeable. I don't know if zuul can infer the same state on a more accurate way than Gerrit 14:20
@clarkb:matrix.orgBecause even if zuul ran the tests Gerrit would still refuse to merge the change14:21
@clarkb:matrix.orgIt's possible that if zuul were updated to do the merging instead of Gerrit then zuul could do a more semantically meaningful cherry pick that doesn't break the relationship chains14:21
@jkkadgar:matrix.orgHmm, ok thanks14:24
@clarkb:matrix.orgBut you should confirm that Gerrit says B cannot merge after A mergea14:25
@jkkadgar:matrix.orgWell B can merge according to gerrit and will merge if you submit it, it's just Zuul doesn't know14:26
@jkkadgar:matrix.orgUntil you rebase or submit a new patch14:28
@clarkb:matrix.orgZuul should say why it is ignoring a change if you recheck it or similar. Grep the logs for the event id associated with that comment event and trace that through the scheduler 14:30
@harbott.osism.tech:regio.chatiiuc if B is based on A, but A doesn't get merged but rather A2, the cherry-pick of A onto HEAD, then gerrit will consider B unmergeable until a rebase. not sure zuul can do much about that. IMO merge-mode: cherry-pick is not compatible with stacking changes in gerrit, you should not combine that15:30
@fungicide:matrix.orgpretty much all gerrit merge modes other than merge-if-necessary are broken in subtle (or not-so-subtle in the ff-only case) ways15:33
@fungicide:matrix.orgthey may work in small-scale teams without interdependencies or when someone is making sure every change is sequenced prior to approval (and assuming none fail gating), but quickly fall apart in more complicated scenarios15:34
@fungicide:matrix.orger, i guess gerrit calls them "submit strategies"15:36
@fungicide:matrix.orgalso merge-always is probably fine, merge-if-necessary is just an optimization to result in fewer merge commits when they're not needed15:37
-@gerrit:opendev.org- James E. Blair https://matrix.to/#/@jim:acmegating.com proposed: [zuul/zuul] 914990: Restore mysql index hint https://review.opendev.org/c/zuul/zuul/+/91499017:26
@vlotorev:matrix.orgHi, since zuul 9.5.0 jobs with both dependencies and provides/requires stopped running in supercedent pipeline.18:09
I reproduced this issue on zuul.opendev.org - https://zuul.opendev.org/t/openstack/status , there you can find jobs for periodic and post pipelines for 'opendev/sandbox' repo, one of jobs is in "queued" state for > 16 hours.
The same jobs were run in check pipeline without errors.
@clarkb:matrix.orgvlotorev:  yes we saw. Unfortunately there are a number of other fires we've been dealing with all week18:10
@clarkb:matrix.orgI don't know if/when I'll haev time to look at that right now18:11
@clarkb:matrix.orgBut also no one should feel compelled to wait for me18:12
@clarkb:matrix.orgside note: a potentially more helpful reproduction would be in zuul's test framework18:13
@clarkb:matrix.orgthen anyone interested in zuul can see the errors in the logs instead of just those with opendev lgo access18:13
@vlotorev:matrix.orgClark:  for feedback.18:13
I'm just wondering if you consider this as regression that might be fixed in future or should I drop using dependencies and provides/requires in one buildset (that would be highly undesirable).
@clarkb:matrix.orgits too early for me to say. I haven't had a chance to reason about wht it is happening. It being broken in 9.5.0 implies this wasn't related to the circular deps refactoring unless it happened very early in that process18:15
@clarkb:matrix.orglooking at the traceback I suspect it is fixable18:16
@clarkb:matrix.orgwe're just looking for the wrong attributes on the wrong event type related items18:16
@vlotorev:matrix.org* Clark: thanks for feedback.18:20
I'm just wondering if you consider this as regression that might be fixed in future or should I drop using dependencies and provides/requires in one buildset (that would be highly undesirable).
@clarkb:matrix.orgBut thinking out loud here: provides/requires are for dependencies between buildsets. Supercedent pipelines ensure that only one buildset is ever active at a time. It may end up that the fix is to avoid the crash, but may noop anyway?18:21
@clarkb:matrix.orgbasically it will look for provides and not find any because no other buildset is active? I can't remember what the lifetime validity of a provides is off the top of my head18:22
@vlotorev:matrix.orgjob.dependencies makes jobs run in specific order but doesn't pass zuul.artifacts from first jobs to later.18:37
I started using provides just to pass zuul.artifacts.
@vlotorev:matrix.org* job.dependencies makes jobs run in specific order but doesn't pass zuul.artifacts from first jobs to the later.18:38
I started using provides just to pass zuul.artifacts.
@clarkb:matrix.orgYes, but I think that's mostly for speculative state? At some point you're expected to have a proper artifact outside of zuul? But I may be confusing myself due to how we do docker image builds and promotions18:42
@jim:acmegating.comdependencies should pass artifacts19:22
@jim:acmegating.comperhaps the confusion is that the docs explicitly mention that for provides/requires, but not dependencies.  i think a doc update to clarify that would be good.19:23
@jim:acmegating.comprovides/requires should have no effect within a single buildset19:24
@jim:acmegating.comthat one is in the docs, but it's subtle: `...by other jobs for other changes...` with the `for other changes` part meaning other buildsets, effectively.  that could probably use more words.  :)19:26
@jim:acmegating.com(but https://zuul-ci.org/docs/zuul/latest/config/job.html#attr-job.requires does have some more words that explains it a bit more)19:26
@jim:acmegating.comi agree the traceback is a problem and should be corrected -- but the correction will result in it not doing anything, so if it's convenient to remove provides/requires there, that would be a quick fix.  it probably slipped through testing because that construction isn't useful -- except of course it's useful to be able to have those attributes on a job and have them used in check but ignored in post.19:28
@jim:acmegating.comsupercedent pipelines are kind of a weird place to use them -- in that zuul might actually try to do something, but i would be really surprised if the thing it does is the thing that a user would actually desire.19:30
@jim:acmegating.com(because supercedent pipelines do have a queue, so it's possible for it to match a provides to a requires, but given that the intention with supercedent is to skip changes, i'm not sure the behavior in that case would be very reliable)19:31
-@gerrit:opendev.org- Mohammed Naser proposed: [zuul/zuul] 915024: fix(web): stop toggling builds on clicks https://review.opendev.org/c/zuul/zuul/+/91502420:14
-@gerrit:opendev.org- Mohammed Naser proposed: [zuul/zuul-jobs] 915025: chore: refactor setting buildset_registry fact https://review.opendev.org/c/zuul/zuul-jobs/+/91502520:57
-@gerrit:opendev.org- Mohammed Naser proposed: [zuul/zuul-jobs] 915025: chore: refactor setting buildset_registry fact https://review.opendev.org/c/zuul/zuul-jobs/+/91502522:47

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