)]}'
{".pre-commit-config.yaml":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"86b2fe2fd805f23aecace0a5a47a66ffbfadb42e","unresolved":true,"context_lines":[{"line_number":11,"context_line":"    .tox/|"},{"line_number":12,"context_line":"    build/|"},{"line_number":13,"context_line":"    dist/"},{"line_number":14,"context_line":"  )"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"repos:"},{"line_number":17,"context_line":"  - repo: https://github.com/pre-commit/pre-commit-hooks"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"381a4024_2e836d68","line":14,"updated":"2025-11-14 18:54:08.000000000","message":"nit: such things should ideally be in a separate change","commit_id":"6ddea6574c16c209e79f1c82fda9dbd4e4d47a07"},{"author":{"_account_id":38549,"name":"David Nwosu","display_name":"Pointbr8ker-123","email":"nwosudavid13@gmail.com","username":"Pointbr8ker-123"},"change_message_id":"b831575b4ab4e944c36196a216e43205fda0f6a4","unresolved":false,"context_lines":[{"line_number":11,"context_line":"    .tox/|"},{"line_number":12,"context_line":"    build/|"},{"line_number":13,"context_line":"    dist/"},{"line_number":14,"context_line":"  )"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"repos:"},{"line_number":17,"context_line":"  - repo: https://github.com/pre-commit/pre-commit-hooks"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"ef4e528f_0f10124d","line":14,"in_reply_to":"381a4024_2e836d68","updated":"2025-11-21 15:00:05.000000000","message":"Thanks for the feedback! I\u0027ll move the pre-commit hook changes to a separate change.","commit_id":"6ddea6574c16c209e79f1c82fda9dbd4e4d47a07"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"fa781ca4cbfdad695acd21753524c14f298097c9","unresolved":true,"context_lines":[{"line_number":48,"context_line":"    hooks:"},{"line_number":49,"context_line":"    - id: codespell"},{"line_number":50,"context_line":"      args: [--write-changes, \"--toml\", \"pyproject.toml\"]"},{"line_number":51,"context_line":"      additional_dependencies: [tomli]"},{"line_number":52,"context_line":"  - repo: https://github.com/sphinx-contrib/sphinx-lint"},{"line_number":53,"context_line":"    rev: v1.0.0"},{"line_number":54,"context_line":"    hooks:"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"724877e0_58717c03","line":51,"updated":"2025-11-21 00:06:07.000000000","message":"Please submit this as a separate change. I assume what you\u0027re doing here is having codespell read pyproject.toml which its not doing by default?","commit_id":"4cde9f4ae961c9921605b2c86179bcd5489d3e0f"},{"author":{"_account_id":38549,"name":"David Nwosu","display_name":"Pointbr8ker-123","email":"nwosudavid13@gmail.com","username":"Pointbr8ker-123"},"change_message_id":"b831575b4ab4e944c36196a216e43205fda0f6a4","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    hooks:"},{"line_number":49,"context_line":"    - id: codespell"},{"line_number":50,"context_line":"      args: [--write-changes, \"--toml\", \"pyproject.toml\"]"},{"line_number":51,"context_line":"      additional_dependencies: [tomli]"},{"line_number":52,"context_line":"  - repo: https://github.com/sphinx-contrib/sphinx-lint"},{"line_number":53,"context_line":"    rev: v1.0.0"},{"line_number":54,"context_line":"    hooks:"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"569a60f5_517db2c6","line":51,"in_reply_to":"724877e0_58717c03","updated":"2025-11-21 15:00:05.000000000","message":"Done","commit_id":"4cde9f4ae961c9921605b2c86179bcd5489d3e0f"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"8792b4353676efee18918f89dc7a81794458a1a2","unresolved":true,"context_lines":[{"line_number":101,"context_line":"      - id: check-releasenotes"},{"line_number":102,"context_line":"        name: check-releasenotes"},{"line_number":103,"context_line":"        language: python"},{"line_number":104,"context_line":"        entry: python tools/check-releasenotes.py"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"3a1dcb55_50e72f1c","line":104,"updated":"2025-11-24 16:03:15.000000000","message":"Please remove unrelated whitespace changes","commit_id":"10491e904da24a2f9d25d14f89b2948f612abc6f"},{"author":{"_account_id":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."},"change_message_id":"5cbc3e7d96492e01b6e983674882477efb9e3f27","unresolved":false,"context_lines":[{"line_number":101,"context_line":"      - id: check-releasenotes"},{"line_number":102,"context_line":"        name: check-releasenotes"},{"line_number":103,"context_line":"        language: python"},{"line_number":104,"context_line":"        entry: python tools/check-releasenotes.py"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"b93b0da4_e538c5a5","line":104,"in_reply_to":"3a1dcb55_50e72f1c","updated":"2025-11-24 16:38:49.000000000","message":"Acknowledged","commit_id":"10491e904da24a2f9d25d14f89b2948f612abc6f"}],"/COMMIT_MSG":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"1256faf1e53cd88eb5428204e84bdd91e9da5d01","unresolved":true,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Closes-Bug: #2113892"},{"line_number":16,"context_line":"Change-Id: I5851e84fe8f15de05dcddca773b1f28f639dc617"},{"line_number":17,"context_line":"Signed-off-by: Pointbr8ker-123 \u003cnwosudavid13@gmail.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"d66e3dbc_5100be48","line":17,"range":{"start_line":17,"start_character":14,"end_line":17,"end_character":30},"updated":"2025-11-03 22:08:19.000000000","message":"It would be nice if you were to use your actual name as opposed to an alias for this part.","commit_id":"dabdebdc124eb99041473c4466ee2609c3fbd551"},{"author":{"_account_id":38549,"name":"David Nwosu","display_name":"Pointbr8ker-123","email":"nwosudavid13@gmail.com","username":"Pointbr8ker-123"},"change_message_id":"b831575b4ab4e944c36196a216e43205fda0f6a4","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Closes-Bug: #2113892"},{"line_number":16,"context_line":"Change-Id: I5851e84fe8f15de05dcddca773b1f28f639dc617"},{"line_number":17,"context_line":"Signed-off-by: Pointbr8ker-123 \u003cnwosudavid13@gmail.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"4df0b1aa_87eeaa94","line":17,"range":{"start_line":17,"start_character":14,"end_line":17,"end_character":30},"in_reply_to":"d66e3dbc_5100be48","updated":"2025-11-21 15:00:05.000000000","message":"Thanks, Julia! I’ll amend the commit to use my real name instead of the alias.","commit_id":"dabdebdc124eb99041473c4466ee2609c3fbd551"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"8792b4353676efee18918f89dc7a81794458a1a2","unresolved":true,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2025-11-23 15:56:19 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Move configdrive functions to configdrive_utils and"},{"line_number":8,"context_line":"configdrive tests to test_configdrive_utils"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"This refactors the configdrive helper functions by moving"},{"line_number":11,"context_line":"build_configdrive() and get_configdrive_image() from"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"ee064409_93ec2f3a","line":8,"updated":"2025-11-24 16:03:15.000000000","message":"Please ensure your commit messages follow proper OpenStack formatting: https://wiki.openstack.org/wiki/GitCommitMessages","commit_id":"10491e904da24a2f9d25d14f89b2948f612abc6f"},{"author":{"_account_id":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."},"change_message_id":"5cbc3e7d96492e01b6e983674882477efb9e3f27","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2025-11-23 15:56:19 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Move configdrive functions to configdrive_utils and"},{"line_number":8,"context_line":"configdrive tests to test_configdrive_utils"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"This refactors the configdrive helper functions by moving"},{"line_number":11,"context_line":"build_configdrive() and get_configdrive_image() from"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"08d9ec21_fbbb15ae","line":8,"in_reply_to":"ee064409_93ec2f3a","updated":"2025-11-24 16:38:49.000000000","message":"Acknowledged","commit_id":"10491e904da24a2f9d25d14f89b2948f612abc6f"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"7322fb0462ac3241f1ef87c1ab3ca7e456faf487","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"22e83f42_c8b0577f","updated":"2025-11-03 22:07:14.000000000","message":"Looks like the relationship chain is also a little weird.\n\nI recommend:\n\ngit checkout master\ngit reset --hard HEAD~5\ngit pull --ff-only\ngit review -x 965880\ngit review","commit_id":"dabdebdc124eb99041473c4466ee2609c3fbd551"},{"author":{"_account_id":38549,"name":"David Nwosu","display_name":"Pointbr8ker-123","email":"nwosudavid13@gmail.com","username":"Pointbr8ker-123"},"change_message_id":"b831575b4ab4e944c36196a216e43205fda0f6a4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"8ecc2983_fa74cc39","in_reply_to":"22e83f42_c8b0577f","updated":"2025-11-21 15:00:05.000000000","message":"Thanks, Julia! I’ll follow these steps and update the patch accordingly.","commit_id":"dabdebdc124eb99041473c4466ee2609c3fbd551"},{"author":{"_account_id":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."},"change_message_id":"85fb6dc06c6052f67e1640335e12a23ce3867f55","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"85502902_d5fb12e1","updated":"2025-11-05 16:51:58.000000000","message":"Thanks **David**, for picking this up. Fix unittest and linting errors (`tox -epep8,py3`) and you\u0027d be close to the finish line.","commit_id":"5a013faff9116e400b72248cb34d5e2c0b532849"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"3b5afc85fe88ca681649fe579c21cb030b8e577c","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"6d14a19a_59a57808","updated":"2025-11-06 16:19:51.000000000","message":"The pep8 errors here are common things I see when using LLM guided coding tools. If you used those here, that\u0027s 100% OK but needs to be tagged Generated-By or Assisted-By as noted here: https://openinfra.org/legal/ai-policy \n\nIf not, consider using pre-commit (https://docs.openstack.org/ironic/latest/contributor/dev-quickstart.html#git-hooks) to prevent these errors in the future.","commit_id":"5a013faff9116e400b72248cb34d5e2c0b532849"},{"author":{"_account_id":38549,"name":"David Nwosu","display_name":"Pointbr8ker-123","email":"nwosudavid13@gmail.com","username":"Pointbr8ker-123"},"change_message_id":"b831575b4ab4e944c36196a216e43205fda0f6a4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"530768fb_67ff5d34","in_reply_to":"6d14a19a_59a57808","updated":"2025-11-21 15:00:05.000000000","message":"Thanks for your feedback... I\u0027m looking into it right now","commit_id":"5a013faff9116e400b72248cb34d5e2c0b532849"},{"author":{"_account_id":38549,"name":"David Nwosu","display_name":"Pointbr8ker-123","email":"nwosudavid13@gmail.com","username":"Pointbr8ker-123"},"change_message_id":"b831575b4ab4e944c36196a216e43205fda0f6a4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"11531cca_1f412fb5","in_reply_to":"85502902_d5fb12e1","updated":"2025-11-21 15:00:05.000000000","message":"Thanks for your guidance!","commit_id":"5a013faff9116e400b72248cb34d5e2c0b532849"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"fa781ca4cbfdad695acd21753524c14f298097c9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"d999e03b_6d6ce8a3","updated":"2025-11-21 00:06:07.000000000","message":"I think the change is good. Just split the codespell piece out.","commit_id":"4cde9f4ae961c9921605b2c86179bcd5489d3e0f"},{"author":{"_account_id":38549,"name":"David Nwosu","display_name":"Pointbr8ker-123","email":"nwosudavid13@gmail.com","username":"Pointbr8ker-123"},"change_message_id":"b831575b4ab4e944c36196a216e43205fda0f6a4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"c32fee95_c2e316d8","in_reply_to":"d999e03b_6d6ce8a3","updated":"2025-11-21 15:00:05.000000000","message":"Thanks... I\u0027ll do that now.","commit_id":"4cde9f4ae961c9921605b2c86179bcd5489d3e0f"},{"author":{"_account_id":38549,"name":"David Nwosu","display_name":"Pointbr8ker-123","email":"nwosudavid13@gmail.com","username":"Pointbr8ker-123"},"change_message_id":"b831575b4ab4e944c36196a216e43205fda0f6a4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"627a164e_e83d5801","updated":"2025-11-21 15:00:05.000000000","message":"From what I can see, all the key tests are passing and the failures appear to be infrastructure-related. Do these results look acceptable for merging?","commit_id":"a18df06b784f4bbee2cbd484fb8a555ae0be6bde"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"8792b4353676efee18918f89dc7a81794458a1a2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"66af9ab6_c5ccfdd8","updated":"2025-11-24 16:03:15.000000000","message":"Please fix minor formatting issues throughout. Technically, LGTM. Given the needed changes are all formatting, please update and it can land ASAP.","commit_id":"10491e904da24a2f9d25d14f89b2948f612abc6f"}],"ironic/conductor/configdrive_utils.py":[{"author":{"_account_id":38549,"name":"David Nwosu","display_name":"Pointbr8ker-123","email":"nwosudavid13@gmail.com","username":"Pointbr8ker-123"},"change_message_id":"b831575b4ab4e944c36196a216e43205fda0f6a4","unresolved":false,"context_lines":[{"line_number":487,"context_line":"    # which causes the overall process to fail."},{"line_number":488,"context_line":"    return configdrive"},{"line_number":489,"context_line":""},{"line_number":490,"context_line":"def build_configdrive(node, configdrive):"},{"line_number":491,"context_line":"    \"\"\"Build a configdrive from provided meta_data, network_data and user_data."},{"line_number":492,"context_line":""},{"line_number":493,"context_line":"    If uuid or name are not provided in the meta_data, they\u0027re defaulted to the"}],"source_content_type":"text/x-python","patch_set":2,"id":"248a4696_845a3bde","line":490,"in_reply_to":"4475eb6c_9072ab3c","updated":"2025-11-21 15:00:05.000000000","message":"\u003e pep8: E302 expected 2 blank lines, found 1\n\nPlease fix.","commit_id":"5a013faff9116e400b72248cb34d5e2c0b532849"}],"ironic/tests/unit/conductor/test_steps.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"86b2fe2fd805f23aecace0a5a47a66ffbfadb42e","unresolved":true,"context_lines":[{"line_number":601,"context_line":"                         \u0027arg2\u0027: {\u0027description\u0027: \u0027desc2\u0027}}}"},{"line_number":602,"context_line":""},{"line_number":603,"context_line":"    @mock.patch(\u0027ironic.drivers.modules.fake.FakeFirmware.get_clean_steps\u0027,"},{"line_number":604,"context_line":"                lambda self, task: [])"},{"line_number":605,"context_line":"    @mock.patch(\u0027ironic.drivers.modules.fake.FakeBIOS.get_clean_steps\u0027,"},{"line_number":606,"context_line":"                lambda self, task: [])"},{"line_number":607,"context_line":"    @mock.patch(\u0027ironic.drivers.modules.fake.FakeDeploy.get_clean_steps\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"8495282c_18deee06","line":604,"updated":"2025-11-14 18:54:08.000000000","message":"Good catch, but again, it\u0027s better to propose such changes separately","commit_id":"6ddea6574c16c209e79f1c82fda9dbd4e4d47a07"},{"author":{"_account_id":38549,"name":"David Nwosu","display_name":"Pointbr8ker-123","email":"nwosudavid13@gmail.com","username":"Pointbr8ker-123"},"change_message_id":"b831575b4ab4e944c36196a216e43205fda0f6a4","unresolved":false,"context_lines":[{"line_number":601,"context_line":"                         \u0027arg2\u0027: {\u0027description\u0027: \u0027desc2\u0027}}}"},{"line_number":602,"context_line":""},{"line_number":603,"context_line":"    @mock.patch(\u0027ironic.drivers.modules.fake.FakeFirmware.get_clean_steps\u0027,"},{"line_number":604,"context_line":"                lambda self, task: [])"},{"line_number":605,"context_line":"    @mock.patch(\u0027ironic.drivers.modules.fake.FakeBIOS.get_clean_steps\u0027,"},{"line_number":606,"context_line":"                lambda self, task: [])"},{"line_number":607,"context_line":"    @mock.patch(\u0027ironic.drivers.modules.fake.FakeDeploy.get_clean_steps\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"a561e18d_412a5dc5","line":604,"in_reply_to":"8495282c_18deee06","updated":"2025-11-21 15:00:05.000000000","message":"I\u0027ll move both this fix too","commit_id":"6ddea6574c16c209e79f1c82fda9dbd4e4d47a07"}],"ironic/tests/unit/conductor/test_utils.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"f93ac67964f560312d8728c455c4582913754158","unresolved":false,"context_lines":[{"line_number":3027,"context_line":"        self.assertTrue(self.node.secure_boot)"},{"line_number":3028,"context_line":""},{"line_number":3029,"context_line":""},{"line_number":3030,"context_line":"class GetConfigDriveImageTestCase(db_base.DbTestCase):"},{"line_number":3031,"context_line":""},{"line_number":3032,"context_line":"    def setUp(self):"},{"line_number":3033,"context_line":"        super(GetConfigDriveImageTestCase, self).setUp()"}],"source_content_type":"text/x-python","patch_set":1,"id":"7d5d2da8_a881d9fb","line":3030,"updated":"2025-11-03 12:02:47.000000000","message":"These tests need to be also moved to test_configdrive_utils","commit_id":"dabdebdc124eb99041473c4466ee2609c3fbd551"},{"author":{"_account_id":38549,"name":"David Nwosu","display_name":"Pointbr8ker-123","email":"nwosudavid13@gmail.com","username":"Pointbr8ker-123"},"change_message_id":"b831575b4ab4e944c36196a216e43205fda0f6a4","unresolved":false,"context_lines":[{"line_number":3027,"context_line":"        self.assertTrue(self.node.secure_boot)"},{"line_number":3028,"context_line":""},{"line_number":3029,"context_line":""},{"line_number":3030,"context_line":"class GetConfigDriveImageTestCase(db_base.DbTestCase):"},{"line_number":3031,"context_line":""},{"line_number":3032,"context_line":"    def setUp(self):"},{"line_number":3033,"context_line":"        super(GetConfigDriveImageTestCase, self).setUp()"}],"source_content_type":"text/x-python","patch_set":1,"id":"49e25896_410668d5","line":3030,"in_reply_to":"7d5d2da8_a881d9fb","updated":"2025-11-21 15:00:05.000000000","message":"Thanks... I will get to it","commit_id":"dabdebdc124eb99041473c4466ee2609c3fbd551"}],"ironic/tests/unit/drivers/modules/ansible/test_deploy.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"86b2fe2fd805f23aecace0a5a47a66ffbfadb42e","unresolved":true,"context_lines":[{"line_number":495,"context_line":"                mock.call().write(\u0027fake-content\u0027),"},{"line_number":496,"context_line":"                mock.call().__exit__(None, None, None)))"},{"line_number":497,"context_line":""},{"line_number":498,"context_line":"    @mock.patch(\u0027ironic.conductor.configdrive_utils.os_configdrive.build\u0027,"},{"line_number":499,"context_line":"                autospec\u003dTrue)"},{"line_number":500,"context_line":"    @mock.patch(\u0027ironic.conductor.configdrive_utils.build_configdrive\u0027,"},{"line_number":501,"context_line":"                autospec\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":5,"id":"adf36613_2320bcd1","line":498,"updated":"2025-11-14 18:54:08.000000000","message":"I don\u0027t think you need to mock this if you mock build_configdrive that calls it.","commit_id":"6ddea6574c16c209e79f1c82fda9dbd4e4d47a07"},{"author":{"_account_id":38549,"name":"David Nwosu","display_name":"Pointbr8ker-123","email":"nwosudavid13@gmail.com","username":"Pointbr8ker-123"},"change_message_id":"b831575b4ab4e944c36196a216e43205fda0f6a4","unresolved":false,"context_lines":[{"line_number":495,"context_line":"                mock.call().write(\u0027fake-content\u0027),"},{"line_number":496,"context_line":"                mock.call().__exit__(None, None, None)))"},{"line_number":497,"context_line":""},{"line_number":498,"context_line":"    @mock.patch(\u0027ironic.conductor.configdrive_utils.os_configdrive.build\u0027,"},{"line_number":499,"context_line":"                autospec\u003dTrue)"},{"line_number":500,"context_line":"    @mock.patch(\u0027ironic.conductor.configdrive_utils.build_configdrive\u0027,"},{"line_number":501,"context_line":"                autospec\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":5,"id":"7c65392f_2efdf34c","line":498,"in_reply_to":"adf36613_2320bcd1","updated":"2025-11-21 15:00:05.000000000","message":"Thanks... I\u0027ll remove the mock of os_configdrive.build","commit_id":"6ddea6574c16c209e79f1c82fda9dbd4e4d47a07"}],"ironic/tests/unit/drivers/modules/redfish/test_boot.py":[{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"8792b4353676efee18918f89dc7a81794458a1a2","unresolved":true,"context_lines":[{"line_number":20,"context_line":"from ironic.common import boot_devices"},{"line_number":21,"context_line":"from ironic.common import exception"},{"line_number":22,"context_line":"from ironic.common import states"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from ironic.conductor import configdrive_utils"},{"line_number":25,"context_line":"from ironic.conductor import task_manager"},{"line_number":26,"context_line":"from ironic.conductor import utils as manager_utils"}],"source_content_type":"text/x-python","patch_set":9,"id":"ea9fd129_d53e50ae","line":23,"updated":"2025-11-24 16:03:15.000000000","message":"Please remove the newline, this should be in the same group with other Ironic items.","commit_id":"10491e904da24a2f9d25d14f89b2948f612abc6f"},{"author":{"_account_id":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."},"change_message_id":"5cbc3e7d96492e01b6e983674882477efb9e3f27","unresolved":false,"context_lines":[{"line_number":20,"context_line":"from ironic.common import boot_devices"},{"line_number":21,"context_line":"from ironic.common import exception"},{"line_number":22,"context_line":"from ironic.common import states"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from ironic.conductor import configdrive_utils"},{"line_number":25,"context_line":"from ironic.conductor import task_manager"},{"line_number":26,"context_line":"from ironic.conductor import utils as manager_utils"}],"source_content_type":"text/x-python","patch_set":9,"id":"2b740911_a5e8bfac","line":23,"in_reply_to":"ea9fd129_d53e50ae","updated":"2025-11-24 16:38:49.000000000","message":"Acknowledged","commit_id":"10491e904da24a2f9d25d14f89b2948f612abc6f"}],"ironic/tests/unit/drivers/modules/test_agent.py":[{"author":{"_account_id":38549,"name":"David Nwosu","display_name":"Pointbr8ker-123","email":"nwosudavid13@gmail.com","username":"Pointbr8ker-123"},"change_message_id":"b831575b4ab4e944c36196a216e43205fda0f6a4","unresolved":false,"context_lines":[{"line_number":26,"context_line":"from ironic.common import raid"},{"line_number":27,"context_line":"from ironic.common import states"},{"line_number":28,"context_line":"from ironic.conductor import task_manager"},{"line_number":29,"context_line":"from ironic.conductor import configdrive_utils"},{"line_number":30,"context_line":"from ironic.conductor import utils as manager_utils"},{"line_number":31,"context_line":"from ironic.drivers import base as drivers_base"},{"line_number":32,"context_line":"from ironic.drivers.modules import agent"}],"source_content_type":"text/x-python","patch_set":2,"id":"38403552_d837f082","line":29,"in_reply_to":"74d85b9a_9e4ad5bc","updated":"2025-11-21 15:00:05.000000000","message":"\u003e pep8: H306: imports not in alphabetical order (ironic.conductor.task_manager, ironic.conductor.configdrive_utils)\n\nPlease fix.","commit_id":"5a013faff9116e400b72248cb34d5e2c0b532849"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"86b2fe2fd805f23aecace0a5a47a66ffbfadb42e","unresolved":true,"context_lines":[{"line_number":25,"context_line":"from ironic.common import images"},{"line_number":26,"context_line":"from ironic.common import raid"},{"line_number":27,"context_line":"from ironic.common import states"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"from ironic.conductor import configdrive_utils"},{"line_number":30,"context_line":"from ironic.conductor import task_manager"},{"line_number":31,"context_line":"from ironic.conductor import utils as manager_utils"}],"source_content_type":"text/x-python","patch_set":5,"id":"6939e4ad_cac0d805","line":28,"updated":"2025-11-14 18:54:08.000000000","message":"This newline should not be here","commit_id":"6ddea6574c16c209e79f1c82fda9dbd4e4d47a07"},{"author":{"_account_id":38549,"name":"David Nwosu","display_name":"Pointbr8ker-123","email":"nwosudavid13@gmail.com","username":"Pointbr8ker-123"},"change_message_id":"b831575b4ab4e944c36196a216e43205fda0f6a4","unresolved":false,"context_lines":[{"line_number":25,"context_line":"from ironic.common import images"},{"line_number":26,"context_line":"from ironic.common import raid"},{"line_number":27,"context_line":"from ironic.common import states"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"from ironic.conductor import configdrive_utils"},{"line_number":30,"context_line":"from ironic.conductor import task_manager"},{"line_number":31,"context_line":"from ironic.conductor import utils as manager_utils"}],"source_content_type":"text/x-python","patch_set":5,"id":"ecb24bf4_751b8d90","line":28,"in_reply_to":"6939e4ad_cac0d805","updated":"2025-11-21 15:00:05.000000000","message":"Done","commit_id":"6ddea6574c16c209e79f1c82fda9dbd4e4d47a07"}],"ironic/tests/unit/objects/test_objects.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"86b2fe2fd805f23aecace0a5a47a66ffbfadb42e","unresolved":true,"context_lines":[{"line_number":750,"context_line":"class TestObjectSerializer(test_base.TestCase):"},{"line_number":751,"context_line":""},{"line_number":752,"context_line":"    def test_object_serialization(self):"},{"line_number":753,"context_line":"        set \u003d base.IronicObjectSerializer()"},{"line_number":754,"context_line":"        obj \u003d MyObj(self.context)"},{"line_number":755,"context_line":"        primitive \u003d set.serialize_entity(self.context, obj)"},{"line_number":756,"context_line":"        self.assertIn(\u0027ironic_object.name\u0027, primitive)"}],"source_content_type":"text/x-python","patch_set":5,"id":"f3f1ea8f_66eae2ef","line":753,"updated":"2025-11-14 18:54:08.000000000","message":"This change is very-very wrong, how did it end up here?","commit_id":"6ddea6574c16c209e79f1c82fda9dbd4e4d47a07"},{"author":{"_account_id":38549,"name":"David Nwosu","display_name":"Pointbr8ker-123","email":"nwosudavid13@gmail.com","username":"Pointbr8ker-123"},"change_message_id":"b831575b4ab4e944c36196a216e43205fda0f6a4","unresolved":false,"context_lines":[{"line_number":750,"context_line":"class TestObjectSerializer(test_base.TestCase):"},{"line_number":751,"context_line":""},{"line_number":752,"context_line":"    def test_object_serialization(self):"},{"line_number":753,"context_line":"        set \u003d base.IronicObjectSerializer()"},{"line_number":754,"context_line":"        obj \u003d MyObj(self.context)"},{"line_number":755,"context_line":"        primitive \u003d set.serialize_entity(self.context, obj)"},{"line_number":756,"context_line":"        self.assertIn(\u0027ironic_object.name\u0027, primitive)"}],"source_content_type":"text/x-python","patch_set":5,"id":"2388338b_7b5c4e3e","line":753,"in_reply_to":"f3f1ea8f_66eae2ef","updated":"2025-11-21 15:00:05.000000000","message":"Oh my apologies. An automated tool incorrectly changed the variable name from \u0027ser\u0027 to \u0027set\u0027(which could have potentially caused a lot issues) during pre-commit checks. I didn\u0027t catch it before pushing.\n\nI\u0027ll revert this change immediately","commit_id":"6ddea6574c16c209e79f1c82fda9dbd4e4d47a07"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"86b2fe2fd805f23aecace0a5a47a66ffbfadb42e","unresolved":true,"context_lines":[{"line_number":759,"context_line":"        self.assertEqual(self.context, obj2._context)"},{"line_number":760,"context_line":""},{"line_number":761,"context_line":"    def test_object_serialization_iterables(self):"},{"line_number":762,"context_line":"        serializer \u003d base.IronicObjectSerializer()"},{"line_number":763,"context_line":"        obj \u003d MyObj(self.context)"},{"line_number":764,"context_line":"        for iterable in (list, tuple, set):"},{"line_number":765,"context_line":"            thing \u003d iterable([obj])"}],"source_content_type":"text/x-python","patch_set":5,"id":"6449f7f1_451b40cf","line":762,"updated":"2025-11-14 18:54:08.000000000","message":"Here it\u0027s better but should be proposed separately and with a justification","commit_id":"6ddea6574c16c209e79f1c82fda9dbd4e4d47a07"},{"author":{"_account_id":38549,"name":"David Nwosu","display_name":"Pointbr8ker-123","email":"nwosudavid13@gmail.com","username":"Pointbr8ker-123"},"change_message_id":"b831575b4ab4e944c36196a216e43205fda0f6a4","unresolved":false,"context_lines":[{"line_number":759,"context_line":"        self.assertEqual(self.context, obj2._context)"},{"line_number":760,"context_line":""},{"line_number":761,"context_line":"    def test_object_serialization_iterables(self):"},{"line_number":762,"context_line":"        serializer \u003d base.IronicObjectSerializer()"},{"line_number":763,"context_line":"        obj \u003d MyObj(self.context)"},{"line_number":764,"context_line":"        for iterable in (list, tuple, set):"},{"line_number":765,"context_line":"            thing \u003d iterable([obj])"}],"source_content_type":"text/x-python","patch_set":5,"id":"483f71cf_16bd219a","line":762,"in_reply_to":"6449f7f1_451b40cf","updated":"2025-11-21 15:00:05.000000000","message":"Understood. For now, I\u0027ll revert this variable name change back to \u0027ser\u0027 to keep this change focused on the configdrive refactoring. I can propose readability improvements like this in a separate change later with proper justification.","commit_id":"6ddea6574c16c209e79f1c82fda9dbd4e4d47a07"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"86b2fe2fd805f23aecace0a5a47a66ffbfadb42e","unresolved":true,"context_lines":[{"line_number":777,"context_line":"    def _test_deserialize_entity_newer(self, obj_version, backported_to,"},{"line_number":778,"context_line":"                                       mock_indirection_api,"},{"line_number":779,"context_line":"                                       my_version\u003d\u00271.6\u0027):"},{"line_number":780,"context_line":"        set \u003d base.IronicObjectSerializer()"},{"line_number":781,"context_line":"        backported_obj \u003d MyObj()"},{"line_number":782,"context_line":"        mock_indirection_api.object_backport_versions.return_value \\"},{"line_number":783,"context_line":"            \u003d backported_obj"}],"source_content_type":"text/x-python","patch_set":5,"id":"7ebdfcb9_3633929b","line":780,"updated":"2025-11-14 18:54:08.000000000","message":"Again, no overriding built-in objects please","commit_id":"6ddea6574c16c209e79f1c82fda9dbd4e4d47a07"},{"author":{"_account_id":38549,"name":"David Nwosu","display_name":"Pointbr8ker-123","email":"nwosudavid13@gmail.com","username":"Pointbr8ker-123"},"change_message_id":"b831575b4ab4e944c36196a216e43205fda0f6a4","unresolved":false,"context_lines":[{"line_number":777,"context_line":"    def _test_deserialize_entity_newer(self, obj_version, backported_to,"},{"line_number":778,"context_line":"                                       mock_indirection_api,"},{"line_number":779,"context_line":"                                       my_version\u003d\u00271.6\u0027):"},{"line_number":780,"context_line":"        set \u003d base.IronicObjectSerializer()"},{"line_number":781,"context_line":"        backported_obj \u003d MyObj()"},{"line_number":782,"context_line":"        mock_indirection_api.object_backport_versions.return_value \\"},{"line_number":783,"context_line":"            \u003d backported_obj"}],"source_content_type":"text/x-python","patch_set":5,"id":"02459ee9_a23c344a","line":780,"in_reply_to":"7ebdfcb9_3633929b","updated":"2025-11-21 15:00:05.000000000","message":"Again, sorry about this.","commit_id":"6ddea6574c16c209e79f1c82fda9dbd4e4d47a07"}]}
