)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"808284b9b15eb5d73cda7823ca38a4578f837fb0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"0e8fb421_06d71d32","updated":"2026-04-16 15:17:13.000000000","message":"recheck: fresh logs now CI is working","commit_id":"5c783d8ed57e70408b388fc79e8792a085efd97e"},{"author":{"_account_id":38288,"name":"Leonie Chamberlin-Medd","display_name":"Leonie Chamberlin-Medd","email":"leonie@stackhpc.com","username":"LChams"},"change_message_id":"2984cfd68b65eb256025027cc9d33ac4b5712d37","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"f51fffd4_d349bb98","updated":"2026-04-29 12:25:20.000000000","message":"check experimental","commit_id":"4541dc91a61f4f5c31ca8aa415c9df9e115fa6fe"},{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"ac925c8f60e2677eee5c8ccacbd7298c84f3f907","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":42,"id":"f531c73f_5823bcc2","updated":"2026-05-20 15:28:04.000000000","message":"LGTM now, thanks!","commit_id":"b16f34ea04e60b051692813913f8f463730cf167"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"80e9494dc930e79a073739f7fc715979c8a702bd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":42,"id":"d13052e6_e2fb688e","updated":"2026-05-20 16:46:59.000000000","message":"Looks good, I see the hello world container: https://zuul.opendev.org/t/openstack/build/524df096b5714ec7b82da0d24b90ce8b/log/primary/docker_logs/hello-world.txt","commit_id":"b16f34ea04e60b051692813913f8f463730cf167"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"e8ed2aa1784633293d72bd777c109a5cdd8d35d3","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":42,"id":"da25ef75_32d959cf","updated":"2026-05-20 17:16:23.000000000","message":"Looks very good to me. Looks like we are missing limit on the infra vm destroy.","commit_id":"b16f34ea04e60b051692813913f8f463730cf167"},{"author":{"_account_id":38288,"name":"Leonie Chamberlin-Medd","display_name":"Leonie Chamberlin-Medd","email":"leonie@stackhpc.com","username":"LChams"},"change_message_id":"5902b7ea55512deea581dca31ddd65111b0b6e95","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":42,"id":"230400ec_4c6ffce8","in_reply_to":"da25ef75_32d959cf","updated":"2026-05-21 09:18:37.000000000","message":"Added in the variable, good idea.","commit_id":"b16f34ea04e60b051692813913f8f463730cf167"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"c41dcc4b3c81ddf24fdbb4f99b83af3697802c10","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":45,"id":"d4cba548_c210c54b","updated":"2026-05-21 10:24:51.000000000","message":"LGTM - Assuming CI passes :)","commit_id":"c6b028f6d726830b9556012c43bf12706817f38f"},{"author":{"_account_id":38288,"name":"Leonie Chamberlin-Medd","display_name":"Leonie Chamberlin-Medd","email":"leonie@stackhpc.com","username":"LChams"},"change_message_id":"5902b7ea55512deea581dca31ddd65111b0b6e95","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":45,"id":"c067b171_f37590d2","updated":"2026-05-21 09:18:37.000000000","message":"Will be offline for a couple of hours but will be back soon to amend anything else based on Zuul/reviews","commit_id":"c6b028f6d726830b9556012c43bf12706817f38f"}],"ansible/inventory/group_vars/all/controllers":[{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"8bd7de7eb2f8f053b8b3be05045abde9c5eb838f","unresolved":true,"context_lines":[{"line_number":213,"context_line":"#     image: \"docker.io/stackhpc/squid\""},{"line_number":214,"context_line":"#     pre: \"{{ kayobe_env_config_path }}/containers/squid/pre.yml\""},{"line_number":215,"context_line":"#     post: \"{{ kayobe_env_config_path }}/containers/squid/post.yml\""},{"line_number":216,"context_line":"#     tag: \"3.5.20-1\""},{"line_number":217,"context_line":"controller_containers: {}"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"# Whether to attempt a basic authentication login to a registry when"},{"line_number":220,"context_line":"# deploying controller containers"}],"source_content_type":"application/octet-stream","patch_set":37,"id":"8b7b0a5d_e3ced615","line":217,"range":{"start_line":216,"start_character":0,"end_line":217,"end_character":25},"updated":"2026-05-20 13:06:44.000000000","message":"```suggestion\n#     tag: \"3.5.20-1\"\n#\ncontroller_containers: {}\n```","commit_id":"6f421f71a061ef77d72ddccc57e814739e64bc76"},{"author":{"_account_id":38288,"name":"Leonie Chamberlin-Medd","display_name":"Leonie Chamberlin-Medd","email":"leonie@stackhpc.com","username":"LChams"},"change_message_id":"cde4d3ce5fafec104759772a0239970f0cd5d9f8","unresolved":false,"context_lines":[{"line_number":213,"context_line":"#     image: \"docker.io/stackhpc/squid\""},{"line_number":214,"context_line":"#     pre: \"{{ kayobe_env_config_path }}/containers/squid/pre.yml\""},{"line_number":215,"context_line":"#     post: \"{{ kayobe_env_config_path }}/containers/squid/post.yml\""},{"line_number":216,"context_line":"#     tag: \"3.5.20-1\""},{"line_number":217,"context_line":"controller_containers: {}"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"# Whether to attempt a basic authentication login to a registry when"},{"line_number":220,"context_line":"# deploying controller containers"}],"source_content_type":"application/octet-stream","patch_set":37,"id":"22a22fb9_b871ffd9","line":217,"range":{"start_line":216,"start_character":0,"end_line":217,"end_character":25},"in_reply_to":"8b7b0a5d_e3ced615","updated":"2026-05-20 13:35:45.000000000","message":"Done","commit_id":"6f421f71a061ef77d72ddccc57e814739e64bc76"}],"ansible/inventory/group_vars/all/seed":[{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"ced2d329bcadad06f43386be46d81a953cb41310","unresolved":true,"context_lines":[{"line_number":141,"context_line":"#     pre: \"{{ kayobe_env_config_path }}/containers/squid/pre.yml\""},{"line_number":142,"context_line":"#     post: \"{{ kayobe_env_config_path }}/containers/squid/post.yml\""},{"line_number":143,"context_line":"#     tag: \"3.5.20-1\""},{"line_number":144,"context_line":"#"},{"line_number":145,"context_line":"seed_containers: {}"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"# Whether to attempt a basic authentication login to a registry when"}],"source_content_type":"application/octet-stream","patch_set":34,"id":"0661d239_c8fdd57e","side":"PARENT","line":144,"updated":"2026-05-20 09:09:56.000000000","message":"Very nitpicky, but could you keep this # here and add it in the same place in the other group_vars? It matches the styling of other variable definitons.","commit_id":"ca2adbf8fa258527f54d46ab1ba9277ec89d7787"},{"author":{"_account_id":38288,"name":"Leonie Chamberlin-Medd","display_name":"Leonie Chamberlin-Medd","email":"leonie@stackhpc.com","username":"LChams"},"change_message_id":"2631b17fc16d54bce74e90dd082c9cd5b8cdd583","unresolved":false,"context_lines":[{"line_number":141,"context_line":"#     pre: \"{{ kayobe_env_config_path }}/containers/squid/pre.yml\""},{"line_number":142,"context_line":"#     post: \"{{ kayobe_env_config_path }}/containers/squid/post.yml\""},{"line_number":143,"context_line":"#     tag: \"3.5.20-1\""},{"line_number":144,"context_line":"#"},{"line_number":145,"context_line":"seed_containers: {}"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"# Whether to attempt a basic authentication login to a registry when"}],"source_content_type":"application/octet-stream","patch_set":34,"id":"5b1bcee9_e1758f07","side":"PARENT","line":144,"in_reply_to":"0661d239_c8fdd57e","updated":"2026-05-20 10:57:07.000000000","message":"Done","commit_id":"ca2adbf8fa258527f54d46ab1ba9277ec89d7787"},{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"8e7588c8521f1885d5800a2c4e53e7ce30390d4b","unresolved":true,"context_lines":[{"line_number":141,"context_line":"#     pre: \"{{ kayobe_env_config_path }}/containers/squid/pre.yml\""},{"line_number":142,"context_line":"#     post: \"{{ kayobe_env_config_path }}/containers/squid/post.yml\""},{"line_number":143,"context_line":"#     tag: \"3.5.20-1\""},{"line_number":144,"context_line":"#"},{"line_number":145,"context_line":"seed_containers: {}"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"# Whether to attempt a basic authentication login to a registry when"}],"source_content_type":"application/octet-stream","patch_set":34,"id":"f5694348_6ee53860","side":"PARENT","line":144,"in_reply_to":"5b1bcee9_e1758f07","updated":"2026-05-20 13:02:14.000000000","message":"Sorry still not quite right, there shouldn\u0027t be a newline. e.g.:\n```\n#     tag: \"3.5.20-1\"\n#\nseed_containers: {}\n```","commit_id":"ca2adbf8fa258527f54d46ab1ba9277ec89d7787"},{"author":{"_account_id":38288,"name":"Leonie Chamberlin-Medd","display_name":"Leonie Chamberlin-Medd","email":"leonie@stackhpc.com","username":"LChams"},"change_message_id":"3a5237f2733aedf9546adfa14a45f469d6cc69f2","unresolved":false,"context_lines":[{"line_number":141,"context_line":"#     pre: \"{{ kayobe_env_config_path }}/containers/squid/pre.yml\""},{"line_number":142,"context_line":"#     post: \"{{ kayobe_env_config_path }}/containers/squid/post.yml\""},{"line_number":143,"context_line":"#     tag: \"3.5.20-1\""},{"line_number":144,"context_line":"#"},{"line_number":145,"context_line":"seed_containers: {}"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"# Whether to attempt a basic authentication login to a registry when"}],"source_content_type":"application/octet-stream","patch_set":34,"id":"e4ab3b31_0eb6f507","side":"PARENT","line":144,"in_reply_to":"f5694348_6ee53860","updated":"2026-05-20 13:06:02.000000000","message":"Done, sorry about that!","commit_id":"ca2adbf8fa258527f54d46ab1ba9277ec89d7787"},{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"8bd7de7eb2f8f053b8b3be05045abde9c5eb838f","unresolved":true,"context_lines":[{"line_number":147,"context_line":""},{"line_number":148,"context_line":"# Whether to attempt a basic authentication login to a registry when"},{"line_number":149,"context_line":"# deploying seed containers."},{"line_number":150,"context_line":"seed_manage_containers_registry_attempt_login: \"{{ kolla_docker_registry_username is truthy and kolla_docker_registry_password is truthy }}\""},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"###############################################################################"},{"line_number":153,"context_line":"# Seed node firewalld configuration."}],"source_content_type":"application/octet-stream","patch_set":36,"id":"36473a0f_621037ac","line":150,"updated":"2026-05-20 13:06:44.000000000","message":"Can you handle `seed_deploy_containers_registry_attempt_login` -\u003e `seed_manage_containers_registry_attempt_login` the same as the other deprecated variables?","commit_id":"c9ad6ab0fc1929dad778a3843ed38776bf862474"},{"author":{"_account_id":38288,"name":"Leonie Chamberlin-Medd","display_name":"Leonie Chamberlin-Medd","email":"leonie@stackhpc.com","username":"LChams"},"change_message_id":"cde4d3ce5fafec104759772a0239970f0cd5d9f8","unresolved":false,"context_lines":[{"line_number":147,"context_line":""},{"line_number":148,"context_line":"# Whether to attempt a basic authentication login to a registry when"},{"line_number":149,"context_line":"# deploying seed containers."},{"line_number":150,"context_line":"seed_manage_containers_registry_attempt_login: \"{{ kolla_docker_registry_username is truthy and kolla_docker_registry_password is truthy }}\""},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"###############################################################################"},{"line_number":153,"context_line":"# Seed node firewalld configuration."}],"source_content_type":"application/octet-stream","patch_set":36,"id":"64456b66_0e4e46d7","line":150,"in_reply_to":"36473a0f_621037ac","updated":"2026-05-20 13:35:45.000000000","message":"Done","commit_id":"c9ad6ab0fc1929dad778a3843ed38776bf862474"}],"ansible/inventory/group_vars/ansible-control/deploy-containers":[{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"ced2d329bcadad06f43386be46d81a953cb41310","unresolved":true,"context_lines":[{"line_number":3,"context_line":"# Ansible control host custom containers configuration."},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"# Dict of containers to deploy."},{"line_number":6,"context_line":"deploy_custom_containers: \"{{ ansible_control_containers }}\""},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"# Whether to attempt a basic authentication login to a registry when"},{"line_number":9,"context_line":"# deploying Ansible control host containers"}],"source_content_type":"application/octet-stream","patch_set":34,"id":"418d95d9_71af3db7","line":6,"updated":"2026-05-20 09:09:56.000000000","message":"I think it would be better to call this `manage_custom_containers`.\nWith this, could you also rename these group_vars files from `deploy-containers` to `manage-containers`.","commit_id":"ad16cde276b0fba3704f4d2a3da9e32d750b1232"},{"author":{"_account_id":38288,"name":"Leonie Chamberlin-Medd","display_name":"Leonie Chamberlin-Medd","email":"leonie@stackhpc.com","username":"LChams"},"change_message_id":"2631b17fc16d54bce74e90dd082c9cd5b8cdd583","unresolved":false,"context_lines":[{"line_number":3,"context_line":"# Ansible control host custom containers configuration."},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"# Dict of containers to deploy."},{"line_number":6,"context_line":"deploy_custom_containers: \"{{ ansible_control_containers }}\""},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"# Whether to attempt a basic authentication login to a registry when"},{"line_number":9,"context_line":"# deploying Ansible control host containers"}],"source_content_type":"application/octet-stream","patch_set":34,"id":"d8381932_94776cc8","line":6,"in_reply_to":"418d95d9_71af3db7","updated":"2026-05-20 10:57:07.000000000","message":"Done","commit_id":"ad16cde276b0fba3704f4d2a3da9e32d750b1232"}],"ansible/manage-containers.yml":[{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"acc9d76616c3051359b3f51474f8b099973fa162","unresolved":true,"context_lines":[{"line_number":2,"context_line":"- name: \"Ensure defined container images are {{ kayobe_action | default(\u0027deploy\u0027) }}ed\""},{"line_number":3,"context_line":"  hosts: seed:overcloud:infra-vms:ansible-control"},{"line_number":4,"context_line":"  tags:"},{"line_number":5,"context_line":"    # Kept for backward compatibility."},{"line_number":6,"context_line":"    - seed-deploy-containers"},{"line_number":7,"context_line":"    - seed-manage-containers"},{"line_number":8,"context_line":"    - manage-containers"}],"source_content_type":"text/x-yaml","patch_set":39,"id":"1344afa3_5f09b8bb","line":5,"range":{"start_line":5,"start_character":0,"end_line":5,"end_character":2},"updated":"2026-05-20 14:49:46.000000000","message":"Can you add a note to remove the old tags in the Hibiscus cycle?","commit_id":"0608905fb51e027cb2df0affc1799210e7aa20f5"},{"author":{"_account_id":38288,"name":"Leonie Chamberlin-Medd","display_name":"Leonie Chamberlin-Medd","email":"leonie@stackhpc.com","username":"LChams"},"change_message_id":"602cd1a7a689918b4c7e439146aabcd5fa6d3d84","unresolved":false,"context_lines":[{"line_number":2,"context_line":"- name: \"Ensure defined container images are {{ kayobe_action | default(\u0027deploy\u0027) }}ed\""},{"line_number":3,"context_line":"  hosts: seed:overcloud:infra-vms:ansible-control"},{"line_number":4,"context_line":"  tags:"},{"line_number":5,"context_line":"    # Kept for backward compatibility."},{"line_number":6,"context_line":"    - seed-deploy-containers"},{"line_number":7,"context_line":"    - seed-manage-containers"},{"line_number":8,"context_line":"    - manage-containers"}],"source_content_type":"text/x-yaml","patch_set":39,"id":"a45aeedc_8b7c25f9","line":5,"range":{"start_line":5,"start_character":0,"end_line":5,"end_character":2},"in_reply_to":"1344afa3_5f09b8bb","updated":"2026-05-20 15:01:43.000000000","message":"Done","commit_id":"0608905fb51e027cb2df0affc1799210e7aa20f5"},{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"68e8ebd53eaaf3344008874d3e6b46d7e7086a8b","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- name: \"Ensure defined container images are {{ kayobe_action | default(\u0027deploy\u0027) }}ed\""},{"line_number":3,"context_line":"  hosts: \"{{ manage_containers_target_hosts }}\""},{"line_number":4,"context_line":"  tags:"},{"line_number":5,"context_line":"    # Kept for backward compatibility."},{"line_number":6,"context_line":"    # TODO(mattcrees): Will be removed in the Hibiscus release."}],"source_content_type":"text/x-yaml","patch_set":45,"id":"cc640557_947e819c","line":3,"updated":"2026-05-21 10:56:40.000000000","message":"Linters are unhappy:\nansible/manage-containers.yml:3:10: syntax-check[specific][/]: Error processing keyword \u0027hosts\u0027: \u0027manage_containers_target_hosts\u0027 is undefined\n\nI think it would be ok to default to the seed, essentially maintains existing behaviour?\n\n\n```suggestion\n  hosts: \"{{ manage_containers_target_hosts | default(\u0027seed\u0027) }}\"\n```","commit_id":"c6b028f6d726830b9556012c43bf12706817f38f"},{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"4f1c25761c384b59e93e6ee0e1f31e9bfe302b68","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- name: \"Ensure defined container images are {{ kayobe_action | default(\u0027deploy\u0027) }}ed\""},{"line_number":3,"context_line":"  hosts: \"{{ manage_containers_target_hosts }}\""},{"line_number":4,"context_line":"  tags:"},{"line_number":5,"context_line":"    # Kept for backward compatibility."},{"line_number":6,"context_line":"    # TODO(mattcrees): Will be removed in the Hibiscus release."}],"source_content_type":"text/x-yaml","patch_set":45,"id":"282feb58_c40f3eee","line":3,"in_reply_to":"91ac39db_9aed54c8","updated":"2026-05-21 11:51:54.000000000","message":"Done","commit_id":"c6b028f6d726830b9556012c43bf12706817f38f"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"e980167de3c0500e37dc6ff51e89e732074f6f7e","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- name: \"Ensure defined container images are {{ kayobe_action | default(\u0027deploy\u0027) }}ed\""},{"line_number":3,"context_line":"  hosts: \"{{ manage_containers_target_hosts }}\""},{"line_number":4,"context_line":"  tags:"},{"line_number":5,"context_line":"    # Kept for backward compatibility."},{"line_number":6,"context_line":"    # TODO(mattcrees): Will be removed in the Hibiscus release."}],"source_content_type":"text/x-yaml","patch_set":45,"id":"91ac39db_9aed54c8","line":3,"in_reply_to":"cc640557_947e819c","updated":"2026-05-21 11:01:38.000000000","message":"+1 Seems sensible","commit_id":"c6b028f6d726830b9556012c43bf12706817f38f"}],"ansible/roles/deploy-containers/tasks/deploy-container.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"ec3bd4cd15d162bddb431a98e7d848b0bbb5e6a5","unresolved":true,"context_lines":[{"line_number":10,"context_line":"  when: container_config.pre is defined"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"- name: \"[{{ container_name }}] Include role for pre-deploy phase\""},{"line_number":13,"context_line":"  include_role: \"{{ container_config.role }}\""},{"line_number":14,"context_line":"  vars:"},{"line_number":15,"context_line":"    deploy_containers_phase: \"pre-deploy\""},{"line_number":16,"context_line":"  when: container_config.role is defined"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"85d0536e_af3b6175","line":13,"updated":"2024-06-21 09:55:54.000000000","message":"FIXME: Use name parameter","commit_id":"209a49475bf2567fe894cdea0696f0d043794ec6"},{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"f1186c5beae6e2b37231dfaf6ccb68f8906e20b3","unresolved":false,"context_lines":[{"line_number":10,"context_line":"  when: container_config.pre is defined"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"- name: \"[{{ container_name }}] Include role for pre-deploy phase\""},{"line_number":13,"context_line":"  include_role: \"{{ container_config.role }}\""},{"line_number":14,"context_line":"  vars:"},{"line_number":15,"context_line":"    deploy_containers_phase: \"pre-deploy\""},{"line_number":16,"context_line":"  when: container_config.role is defined"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"d1647d8f_bb2e134c","line":13,"in_reply_to":"85d0536e_af3b6175","updated":"2026-05-20 09:17:12.000000000","message":"Done","commit_id":"209a49475bf2567fe894cdea0696f0d043794ec6"}],"ansible/roles/manage-containers/defaults/main.yml":[{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"ced2d329bcadad06f43386be46d81a953cb41310","unresolved":true,"context_lines":[{"line_number":2,"context_line":"# Action to perform: One of: \"deploy\", \"destroy\"."},{"line_number":3,"context_line":"manage_containers_action: \"deploy\""},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"deploy_containers_defaults:"},{"line_number":6,"context_line":"  comparisons:"},{"line_number":7,"context_line":"    image: strict"},{"line_number":8,"context_line":"    env: strict"},{"line_number":9,"context_line":"    volumes: strict"},{"line_number":10,"context_line":"  detach: True"},{"line_number":11,"context_line":"  network_mode: \"host\""},{"line_number":12,"context_line":"  init: True"},{"line_number":13,"context_line":"  privileged: False"},{"line_number":14,"context_line":"  restart_policy: \"unless-stopped\""},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"deploy_custom_containers: []"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"deploy_containers_docker_api_timeout: 120"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"manage_containers_registry:"},{"line_number":21,"context_line":"manage_containers_registry_username:"}],"source_content_type":"text/x-yaml","patch_set":34,"id":"44015919_d3db4213","line":18,"range":{"start_line":5,"start_character":0,"end_line":18,"end_character":41},"updated":"2026-05-20 09:09:56.000000000","message":"I think it would be good to rename the variables here so they\u0027re all consistent. The variables which existed before will need to be deprecated, and removed next cycle. For example:\n\n```suggestion\n#TODO(mattcrees): remove deploy_containers_defaults in Hibiscus cycle\nmanage_containers_defaults: \"{{ deploy_containers_defaults }}\"\n\ndeploy_containers_defaults:\n  comparisons:\n    image: strict\n    env: strict\n    volumes: strict\n  detach: True\n  network_mode: \"host\"\n  init: True\n  privileged: False\n  restart_policy: \"unless-stopped\"\n\nmanage_custom_containers: []\n\n#TODO(mattcrees): remove deploy_containers_docker_api_timeout in Hibiscus cycle.\nmanage_containers_docker_api_timeout: \"{{ deploy_containers_docker_api_timeout | default(120) }}\"\n```\n\nA `deprecations` section will need to be added to the release note ewxplaining the variables which are being replaced.\n\nYou\u0027d also need to change the manage-containers role to user these new variables instead.\n\n(You can use your own username in the TODOs if you\u0027d prefer)","commit_id":"ad16cde276b0fba3704f4d2a3da9e32d750b1232"},{"author":{"_account_id":38288,"name":"Leonie Chamberlin-Medd","display_name":"Leonie Chamberlin-Medd","email":"leonie@stackhpc.com","username":"LChams"},"change_message_id":"2631b17fc16d54bce74e90dd082c9cd5b8cdd583","unresolved":false,"context_lines":[{"line_number":2,"context_line":"# Action to perform: One of: \"deploy\", \"destroy\"."},{"line_number":3,"context_line":"manage_containers_action: \"deploy\""},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"deploy_containers_defaults:"},{"line_number":6,"context_line":"  comparisons:"},{"line_number":7,"context_line":"    image: strict"},{"line_number":8,"context_line":"    env: strict"},{"line_number":9,"context_line":"    volumes: strict"},{"line_number":10,"context_line":"  detach: True"},{"line_number":11,"context_line":"  network_mode: \"host\""},{"line_number":12,"context_line":"  init: True"},{"line_number":13,"context_line":"  privileged: False"},{"line_number":14,"context_line":"  restart_policy: \"unless-stopped\""},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"deploy_custom_containers: []"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"deploy_containers_docker_api_timeout: 120"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"manage_containers_registry:"},{"line_number":21,"context_line":"manage_containers_registry_username:"}],"source_content_type":"text/x-yaml","patch_set":34,"id":"789e8724_3f37aef1","line":18,"range":{"start_line":5,"start_character":0,"end_line":18,"end_character":41},"in_reply_to":"44015919_d3db4213","updated":"2026-05-20 10:57:07.000000000","message":"Done","commit_id":"ad16cde276b0fba3704f4d2a3da9e32d750b1232"}],"ansible/roles/manage-containers/tasks/deploy-container.yml":[{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"ced2d329bcadad06f43386be46d81a953cb41310","unresolved":true,"context_lines":[{"line_number":13,"context_line":"- name: \"[{{ container_name }}] Include role for pre-deploy phase\""},{"line_number":14,"context_line":"  include_role:"},{"line_number":15,"context_line":"    name: \"{{ container_config.role }}\""},{"line_number":16,"context_line":"  vars:"},{"line_number":17,"context_line":"    deploy_containers_phase: \"pre-deploy\""},{"line_number":18,"context_line":"  when: container_config.role is defined"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"- name: \"[{{ container_name }}] Start container\""}],"source_content_type":"text/x-yaml","patch_set":34,"id":"b83e4949_2d59ead8","line":17,"range":{"start_line":16,"start_character":0,"end_line":17,"end_character":41},"updated":"2026-05-20 09:09:56.000000000","message":"I don\u0027t think you need this defined here, or in the other roles? I don\u0027t see where deploy_containers_phase is used.","commit_id":"ad16cde276b0fba3704f4d2a3da9e32d750b1232"},{"author":{"_account_id":38288,"name":"Leonie Chamberlin-Medd","display_name":"Leonie Chamberlin-Medd","email":"leonie@stackhpc.com","username":"LChams"},"change_message_id":"2631b17fc16d54bce74e90dd082c9cd5b8cdd583","unresolved":false,"context_lines":[{"line_number":13,"context_line":"- name: \"[{{ container_name }}] Include role for pre-deploy phase\""},{"line_number":14,"context_line":"  include_role:"},{"line_number":15,"context_line":"    name: \"{{ container_config.role }}\""},{"line_number":16,"context_line":"  vars:"},{"line_number":17,"context_line":"    deploy_containers_phase: \"pre-deploy\""},{"line_number":18,"context_line":"  when: container_config.role is defined"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"- name: \"[{{ container_name }}] Start container\""}],"source_content_type":"text/x-yaml","patch_set":34,"id":"5bb0b515_c255f4cd","line":17,"range":{"start_line":16,"start_character":0,"end_line":17,"end_character":41},"in_reply_to":"b83e4949_2d59ead8","updated":"2026-05-20 10:57:07.000000000","message":"Done","commit_id":"ad16cde276b0fba3704f4d2a3da9e32d750b1232"}],"ansible/roles/manage-containers/tasks/upgrade.yml":[{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"efb9a5fc7fceaed5dd7ff251f3b9c523b3cc96f9","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- include_tasks: pull.yml"},{"line_number":3,"context_line":"- include_tasks: deploy.yml"}],"source_content_type":"text/x-yaml","patch_set":40,"id":"a56ebada_56fdf505","line":2,"updated":"2026-05-20 15:07:29.000000000","message":"There\u0027s no need to call pull.yml here, the same kayobe_container_image task is done at the start of deploy.yml","commit_id":"16e33a2b6b81a7d0403e0b608d9a799bb3163af5"},{"author":{"_account_id":38288,"name":"Leonie Chamberlin-Medd","display_name":"Leonie Chamberlin-Medd","email":"leonie@stackhpc.com","username":"LChams"},"change_message_id":"a33660b4f869a69119ea421584541c053440bc87","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- include_tasks: pull.yml"},{"line_number":3,"context_line":"- include_tasks: deploy.yml"}],"source_content_type":"text/x-yaml","patch_set":40,"id":"b3c99f93_057d3aa5","line":2,"in_reply_to":"a56ebada_56fdf505","updated":"2026-05-20 15:18:01.000000000","message":"Done","commit_id":"16e33a2b6b81a7d0403e0b608d9a799bb3163af5"}],"doc/source/_extra/.htaccess":[{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"a447fdbf7f197d5c6d03dcea18968c1fff437b7f","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"# The following redirect was added when the seed-custom-containers feature was"},{"line_number":21,"context_line":"# generalised for other hosts."},{"line_number":22,"context_line":"redirectmatch 301 ^/([^/]+/[^/]+)/configuration/reference/seed-custom-containers.html$\t/$1/configuration/reference/custom-containers.html"}],"source_content_type":"application/octet-stream","patch_set":42,"id":"b28f9723_d4b1ea05","line":22,"updated":"2026-05-20 17:14:34.000000000","message":"Just a note. This didn\u0027t seem to work in the preview site:\n\nhttps://53fc53517f09bcfe4ffc-e8ad39bee4b03d74ca06a7b7508191a6.ssl.cf5.rackcdn.com/openstack/4c3a6f20e70340c589cb5578ef919cc5/docs/configuration/reference/seed-custom-containers.html\n\nBut unsure if it should or if I did something wrong.","commit_id":"b16f34ea04e60b051692813913f8f463730cf167"},{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"44fa328b8aa4eb40ad1f97d92b77379af473fd55","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"# The following redirect was added when the seed-custom-containers feature was"},{"line_number":21,"context_line":"# generalised for other hosts."},{"line_number":22,"context_line":"redirectmatch 301 ^/([^/]+/[^/]+)/configuration/reference/seed-custom-containers.html$\t/$1/configuration/reference/custom-containers.html"}],"source_content_type":"application/octet-stream","patch_set":42,"id":"a0e53ed8_562ed1b6","line":22,"in_reply_to":"b28f9723_d4b1ea05","updated":"2026-05-21 08:41:24.000000000","message":"The other redirects also don\u0027t seem to work in the preview site. So probably not an issue with this patch.","commit_id":"b16f34ea04e60b051692813913f8f463730cf167"}],"doc/source/configuration/reference/custom-containers.rst":[{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"efb9a5fc7fceaed5dd7ff251f3b9c523b3cc96f9","unresolved":true,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"Docker registry"},{"line_number":84,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"Custom containers can be pulled from a docker registry deployed on the seed."},{"line_number":88,"context_line":"This is possible"},{"line_number":89,"context_line":"since the docker registry deployment step precedes the custom container"},{"line_number":90,"context_line":"deployment step."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"It is also possible to deploy a custom containerised docker registry as a"},{"line_number":93,"context_line":"custom seed container. In this case, basic"},{"line_number":94,"context_line":"authentication login attempts can be disabled by setting:"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":".. code-block:: yaml"},{"line_number":97,"context_line":"  :caption: ``seed.yml``"}],"source_content_type":"text/x-rst","patch_set":40,"id":"6bc9ef2d_a68a6efa","line":94,"range":{"start_line":85,"start_character":1,"end_line":94,"end_character":57},"updated":"2026-05-20 15:07:29.000000000","message":"Nit: could you rejig the the formatting here so lines don\u0027t break early?","commit_id":"16e33a2b6b81a7d0403e0b608d9a799bb3163af5"},{"author":{"_account_id":38288,"name":"Leonie Chamberlin-Medd","display_name":"Leonie Chamberlin-Medd","email":"leonie@stackhpc.com","username":"LChams"},"change_message_id":"a33660b4f869a69119ea421584541c053440bc87","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"Docker registry"},{"line_number":84,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"Custom containers can be pulled from a docker registry deployed on the seed."},{"line_number":88,"context_line":"This is possible"},{"line_number":89,"context_line":"since the docker registry deployment step precedes the custom container"},{"line_number":90,"context_line":"deployment step."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"It is also possible to deploy a custom containerised docker registry as a"},{"line_number":93,"context_line":"custom seed container. In this case, basic"},{"line_number":94,"context_line":"authentication login attempts can be disabled by setting:"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":".. code-block:: yaml"},{"line_number":97,"context_line":"  :caption: ``seed.yml``"}],"source_content_type":"text/x-rst","patch_set":40,"id":"132cc72e_7e0ff92e","line":94,"range":{"start_line":85,"start_character":1,"end_line":94,"end_character":57},"in_reply_to":"6bc9ef2d_a68a6efa","updated":"2026-05-20 15:18:01.000000000","message":"Done","commit_id":"16e33a2b6b81a7d0403e0b608d9a799bb3163af5"}],"kayobe/cli/commands.py":[{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"efb9a5fc7fceaed5dd7ff251f3b9c523b3cc96f9","unresolved":true,"context_lines":[{"line_number":1767,"context_line":"        self.run_kayobe_playbooks(parsed_args, playbooks,"},{"line_number":1768,"context_line":"                                  extra_vars\u003dextra_vars, limit\u003d\"overcloud\")"},{"line_number":1769,"context_line":""},{"line_number":1770,"context_line":"        # Deploy custom containers"},{"line_number":1771,"context_line":"        playbooks \u003d _build_playbook_list(\"manage-containers\")"},{"line_number":1772,"context_line":"        extra_vars \u003d {\"kayobe_action\": \"deploy\"}"},{"line_number":1773,"context_line":"        self.run_kayobe_playbooks(parsed_args, playbooks, limit\u003d\"overcloud\","},{"line_number":1774,"context_line":"                                  extra_vars\u003dextra_vars)"},{"line_number":1775,"context_line":""},{"line_number":1776,"context_line":"        # Post-deployment configuration."},{"line_number":1777,"context_line":"        self.run_kolla_ansible_overcloud(parsed_args, \"post-deploy\")"},{"line_number":1778,"context_line":"        # Create an environment file for accessing the public API as the admin"}],"source_content_type":"text/x-python","patch_set":40,"id":"1c61b2b6_5e150004","line":1775,"range":{"start_line":1770,"start_character":0,"end_line":1775,"end_character":1},"updated":"2026-05-20 15:07:29.000000000","message":"Do you need the same in OvercloudServiceDestroy?","commit_id":"16e33a2b6b81a7d0403e0b608d9a799bb3163af5"},{"author":{"_account_id":38288,"name":"Leonie Chamberlin-Medd","display_name":"Leonie Chamberlin-Medd","email":"leonie@stackhpc.com","username":"LChams"},"change_message_id":"a33660b4f869a69119ea421584541c053440bc87","unresolved":false,"context_lines":[{"line_number":1767,"context_line":"        self.run_kayobe_playbooks(parsed_args, playbooks,"},{"line_number":1768,"context_line":"                                  extra_vars\u003dextra_vars, limit\u003d\"overcloud\")"},{"line_number":1769,"context_line":""},{"line_number":1770,"context_line":"        # Deploy custom containers"},{"line_number":1771,"context_line":"        playbooks \u003d _build_playbook_list(\"manage-containers\")"},{"line_number":1772,"context_line":"        extra_vars \u003d {\"kayobe_action\": \"deploy\"}"},{"line_number":1773,"context_line":"        self.run_kayobe_playbooks(parsed_args, playbooks, limit\u003d\"overcloud\","},{"line_number":1774,"context_line":"                                  extra_vars\u003dextra_vars)"},{"line_number":1775,"context_line":""},{"line_number":1776,"context_line":"        # Post-deployment configuration."},{"line_number":1777,"context_line":"        self.run_kolla_ansible_overcloud(parsed_args, \"post-deploy\")"},{"line_number":1778,"context_line":"        # Create an environment file for accessing the public API as the admin"}],"source_content_type":"text/x-python","patch_set":40,"id":"2270f2b4_3c88e977","line":1775,"range":{"start_line":1770,"start_character":0,"end_line":1775,"end_character":1},"in_reply_to":"1c61b2b6_5e150004","updated":"2026-05-20 15:18:01.000000000","message":"On further inspection I\u0027ve removed this from OvercloudServiceDeploy because overcloud-extras.yml imports manage-containers.yml. Thank you!","commit_id":"16e33a2b6b81a7d0403e0b608d9a799bb3163af5"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"5e743f9f3e668eb5454c07e43891144967965619","unresolved":true,"context_lines":[{"line_number":1767,"context_line":"        self.run_kayobe_playbooks(parsed_args, playbooks,"},{"line_number":1768,"context_line":"                                  extra_vars\u003dextra_vars, limit\u003d\"overcloud\")"},{"line_number":1769,"context_line":""},{"line_number":1770,"context_line":"        # Deploy custom containers"},{"line_number":1771,"context_line":"        playbooks \u003d _build_playbook_list(\"manage-containers\")"},{"line_number":1772,"context_line":"        extra_vars \u003d {\"kayobe_action\": \"deploy\"}"},{"line_number":1773,"context_line":"        self.run_kayobe_playbooks(parsed_args, playbooks, limit\u003d\"overcloud\","}],"source_content_type":"text/x-python","patch_set":41,"id":"70ee862c_3789471f","line":1770,"updated":"2026-05-20 17:50:03.000000000","message":"Not sure why we lost this","commit_id":"923a32719658c3bdad056f0c886ec663871f8599"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"0cbb0ee6067e1a962b0ee3b5a9b92d3e2c4b0d1d","unresolved":true,"context_lines":[{"line_number":1767,"context_line":"        self.run_kayobe_playbooks(parsed_args, playbooks,"},{"line_number":1768,"context_line":"                                  extra_vars\u003dextra_vars, limit\u003d\"overcloud\")"},{"line_number":1769,"context_line":""},{"line_number":1770,"context_line":"        # Deploy custom containers"},{"line_number":1771,"context_line":"        playbooks \u003d _build_playbook_list(\"manage-containers\")"},{"line_number":1772,"context_line":"        extra_vars \u003d {\"kayobe_action\": \"deploy\"}"},{"line_number":1773,"context_line":"        self.run_kayobe_playbooks(parsed_args, playbooks, limit\u003d\"overcloud\","}],"source_content_type":"text/x-python","patch_set":41,"id":"ecac486c_964d7c30","line":1770,"in_reply_to":"70ee862c_3789471f","updated":"2026-05-20 17:55:47.000000000","message":"Ahh, makes sense - already in https://review.opendev.org/c/openstack/kayobe/+/922402/42/ansible/overcloud-extras.yml. I think that is why the test is failing though:\n\nhttps://review.opendev.org/c/openstack/kayobe/+/922402/42/kayobe/tests/unit/cli/test_commands.py#17777","commit_id":"923a32719658c3bdad056f0c886ec663871f8599"},{"author":{"_account_id":38288,"name":"Leonie Chamberlin-Medd","display_name":"Leonie Chamberlin-Medd","email":"leonie@stackhpc.com","username":"LChams"},"change_message_id":"5902b7ea55512deea581dca31ddd65111b0b6e95","unresolved":false,"context_lines":[{"line_number":1767,"context_line":"        self.run_kayobe_playbooks(parsed_args, playbooks,"},{"line_number":1768,"context_line":"                                  extra_vars\u003dextra_vars, limit\u003d\"overcloud\")"},{"line_number":1769,"context_line":""},{"line_number":1770,"context_line":"        # Deploy custom containers"},{"line_number":1771,"context_line":"        playbooks \u003d _build_playbook_list(\"manage-containers\")"},{"line_number":1772,"context_line":"        extra_vars \u003d {\"kayobe_action\": \"deploy\"}"},{"line_number":1773,"context_line":"        self.run_kayobe_playbooks(parsed_args, playbooks, limit\u003d\"overcloud\","}],"source_content_type":"text/x-python","patch_set":41,"id":"9b0b13c1_58565351","line":1770,"in_reply_to":"ecac486c_964d7c30","updated":"2026-05-21 09:18:37.000000000","message":"Hopefully fixed","commit_id":"923a32719658c3bdad056f0c886ec663871f8599"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"a447fdbf7f197d5c6d03dcea18968c1fff437b7f","unresolved":true,"context_lines":[{"line_number":1281,"context_line":"        playbooks \u003d _build_playbook_list("},{"line_number":1282,"context_line":"            \"manage-containers\","},{"line_number":1283,"context_line":"            \"docker-registry\")"},{"line_number":1284,"context_line":"        self.run_kayobe_playbooks(parsed_args, playbooks,"},{"line_number":1285,"context_line":"                                  extra_vars\u003dextra_vars)"},{"line_number":1286,"context_line":""},{"line_number":1287,"context_line":""},{"line_number":1288,"context_line":"class OvercloudInventoryDiscover(KayobeAnsibleMixin, VaultMixin, Command):"}],"source_content_type":"text/x-python","patch_set":42,"id":"9aec903c_87dcdaee","line":1285,"range":{"start_line":1284,"start_character":0,"end_line":1285,"end_character":56},"updated":"2026-05-20 17:14:34.000000000","message":"```suggestion\n        self.run_kayobe_playbooks(parsed_args, playbooks, limit\u003d\"infra-vms\"\n                                  extra_vars\u003dextra_vars)\n```\nDoes make me wonder if the playbook should target some variable:\n\n    - hosts: \"{{ manage_containers_target_hosts }}\"\n\nSo it errors if we forget to set the targets, rather than running across all hosts. Destroy fills me with fear!","commit_id":"b16f34ea04e60b051692813913f8f463730cf167"},{"author":{"_account_id":38288,"name":"Leonie Chamberlin-Medd","display_name":"Leonie Chamberlin-Medd","email":"leonie@stackhpc.com","username":"LChams"},"change_message_id":"5902b7ea55512deea581dca31ddd65111b0b6e95","unresolved":false,"context_lines":[{"line_number":1281,"context_line":"        playbooks \u003d _build_playbook_list("},{"line_number":1282,"context_line":"            \"manage-containers\","},{"line_number":1283,"context_line":"            \"docker-registry\")"},{"line_number":1284,"context_line":"        self.run_kayobe_playbooks(parsed_args, playbooks,"},{"line_number":1285,"context_line":"                                  extra_vars\u003dextra_vars)"},{"line_number":1286,"context_line":""},{"line_number":1287,"context_line":""},{"line_number":1288,"context_line":"class OvercloudInventoryDiscover(KayobeAnsibleMixin, VaultMixin, Command):"}],"source_content_type":"text/x-python","patch_set":42,"id":"c5fe47bc_be607b8b","line":1285,"range":{"start_line":1284,"start_character":0,"end_line":1285,"end_character":56},"in_reply_to":"96169b94_81926d22","updated":"2026-05-21 09:18:37.000000000","message":"Done","commit_id":"b16f34ea04e60b051692813913f8f463730cf167"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"da318ad60f1c50a6263a9083992883d00f625d55","unresolved":true,"context_lines":[{"line_number":1281,"context_line":"        playbooks \u003d _build_playbook_list("},{"line_number":1282,"context_line":"            \"manage-containers\","},{"line_number":1283,"context_line":"            \"docker-registry\")"},{"line_number":1284,"context_line":"        self.run_kayobe_playbooks(parsed_args, playbooks,"},{"line_number":1285,"context_line":"                                  extra_vars\u003dextra_vars)"},{"line_number":1286,"context_line":""},{"line_number":1287,"context_line":""},{"line_number":1288,"context_line":"class OvercloudInventoryDiscover(KayobeAnsibleMixin, VaultMixin, Command):"}],"source_content_type":"text/x-python","patch_set":42,"id":"96169b94_81926d22","line":1285,"range":{"start_line":1284,"start_character":0,"end_line":1285,"end_character":56},"in_reply_to":"9aec903c_87dcdaee","updated":"2026-05-21 08:41:30.000000000","message":"Alternative might just to check https://docs.ansible.com/projects/ansible/latest/reference_appendices/special_variables.html#term-ansible_limit and fail if no limit","commit_id":"b16f34ea04e60b051692813913f8f463730cf167"}]}
