)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"c2caf820c89df4c7d47a3fe6d04e6f2c317041c8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"0d306741_af02c7ee","updated":"2024-01-29 14:10:07.000000000","message":"Needs a release note.","commit_id":"91789bba02bc9b8f6f6c1c0253c9ec2c1a2d6472"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"472bd5d4b759c64af1ea313f1b19e1d58f98ff18","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"6c72e96d_816aff77","in_reply_to":"0d306741_af02c7ee","updated":"2024-01-30 14:25:14.000000000","message":"Done","commit_id":"91789bba02bc9b8f6f6c1c0253c9ec2c1a2d6472"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"838b62a37b78e3907a3124f9a2063bd64709ed5a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"194def63_190ceac9","updated":"2024-01-30 15:15:19.000000000","message":"CI last passed on 23rd Jan","commit_id":"a0528108f4813124a6778e6d676c9db47f793d90"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"f8ecb3dc4d7274e5ecb835036895a95abed6f73d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"089db4c9_7f51a0f9","updated":"2024-01-30 14:37:40.000000000","message":"I haven\u0027t fixed the CI failures, but have addressed my own comments.","commit_id":"a0528108f4813124a6778e6d676c9db47f793d90"},{"author":{"_account_id":23084,"name":"Bartosz Bezak","email":"bartosz@stackhpc.com","username":"b.bezak"},"change_message_id":"de077b43db7634f81907ee05e3db5bff7bcc63c0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"ba8459a8_63c387e7","in_reply_to":"194def63_190ceac9","updated":"2024-01-30 15:18:10.000000000","message":"yeah, Ironic enforced new RBAC - https://review.opendev.org/c/openstack/kolla-ansible/+/906858","commit_id":"a0528108f4813124a6778e6d676c9db47f793d90"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"303e7596cc336126446005a162ce7206ea7187be","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"39aa64e4_4298032a","updated":"2024-01-31 09:50:41.000000000","message":"Thanks for fixing it up. I\u0027ve also linked to the bug report I made.","commit_id":"02c93963547e2b7d10847e454a351903177a8d92"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"6ba423d694f2e3edb720a5d304fb66a8df8166b6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"c4ddd7d6_0e5b6506","updated":"2024-01-31 16:46:49.000000000","message":"Seems like we were hitting:\n\nhttps://github.com/ansible/ansible/issues/77004\n\nLooking at the kolla collection it seems like docker_custom_config should be a dict:\n\nhttps://github.com/search?q\u003drepo%3Aopenstack%2Fansible-collection-kolla%20docker_custom_config\u0026type\u003dcode\n\nas it is used with the combine filter (although the default is defined in a strange way)","commit_id":"cce9587d998f69028cb4dccf80665e9a329a3333"}],"ansible/roles/docker/tasks/main.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"7a7ad76bf5161993d4ac1c57ca175580ebfb356e","unresolved":true,"context_lines":[{"line_number":2,"context_line":"- import_role:"},{"line_number":3,"context_line":"    name: openstack.kolla.docker"},{"line_number":4,"context_line":"  vars:"},{"line_number":5,"context_line":"    docker_custom_config: \"{{ lookup(\u0027template\u0027, \u0027daemon.json.j2\u0027) | from_json }}\""}],"source_content_type":"text/x-yaml","patch_set":8,"id":"b1872a6d_f9388776","line":5,"updated":"2024-02-01 09:25:51.000000000","message":"I suppose this is going around the houses a bit - build up a dict, convert to JSON, decode JSON... Would it be clearer to build up the dict here?","commit_id":"d5e650215acf8442fb1ee35fc8832fc8a248077f"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"003dfcc1be28814acce9716dcce20e00b656aa25","unresolved":false,"context_lines":[{"line_number":2,"context_line":"- import_role:"},{"line_number":3,"context_line":"    name: openstack.kolla.docker"},{"line_number":4,"context_line":"  vars:"},{"line_number":5,"context_line":"    docker_custom_config: \"{{ lookup(\u0027template\u0027, \u0027daemon.json.j2\u0027) | from_json }}\""}],"source_content_type":"text/x-yaml","patch_set":8,"id":"60d69aef_4f5ee50f","line":5,"in_reply_to":"b1872a6d_f9388776","updated":"2024-02-01 09:32:08.000000000","message":"Done","commit_id":"d5e650215acf8442fb1ee35fc8832fc8a248077f"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"9e568c0c6a418584f65ae6cea4523b100dc1e05f","unresolved":true,"context_lines":[{"line_number":2,"context_line":"- import_role:"},{"line_number":3,"context_line":"    name: openstack.kolla.docker"},{"line_number":4,"context_line":"  vars:"},{"line_number":5,"context_line":"    docker_custom_config: \u003e-"},{"line_number":6,"context_line":"      {%- set options \u003d {} -%}"},{"line_number":7,"context_line":"      {%- if docker_daemon_debug | bool -%}"},{"line_number":8,"context_line":"      {%- set _ \u003d options.update({\"debug\": docker_daemon_debug | bool}) -%}"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"86b85067_94e6b65e","line":5,"updated":"2024-02-01 15:29:36.000000000","message":"most of this is actually now supported as variables passed to the role - https://github.com/openstack/ansible-collection-kolla/blob/master/roles/docker/defaults/main.yml","commit_id":"280e84be829f4bd8c147d938a2a339021c4dea09"}],"ansible/roles/docker/templates/daemon.json.j2":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"c2caf820c89df4c7d47a3fe6d04e6f2c317041c8","unresolved":true,"context_lines":[{"line_number":13,"context_line":"  \"mtu\": {{ docker_daemon_mtu }},"},{"line_number":14,"context_line":"{% endif %}"},{"line_number":15,"context_line":"{% if docker_daemon_live_restore %}"},{"line_number":16,"context_line":"  \"live-restore\": {{ docker_daemon_live_restore | to_json }},"},{"line_number":17,"context_line":"{% endif %}"},{"line_number":18,"context_line":"}"}],"source_content_type":"text/x-jinja2","patch_set":3,"id":"504ca4aa_bd023a1c","line":16,"range":{"start_line":16,"start_character":60,"end_line":16,"end_character":61},"updated":"2024-01-29 14:10:07.000000000","message":"trailing comma will make it invalid JSON","commit_id":"91789bba02bc9b8f6f6c1c0253c9ec2c1a2d6472"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"472bd5d4b759c64af1ea313f1b19e1d58f98ff18","unresolved":false,"context_lines":[{"line_number":13,"context_line":"  \"mtu\": {{ docker_daemon_mtu }},"},{"line_number":14,"context_line":"{% endif %}"},{"line_number":15,"context_line":"{% if docker_daemon_live_restore %}"},{"line_number":16,"context_line":"  \"live-restore\": {{ docker_daemon_live_restore | to_json }},"},{"line_number":17,"context_line":"{% endif %}"},{"line_number":18,"context_line":"}"}],"source_content_type":"text/x-jinja2","patch_set":3,"id":"ea00f0e1_03200c91","line":16,"range":{"start_line":16,"start_character":60,"end_line":16,"end_character":61},"in_reply_to":"504ca4aa_bd023a1c","updated":"2024-01-30 14:25:14.000000000","message":"Done","commit_id":"91789bba02bc9b8f6f6c1c0253c9ec2c1a2d6472"}],"doc/source/configuration/reference/hosts.rst":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"c2caf820c89df4c7d47a3fe6d04e6f2c317041c8","unresolved":true,"context_lines":[{"line_number":905,"context_line":"   always enabled by default."},{"line_number":906,"context_line":""},{"line_number":907,"context_line":"A logical volume for storing Docker volume data, mounted at ``/var/lib/docker/volumes``"},{"line_number":908,"context_line":"can optionally be created. The logical volumes is created in volume group called data."},{"line_number":909,"context_line":""},{"line_number":910,"context_line":"This configuration is enabled by the following variables, which defaults to"},{"line_number":911,"context_line":"``false``:"}],"source_content_type":"text/x-rst","patch_set":3,"id":"249b6bc5_743a1bd3","line":908,"updated":"2024-01-29 14:10:07.000000000","message":"s/volumes/volume/","commit_id":"91789bba02bc9b8f6f6c1c0253c9ec2c1a2d6472"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"472bd5d4b759c64af1ea313f1b19e1d58f98ff18","unresolved":false,"context_lines":[{"line_number":905,"context_line":"   always enabled by default."},{"line_number":906,"context_line":""},{"line_number":907,"context_line":"A logical volume for storing Docker volume data, mounted at ``/var/lib/docker/volumes``"},{"line_number":908,"context_line":"can optionally be created. The logical volumes is created in volume group called data."},{"line_number":909,"context_line":""},{"line_number":910,"context_line":"This configuration is enabled by the following variables, which defaults to"},{"line_number":911,"context_line":"``false``:"}],"source_content_type":"text/x-rst","patch_set":3,"id":"09218cc9_e53e78b7","line":908,"in_reply_to":"249b6bc5_743a1bd3","updated":"2024-01-30 14:25:14.000000000","message":"Done","commit_id":"91789bba02bc9b8f6f6c1c0253c9ec2c1a2d6472"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"c2caf820c89df4c7d47a3fe6d04e6f2c317041c8","unresolved":true,"context_lines":[{"line_number":907,"context_line":"A logical volume for storing Docker volume data, mounted at ``/var/lib/docker/volumes``"},{"line_number":908,"context_line":"can optionally be created. The logical volumes is created in volume group called data."},{"line_number":909,"context_line":""},{"line_number":910,"context_line":"This configuration is enabled by the following variables, which defaults to"},{"line_number":911,"context_line":"``false``:"},{"line_number":912,"context_line":""},{"line_number":913,"context_line":"* ``compute_lvm_group_data_enabled``"}],"source_content_type":"text/x-rst","patch_set":3,"id":"23b944f2_be15894a","line":910,"updated":"2024-01-29 14:10:07.000000000","message":"s/defaults/default/","commit_id":"91789bba02bc9b8f6f6c1c0253c9ec2c1a2d6472"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"472bd5d4b759c64af1ea313f1b19e1d58f98ff18","unresolved":false,"context_lines":[{"line_number":907,"context_line":"A logical volume for storing Docker volume data, mounted at ``/var/lib/docker/volumes``"},{"line_number":908,"context_line":"can optionally be created. The logical volumes is created in volume group called data."},{"line_number":909,"context_line":""},{"line_number":910,"context_line":"This configuration is enabled by the following variables, which defaults to"},{"line_number":911,"context_line":"``false``:"},{"line_number":912,"context_line":""},{"line_number":913,"context_line":"* ``compute_lvm_group_data_enabled``"}],"source_content_type":"text/x-rst","patch_set":3,"id":"c2155bcc_c2bbb16e","line":910,"in_reply_to":"23b944f2_be15894a","updated":"2024-01-30 14:25:14.000000000","message":"Done","commit_id":"91789bba02bc9b8f6f6c1c0253c9ec2c1a2d6472"}],"roles/kayobe-diagnostics/files/get_logs.sh":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"c2caf820c89df4c7d47a3fe6d04e6f2c317041c8","unresolved":true,"context_lines":[{"line_number":162,"context_line":"}"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"copy_logs"},{"line_number":165,"context_line":"gather_openstack_resources"}],"source_content_type":"text/x-sh","patch_set":3,"id":"4e3421f0_ed410a0f","line":165,"updated":"2024-01-29 14:10:07.000000000","message":"Is this intended to stay?","commit_id":"91789bba02bc9b8f6f6c1c0253c9ec2c1a2d6472"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"472bd5d4b759c64af1ea313f1b19e1d58f98ff18","unresolved":false,"context_lines":[{"line_number":162,"context_line":"}"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"copy_logs"},{"line_number":165,"context_line":"gather_openstack_resources"}],"source_content_type":"text/x-sh","patch_set":3,"id":"61d68dd7_75a6cd1a","line":165,"in_reply_to":"4e3421f0_ed410a0f","updated":"2024-01-30 14:25:14.000000000","message":"I see this is debugging the CI failures","commit_id":"91789bba02bc9b8f6f6c1c0253c9ec2c1a2d6472"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"303e7596cc336126446005a162ce7206ea7187be","unresolved":false,"context_lines":[{"line_number":162,"context_line":"}"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"copy_logs"},{"line_number":165,"context_line":"gather_openstack_resources"}],"source_content_type":"text/x-sh","patch_set":3,"id":"f2738e93_bbd19491","line":165,"in_reply_to":"61d68dd7_75a6cd1a","updated":"2024-01-31 09:50:41.000000000","message":"Yeah, I thought this might be useful to keep (as well as adding queries for other openstack resources), but could put it in a separate patch","commit_id":"91789bba02bc9b8f6f6c1c0253c9ec2c1a2d6472"}],"zuul.d/jobs.yaml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"c2caf820c89df4c7d47a3fe6d04e6f2c317041c8","unresolved":true,"context_lines":[{"line_number":92,"context_line":"      - ^zuul.d/.*"},{"line_number":93,"context_line":"    vars:"},{"line_number":94,"context_line":"      # Name of the release to upgrade from for upgrade jobs."},{"line_number":95,"context_line":"      previous_release: 2023.2"},{"line_number":96,"context_line":"      logs_dir: \"/tmp/logs\""},{"line_number":97,"context_line":"      ansible_collection_kolla_src_dir: \"{{ ansible_env.PWD ~ \u0027/\u0027 ~ zuul.projects[\u0027opendev.org/openstack/ansible-collection-kolla\u0027].src_dir }}\""},{"line_number":98,"context_line":"      kayobe_src_dir: \"{{ ansible_env.PWD ~ \u0027/\u0027 ~ zuul.projects[\u0027opendev.org/openstack/kayobe\u0027].src_dir }}\""}],"source_content_type":"text/x-yaml","patch_set":3,"id":"2dc34741_9fd6f3ef","line":95,"updated":"2024-01-29 14:10:07.000000000","message":"Should go in the commit message.","commit_id":"91789bba02bc9b8f6f6c1c0253c9ec2c1a2d6472"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"472bd5d4b759c64af1ea313f1b19e1d58f98ff18","unresolved":false,"context_lines":[{"line_number":92,"context_line":"      - ^zuul.d/.*"},{"line_number":93,"context_line":"    vars:"},{"line_number":94,"context_line":"      # Name of the release to upgrade from for upgrade jobs."},{"line_number":95,"context_line":"      previous_release: 2023.2"},{"line_number":96,"context_line":"      logs_dir: \"/tmp/logs\""},{"line_number":97,"context_line":"      ansible_collection_kolla_src_dir: \"{{ ansible_env.PWD ~ \u0027/\u0027 ~ zuul.projects[\u0027opendev.org/openstack/ansible-collection-kolla\u0027].src_dir }}\""},{"line_number":98,"context_line":"      kayobe_src_dir: \"{{ ansible_env.PWD ~ \u0027/\u0027 ~ zuul.projects[\u0027opendev.org/openstack/kayobe\u0027].src_dir }}\""}],"source_content_type":"text/x-yaml","patch_set":3,"id":"0fb5e723_828f937d","line":95,"in_reply_to":"2dc34741_9fd6f3ef","updated":"2024-01-30 14:25:14.000000000","message":"Done","commit_id":"91789bba02bc9b8f6f6c1c0253c9ec2c1a2d6472"}]}
