)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"b1cde320b3ba1fcc55c66d798c236f8819849320","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"eee316b2_aea073ed","updated":"2025-05-12 12:15:50.000000000","message":"@mattc@stackhpc.com, @will@stackhpc.com could you please review and merge this?","commit_id":"c954a1c7734568e4376bec693c95ff6ae98f33f0"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"9c64205d8a9de3a5d980979311b65b5de8b03883","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"201f0d0d_5bed2fbb","updated":"2025-04-22 08:45:41.000000000","message":"Overall, looks good. One comment...","commit_id":"c954a1c7734568e4376bec693c95ff6ae98f33f0"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"6676fe3e0da3b75110cd423494d2483f0eef90e4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"ffbfd8da_ceedf720","updated":"2025-04-18 13:54:29.000000000","message":"recheck CI is now fixed","commit_id":"c954a1c7734568e4376bec693c95ff6ae98f33f0"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"535b0641131b22ad1e8a9847e0f42579f0966b09","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"03886e08_786df358","updated":"2025-04-17 19:32:26.000000000","message":"recheck get new logs","commit_id":"c954a1c7734568e4376bec693c95ff6ae98f33f0"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"46cd2526daa1e4d7a3fbd4ad0c17efb6ddebb1b3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"104e55ac_07d41f8a","updated":"2025-04-13 18:33:36.000000000","message":"recheck quorum queues related failures, should we fix CI first?","commit_id":"c954a1c7734568e4376bec693c95ff6ae98f33f0"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"ae7e3b6840571695608cb62dc52598f289bbb5b2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"4d0afe0a_d7ae5b8a","updated":"2025-05-08 20:32:54.000000000","message":"up","commit_id":"c954a1c7734568e4376bec693c95ff6ae98f33f0"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"f50307d0643ab98213e034a1ff3e80edfaf740be","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"f9a1ea14_fd143f4f","updated":"2025-04-13 19:28:11.000000000","message":"upgrade jobs still failed with rabbitmq quorum queues issue","commit_id":"c954a1c7734568e4376bec693c95ff6ae98f33f0"},{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"1c84100bcdcb4ff0771bdcca47194b60b40aa929","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"33dbc274_5e62b49a","in_reply_to":"f9a1ea14_fd143f4f","updated":"2025-04-14 08:49:09.000000000","message":"Indeed, now that we removed the option to disable the new features in KA master, we\u0027ll need a proper fix in Kayobe. I\u0027m working on it :)","commit_id":"c954a1c7734568e4376bec693c95ff6ae98f33f0"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"583c5fb6abcdabea998412b921a8e990c47df2ec","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"fc70eb9c_2e327b54","in_reply_to":"ffbfd8da_ceedf720","updated":"2025-04-19 15:01:53.000000000","message":"thanks","commit_id":"c954a1c7734568e4376bec693c95ff6ae98f33f0"},{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"6e07966db7dc33662cc4573ef20c274b1700bb86","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"ae39f109_e63e74dd","updated":"2025-05-14 09:05:35.000000000","message":"LGTM, thanks!\nWe\u0027re supporting Ubuntu 24.04 in Caracal, so we should backport to there.","commit_id":"ff63b25ec8053d93ca477d88c54bc59d24e80271"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"4d9af1ca9ccccb538eb743ad2c71ce460e4d8f91","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"a1677a6b_dd1e0fcc","updated":"2025-05-14 10:40:14.000000000","message":"Release note needs tweaking, doc update missing","commit_id":"ff63b25ec8053d93ca477d88c54bc59d24e80271"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"d04ae5ffea3cf8024f464826da40bd6b08b0617e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"6edb61da_28f2482c","in_reply_to":"ae39f109_e63e74dd","updated":"2025-05-15 09:27:32.000000000","message":"I\u0027ve made backports. Lets merge them.","commit_id":"ff63b25ec8053d93ca477d88c54bc59d24e80271"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"5615bddcc51b1375c1ecbf76f9b92051be498fe6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"33fccf96_202a9571","updated":"2025-05-14 13:09:09.000000000","message":"@maksim.malchuk@gmail.com Thanks for the patch. I hope you are OK with the changes I made.","commit_id":"b4733da80a3c532cbd45b76494f72eef06a9c8ba"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"2c6dcf151c13af45b318312c17b6234e8b5eea20","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"1575a704_a79ef645","in_reply_to":"33fccf96_202a9571","updated":"2025-05-15 09:26:55.000000000","message":"Thanks Pierre.","commit_id":"b4733da80a3c532cbd45b76494f72eef06a9c8ba"}],"ansible/roles/apt/templates/kayobe.sources.j2":[{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"9c64205d8a9de3a5d980979311b65b5de8b03883","unresolved":true,"context_lines":[{"line_number":7,"context_line":"Suites: {{ repo.suites | default(ansible_facts.distribution_release) }}"},{"line_number":8,"context_line":"Components: {{ repo.components | default(\u0027main\u0027) }}"},{"line_number":9,"context_line":"{% if repo.signed_by is defined %}"},{"line_number":10,"context_line":"Signed-by: {% if not \u0027/\u0027 in repo.signed_by %}{{ apt_keys_path }}/{% endif %}{{ repo.signed_by }}"},{"line_number":11,"context_line":"{% endif %}"},{"line_number":12,"context_line":"{% if repo.architecture is defined %}"},{"line_number":13,"context_line":"Architecture: {{ repo.architecture }}"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"319215a5_6978e907","line":10,"updated":"2025-04-22 08:45:41.000000000","message":"Could we not use the default filter\n```suggestion\nSigned-by: {{ repo.signed_by | default(apt_keys_path) }}\n```\nhere? Or did I miss somthing?","commit_id":"c954a1c7734568e4376bec693c95ff6ae98f33f0"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"ae7e3b6840571695608cb62dc52598f289bbb5b2","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Suites: {{ repo.suites | default(ansible_facts.distribution_release) }}"},{"line_number":8,"context_line":"Components: {{ repo.components | default(\u0027main\u0027) }}"},{"line_number":9,"context_line":"{% if repo.signed_by is defined %}"},{"line_number":10,"context_line":"Signed-by: {% if not \u0027/\u0027 in repo.signed_by %}{{ apt_keys_path }}/{% endif %}{{ repo.signed_by }}"},{"line_number":11,"context_line":"{% endif %}"},{"line_number":12,"context_line":"{% if repo.architecture is defined %}"},{"line_number":13,"context_line":"Architecture: {{ repo.architecture }}"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"6591cc2e_53599ae2","line":10,"in_reply_to":"112d60af_963e1822","updated":"2025-05-08 20:32:54.000000000","message":"Done","commit_id":"c954a1c7734568e4376bec693c95ff6ae98f33f0"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"9f3fba217b95b3a6ba505042d73185f996faf3b6","unresolved":true,"context_lines":[{"line_number":7,"context_line":"Suites: {{ repo.suites | default(ansible_facts.distribution_release) }}"},{"line_number":8,"context_line":"Components: {{ repo.components | default(\u0027main\u0027) }}"},{"line_number":9,"context_line":"{% if repo.signed_by is defined %}"},{"line_number":10,"context_line":"Signed-by: {% if not \u0027/\u0027 in repo.signed_by %}{{ apt_keys_path }}/{% endif %}{{ repo.signed_by }}"},{"line_number":11,"context_line":"{% endif %}"},{"line_number":12,"context_line":"{% if repo.architecture is defined %}"},{"line_number":13,"context_line":"Architecture: {{ repo.architecture }}"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"112d60af_963e1822","line":10,"in_reply_to":"319215a5_6978e907","updated":"2025-04-22 09:28:40.000000000","message":"yep, you miss the case where the provided the key with full path","commit_id":"c954a1c7734568e4376bec693c95ff6ae98f33f0"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"340bd96c8f9cee43b0e66bdd630a4c0e08c2443e","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Suites: {{ repo.suites | default(ansible_facts.distribution_release) }}"},{"line_number":8,"context_line":"Components: {{ repo.components | default(\u0027main\u0027) }}"},{"line_number":9,"context_line":"{% if repo.signed_by is defined %}"},{"line_number":10,"context_line":"Signed-by: {% if not \u0027/\u0027 in repo.signed_by %}{{ apt_keys_path }}/{% endif %}{{ repo.signed_by }}"},{"line_number":11,"context_line":"{% endif %}"},{"line_number":12,"context_line":"{% if repo.architecture is defined %}"},{"line_number":13,"context_line":"Architecture: {{ repo.architecture }}"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"478ea174_2254c7c2","line":10,"in_reply_to":"63be5981_b548384b","updated":"2025-05-13 15:43:37.000000000","message":"Thanks for investigation. Lets use startswith.","commit_id":"c954a1c7734568e4376bec693c95ff6ae98f33f0"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"3e7658643079a4a6fb2b66597bb7423eedc2b1f2","unresolved":true,"context_lines":[{"line_number":7,"context_line":"Suites: {{ repo.suites | default(ansible_facts.distribution_release) }}"},{"line_number":8,"context_line":"Components: {{ repo.components | default(\u0027main\u0027) }}"},{"line_number":9,"context_line":"{% if repo.signed_by is defined %}"},{"line_number":10,"context_line":"Signed-by: {% if not \u0027/\u0027 in repo.signed_by %}{{ apt_keys_path }}/{% endif %}{{ repo.signed_by }}"},{"line_number":11,"context_line":"{% endif %}"},{"line_number":12,"context_line":"{% if repo.architecture is defined %}"},{"line_number":13,"context_line":"Architecture: {{ repo.architecture }}"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"80d8ef50_8374499e","line":10,"in_reply_to":"6591cc2e_53599ae2","updated":"2025-05-13 14:05:29.000000000","message":"Fair, I misread this first time around. Your explanation makes sense. Possibly using:  {% repo.signed_by.startswith(\u0027/\u0027) %} would be more correct for an absolute path.","commit_id":"c954a1c7734568e4376bec693c95ff6ae98f33f0"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"3f412335556d7c24555b9d231b2ddd77a9293531","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Suites: {{ repo.suites | default(ansible_facts.distribution_release) }}"},{"line_number":8,"context_line":"Components: {{ repo.components | default(\u0027main\u0027) }}"},{"line_number":9,"context_line":"{% if repo.signed_by is defined %}"},{"line_number":10,"context_line":"Signed-by: {% if not \u0027/\u0027 in repo.signed_by %}{{ apt_keys_path }}/{% endif %}{{ repo.signed_by }}"},{"line_number":11,"context_line":"{% endif %}"},{"line_number":12,"context_line":"{% if repo.architecture is defined %}"},{"line_number":13,"context_line":"Architecture: {{ repo.architecture }}"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"e4e8c419_712fc999","line":10,"in_reply_to":"80d8ef50_8374499e","updated":"2025-05-13 14:40:38.000000000","message":"no, the path can be relative, not absolute.","commit_id":"c954a1c7734568e4376bec693c95ff6ae98f33f0"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"5440f7b3ff6643a8612071dbcc895d3c80948be9","unresolved":true,"context_lines":[{"line_number":7,"context_line":"Suites: {{ repo.suites | default(ansible_facts.distribution_release) }}"},{"line_number":8,"context_line":"Components: {{ repo.components | default(\u0027main\u0027) }}"},{"line_number":9,"context_line":"{% if repo.signed_by is defined %}"},{"line_number":10,"context_line":"Signed-by: {% if not \u0027/\u0027 in repo.signed_by %}{{ apt_keys_path }}/{% endif %}{{ repo.signed_by }}"},{"line_number":11,"context_line":"{% endif %}"},{"line_number":12,"context_line":"{% if repo.architecture is defined %}"},{"line_number":13,"context_line":"Architecture: {{ repo.architecture }}"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"63be5981_b548384b","line":10,"in_reply_to":"d2717545_6e2d017e","updated":"2025-05-13 15:30:29.000000000","message":"Failing example with your code:\n\n\n\trepo:\n\t  signed_by: some/relative/path\n\n\nDoesn\u0027t produce an absolute path as indicated as required in the man page.","commit_id":"c954a1c7734568e4376bec693c95ff6ae98f33f0"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"d6e69dab53c2578088c4459f9668aa30eeb95955","unresolved":true,"context_lines":[{"line_number":7,"context_line":"Suites: {{ repo.suites | default(ansible_facts.distribution_release) }}"},{"line_number":8,"context_line":"Components: {{ repo.components | default(\u0027main\u0027) }}"},{"line_number":9,"context_line":"{% if repo.signed_by is defined %}"},{"line_number":10,"context_line":"Signed-by: {% if not \u0027/\u0027 in repo.signed_by %}{{ apt_keys_path }}/{% endif %}{{ repo.signed_by }}"},{"line_number":11,"context_line":"{% endif %}"},{"line_number":12,"context_line":"{% if repo.architecture is defined %}"},{"line_number":13,"context_line":"Architecture: {{ repo.architecture }}"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"d2717545_6e2d017e","line":10,"in_reply_to":"e4e8c419_712fc999","updated":"2025-05-13 15:23:46.000000000","message":"Well the man page says:\n\n       •   Signed-By (signed-by) is an option to require a repository to pass apt-secure(8) verification with a\n           certain set of keys rather than all trusted keys apt has configured. It is specified as a list of\n           absolute paths to keyring files (have to be accessible and readable for the _apt system user, so\n           ensure everyone has read-permissions on the file) and fingerprints of keys to select from these\n           keyrings. The recommended locations for keyrings are /usr/share/keyrings for keyrings managed by\n           packages, and /etc/apt/keyrings for keyrings managed by the system operator. If no keyring files are\n           specified the default is the trusted.gpg keyring and all keyrings in the trusted.gpg.d/ directory\n           (see apt-key fingerprint). If no fingerprint is specified all keys in the keyrings are selected. A\n           fingerprint will accept also all signatures by a subkey of this key, if this isn\u0027t desired an\n           exclamation mark (!) can be appended to the fingerprint to disable this behaviour. The option\n           defaults to the value of the option with the same name if set in the previously acquired Release file\n           of this repository (only fingerprints can be specified there through). Otherwise all keys in the\n           trusted keyrings are considered valid signers for this repository. The option may also be set\n           directly to an embedded GPG public key block. Special care is needed to encode the empty line with\n           leading spaces and \".\":\n\nhttps://manpages.ubuntu.com/manpages/noble/man5/sources.list.5.html\n```suggestion\nSigned-by: {% if not repo.signed_by.startswith(\u0027/\u0027) %}{{ apt_keys_path }}/{% endif %}{{ repo.signed_by }}\n```\n\nSo either use the absolute path directly or a path relative to apt_keys_path","commit_id":"c954a1c7734568e4376bec693c95ff6ae98f33f0"}]}
