Tuesday, 2024-03-12

fricklerseems no progress has been made on the ports mirror? so next up I'm going to try an manually download the files it is complaining about as missing07:00
mnasiadkais there an option to have a zuul job variable that would be reused in other job variables? as in image: "1234.56" image2: "something{{ image }}.qcow.gz" ?11:18
mnasiadka(haven't tried, but wanted to ask before I fail miserably) :)11:18
fricklerafter downloading all missing files ubuntu-ports should now be updated. cc mnasiadka 12:11
mnasiadkafrickler: thanks!12:12
fungithanks frickler! i didn't end up getting a chance to look into options for force-redownloading those12:41
opendevreviewMerged openstack/project-config master: Add magnum-capi-helm repo to Magnum project  https://review.opendev.org/c/openstack/project-config/+/91023912:55
SvenKieskemnasiadka: IIRC you should be able to just use yaml anchors for zuul job variables? gitlab has actually nice docs about yaml anchors and aliases and map merging in general, that should not be tool specific: https://docs.gitlab.com/ee/ci/yaml/yaml_optimization.html14:25
SvenKieskemnasiadka: if you prefer a link to the spec, that's here, but afaik it hasn't got any real world examples, so it's a litte dry to read imho: https://yaml.org/spec/1.2.2/#3222-anchors-and-aliases14:27
fungiyeah, you can use yaml anchors in zuul configuration, but it's per document so you can't put an anchor in one config and then expand it in another14:28
fungiall has to happen within the same file, basically14:29
SvenKieskeright :) :D14:29
SvenKieskenever ocurred to me that you might want to use this across more than one file, but, yeah, I can see that happening. I guess the parser goes over every file one by one.14:30
SvenKieskefunnily enough in the zuul docs it's only mentioned in passing in the docker jobs documentation, at least my search didn't turn it up anywhere else.14:30
SvenKieskemade me question if it's even supported everywhere14:31
corvusSvenKieske: what is "it" ? that you're questioning is supported everywhere?14:31
fungicorvus: yaml anchor definition/expansion14:32
corvusoh that's part of the yaml spec.14:33
fungii think the zuul docs don't go deep into that topic because it's a part of yaml itself, not really zuul-specific (and the parser flattens it all before it reaches zuul)14:33
SvenKieskeyeah, I just wasn't sure if any zuul job is yaml at it's core. it's not explicitly stated anywhere I guess? I think it's just assumed everyone knows that? :)14:34
SvenKieskes/any/every/14:35
fungiwell, the zuul jobs aren't, the files you're defining them within are yaml14:35
fungijobs are basically data structures14:35
SvenKieskeyeah, that's what I meant.14:35
corvusSvenKieske: heh that's a good point and you made me check whether we actually say "the config is yaml", but good news, we do!  https://zuul-ci.org/docs/zuul/latest/project-config.html#configuration-items14:36
SvenKieskeso https://zuul-ci.org/docs/zuul-jobs/latest/jobs.html has no general introduction what a "Job" even is, like "jobs are defined in yaml files...blabla" just a list of specific jobs which have specific keywords14:37
corvusso yeah, i think the expectation for any system using yaml is that it would support the full spec including anchors, etc.  otherwise i think someone should describe that as "similar to yaml" or something like that.  but to be clear, zuul is fully yaml spec compliant.  :)14:37
SvenKieskenice14:37
corvusSvenKieske: that's the documentation for the standard library of zuul jobs, not zuul itself.  think of that like the docs for libc (printf, etc)14:37
SvenKieskeah, so I didn't look into the right place, I had a suspicion that might be the case14:37
corvusmnasiadka: the simple answer to your question about variable composition is "yes"14:38
fungiSvenKieske: there is also a glossary which has a definition of various terms like job and build, but improvements are welcome as always14:38
SvenKieskegoing back in history I landed there via this google search: https://www.google.com/search?client=firefox-b-d&q=zuul+job+variables+yaml+anchors the second link is https://zuul-ci.org/docs/zuul-jobs/latest/docker-jobs.html14:38
mnasiadkasingle file is not ideal, but I can make this work - thanks14:39
corvusmnasiadka: a longer answer is "yes -- because it's passed through to ansible and ansible handles that"14:39
corvusmnasiadka: an even longer answer is "yes -- because it's passed through to ansible and ansible handles that, however, there are some important caveats about security in zuul jobs and trusted/untrusted playbooks, so you should read the docs at https://zuul-ci.org/docs/zuul/latest/config/job.html#attr-job.vars and see if any of those conditions apply"14:40
corvusmnasiadka: and you can always just try it out.  here is your example made real: https://zuul.opendev.org/t/openstack/build/839f26e9748146fb9bdece3e7be2f50d/log/job-output.txt#76 https://review.opendev.org/c/opendev/sandbox/+/912587/1/.zuul.yaml14:41
mnasiadkacorvus: nice, that's easier than anchors - forgot that I could test in sandbox :)14:42
SvenKieskefor single file usage I find anchors to actually be the fastest and easiest solution, though not every reviewer understands this part of yaml immediately 14:44
SvenKieskebut I guess it's a matter of opinion14:44
corvusyeah, they're both great tools to have.  variable composition is useful if you want to use the inheritance hierarchy to make job variations; so using it for things like mnasiadka can facilitate making thin job variants for different versions.14:45
corvusanchors are good for DRY without inheritance relationships14:46
corvuser, that should say "things like mnasiadka's example"14:47
fungialso, marking a job "abstract" if it's only used for inheritance purposes is good hygiene to avoid a project actually trying to run it directly14:47
NeilHanlonhttps://www.openwall.com/lists/oss-security/2024/03/12/5 fyi: OVN CVE 🙃14:52
clarkbwe don't run any OVN ourselves. It is interesting that they imply it should be mitigated by clouds rather than just patching ovn14:54
clarkbI guess they say you can do both thinsg givingyou the option14:54
NeilHanlonyeah i thought that was interesting as well; and, ack--wasn't sure what we were using 14:55
fungiwe basically don't operate our own networks, we just use cloud providers who take care of that14:56
NeilHanlonthat's smart :) 14:56
fungismart and lazy often go hand in hand14:57
NeilHanlon:D i hear that..14:57
fungiand to be clear, clarkb and i have both worked as network engineers in past lives, so we know from first hand experience lots of good reason not to take that on ;)15:08
clarkbsomething something spanning tree loops15:08
fungiso many ebgp pads and prefs15:09
fungifull bridge tables15:09
fungipmtud blackholes15:10
mnasiadkanetworking is hard15:12
NeilHanlonfungi: yeahhh... i've been there too.. unfortunately I have little choice in some environments but to run (some) network. Though I keep it as simple as reasonably possible :D 15:16
mnasiadkacorvus: is there a way to override required-projects using a job-template (or maybe even override that on pipeline/project level)? I'm either blind skimming the docs, or that's not possible.15:30
clarkbmnasiadka: some attributes are overridden when inherited and set and others are merged. The docs should indicate what the behavior is16:26
clarkb"This attribute is not overridden by inheritance; instead it is the union of all applicable parents and variants"16:26
clarkbfrom https://zuul-ci.org/docs/zuul/latest/config/job.html#attr-job.required-projects16:27
mnasiadkaclarkb: I was rathering thinking if on project level (https://zuul-ci.org/docs/zuul/latest/config/project.html#attr-project.templates) I can override required-projects - I ended up with https://review.opendev.org/c/openstack/magnum-capi-helm/+/912577/9/.zuul.yaml - but would prefer some more... elegant solution.16:30
mnasiadkaI've noticed definitions like - https://opendev.org/openstack/openstack-zuul-jobs/src/commit/8325a38fa9812536636b9fc05c7a4c5ceb25cbea/zuul.d/project-templates.yaml#L74916:30
clarkbmnasiadka: right the docs say required-projects cannot be overridden only expanded16:30
clarkbbut you can define a variant of a job and add extra required projects16:31
clarkbyes that is additive not overriding16:31
mnasiadkaWondering which is a better option - since it's an out of tree driver that needs magnum code for testing - I'll probably end up with locally defined jobs (since we probably need to run unit tests and functional tests for every supported stable release of Magnum - since the out of tree driver will have an independent release model - one branch and tags only)16:33
opendevreviewClark Boylan proposed zuul/zuul-jobs master: Pin requests-oauthlib<1.4.0 under python2.7  https://review.opendev.org/c/zuul/zuul-jobs/+/91260317:22
opendevreviewMerged zuul/zuul-jobs master: Pin requests-oauthlib<1.4.0 under python2.7  https://review.opendev.org/c/zuul/zuul-jobs/+/91260317:51
opendevreviewMerged zuul/zuul-jobs master: Drop CentOS 7 test jobs  https://review.opendev.org/c/zuul/zuul-jobs/+/91228018:23
opendevreviewMerged openstack/project-config master: Add op to #openstack-outreachy  https://review.opendev.org/c/openstack/project-config/+/91195418:42
opendevreviewJeremy Stanley proposed opendev/system-config master: Deduplicate Rackspace control plane API keys  https://review.opendev.org/c/opendev/system-config/+/91263219:19
hasharfungi: I guess if you feel brave you could tag a new release of `git-review` such as 2.4.0 maybe?   vendoring the Gerrit hook script sounds like an excellent idea :)20:18
fungihashar: yes, the plan is to tag what's already merged as 2.4.0, i just need to add some release notes for changes which we forgot to ask contributors to write before we merged those changes20:25
hasharfungi: amazing! thank you for the continued maintenance :)20:26
fungiit seems like the missing release notes we still need (based on feedback so far) are: ce90966 "feat(cmd): add hashtag implementation", 52752c8 "Add message option", 21d9ceb "Use GIT_SSH for the SSH executable", 702a1dc "Warn rather than fail if HEAD already exists on the remote", 0502235 "Add --wip as an alias to --work-in-progress"20:31
fungiand also i'm going to fix some of the rst markup in the two existing release notes20:35
* fungi sighs at more missing manpage entries20:35
fungimade all the worse by the fact that i approved some of these20:36
opendevreviewJeremy Stanley proposed opendev/git-review master: Add missing release notes and manpage updates  https://review.opendev.org/c/opendev/git-review/+/91265321:00
fungiclarkb: corvus: frickler: hashar: ^21:00
fungigetting in a quick walk before dark, since the weather's turned surprisingly pleasant, but will be back soon21:09
clarkbI was just about to start thinking about going outside then it began dumping hail21:12
clarkbnow that I've given up for the moment the sun came back out again21:12
clarkbI've just discovered teh "included in" dialog in gerrit this is a great little feature21:23
clarkbhttps://etherpad.opendev.org/p/apr2024-ptg-opendev has content now.21:53
clarkbtalking out loud on the problem of centos 7 cleanup. One thing we could do is offer to bypass CI for chagnes that simply remove jobs22:03
clarkbthat is a relatively straightforward task and relatively safe (you'll at worst create a similar problem in another repo)22:04
fungiugh, going through the keystone stable branches it looks like we're in for a treat when we decide to remove xenial22:14
fungitempted to backport https://review.opendev.org/908850 since it cleans up centos-7, ubuntu-xenial and opensuse-15 references22:14
fungibut not sure if that's premature for, e.g., the unmaintained/yoga branch22:15
clarkbfungi: I think yoga was in the bionic era wasn't it22:16
fungiyes22:16
clarkbits probably fine to backport22:16
fungiyeah, trying. cherry-picked cleanly until i reached zed22:19
fungimostly just conflicting over unrelated churn in their zuul config22:19
fungiokay, keystone backports are up22:23
fungiopenstack/solum and openstack/neutron-vpnaas need the same cleanup starting in master though22:24
fungialso we'll probably need to remove x/networking-opencontrail from the tenant config22:24
clarkbare those needing cleanup because the use the devstack nodeset or just general centos-7 usage22:27
fungithe specific devstack nodeset we're trying to remove22:28
fungii obviously check configs for other centos-7 references while i'm editing though22:28
clarkback was just wondering what sort of centos 7 things we had going on22:29
clarkband yes the xenial cleanup is going to be interesting22:29
clarkbit really does reinforce that semi regular pruning is important22:29
clarkbthere is no reason for these decade old distros to be on master branches of openstack projects that haven't properly supported those versions of python runtimes for years22:30
clarkbthough i guess if the jobs are running they may inadverdently do so22:30
fungiin the neutron-vpnaas case, for example, the job definition is there but the job is commented out in their project pipelines with a # todo: make this work with centos 822:30
fungimaybe we also need to reinforce that it's okay to remove this stuff, even temporarily, nothing is ever truly deleted in git22:31
clarkb++22:35
fungiyeesh, did 9 branches of neutron-vpnaas22:45
fungilooks like solum will need 822:46
clarkbthe wheels of tech debt keep turning :)22:49
fungikeystone was thankfully only 7 branches since they'd already deleted it on master22:49
opendevreviewJeremy Stanley proposed openstack/project-config master: Drop gating for x/networking-opencontrail  https://review.opendev.org/c/openstack/project-config/+/91267822:58
fungiokay, if all the changes i just pushed manage to merge, we'll be able to merge the centos-7 removal from the remaining devstack branch22:59
fungi25 changes in total (not counting the 8 for devstack itself)23:00
opendevreviewJeremy Stanley proposed opendev/git-review master: Add missing release notes and manpage updates  https://review.opendev.org/c/opendev/git-review/+/91265323:17
opendevreviewJeremy Stanley proposed opendev/git-review master: It's patchset not patch set  https://review.opendev.org/c/opendev/git-review/+/91268123:17
fungii have a feeling there are a lot more references to devstack-single-node-centos-7 nodesets lurking in older stable branches of random openstack projects, which i'm not going to be able to find without scripting a git clone and grep over every branch of every repo23:34

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