@tony.breeds:matrix.org | When setting a timeout on a job, does that apply to only the job or the job and any/all dependencies ? | 00:11 |
---|---|---|
@fungicide:matrix.org | tony.breeds: it applies to the playbook, actually | 00:12 |
@fungicide:matrix.org | so there are separate timeouts per phase as well | 00:12 |
@fungicide:matrix.org | at least for some phases | 00:12 |
@tony.breeds:matrix.org | Ah okay.I guess that wasn't my problem. | 00:13 |
@fungicide:matrix.org | can you describe your problem? | 00:14 |
@fungicide:matrix.org | (he says as he's about to step away from the computer, but maybe someone in an earlier timezone has ideas for you) | 00:14 |
@jim:acmegating.com | https://zuul-ci.org/docs/zuul/latest/config/job.html#attr-job.timeout for clarity | 00:16 |
@tony.breeds:matrix.org | I'm working on new constraints jobs. requirements-merge-constraints, depend on artifacts from requirements-generate-constraints. The 'merge' job failed with RETRY_LIMIT (and no logs) so I was really just stabbing in the dark. I *thought* it could be that the generate job just took to long so the merge job gave up. | 00:17 |
@tony.breeds:matrix.org | but it sounds's like the timeouts don't work that way | 00:18 |
@fungicide:matrix.org | if there are no logs archived, a zuul admin may need to check the executor debug log for ansible errors/tracebacks | 00:18 |
@fungicide:matrix.org | or you might try to catch its console stream while the build is in progress | 00:19 |
@fungicide:matrix.org | most likely cause of a persistent RETRY_LIMIT result though is some task failing in a pre-run phase playbook | 00:20 |
@fungicide:matrix.org | but in this case, probably also failing in some way that it broke log collection in post-run | 00:20 |
@tony.breeds:matrix.org | Yeah no logs, I have rechecked it. if it fails again I'll poke around in the executror logs ... it'll be a good learning experience | 00:21 |
@tony.breeds:matrix.org | Well I think that was easy. If I'm right it seems `src_dir` wasn't a good choice for a job variable :/ | 00:32 |
@tony.breeds:matrix.org | Nope that wasn't it | 01:38 |
@tony.breeds:matrix.org | All I can find is ```2024-02-13 00:29:53,859 ERROR zuul.AnsibleJob: [e: 960ae60da0af47b28f4220c4f988ffac] [build: 7b22bc763e594f4ea5b737358879015c] Exception while executing job 2024-02-13 00:29:53,874 DEBUG zuul.JobRequestQueue: [e: 960ae60da0af47b28f4220c4f988ffac] [build: 7b22bc763e594f4ea5b737358879015c] Updating request <BuildRequest 7b22bc763e594f4ea5b737358879015c, job=ff66cf75a41c455dbe1b972c3118a081, state=completed, path=/zuul/executor/unzoned/requests/7b22bc763e594f4ea5b737358879015c zone=None> 2024-02-13 00:29:53,874 INFO zuul.ExecutorServer: [e: 960ae60da0af47b28f4220c4f988ffac] [build: 7b22bc763e594f4ea5b737358879015c] Held status set to False 2024-02-13 00:29:54,169 DEBUG zuul.ExecutorServer: [e: 960ae60da0af47b28f4220c4f988ffac] [build: 7b22bc763e594f4ea5b737358879015c] Sent SIGTERM to SSH Agent, {'SSH_AUTH_SOCK': '/tmp/ssh-XXXXXX03dobW/agent.2620343', 'SSH_AGENT_PID': '2620344'} | 01:40 |
``` | ||
@tony.breeds:matrix.org | * All I can find is | 01:40 |
```2024-02-13 00:29:53,859 ERROR zuul.AnsibleJob: \[e: 960ae60da0af47b28f4220c4f988ffac\] \[build: 7b22bc763e594f4ea5b737358879015c\] Exception while executing job 2024-02-13 00:29:53,874 DEBUG zuul.JobRequestQueue: \[e: 960ae60da0af47b28f4220c4f988ffac\] \[build: 7b22bc763e594f4ea5b737358879015c\] Updating request \<BuildRequest 7b22bc763e594f4ea5b737358879015c, job=ff66cf75a41c455dbe1b972c3118a081, state=completed, path=/zuul/executor/unzoned/requests/7b22bc763e594f4ea5b737358879015c zone=None> 2024-02-13 00:29:53,874 INFO zuul.ExecutorServer: \[e: 960ae60da0af47b28f4220c4f988ffac\] \[build: 7b22bc763e594f4ea5b737358879015c\] Held status set to False 2024-02-13 00:29:54,169 DEBUG zuul.ExecutorServer: \[e: 960ae60da0af47b28f4220c4f988ffac\] \[build: 7b22bc763e594f4ea5b737358879015c\] Sent SIGTERM to SSH Agent, {'SSH\_AUTH\_SOCK': '/tmp/ssh-XXXXXX03dobW/agent.2620343', 'SSH\_AGENT\_PID': '2620344'}``` | ||
@tony.breeds:matrix.org | Not sure where else to look | 01:41 |
@jim:acmegating.com | tony.breeds: this might be better for #_oftc_#opendev:matrix.org | 01:50 |
@tony.breeds:matrix.org | Okay. I came here as it's kinda 'general zuul' | 01:51 |
@jim:acmegating.com | tony.breeds: sure, but i have followup questions that are really boring for this channel like which zuul exeuctor you got that from so i can help you look :) | 01:51 |
@tony.breeds:matrix.org | Okay | 01:54 |
@jim:acmegating.com | for the record: 2024-02-13 00:29:53,859 ERROR zuul.AnsibleJob: Exception: Variable names may only contain letters, numbers, and underscores | 01:57 |
@jim:acmegating.com | (and yeah, probably would be good if that got propogated to users) | 01:57 |
-@gerrit:opendev.org- Matthieu Huin https://matrix.to/#/@mhuin:matrix.org proposed: [zuul/zuul] 908794: [WIP] Merger: add 'clone_filter' configuration setting https://review.opendev.org/c/zuul/zuul/+/908794 | 08:53 | |
@maiton:matrix.org | Hello, I have a questions about job.files usage. I wanted to use a reference in it, but I want that to be the result of concatenating 2 lists. I have tried different options but my job isn't triggered. While if I use a reference to a "static" list it works fine | 09:06 |
-@gerrit:opendev.org- Matthieu Huin https://matrix.to/#/@mhuin:matrix.org proposed: [zuul/zuul] 872552: Keycloak tutorial: update to keycloak 23, add CLI example https://review.opendev.org/c/zuul/zuul/+/872552 | 09:08 | |
@maiton:matrix.org | not sure if this is the right place for asking, I came here from https://zuul-ci.org/community.html, if not can you please point me to the right place for such questions? thanks in advance | 09:13 |
@fungicide:matrix.org | maiton: i'm not sure what the answer to your question is, but yes this is the place to ask it. most of the activity here is during daylight hours in the americas, so maybe someone will have a suggestion for you soon. also there's a zuul-discuss@lists.zuul-ci.org mailing list where you can ask questions if you prefer | 13:44 |
@fungicide:matrix.org | mhu: did you mean to base that on top of https://review.opendev.org/908869 ? | 14:00 |
@mhuin:matrix.org | > <@fungicide:matrix.org> mhu: did you mean to base that on top of https://review.opendev.org/908869 ? | 14:01 |
I wasn't aware of this change - I had an old one to update the example to keycloak 21 and refreshed it | ||
@mhuin:matrix.org | since you have this one up, mine might not be needed | 14:01 |
@fungicide:matrix.org | mhu: well, the doc addition is useful on its own | 14:02 |
@mhuin:matrix.org | I can drop the H2 env var in mine and let's run with it? | 14:02 |
@mhuin:matrix.org | or maybe just rebase on yours | 14:03 |
@fungicide:matrix.org | we should probably coordinate between that and https://review.opendev.org/908855 since they may merge-conflict | 14:03 |
@mhuin:matrix.org | but they don't modify the same files then 908855 though? | 14:04 |
@mhuin:matrix.org | I'll rebase mine on yours to keep the doc update | 14:04 |
@fungicide:matrix.org | but also we can cross-review each others changes there. i'm in the process of rebuilding opendev's keycloak on v23 so wanted to refresh the keycloak howto | 14:04 |
@fungicide:matrix.org | oh, there's a keycloak tutorial and a keycloak howto? how did i miss that? | 14:04 |
@mhuin:matrix.org | not a tutorial, more like a demo. The compose gets you up and running with an authenticated Zuul | 14:05 |
@fungicide:matrix.org | yeah, my changes also edit the keycloak realm import, but i guess yours doesn't touch that | 14:06 |
-@gerrit:opendev.org- Matthieu Huin https://matrix.to/#/@mhuin:matrix.org proposed: [zuul/zuul] 872552: Keycloak tutorial: add zuul-client example https://review.opendev.org/c/zuul/zuul/+/872552 | 14:07 | |
@mhuin:matrix.org | okay rebased | 14:07 |
@mhuin:matrix.org | thanks for letting me know | 14:07 |
@fungicide:matrix.org | mhu: the zuul-client example doesn't mention how it relates to the rest of that document... is it related to keycloak at all? | 14:11 |
@fungicide:matrix.org | the section starts out with "you can then perform admin actions from the cli" implying that logging into the webui was a prerequisite for doing so, but i don't see a clear indication why | 14:13 |
@mhuin:matrix.org | "then" might be misleading I guess. The idea was to document the alternative to the GUI for privileged actions in that demo context. It is however a specific case since in order to work, keycloak is configured with direct grant access enabled (ie credentials can be passed through the application directly rather than going through a browser authentication) | 14:15 |
@mhuin:matrix.org | speaking of which, there's a patch on zuul-client to enable browser authentication: https://review.opendev.org/c/zuul/zuul-client/+/831946 this is something our users request to get in line with security compliance | 14:18 |
@fungicide:matrix.org | mhu: thanks, that makes sense. i suppose to tie it together better, that section could mention e.g. the ability to use your keycloak username/password with zuul-client, or using your keycloak-authenticated web session to obtain a client access token for zuul-client | 15:37 |
@fungicide:matrix.org | i'll leave some comments on the change | 15:37 |
-@gerrit:opendev.org- Zuul merged on behalf of Tristan Cacqueray https://matrix.to/#/@tristanc_:matrix.org: [zuul/zuul-jobs] 899212: Introduce LogJuicer roles https://review.opendev.org/c/zuul/zuul-jobs/+/899212 | 15:41 | |
-@gerrit:opendev.org- Zuul merged on behalf of James E. Blair https://matrix.to/#/@jim:acmegating.com: [zuul/zuul-jobs] 907363: Add zuul-tenant-conf-check role/job https://review.opendev.org/c/zuul/zuul-jobs/+/907363 | 16:09 | |
@maiton:matrix.org | @fungi ok thanks! I will try to ask also on the mailing list | 17:17 |
@clarkb:matrix.org | maiton: it might help to have a concrete example of your yaml as well | 18:51 |
-@gerrit:opendev.org- James E. Blair https://matrix.to/#/@jim:acmegating.com proposed: [zuul/zuul-jobs] 908671: Remove command.warn usage https://review.opendev.org/c/zuul/zuul-jobs/+/908671 | 19:27 | |
@maiton:matrix.org | @Clark thanks for your response. Here is an extract of what I am trying to do: | 19:36 |
@maiton:matrix.org | description: Base job for test jobs | 19:36 |
vars: | ||
(...) | ||
files: &common-files | ||
- ^bazel/app/.* | ||
- ^third_party/python/.* | ||
- ^third_party/simple/.* | ||
- ^shared/middleware/.* | ||
- ^products/shared/.* | ||
- ^third_party/caf_files/.* | ||
- job: | ||
name: test-apps-child-1 | ||
parent: test-apps | ||
vars: | ||
domain_files: | ||
- *common-files | ||
- ^apps/test/.* | ||
- ^products/test/.* | ||
target_files: &target_files_child_1 | ||
"{{ domain_files | flatten }" | ||
files: &target_files_child_1 | ||
@maiton:matrix.org | ouch not the best copy&past sorry, basically what I want is defining a common-files list to use with job.files, and then extending that for child jobs which needs to be triggered on common-files other specific files | 19:39 |
@maiton:matrix.org | I would like not to repeat the common-files triggers over and over | 19:40 |
@maiton:matrix.org | - job: | 19:42 |
name: test-apps | ||
description: Base job for test jobs | ||
vars: | ||
(...) | ||
files: &common-files | ||
- ^bazel/app/.* | ||
- ^third_party/python/.* | ||
- ^third_party/simple/.* | ||
- ^shared/middleware/.* | ||
- ^products/shared/.* | ||
- ^third_party/caf_files/.* | ||
- job: | ||
name: test-apps-child-1 | ||
parent: test-apps | ||
vars: | ||
domain_files: | ||
- *common-files | ||
- ^apps/test/.* | ||
- ^products/test/.* | ||
target_files: &target_files_child_1 | ||
"{{ domain_files | flatten }" | ||
files: &target_files_child_1 | ||
@maiton:matrix.org | * - job: | 19:43 |
name: test-apps | ||
description: Base job for test jobs | ||
vars: | ||
(...) | ||
files: &common-files | ||
- ^bazel/app/.* | ||
- ^third_party/python/.* | ||
- ^third_party/simple/.* | ||
- ^shared/middleware/.* | ||
- ^products/shared/.* | ||
- ^third_party/caf_files/.* | ||
- job: | ||
name: test-apps-child-1 | ||
parent: test-apps | ||
vars: | ||
domain_files: | ||
- *}common-files | ||
- ^apps/test/.* | ||
- ^products/test/.* | ||
target_files: &target_files_child_1 | ||
"{{ domain_files | flatten }" | ||
files: &target_files_child_1 | ||
@maiton:matrix.org | * - job: | 19:44 |
name: test-apps | ||
description: Base job for test jobs | ||
vars: | ||
(...) | ||
files: &common-files | ||
- ^bazel/app/.* | ||
- ^third_party/python/.* | ||
- ^third_party/simple/.* | ||
- ^shared/middleware/.* | ||
- ^products/shared/.* | ||
- ^third_party/caf_files/.* | ||
- job: | ||
name: test-apps-child-1 | ||
parent: test-apps | ||
vars: | ||
domain_files: | ||
- **common-files | ||
- ^apps/test/.* | ||
- ^products/test/.* | ||
target_files: &target_files_child_1 | ||
"{{ domain_files | flatten }" | ||
files: &target_files_child_1 | ||
@jim:acmegating.com | maiton: try putting three backticks before and after the text | 19:44 |
@jim:acmegating.com | * maiton: try putting three backticks before and after the text (to get the proper block quote in matrix) | 19:44 |
@maiton:matrix.org | * `- job: | 19:44 |
name: test-apps | ||
description: Base job for test jobs | ||
vars: | ||
(...) | ||
files: &common-files | ||
- ^bazel/app/.* | ||
- ^third_party/python/.* | ||
- ^third_party/simple/.* | ||
- ^shared/middleware/.* | ||
- ^products/shared/.* | ||
- ^third_party/caf_files/.* | ||
- job: | ||
name: test-apps-child-1 | ||
parent: test-apps | ||
vars: | ||
domain_files: | ||
- **common-files | ||
- ^apps/test/.* | ||
- ^products/test/.* | ||
target_files: &target_files_child_1 | ||
"{{ domain_files | flatten }" | ||
files: &target_files_child_1` | ||
@maiton:matrix.org | * '''- job: | 19:45 |
name: test-apps | ||
description: Base job for test jobs | ||
vars: | ||
(...) | ||
files: &common-files | ||
- ^bazel/app/.* | ||
- ^third_party/python/.* | ||
- ^third_party/simple/.* | ||
- ^shared/middleware/.* | ||
- ^products/shared/.* | ||
- ^third_party/caf_files/.* | ||
- job: | ||
name: test-apps-child-1 | ||
parent: test-apps | ||
vars: | ||
domain_files: | ||
- **common-files | ||
- ^apps/test/.* | ||
- ^products/test/.* | ||
target_files: &target_files_child_1 | ||
"{{ domain_files | flatten }" | ||
files: &target_files_child_1''' | ||
@jim:acmegating.com | maiton: like: | 19:45 |
\`\`\` | ||
text | ||
\`\`\` | ||
@maiton:matrix.org | * ```- job: | 19:45 |
name: test-apps | ||
description: Base job for test jobs | ||
vars: | ||
(...) | ||
files: &common-files | ||
- ^bazel/app/.* | ||
- ^third_party/python/.* | ||
- ^third_party/simple/.* | ||
- ^shared/middleware/.* | ||
- ^products/shared/.* | ||
- ^third_party/caf_files/.* | ||
- job: | ||
name: test-apps-child-1 | ||
parent: test-apps | ||
vars: | ||
domain_files: | ||
- **common-files | ||
- ^apps/test/.* | ||
- ^products/test/.* | ||
target_files: &target_files_child_1 | ||
"{{ domain_files | flatten }" | ||
files: &target_files_child_1''' | ||
@maiton:matrix.org | * ```- job: | 19:46 |
name: test-apps | ||
description: Base job for test jobs | ||
vars: | ||
(...) | ||
files: &common-files | ||
- ^bazel/app/.* | ||
- ^third_party/python/.* | ||
- ^third_party/simple/.* | ||
- ^shared/middleware/.* | ||
- ^products/shared/.* | ||
- ^third_party/caf_files/.* | ||
- job: | ||
name: test-apps-child-1 | ||
parent: test-apps | ||
vars: | ||
domain_files: | ||
- **common-files | ||
- ^apps/test/.* | ||
- ^products/test/.* | ||
target_files: &target_files_child_1 | ||
"{{ domain_files | flatten }" | ||
files: &target_files_child_1 | ||
@maiton:matrix.org | * ```- job: | 19:46 |
name: test-apps | ||
description: Base job for test jobs | ||
vars: | ||
(...) | ||
files: &common-files | ||
- ^bazel/app/.* | ||
- ^third_party/python/.* | ||
- ^third_party/simple/.* | ||
- ^shared/middleware/.* | ||
- ^products/shared/.* | ||
- ^third_party/caf_files/.* | ||
- job: | ||
name: test-apps-child-1 | ||
parent: test-apps | ||
vars: | ||
domain_files: | ||
- **common-files | ||
- ^apps/test/.* | ||
- ^products/test/.* | ||
target_files: &target_files_child_1 | ||
"{{ domain_files | flatten }" | ||
files: &target_files_child_1``` | ||
@maiton:matrix.org | thanks | 19:46 |
@maiton:matrix.org | * ```- job: | 19:47 |
name: test-apps | ||
description: Base job for test jobs | ||
vars: | ||
(...) | ||
files: &common-files | ||
- ^bazel/app/.* | ||
- ^third_party/python/.* | ||
- ^third_party/simple/.* | ||
- ^shared/middleware/.* | ||
- ^products/shared/.* | ||
- ^third_party/caf_files/.* | ||
- job: | ||
name: test-apps-child-1 | ||
parent: test-apps | ||
vars: | ||
domain_files: | ||
- *common-files | ||
- ^apps/test/.* | ||
- ^products/test/.* | ||
target_files: &target_files_child_1 | ||
"{{ domain_files | flatten }" | ||
files: &target_files_child_1``` | ||
@maiton:matrix.org | Hope that's a little bit clearer, thanks | 19:48 |
@jim:acmegating.com | maiton: https://paste.opendev.org/show/bue5S2kLhUT576HI9cRl/ produces a yaml syntax error about a duplicate anchor | 19:50 |
@maiton:matrix.org | yep sorry my fault on pasting | 19:52 |
@jim:acmegating.com | maiton: just guessing, did you want that last "files: &target_files" to be "files: *target_files" ? | 19:52 |
@maiton:matrix.org | yes exactly | 19:53 |
@maiton:matrix.org | does it make sense to you the approach I wanted to use? | 19:53 |
@jim:acmegating.com | maiton: okay i see the disconnect. the target_files is using ansible syntax (with the `flatten` filter in {{}}). but the `files:` attribute is a zuul job setting. the zuul job stuff happens a level above ansible. so the results of the expansion of target_files is not available to the files attribute on the zuul job definition | 19:54 |
@jim:acmegating.com | maiton: if you update that python script and run it and squint at the output, you can see that the result of that is that job.files gets set to the literal string: `'{{ domain_files | flatten }` (yes that's missing a final } but that doesn't matter). that's syntatictally correct from zuul's point of view, but it's never going to see a file with that particular name so your job doesn't run | 19:56 |
@maiton:matrix.org | so if I understand well I cannot use the ansible "{{ domain_files | flatten }}" | 19:59 |
@maiton:matrix.org | because it will get just the corresponding string | 19:59 |
@jim:acmegating.com | maiton: correct; there is no anisble/jinja templating available on job attributes like `files` | 19:59 |
@maiton:matrix.org | mmh ok, any suggestion to achieve what I want? | 20:00 |
@jim:acmegating.com | maiton: (but to be clear, you can pass in things like that to ansible via job variables; that doesn't help you here, i'm just clarifying when you can use it) | 20:00 |
@maiton:matrix.org | yes, thanks it is much clearer now | 20:00 |
@maiton:matrix.org | I am wondering if there is any workaround to avoid to repeat the common-files list and extending as needed by each job | 20:01 |
@jim:acmegating.com | in opendev we typically just repeat them; if there is a very large number, you could look into automating the job definition creation (or validating that they're correct) | 20:10 |
@maiton:matrix.org | I see | 20:11 |
@maiton:matrix.org | thanks for your help :) | 20:12 |
-@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/+/908855 | 21:23 | |
-@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/+/908855 | 21:30 | |
-@gerrit:opendev.org- James E. Blair https://matrix.to/#/@jim:acmegating.com proposed: [zuul/nodepool] 908952: Add host-key-checking to metastatic driver https://review.opendev.org/c/zuul/nodepool/+/908952 | 22:13 | |
-@gerrit:opendev.org- Francisco Seruca Salgado proposed: [zuul/zuul] 908507: Update decrypt_secret.py script https://review.opendev.org/c/zuul/zuul/+/908507 | 22:15 |
Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!