)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"bb56f953f8cd13c6015592bc3b107dc1e1c4ab4b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"ad91d1ce_92a4f005","updated":"2025-09-10 07:04:29.000000000","message":"recheck depends on changed","commit_id":"b138e11679bd5903f35a94c5abdea71dec4d6e9a"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"e6e4174a74069b8698e97d2e4cd1d0cfebf96f7d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"fa8dab1e_ba345128","updated":"2025-10-03 13:22:37.000000000","message":"It looks like the first task is to fix all conditionals\n\nhttps://docs.ansible.com/ansible/latest/porting_guides/porting_guide_12.html#broken-conditionals\n\nI\u0027ll have a go. It seems that you can turn it of temporarily via ALLOW_BROKEN_CONDITIONALS, but that\u0027s no long term solution.","commit_id":"688298c5319c9843b325775eedabd1aece666f69"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"a83aab10946299b4e1ef1c631bd35f1f450dc932","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"3ac8737f_c786f832","updated":"2025-10-06 16:44:32.000000000","message":"There is a /lot/ to do here. Lots of cryptic failures. Will continue on Wed.","commit_id":"7458e3f4e6c80bce43c89ec4ffd7daf2dfe55f1c"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"2c5519592ec1716dbff533959cee13b4d2568235","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":28,"id":"05a8b2bf_db34d717","updated":"2025-10-24 08:45:36.000000000","message":"recheck weird timeouts in pull on upgrade jobs","commit_id":"876e0709f2f7e5ec0fc4a6a5768113e94dfbce0b"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"948a630f0abf1b08ecc05726de92b47013be030f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":31,"id":"9ef34c89_53251eab","updated":"2025-10-26 12:01:03.000000000","message":"recheck unrelated bookworm upgrade failure","commit_id":"0cb7a5d72d948a7165101318ede4410144fb9fdd"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"a61f9e37fe84cd77f225c6321b30f1ef08ca5f97","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":34,"id":"bae26970_142451e7","updated":"2025-10-28 04:42:16.000000000","message":"recheck timeouts","commit_id":"faaebc6eccb5ea177738355336593472ae4dea06"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"6d23e97c42a5583515deddd9b08a25d46be27b0b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":35,"id":"e3691ea4_4105e78f","updated":"2025-10-28 10:48:38.000000000","message":"recheck depends on changed","commit_id":"fe95f745756d0e83f63d38b0a9bc77d1b6dc4073"}],"ansible/action_plugins/merge_configs.py":[{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"7b7c9ebed8e2b3ce67610012f998776705e14ef2","unresolved":true,"context_lines":[{"line_number":151,"context_line":"        # Only use config if present"},{"line_number":152,"context_line":"        if os.access(source, os.R_OK):"},{"line_number":153,"context_line":"            with open(source, \u0027r\u0027) as f:"},{"line_number":154,"context_line":"                template_data \u003d trust_as_template(f.read())"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"            # set search path to mimic \u0027template\u0027 module behavior"},{"line_number":157,"context_line":"            searchpath \u003d ["}],"source_content_type":"text/x-python","patch_set":16,"id":"07254cb6_0ec5a3bc","line":154,"updated":"2025-10-10 11:14:03.000000000","message":"TODO: This needs to be made backwards compatible with 2.18","commit_id":"d3bc83447b359cce70a7594e84920526a7bbfe5e"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"57eeda4bdf554ce5ddf88df62bfef1efab80d61d","unresolved":false,"context_lines":[{"line_number":151,"context_line":"        # Only use config if present"},{"line_number":152,"context_line":"        if os.access(source, os.R_OK):"},{"line_number":153,"context_line":"            with open(source, \u0027r\u0027) as f:"},{"line_number":154,"context_line":"                template_data \u003d trust_as_template(f.read())"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"            # set search path to mimic \u0027template\u0027 module behavior"},{"line_number":157,"context_line":"            searchpath \u003d ["}],"source_content_type":"text/x-python","patch_set":16,"id":"23bc1ce7_d0c352be","line":154,"in_reply_to":"07254cb6_0ec5a3bc","updated":"2025-10-28 07:44:32.000000000","message":"Done","commit_id":"d3bc83447b359cce70a7594e84920526a7bbfe5e"}],"ansible/module_utils/kolla_container_worker.py":[{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"7b7c9ebed8e2b3ce67610012f998776705e14ef2","unresolved":true,"context_lines":[{"line_number":410,"context_line":"        vol_dict \u003d dict()"},{"line_number":411,"context_line":""},{"line_number":412,"context_line":"        for vol in volumes:"},{"line_number":413,"context_line":"            if not vol or len(vol) \u003d\u003d 0:"},{"line_number":414,"context_line":"                continue"},{"line_number":415,"context_line":""},{"line_number":416,"context_line":"            if \u0027:\u0027 not in vol:"}],"source_content_type":"text/x-python","patch_set":16,"id":"5ee7f1a4_53ddcf97","line":413,"updated":"2025-10-10 11:14:03.000000000","message":"TODO: Remove all the reject filters?","commit_id":"d3bc83447b359cce70a7594e84920526a7bbfe5e"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"3faf632d669da1b2a65ddad3dc7ce49e7c31abd9","unresolved":false,"context_lines":[{"line_number":410,"context_line":"        vol_dict \u003d dict()"},{"line_number":411,"context_line":""},{"line_number":412,"context_line":"        for vol in volumes:"},{"line_number":413,"context_line":"            if not vol or len(vol) \u003d\u003d 0:"},{"line_number":414,"context_line":"                continue"},{"line_number":415,"context_line":""},{"line_number":416,"context_line":"            if \u0027:\u0027 not in vol:"}],"source_content_type":"text/x-python","patch_set":16,"id":"c456e265_dae88f66","line":413,"in_reply_to":"4fab5be9_8bca8c03","updated":"2025-10-20 17:07:49.000000000","message":"indeed","commit_id":"d3bc83447b359cce70a7594e84920526a7bbfe5e"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"ffdfe0f506fde168f2675779ebf6322c5a93c116","unresolved":true,"context_lines":[{"line_number":410,"context_line":"        vol_dict \u003d dict()"},{"line_number":411,"context_line":""},{"line_number":412,"context_line":"        for vol in volumes:"},{"line_number":413,"context_line":"            if not vol or len(vol) \u003d\u003d 0:"},{"line_number":414,"context_line":"                continue"},{"line_number":415,"context_line":""},{"line_number":416,"context_line":"            if \u0027:\u0027 not in vol:"}],"source_content_type":"text/x-python","patch_set":16,"id":"4fab5be9_8bca8c03","line":413,"in_reply_to":"5ee7f1a4_53ddcf97","updated":"2025-10-20 16:29:42.000000000","message":"Get rid of the second condition as it is impossible for the first condition to be true and the second to be false\n```suggestion\n            if not vol:\n```","commit_id":"d3bc83447b359cce70a7594e84920526a7bbfe5e"}],"requirements.txt":[{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"92455c7bbbd6cb598ca4ec827670f9c60682ab6a","unresolved":true,"context_lines":[{"line_number":11,"context_line":"Jinja2\u003e\u003d3 # BSD License (3 clause)"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"# Ansible and ansible\u0027s json_query"},{"line_number":14,"context_line":"ansible-core\u003e\u003d2.18,\u003c2.20 # GPLv3"},{"line_number":15,"context_line":"jmespath\u003e\u003d0.9.3 # MIT"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"# ini parsing"}],"source_content_type":"text/plain","patch_set":14,"id":"a438e0b3_0cb283b1","line":14,"updated":"2025-10-08 11:15:14.000000000","message":"We need to exclude 2.19.0","commit_id":"7458e3f4e6c80bce43c89ec4ffd7daf2dfe55f1c"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"3a2a28b782bcd689b9fc3590d3e2957af52d64e2","unresolved":false,"context_lines":[{"line_number":11,"context_line":"Jinja2\u003e\u003d3 # BSD License (3 clause)"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"# Ansible and ansible\u0027s json_query"},{"line_number":14,"context_line":"ansible-core\u003e\u003d2.18,\u003c2.20 # GPLv3"},{"line_number":15,"context_line":"jmespath\u003e\u003d0.9.3 # MIT"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"# ini parsing"}],"source_content_type":"text/plain","patch_set":14,"id":"224572da_1f763dfc","line":14,"in_reply_to":"a438e0b3_0cb283b1","updated":"2025-10-16 08:09:54.000000000","message":"Done","commit_id":"7458e3f4e6c80bce43c89ec4ffd7daf2dfe55f1c"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"3a2a28b782bcd689b9fc3590d3e2957af52d64e2","unresolved":true,"context_lines":[{"line_number":11,"context_line":"Jinja2\u003e\u003d3 # BSD License (3 clause)"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"# Ansible and ansible\u0027s json_query"},{"line_number":14,"context_line":"ansible-core\u003e\u003d2.18,!\u003d2.19.0,\u003c2.20 # GPLv3"},{"line_number":15,"context_line":"jmespath\u003e\u003d0.9.3 # MIT"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"# ini parsing"}],"source_content_type":"text/plain","patch_set":20,"id":"33e4f615_73821bba","line":14,"updated":"2025-10-16 08:09:54.000000000","message":"TODO: drop the Python 3.10 job\n\nhttps://docs.ansible.com/ansible/latest/porting_guides/porting_guide_core_2.18.html","commit_id":"b8ca5311fc90ed1179432d1d8ae103dffe27ce25"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"c78563809fd64bef34ce72c5f9bd427c2c588a84","unresolved":false,"context_lines":[{"line_number":11,"context_line":"Jinja2\u003e\u003d3 # BSD License (3 clause)"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"# Ansible and ansible\u0027s json_query"},{"line_number":14,"context_line":"ansible-core\u003e\u003d2.18,!\u003d2.19.0,\u003c2.20 # GPLv3"},{"line_number":15,"context_line":"jmespath\u003e\u003d0.9.3 # MIT"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"# ini parsing"}],"source_content_type":"text/plain","patch_set":20,"id":"72cf0594_473f1ca8","line":14,"in_reply_to":"33e4f615_73821bba","updated":"2025-10-27 17:05:26.000000000","message":"Done","commit_id":"b8ca5311fc90ed1179432d1d8ae103dffe27ce25"},{"author":{"_account_id":23084,"name":"Bartosz Bezak","email":"bartosz@stackhpc.com","username":"b.bezak"},"change_message_id":"e401cbbd339ab1ba33b46d2f13c96cc3846549f9","unresolved":true,"context_lines":[{"line_number":11,"context_line":"Jinja2\u003e\u003d3 # BSD License (3 clause)"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"# Ansible and ansible\u0027s json_query"},{"line_number":14,"context_line":"# NOTE(mnasiadka): Keeping 2.17 to satisfy py310 job"},{"line_number":15,"context_line":"ansible-core\u003e\u003d2.17,\u003c2.18; python_version \u003c \u00273.11\u0027 # GPLv3"},{"line_number":16,"context_line":"ansible-core\u003e\u003d2.18,!\u003d2.19.0,\u003c2.20; python_version \u003e\u003d \u00273.11\u0027 # GPLv3"},{"line_number":17,"context_line":"jmespath\u003e\u003d0.9.3 # MIT"}],"source_content_type":"text/plain","patch_set":34,"id":"aca55ac5_4446f6b9","line":14,"updated":"2025-10-28 10:44:15.000000000","message":"do we need that when removing py310?","commit_id":"faaebc6eccb5ea177738355336593472ae4dea06"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"91e62bb49aac7aaf77624216431fb23e01cbbf80","unresolved":false,"context_lines":[{"line_number":11,"context_line":"Jinja2\u003e\u003d3 # BSD License (3 clause)"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"# Ansible and ansible\u0027s json_query"},{"line_number":14,"context_line":"# NOTE(mnasiadka): Keeping 2.17 to satisfy py310 job"},{"line_number":15,"context_line":"ansible-core\u003e\u003d2.17,\u003c2.18; python_version \u003c \u00273.11\u0027 # GPLv3"},{"line_number":16,"context_line":"ansible-core\u003e\u003d2.18,!\u003d2.19.0,\u003c2.20; python_version \u003e\u003d \u00273.11\u0027 # GPLv3"},{"line_number":17,"context_line":"jmespath\u003e\u003d0.9.3 # MIT"}],"source_content_type":"text/plain","patch_set":34,"id":"92101e5d_86b02bbe","line":14,"in_reply_to":"aca55ac5_4446f6b9","updated":"2025-10-28 11:25:28.000000000","message":"Done","commit_id":"faaebc6eccb5ea177738355336593472ae4dea06"}],"tests/test_kolla_toolbox.py":[{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"54254356a732c965c3a8aa0e302faacc5ef019ce","unresolved":true,"context_lines":[{"line_number":33,"context_line":"                                 kolla_toolbox_file).load_module()"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"def set_module_args(args):"},{"line_number":37,"context_line":"    \"\"\""},{"line_number":38,"context_line":"    Context manager that sets module arguments for AnsibleModule"},{"line_number":39,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":19,"id":"69a0771f_85686285","line":36,"updated":"2025-10-15 13:26:21.000000000","message":"This is supposed to be a context manager. I\u0027ll fix it up.","commit_id":"8a4837a7eba0edf7690905efe82d82e7a4de8d10"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"7d6185fe66649874a64d3f782b7fcdbd4df1b8fc","unresolved":true,"context_lines":[{"line_number":33,"context_line":"                                 kolla_toolbox_file).load_module()"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"def set_module_args(args):"},{"line_number":37,"context_line":"    \"\"\""},{"line_number":38,"context_line":"    Context manager that sets module arguments for AnsibleModule"},{"line_number":39,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":19,"id":"795cafa7_35b8c39a","line":36,"in_reply_to":"69a0771f_85686285","updated":"2025-10-15 15:02:15.000000000","message":"We don\u0027t actually need a fallback as the built in helper is in Ansible Core 2.18.","commit_id":"8a4837a7eba0edf7690905efe82d82e7a4de8d10"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"c78563809fd64bef34ce72c5f9bd427c2c588a84","unresolved":false,"context_lines":[{"line_number":33,"context_line":"                                 kolla_toolbox_file).load_module()"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"def set_module_args(args):"},{"line_number":37,"context_line":"    \"\"\""},{"line_number":38,"context_line":"    Context manager that sets module arguments for AnsibleModule"},{"line_number":39,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":19,"id":"f086055d_b383d9ee","line":36,"in_reply_to":"795cafa7_35b8c39a","updated":"2025-10-27 17:05:26.000000000","message":"Done","commit_id":"8a4837a7eba0edf7690905efe82d82e7a4de8d10"}]}
