Friday, 2024-03-29

@mnaser:matrix.orgI can’t seem to figure out a neat/clean way of having Zuul run one-off jobs. In my case, I need to build images for the Cluster API (basically equivalent of DIB) in a job, but only do so when Kubernetes releases a new tag ..03:08
@mnaser:matrix.orgNow that I’m thinking of it, I guess what I can do is create a pipeline that builds and tests tags and then manually enqueue with Zuul admin if I need the one off…03:08
@mnaser:matrix.orgJust going to be tough to figure out how to listen to a GitHub repo that the app isn’t installed on :/03:09
@clarkb:matrix.org> <@mnaser:matrix.org> Just going to be tough to figure out how to listen to a GitHub repo that the app isn’t installed on :/03:11
This works you just have to be careful of API limits.
@mnaser:matrix.orgMy main issue is that it takes around 30 minutes to build the image, and I’d rather use a pre built one rather than build on every run03:11
@clarkb:matrix.orgAnd for building images opendev just pushes a commit that modifies a comment in a dockerfile if necessary to force rebuilds03:11
@clarkb:matrix.orgWe also use pre built images all over the place03:12
@mnaser:matrix.orgThis is a qcow2 image fwiw 03:12
@clarkb:matrix.orgAh ok. Though I think the same general rules apply you may just have to do the byte shuffling more explicitly since those don't fall into registries with various clients for pushing and pulling03:13
@clarkb:matrix.orgIf image specification has changed or upstream pushes a tag do a new build else fetch from the cold storage location 03:13
@mnaser:matrix.orgI think provides and requires would03:15
Be nice here but I don’t think I can do an optional required
@mnaser:matrix.orgRequires**03:15
@mnaser:matrix.org(Because I would like to build in a seperate job in parallel while devstack goes up for example)03:16
@mnaser:matrix.orgI’ll have to mull over this more03:16
@clarkb:matrix.orgYou'd do an optional requres and the only incur the wait for build if you need to build. Otherwise fetch03:22
@clarkb:matrix.orgIt really is almost identical to the container image build setup but with different build and fetch tools. The logical configuration should be very similar 03:24
@mnaser:matrix.org> <@clarkb:matrix.org> You'd do an optional requres and the only incur the wait for build if you need to build. Otherwise fetch03:29
Requires can be optional? I searched through the docs and couldn’t find optional requires there.
@clarkb:matrix.orgPretty sure that is how we do our container images. It's an optional dep which means if the job enqueues to build the image we wait. Otherwise we fetch the latest version from docker hub03:42
@clarkb:matrix.orghttps://opendev.org/opendev/system-config/src/branch/master/zuul.d/project.yaml#L54 for example03:46
@mnaser:matrix.orgahhh, soft and dependencies is what I’m seeking03:47
@mnaser:matrix.orgI always wasn’t sure what the difference of dependencies and provides/requires03:47
@jim:acmegating.comdependencies are within the same buildset; provides/requires are across buildsets03:49
@mnaser:matrix.org> <@jim:acmegating.com> dependencies are within the same buildset; provides/requires are across buildsets04:03
oh well that’s easy then. I think the only minor annoyance is I assume dependencies will mean the child job won’t start until it’s ready so I can’t build my image in parallel and then wait for the image
@mnaser:matrix.orgBut I’ll survive I think :)04:04
@agireesh:matrix.orgour  ZUUL CI job is failing while running  "prepare-workspace-git" role, I found that we made some changes in this role 16:45
Here is the failure logs
@agireesh:matrix.orgTASK [prepare-workspace-git : Don't filter zuul projects if flag is false]16:45
2024-03-29 03:01:42.849070 | controller | ok
2024-03-29 03:01:42.963578 |
2024-03-29 03:01:42.963772 | LOOP [prepare-workspace-git : Set initial repo states in workspace]
2024-03-29 03:01:43.732771 | controller | ERROR
2024-03-29 03:01:43.733197 | controller | {
2024-03-29 03:01:43.733289 | controller | "msg": "The task includes an option with an undefined variable. The error was: 'ansible.utils.unsafe_proxy.AnsibleUnsafeText object' has no attribute 'src_dir'\n\nThe error appears to be in '/var/lib/zuul/builds/07dadfe9c765420dbaee789dfb65a71e/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/prepare-workspace-git/tasks/main.yaml': line 21, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n# task startup time we incur.\n- name: Set initial repo states in workspace\n ^ here\n"
2024-03-29 03:01:43.733385 | controller | }
@agireesh:matrix.orgyou can find the complete log here, https://netappopenstacklogserver.s3-us-west-1.amazonaws.com/logs/59/912059/6/upstream-check/manila-tempest-plugin-ontap-no-dhss-rest/07dadfe/job-output.txt16:46
@agireesh:matrix.orgcan some help me to find the root cause the issue, it was passing before 20 March 202416:47
@clarkb:matrix.orgagireesh: you've made local changes to the role and are not using the upstream version?16:58
@agireesh:matrix.orgno, we didn't make any changes locally, we are using upstream 17:08
@clarkb:matrix.orgok just trying to udnerstand what you meant by `I found that we made some changes in this role`17:09
@agireesh:matrix.orgI mean someone from community made the changes in this role due to that I think it is breaking our zuul17:10
@agireesh:matrix.orgcommit 8374db870b5e8513429fca51c517dc5bd1c5122c17:12
Merge: 703d0b1a 5eca8fed
Author: Zuul <zuul@review.opendev.org>
Date: Tue Mar 19 14:59:28 2024 +0000
Merge "prepare-workspace-git: Add ability to define synced pojects"
I think due to this change
@clarkb:matrix.orgagireesh: that change should be a noop unless you update your configs, but yes it did modify that role (but not the task that is failing)17:13
@clarkb:matrix.orgin your zuul job inventory you should see the definitions for all the zuul variables which that role operates on. You can then cross check the values for src_dir content17:14
@agireesh:matrix.orgClark: is it possible to connect through zoom to debug this issue, I am also new in zuul and ansible  17:17
@clarkb:matrix.orgagireesh: unfortunately I've got a fairly urgent issue I'm currently working on so I can't do that right now17:19
@clarkb:matrix.orgI think corvus business may do things like that but he may not be around today (it is a holiday for many)17:19
@agireesh:matrix.orgohh, sorry, then will try to connect with you on Monday17:20
@agireesh:matrix.organyway, thanks for looking into this, i will also try to check what is the issue here, will connect on Monday if you are available 17:22
@mnaser:matrix.orgWhat’s the best way to troubleshoot playbooks that aren’t running?  For some reason, my base job playbooks are for some reason not running :/18:52
@mnaser:matrix.orgThey just seem to be doing nothing and jumping straight to RESULT_NORMAL18:52
@clarkb:matrix.orgI would look in your inventory for the job inheritance path and start there to figure out how the job is constructed18:52
@clarkb:matrix.orgPlaybooks not running likely means you didn't inherit things the way you expected to18:53
@mnaser:matrix.orgWhat’s wild is I literally did nothing than switch off of upload logs but I’ll get looking..18:53
@mnaser:matrix.orgLike it’s actually all there.. even the job and playbook is there. I guess time to try and revert whatever changes I’ve done 18:54
@mnaser:matrix.orghttps://paste.opendev.org/show/bqRYITJfw7RftCUo4nga/19:02
@mnaser:matrix.orgNothing in the end results and nothing in the status reported on github and nothing in the zuul logs :\19:03
@mnaser:matrix.orgpre.yaml is pretty straightforward too https://paste.opendev.org/show/bXy5CdlMfnMAGtcFMuCx/19:04
@clarkb:matrix.orgMaybe enable debug logs on the executor and trace the Ansible run? Sorry I'm only barely able to follow this right noe19:09
@mnaser:matrix.orgAh no worries, that's a good lead, that's what I'll do19:10
@mnaser:matrix.orgballs.  `/srv/static/logs` mount was missing on the docker container: `bwrap: Can't find source path /srv/static/logs: No such file or directory`19:14

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