)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"6224d681f7131e89426df1fba72213deef4e2c08","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     David Nwosu \u003cnwosudavid13@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2026-05-30 10:41:42 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add project field to node history and record deployment transitions"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Tracks when nodes are deployed, torn down, and returned"},{"line_number":10,"context_line":"to available, along with who triggered each action."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"a61a48d5_6da2ae05","line":7,"range":{"start_line":7,"start_character":34,"end_line":7,"end_character":67},"updated":"2026-06-01 07:41:26.000000000","message":"this needs to be removed for the reduced scope","commit_id":"366fb176481ad5f0e5640a6cace3673b717b0169"},{"author":{"_account_id":38549,"name":"David Nwosu","display_name":"Pointbr8ker-123","email":"nwosudavid13@gmail.com","username":"Pointbr8ker-123"},"change_message_id":"674b76de4aedeb200f7c8c7ea3db2e37716670ff","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     David Nwosu \u003cnwosudavid13@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2026-05-30 10:41:42 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add project field to node history and record deployment transitions"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Tracks when nodes are deployed, torn down, and returned"},{"line_number":10,"context_line":"to available, along with who triggered each action."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"e0b443dc_ec24649c","line":7,"range":{"start_line":7,"start_character":34,"end_line":7,"end_character":67},"in_reply_to":"a61a48d5_6da2ae05","updated":"2026-06-03 07:14:11.000000000","message":"Done","commit_id":"366fb176481ad5f0e5640a6cace3673b717b0169"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"6224d681f7131e89426df1fba72213deef4e2c08","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add project field to node history and record deployment transitions"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Tracks when nodes are deployed, torn down, and returned"},{"line_number":10,"context_line":"to available, along with who triggered each action."},{"line_number":11,"context_line":"This enables operators to see deployment history and"},{"line_number":12,"context_line":"account for resource usage per user and project."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Assisted-By: Claude (Sonnet 4.6)"},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"37bf141d_a47a5560","line":12,"range":{"start_line":9,"start_character":0,"end_line":12,"end_character":48},"updated":"2026-06-01 07:41:26.000000000","message":"update the commit message for the reduced scope","commit_id":"366fb176481ad5f0e5640a6cace3673b717b0169"},{"author":{"_account_id":38549,"name":"David Nwosu","display_name":"Pointbr8ker-123","email":"nwosudavid13@gmail.com","username":"Pointbr8ker-123"},"change_message_id":"674b76de4aedeb200f7c8c7ea3db2e37716670ff","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add project field to node history and record deployment transitions"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Tracks when nodes are deployed, torn down, and returned"},{"line_number":10,"context_line":"to available, along with who triggered each action."},{"line_number":11,"context_line":"This enables operators to see deployment history and"},{"line_number":12,"context_line":"account for resource usage per user and project."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Assisted-By: Claude (Sonnet 4.6)"},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"72257977_13c5e624","line":12,"range":{"start_line":9,"start_character":0,"end_line":12,"end_character":48},"in_reply_to":"37bf141d_a47a5560","updated":"2026-06-03 07:14:11.000000000","message":"Done","commit_id":"366fb176481ad5f0e5640a6cace3673b717b0169"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"6224d681f7131e89426df1fba72213deef4e2c08","unresolved":true,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Assisted-By: Claude (Sonnet 4.6)"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Closes-Bug: #2098693"},{"line_number":17,"context_line":"Change-Id: I90b7513b4e91464a655f7059e03fb78ca1a5c251"},{"line_number":18,"context_line":"Signed-off-by: David Nwosu \u003cnwosudavid13@gmail.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"fa289364_dffc5328","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":20},"updated":"2026-06-01 07:41:26.000000000","message":"this is now Partial-Bug","commit_id":"366fb176481ad5f0e5640a6cace3673b717b0169"},{"author":{"_account_id":38549,"name":"David Nwosu","display_name":"Pointbr8ker-123","email":"nwosudavid13@gmail.com","username":"Pointbr8ker-123"},"change_message_id":"674b76de4aedeb200f7c8c7ea3db2e37716670ff","unresolved":false,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Assisted-By: Claude (Sonnet 4.6)"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Closes-Bug: #2098693"},{"line_number":17,"context_line":"Change-Id: I90b7513b4e91464a655f7059e03fb78ca1a5c251"},{"line_number":18,"context_line":"Signed-off-by: David Nwosu \u003cnwosudavid13@gmail.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"f837de00_dc53164c","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":20},"in_reply_to":"fa289364_dffc5328","updated":"2026-06-03 07:14:11.000000000","message":"Done","commit_id":"366fb176481ad5f0e5640a6cace3673b717b0169"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":38549,"name":"David Nwosu","display_name":"Pointbr8ker-123","email":"nwosudavid13@gmail.com","username":"Pointbr8ker-123"},"change_message_id":"2fd969fe4b3b56569bee372904e087906daa442a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"d18197ec_88871cac","updated":"2026-04-08 21:44:33.000000000","message":"recheck - pep8 job failed with TLS handshake error cloning hacking repo","commit_id":"8c70488363f70f894324e148920786f9f961bf83"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"06a5a5e561863ecd73ee39b543328815316fe2c5","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":5,"id":"37922a76_23367109","updated":"2026-04-10 22:55:04.000000000","message":"Not a real -1, but as discussed with the other cores... getting https://review.opendev.org/c/openstack/ironic/+/983215 first to structure the DB migrations in that order would hugely benefit me. I\u0027m happy to fix this one up afterwards as well.","commit_id":"85f5ebf9cc916ce5824cecc2d0f11f52eb83edb6"},{"author":{"_account_id":38549,"name":"David Nwosu","display_name":"Pointbr8ker-123","email":"nwosudavid13@gmail.com","username":"Pointbr8ker-123"},"change_message_id":"4c21252aec4f2a6495e5b80bae26e6ff422abbca","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"db897454_29cd30fc","updated":"2026-04-10 18:26:05.000000000","message":"recheck bug 2098693\n\nNon-voting job failures (POST_FAILURE, metal3-integration) are unrelated to this change; all voting jobs passed.","commit_id":"85f5ebf9cc916ce5824cecc2d0f11f52eb83edb6"},{"author":{"_account_id":38549,"name":"David Nwosu","display_name":"Pointbr8ker-123","email":"nwosudavid13@gmail.com","username":"Pointbr8ker-123"},"change_message_id":"674b76de4aedeb200f7c8c7ea3db2e37716670ff","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"ce4f0a36_b4387605","in_reply_to":"37922a76_23367109","updated":"2026-06-03 07:14:11.000000000","message":"Done","commit_id":"85f5ebf9cc916ce5824cecc2d0f11f52eb83edb6"},{"author":{"_account_id":35099,"name":"Jakub Jelinek","email":"jakub.jelinek@cern.ch","username":"kubajj"},"change_message_id":"f9548e4a3693b59c3ccd5d0ec59e6731c1864b08","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"9ef319dc_79684d44","updated":"2026-04-15 15:31:01.000000000","message":"Please see Doug\u0027s comment","commit_id":"c9bb42bb06e968e6199acc5a3e3bc5a25bce7bac"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"afad95706ee7c1df4871737bff9fef2dc72698e0","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":6,"id":"6e73660e_49ab8f61","updated":"2026-04-15 15:29:32.000000000","message":"So I\u0027m going to maintain my -1 here but now for technical reasons. We can certainly log these state changes in the node history but the recording of the project is wrong. This is logging the \"service\" project\u0027s ID every single time which is useless. You want the leesee field to be logged to achieve the goals of the bug report.","commit_id":"c9bb42bb06e968e6199acc5a3e3bc5a25bce7bac"},{"author":{"_account_id":38549,"name":"David Nwosu","display_name":"Pointbr8ker-123","email":"nwosudavid13@gmail.com","username":"Pointbr8ker-123"},"change_message_id":"916f7f99f99c76e607103f9789b62143f4463f81","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"8d14c12f_1184fda2","in_reply_to":"6e73660e_49ab8f61","updated":"2026-04-18 07:29:27.000000000","message":"Thanks Doug! I’d have loved to look into it right away but this bug was reserved for the Ironic Outreachy internship this year.","commit_id":"c9bb42bb06e968e6199acc5a3e3bc5a25bce7bac"},{"author":{"_account_id":38549,"name":"David Nwosu","display_name":"Pointbr8ker-123","email":"nwosudavid13@gmail.com","username":"Pointbr8ker-123"},"change_message_id":"452b31052ce384023f94582767a56aeb045e1fa1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"da716ed3_43ca2165","updated":"2026-05-23 11:11:37.000000000","message":"Addressed the review feedback — replaced \"task.context.project_id\" with \"task.node.lessee\" across all three conductor files to correctly record the tenant that owns the node. Also updated the migration\u0027s down_revision after the new upstream migration \"e2d316b60d9e\".\n\nNOTE: tox -epy3 fails locally due to an upstream dependency conflict between keystonemiddleware 13.0.0 and the oslo-cache constraint. Tests pass successfully when run directly in the py310 environment. I believe it is an infrastructure issue unrelated to this patch.","commit_id":"018d9b471f6f6278d05d7cf8383223867c400668"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"4012b3d94375cf26c137c9ea92022aaa6eb64e1d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"619392db_98a19475","updated":"2026-05-26 15:58:29.000000000","message":"this is currently under discussion","commit_id":"018d9b471f6f6278d05d7cf8383223867c400668"},{"author":{"_account_id":35099,"name":"Jakub Jelinek","email":"jakub.jelinek@cern.ch","username":"kubajj"},"change_message_id":"19e7c014f7fb68f3400e3d3bd376371c3155bfbb","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":7,"id":"fb75dd9f_8b934dc6","in_reply_to":"da716ed3_43ca2165","updated":"2026-05-26 09:39:21.000000000","message":"What if you spawn an instance from a project which is the owner of the node and not a lessee?","commit_id":"018d9b471f6f6278d05d7cf8383223867c400668"},{"author":{"_account_id":38549,"name":"David Nwosu","display_name":"Pointbr8ker-123","email":"nwosudavid13@gmail.com","username":"Pointbr8ker-123"},"change_message_id":"674b76de4aedeb200f7c8c7ea3db2e37716670ff","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"b42bd6c7_516c8af2","in_reply_to":"fb75dd9f_8b934dc6","updated":"2026-06-03 07:14:11.000000000","message":"Done","commit_id":"018d9b471f6f6278d05d7cf8383223867c400668"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"6224d681f7131e89426df1fba72213deef4e2c08","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"82ab72c1_0198bc3b","updated":"2026-06-01 07:41:26.000000000","message":"thanks David, please update the commit message (it still mentions deployment transitions) and add a releasenote","commit_id":"366fb176481ad5f0e5640a6cace3673b717b0169"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"18b6afe4e7ba0f1de42d180c758405ea59ade5d5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"6bf47029_e167f98f","updated":"2026-06-04 15:31:18.000000000","message":"Is there a follow-up change? I ask because ultimately this change *IS* adding the field, however shouldn\u0027t that be micro-version guarded. A client won\u0027t know to include or exclude the field. In a sense with the change as-is, the client will get excess data and not know what to do with it.","commit_id":"32fe83e9c7b0a5abf43f9e3e13ab8fb537aa238f"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"56e81617e94bfdcb12adc061c80c0a9b19f26be5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"c76df60e_687b18d0","updated":"2026-06-05 14:12:16.000000000","message":"Julia comment is actually right, I overlooked the change, we need an API bump here","commit_id":"32fe83e9c7b0a5abf43f9e3e13ab8fb537aa238f"},{"author":{"_account_id":38549,"name":"David Nwosu","display_name":"Pointbr8ker-123","email":"nwosudavid13@gmail.com","username":"Pointbr8ker-123"},"change_message_id":"674b76de4aedeb200f7c8c7ea3db2e37716670ff","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"6e88567c_411e62a2","updated":"2026-06-03 07:14:11.000000000","message":"recheck - Failed test in openstack.tests.functional.orchestration.v1.test_stack.TestStack.test_suspend_resume, which appears unrelated to this Ironic change.","commit_id":"32fe83e9c7b0a5abf43f9e3e13ab8fb537aa238f"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"9ac42cea3782f97319e3735a5eba9db3c65d320f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"6dc61858_aaf585ed","updated":"2026-06-03 10:08:12.000000000","message":"thanks!","commit_id":"32fe83e9c7b0a5abf43f9e3e13ab8fb537aa238f"},{"author":{"_account_id":38549,"name":"David Nwosu","display_name":"Pointbr8ker-123","email":"nwosudavid13@gmail.com","username":"Pointbr8ker-123"},"change_message_id":"9d50e206bbb14bab06478a830223f3ac0c4d40c4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"f5349ecb_8afed3a4","in_reply_to":"6bf47029_e167f98f","updated":"2026-06-06 14:22:48.000000000","message":"Thank you for this feedback Julia. You\u0027re right. I\u0027ll add a new microversion to gate the project field so clients know when to expect it. I\u0027ll also remove \"project\" from \"detail_fields\" in this patch and handle the API exposure in a follow-up change with proper microversion","commit_id":"32fe83e9c7b0a5abf43f9e3e13ab8fb537aa238f"},{"author":{"_account_id":38549,"name":"David Nwosu","display_name":"Pointbr8ker-123","email":"nwosudavid13@gmail.com","username":"Pointbr8ker-123"},"change_message_id":"46c52094886682c8b58274eec374e49afb639070","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"884c23c6_509f340f","in_reply_to":"f5349ecb_8afed3a4","updated":"2026-06-06 14:39:16.000000000","message":"On second thought, since this bug is specifically for \"adding project to node history\", removing the \"project\" field entirely would defeat the purpose of the patch. Instead, I\u0027ll keep \"project\" in the response but gate it behind a new microversion (1.113), so that only clients requesting 1.113 or higher will receive it in the detail response. This way existing clients won\u0027t receive unexpected data while new clients can explicitly opt in to the new field.","commit_id":"32fe83e9c7b0a5abf43f9e3e13ab8fb537aa238f"}],"ironic/api/controllers/v1/node.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8b7251388a26bfef81c2d335f2dc6cba682574e8","unresolved":false,"context_lines":[{"line_number":2137,"context_line":"                     \u0027event\u0027, \u0027conductor\u0027, \u0027user\u0027]"},{"line_number":2138,"context_line":"    "},{"line_number":2139,"context_line":"    detail_fields_with_project \u003d [\u0027uuid\u0027, \u0027created_at\u0027, \u0027severity\u0027,"},{"line_number":2140,"context_line":"                              \u0027event_type\u0027, \u0027event\u0027, \u0027conductor\u0027,"},{"line_number":2141,"context_line":"                              \u0027user\u0027, \u0027project\u0027]"},{"line_number":2142,"context_line":""},{"line_number":2143,"context_line":"    standard_fields \u003d [\u0027uuid\u0027, \u0027created_at\u0027, \u0027severity\u0027, \u0027event\u0027]"}],"source_content_type":"text/x-python","patch_set":12,"id":"49b15c3e_84741c89","line":2140,"updated":"2026-06-06 16:46:49.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"9c3834c8ed567b03107a7326e21df895cc1dca5a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8b7251388a26bfef81c2d335f2dc6cba682574e8","unresolved":false,"context_lines":[{"line_number":2138,"context_line":"    "},{"line_number":2139,"context_line":"    detail_fields_with_project \u003d [\u0027uuid\u0027, \u0027created_at\u0027, \u0027severity\u0027,"},{"line_number":2140,"context_line":"                              \u0027event_type\u0027, \u0027event\u0027, \u0027conductor\u0027,"},{"line_number":2141,"context_line":"                              \u0027user\u0027, \u0027project\u0027]"},{"line_number":2142,"context_line":""},{"line_number":2143,"context_line":"    standard_fields \u003d [\u0027uuid\u0027, \u0027created_at\u0027, \u0027severity\u0027, \u0027event\u0027]"},{"line_number":2144,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"6656eaa4_331ba70f","line":2141,"updated":"2026-06-06 16:46:49.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"9c3834c8ed567b03107a7326e21df895cc1dca5a"}],"ironic/common/release_mappings.py":[{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"6224d681f7131e89426df1fba72213deef4e2c08","unresolved":true,"context_lines":[{"line_number":999,"context_line":"            \u0027Allocation\u0027: [\u00271.3\u0027, \u00271.2\u0027, \u00271.1\u0027],"},{"line_number":1000,"context_line":"            \u0027BIOSSetting\u0027: [\u00271.2\u0027, \u00271.1\u0027],"},{"line_number":1001,"context_line":"            \u0027Node\u0027: [\u00271.44\u0027, \u00271.43\u0027, \u00271.42\u0027, \u00271.41\u0027],"},{"line_number":1002,"context_line":"            \u0027NodeHistory\u0027: [\u00271.2\u0027,\u00271.1\u0027, \u00271.0\u0027],"},{"line_number":1003,"context_line":"            \u0027NodeInventory\u0027: [\u00271.1\u0027, \u00271.0\u0027],"},{"line_number":1004,"context_line":"            \u0027Conductor\u0027: [\u00271.6\u0027, \u00271.5\u0027, \u00271.4\u0027],"},{"line_number":1005,"context_line":"            \u0027Chassis\u0027: [\u00271.4\u0027, \u00271.3\u0027],"}],"source_content_type":"text/x-python","patch_set":8,"id":"fe665f07_948df931","line":1002,"range":{"start_line":1002,"start_character":28,"end_line":1002,"end_character":38},"updated":"2026-06-01 07:41:26.000000000","message":"nit: missing space after comma","commit_id":"366fb176481ad5f0e5640a6cace3673b717b0169"},{"author":{"_account_id":38549,"name":"David Nwosu","display_name":"Pointbr8ker-123","email":"nwosudavid13@gmail.com","username":"Pointbr8ker-123"},"change_message_id":"674b76de4aedeb200f7c8c7ea3db2e37716670ff","unresolved":false,"context_lines":[{"line_number":999,"context_line":"            \u0027Allocation\u0027: [\u00271.3\u0027, \u00271.2\u0027, \u00271.1\u0027],"},{"line_number":1000,"context_line":"            \u0027BIOSSetting\u0027: [\u00271.2\u0027, \u00271.1\u0027],"},{"line_number":1001,"context_line":"            \u0027Node\u0027: [\u00271.44\u0027, \u00271.43\u0027, \u00271.42\u0027, \u00271.41\u0027],"},{"line_number":1002,"context_line":"            \u0027NodeHistory\u0027: [\u00271.2\u0027,\u00271.1\u0027, \u00271.0\u0027],"},{"line_number":1003,"context_line":"            \u0027NodeInventory\u0027: [\u00271.1\u0027, \u00271.0\u0027],"},{"line_number":1004,"context_line":"            \u0027Conductor\u0027: [\u00271.6\u0027, \u00271.5\u0027, \u00271.4\u0027],"},{"line_number":1005,"context_line":"            \u0027Chassis\u0027: [\u00271.4\u0027, \u00271.3\u0027],"}],"source_content_type":"text/x-python","patch_set":8,"id":"a547076f_54c2e601","line":1002,"range":{"start_line":1002,"start_character":28,"end_line":1002,"end_character":38},"in_reply_to":"fe665f07_948df931","updated":"2026-06-03 07:14:11.000000000","message":"Done","commit_id":"366fb176481ad5f0e5640a6cace3673b717b0169"}],"ironic/conductor/cleaning.py":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"7f181523a22ac62c17e7a6b6d4298d588758bd22","unresolved":true,"context_lines":[{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    LOG.debug(\u0027Starting %(type)s cleaning for node %(node)s\u0027,"},{"line_number":97,"context_line":"              {\u0027type\u0027: clean_type, \u0027node\u0027: node.uuid})"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    if not manual_clean and utils.skip_automated_cleaning(node):"},{"line_number":100,"context_line":"        # Skip cleaning, move to AVAILABLE."},{"line_number":101,"context_line":"        node.clean_step \u003d None"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f1fc9e7_6648bc8d","line":98,"updated":"2026-04-06 21:09:45.000000000","message":"FWIW, it might make sense to just explicitly record a history event here as starting cleaning.","commit_id":"43372223810988dcac408622fb17e56ee2badd2b"},{"author":{"_account_id":38549,"name":"David Nwosu","display_name":"Pointbr8ker-123","email":"nwosudavid13@gmail.com","username":"Pointbr8ker-123"},"change_message_id":"2fd969fe4b3b56569bee372904e087906daa442a","unresolved":false,"context_lines":[{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    LOG.debug(\u0027Starting %(type)s cleaning for node %(node)s\u0027,"},{"line_number":97,"context_line":"              {\u0027type\u0027: clean_type, \u0027node\u0027: node.uuid})"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    if not manual_clean and utils.skip_automated_cleaning(node):"},{"line_number":100,"context_line":"        # Skip cleaning, move to AVAILABLE."},{"line_number":101,"context_line":"        node.clean_step \u003d None"}],"source_content_type":"text/x-python","patch_set":3,"id":"62347df6_ab8d710d","line":98,"in_reply_to":"1f1fc9e7_6648bc8d","updated":"2026-04-08 21:44:33.000000000","message":"Done","commit_id":"43372223810988dcac408622fb17e56ee2badd2b"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"7f181523a22ac62c17e7a6b6d4298d588758bd22","unresolved":true,"context_lines":[{"line_number":96,"context_line":"    LOG.debug(\u0027Starting %(type)s cleaning for node %(node)s\u0027,"},{"line_number":97,"context_line":"              {\u0027type\u0027: clean_type, \u0027node\u0027: node.uuid})"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    if not manual_clean and utils.skip_automated_cleaning(node):"},{"line_number":100,"context_line":"        # Skip cleaning, move to AVAILABLE."},{"line_number":101,"context_line":"        node.clean_step \u003d None"},{"line_number":102,"context_line":"        node.save()"}],"source_content_type":"text/x-python","patch_set":3,"id":"68c79de6_120117e0","line":99,"range":{"start_line":99,"start_character":28,"end_line":99,"end_character":64},"updated":"2026-04-06 21:09:45.000000000","message":"Most operators don\u0027t automated cleaning, and only logging when skipping is wrong.","commit_id":"43372223810988dcac408622fb17e56ee2badd2b"},{"author":{"_account_id":38549,"name":"David Nwosu","display_name":"Pointbr8ker-123","email":"nwosudavid13@gmail.com","username":"Pointbr8ker-123"},"change_message_id":"2fd969fe4b3b56569bee372904e087906daa442a","unresolved":false,"context_lines":[{"line_number":96,"context_line":"    LOG.debug(\u0027Starting %(type)s cleaning for node %(node)s\u0027,"},{"line_number":97,"context_line":"              {\u0027type\u0027: clean_type, \u0027node\u0027: node.uuid})"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    if not manual_clean and utils.skip_automated_cleaning(node):"},{"line_number":100,"context_line":"        # Skip cleaning, move to AVAILABLE."},{"line_number":101,"context_line":"        node.clean_step \u003d None"},{"line_number":102,"context_line":"        node.save()"}],"source_content_type":"text/x-python","patch_set":3,"id":"03c38395_7c089ad0","line":99,"range":{"start_line":99,"start_character":28,"end_line":99,"end_character":64},"in_reply_to":"68c79de6_120117e0","updated":"2026-04-08 21:44:33.000000000","message":"Done","commit_id":"43372223810988dcac408622fb17e56ee2badd2b"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"7f181523a22ac62c17e7a6b6d4298d588758bd22","unresolved":true,"context_lines":[{"line_number":105,"context_line":"        task.driver.deploy.restore_interface(task)"},{"line_number":106,"context_line":"        utils.node_history_record("},{"line_number":107,"context_line":"                task.node,"},{"line_number":108,"context_line":"                event\u003d\u0027Node returned to available state\u0027,"},{"line_number":109,"context_line":"                event_type\u003dstates.CLEANING,"},{"line_number":110,"context_line":"                user\u003dtask.context.user_id,"},{"line_number":111,"context_line":"                project\u003dtask.context.project_id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"d75876c6_3f7080ce","line":108,"range":{"start_line":108,"start_character":23,"end_line":108,"end_character":56},"updated":"2026-04-06 21:09:45.000000000","message":"I\u0027d explicitly note \"skipping cleaning as configured\"","commit_id":"43372223810988dcac408622fb17e56ee2badd2b"},{"author":{"_account_id":38549,"name":"David Nwosu","display_name":"Pointbr8ker-123","email":"nwosudavid13@gmail.com","username":"Pointbr8ker-123"},"change_message_id":"2fd969fe4b3b56569bee372904e087906daa442a","unresolved":false,"context_lines":[{"line_number":105,"context_line":"        task.driver.deploy.restore_interface(task)"},{"line_number":106,"context_line":"        utils.node_history_record("},{"line_number":107,"context_line":"                task.node,"},{"line_number":108,"context_line":"                event\u003d\u0027Node returned to available state\u0027,"},{"line_number":109,"context_line":"                event_type\u003dstates.CLEANING,"},{"line_number":110,"context_line":"                user\u003dtask.context.user_id,"},{"line_number":111,"context_line":"                project\u003dtask.context.project_id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"09a39f7c_f3aa7dec","line":108,"range":{"start_line":108,"start_character":23,"end_line":108,"end_character":56},"in_reply_to":"d75876c6_3f7080ce","updated":"2026-04-08 21:44:33.000000000","message":"Done","commit_id":"43372223810988dcac408622fb17e56ee2badd2b"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"7f181523a22ac62c17e7a6b6d4298d588758bd22","unresolved":true,"context_lines":[{"line_number":381,"context_line":"    task.driver.deploy.restore_interface(task)"},{"line_number":382,"context_line":"    utils.node_history_record("},{"line_number":383,"context_line":"        task.node,"},{"line_number":384,"context_line":"        event\u003d\u0027Node cleaning complete, returned to available state\u0027,"},{"line_number":385,"context_line":"        event_type\u003dstates.CLEANING,"},{"line_number":386,"context_line":"        user\u003dtask.context.user_id,"},{"line_number":387,"context_line":"        project\u003dtask.context.project_id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"86ef98d8_2d2cebc6","line":384,"range":{"start_line":384,"start_character":37,"end_line":384,"end_character":67},"updated":"2026-04-06 21:09:45.000000000","message":"I\u0027d just leave it at \"Node cleaning complete.","commit_id":"43372223810988dcac408622fb17e56ee2badd2b"},{"author":{"_account_id":38549,"name":"David Nwosu","display_name":"Pointbr8ker-123","email":"nwosudavid13@gmail.com","username":"Pointbr8ker-123"},"change_message_id":"2fd969fe4b3b56569bee372904e087906daa442a","unresolved":false,"context_lines":[{"line_number":381,"context_line":"    task.driver.deploy.restore_interface(task)"},{"line_number":382,"context_line":"    utils.node_history_record("},{"line_number":383,"context_line":"        task.node,"},{"line_number":384,"context_line":"        event\u003d\u0027Node cleaning complete, returned to available state\u0027,"},{"line_number":385,"context_line":"        event_type\u003dstates.CLEANING,"},{"line_number":386,"context_line":"        user\u003dtask.context.user_id,"},{"line_number":387,"context_line":"        project\u003dtask.context.project_id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9b4125ae_14470928","line":384,"range":{"start_line":384,"start_character":37,"end_line":384,"end_character":67},"in_reply_to":"86ef98d8_2d2cebc6","updated":"2026-04-08 21:44:33.000000000","message":"Alright... Done","commit_id":"43372223810988dcac408622fb17e56ee2badd2b"},{"author":{"_account_id":35099,"name":"Jakub Jelinek","email":"jakub.jelinek@cern.ch","username":"kubajj"},"change_message_id":"b84516e782169cb11207e0418cebaa638bceda1d","unresolved":true,"context_lines":[{"line_number":112,"context_line":"        task.driver.deploy.restore_interface(task)"},{"line_number":113,"context_line":"        utils.node_history_record("},{"line_number":114,"context_line":"            task.node,"},{"line_number":115,"context_line":"            event\u003d\u0027Skipping cleaning as configured, node returned to available state\u0027,"},{"line_number":116,"context_line":"            event_type\u003dstates.CLEANING,"},{"line_number":117,"context_line":"            user\u003dtask.context.user_id,"},{"line_number":118,"context_line":"            project\u003dtask.context.project_id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"a82db7a1_c24ae163","line":115,"updated":"2026-04-10 13:55:54.000000000","message":"```suggestion\n            event\u003d\u0027Skipping cleaning as configured, node returned to available\u0027\n                  \u0027 state\u0027,\n```","commit_id":"8c70488363f70f894324e148920786f9f961bf83"},{"author":{"_account_id":38549,"name":"David Nwosu","display_name":"Pointbr8ker-123","email":"nwosudavid13@gmail.com","username":"Pointbr8ker-123"},"change_message_id":"4c21252aec4f2a6495e5b80bae26e6ff422abbca","unresolved":false,"context_lines":[{"line_number":112,"context_line":"        task.driver.deploy.restore_interface(task)"},{"line_number":113,"context_line":"        utils.node_history_record("},{"line_number":114,"context_line":"            task.node,"},{"line_number":115,"context_line":"            event\u003d\u0027Skipping cleaning as configured, node returned to available state\u0027,"},{"line_number":116,"context_line":"            event_type\u003dstates.CLEANING,"},{"line_number":117,"context_line":"            user\u003dtask.context.user_id,"},{"line_number":118,"context_line":"            project\u003dtask.context.project_id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"581d8073_1853ea51","line":115,"in_reply_to":"a82db7a1_c24ae163","updated":"2026-04-10 18:26:05.000000000","message":"Thanks a lot. I missed that","commit_id":"8c70488363f70f894324e148920786f9f961bf83"},{"author":{"_account_id":35099,"name":"Jakub Jelinek","email":"jakub.jelinek@cern.ch","username":"kubajj"},"change_message_id":"b84516e782169cb11207e0418cebaa638bceda1d","unresolved":true,"context_lines":[{"line_number":388,"context_line":"    task.driver.deploy.restore_interface(task)"},{"line_number":389,"context_line":"    utils.node_history_record("},{"line_number":390,"context_line":"        task.node,"},{"line_number":391,"context_line":"        event\u003d\u0027Node cleaning complete.\u0027,"},{"line_number":392,"context_line":"        event_type\u003dstates.CLEANING,"},{"line_number":393,"context_line":"        user\u003dtask.context.user_id,"},{"line_number":394,"context_line":"        project\u003dtask.context.project_id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"c7b193db_117c3cc9","line":391,"updated":"2026-04-10 13:55:54.000000000","message":"nit: all other events in this change do not have the full stop","commit_id":"8c70488363f70f894324e148920786f9f961bf83"},{"author":{"_account_id":38549,"name":"David Nwosu","display_name":"Pointbr8ker-123","email":"nwosudavid13@gmail.com","username":"Pointbr8ker-123"},"change_message_id":"4c21252aec4f2a6495e5b80bae26e6ff422abbca","unresolved":false,"context_lines":[{"line_number":388,"context_line":"    task.driver.deploy.restore_interface(task)"},{"line_number":389,"context_line":"    utils.node_history_record("},{"line_number":390,"context_line":"        task.node,"},{"line_number":391,"context_line":"        event\u003d\u0027Node cleaning complete.\u0027,"},{"line_number":392,"context_line":"        event_type\u003dstates.CLEANING,"},{"line_number":393,"context_line":"        user\u003dtask.context.user_id,"},{"line_number":394,"context_line":"        project\u003dtask.context.project_id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"088db24a_a76a2b66","line":391,"in_reply_to":"c7b193db_117c3cc9","updated":"2026-04-10 18:26:05.000000000","message":"Done","commit_id":"8c70488363f70f894324e148920786f9f961bf83"}],"ironic/conductor/utils.py":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"7f181523a22ac62c17e7a6b6d4298d588758bd22","unresolved":true,"context_lines":[{"line_number":1886,"context_line":""},{"line_number":1887,"context_line":"def node_history_record(node, conductor\u003dNone, event\u003dNone,"},{"line_number":1888,"context_line":"                        event_type\u003dNone, user\u003dNone,"},{"line_number":1889,"context_line":"                        project\u003dNone, error\u003dFalse):"},{"line_number":1890,"context_line":"    \"\"\"Records a node history record"},{"line_number":1891,"context_line":""},{"line_number":1892,"context_line":"    Adds an entry to the node history table with the appropriate fields"}],"source_content_type":"text/x-python","patch_set":3,"id":"9d0fb0c3_eccde5ff","line":1889,"range":{"start_line":1889,"start_character":24,"end_line":1889,"end_character":38},"updated":"2026-04-06 21:09:45.000000000","message":"Generally, when adding new parameters, we put them at the end of the list.","commit_id":"43372223810988dcac408622fb17e56ee2badd2b"},{"author":{"_account_id":38549,"name":"David Nwosu","display_name":"Pointbr8ker-123","email":"nwosudavid13@gmail.com","username":"Pointbr8ker-123"},"change_message_id":"2fd969fe4b3b56569bee372904e087906daa442a","unresolved":false,"context_lines":[{"line_number":1886,"context_line":""},{"line_number":1887,"context_line":"def node_history_record(node, conductor\u003dNone, event\u003dNone,"},{"line_number":1888,"context_line":"                        event_type\u003dNone, user\u003dNone,"},{"line_number":1889,"context_line":"                        project\u003dNone, error\u003dFalse):"},{"line_number":1890,"context_line":"    \"\"\"Records a node history record"},{"line_number":1891,"context_line":""},{"line_number":1892,"context_line":"    Adds an entry to the node history table with the appropriate fields"}],"source_content_type":"text/x-python","patch_set":3,"id":"e2e6e3d9_9fc0cc78","line":1889,"range":{"start_line":1889,"start_character":24,"end_line":1889,"end_character":38},"in_reply_to":"9d0fb0c3_eccde5ff","updated":"2026-04-08 21:44:33.000000000","message":"Done","commit_id":"43372223810988dcac408622fb17e56ee2badd2b"}],"ironic/tests/unit/api/controllers/v1/test_node.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8b7251388a26bfef81c2d335f2dc6cba682574e8","unresolved":false,"context_lines":[{"line_number":8913,"context_line":"    def test_get_history_item_no_project_old_version(self):"},{"line_number":8914,"context_line":"        self._add_history_entries()"},{"line_number":8915,"context_line":"        record \u003d self.get_json(\u0027/nodes/%s/history/%s\u0027 % (self.node.uuid,"},{"line_number":8916,"context_line":"                                                        self.event1.uuid),"},{"line_number":8917,"context_line":"                            headers\u003d{api_base.Version.string: \u00271.78\u0027})"},{"line_number":8918,"context_line":"        self.assertEqual(8, len(record))"},{"line_number":8919,"context_line":"        self.assertNotIn(\u0027project\u0027, record)"}],"source_content_type":"text/x-python","patch_set":12,"id":"3695b990_a3f73d1d","line":8916,"updated":"2026-06-06 16:46:49.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"9c3834c8ed567b03107a7326e21df895cc1dca5a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8b7251388a26bfef81c2d335f2dc6cba682574e8","unresolved":false,"context_lines":[{"line_number":8914,"context_line":"        self._add_history_entries()"},{"line_number":8915,"context_line":"        record \u003d self.get_json(\u0027/nodes/%s/history/%s\u0027 % (self.node.uuid,"},{"line_number":8916,"context_line":"                                                        self.event1.uuid),"},{"line_number":8917,"context_line":"                            headers\u003d{api_base.Version.string: \u00271.78\u0027})"},{"line_number":8918,"context_line":"        self.assertEqual(8, len(record))"},{"line_number":8919,"context_line":"        self.assertNotIn(\u0027project\u0027, record)"},{"line_number":8920,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"707fb423_c501f98e","line":8917,"updated":"2026-06-06 16:46:49.000000000","message":"pep8: E128 continuation line under-indented for visual indent","commit_id":"9c3834c8ed567b03107a7326e21df895cc1dca5a"}]}
