)]}'
{"/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":"6c93d49b2a5be2f4f5566a92d115c50424cfb26f","unresolved":true,"context_lines":[{"line_number":18,"context_line":"which causes error behavior."},{"line_number":19,"context_line":"The patch removes resource provider in placement after node deletion."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Story: #1248022"},{"line_number":22,"context_line":"Task: #9332"},{"line_number":23,"context_line":"Change-Id: I352429065eedb1dcbbfa803ec2814c3e870c3be9"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"48fcaaad_5292b002","line":21,"updated":"2022-02-01 14:59:48.000000000","message":"My feeling is this is partially still a bug, but I\u0027m not sure deleting from placement will entirely solve the issue since there is resource tracker, legacy nova-scheduler which was what the bug was filed against, and then placement which I personally didn\u0027t think was as susceptible to this.","commit_id":"e9f90cda40c045f5a3b75e61f79a5b03613b2b01"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"2a50ac07ce3c183706d6019db5e8f48b348dc0d8","unresolved":false,"context_lines":[{"line_number":18,"context_line":"which causes error behavior."},{"line_number":19,"context_line":"The patch removes resource provider in placement after node deletion."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Story: #1248022"},{"line_number":22,"context_line":"Task: #9332"},{"line_number":23,"context_line":"Change-Id: I352429065eedb1dcbbfa803ec2814c3e870c3be9"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"933dd6c3_cc9f54af","line":21,"in_reply_to":"1bd38f5f_c2af94e0","updated":"2022-02-03 15:56:06.000000000","message":"Done","commit_id":"e9f90cda40c045f5a3b75e61f79a5b03613b2b01"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"f18482c9d47c37c8cf7441093f1c2135c931e33b","unresolved":true,"context_lines":[{"line_number":18,"context_line":"which causes error behavior."},{"line_number":19,"context_line":"The patch removes resource provider in placement after node deletion."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Story: #1248022"},{"line_number":22,"context_line":"Task: #9332"},{"line_number":23,"context_line":"Change-Id: I352429065eedb1dcbbfa803ec2814c3e870c3be9"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1bd38f5f_c2af94e0","line":21,"in_reply_to":"48fcaaad_5292b002","updated":"2022-02-03 15:55:42.000000000","message":"I adjusted commit message. \nI emphasize that the patch is a \"good thing\" which helps to avoid error scheduling.","commit_id":"e9f90cda40c045f5a3b75e61f79a5b03613b2b01"}],"/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":"6c93d49b2a5be2f4f5566a92d115c50424cfb26f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"75a8e4e5_884798d0","updated":"2022-02-01 14:59:48.000000000","message":"Adding Chris Krelle as he was exploring something similar before. This is an interesting idea, although I\u0027m not sure it actually fixes things as expected. The issues at play are also very susceptible to race conditions, and fundamentally this basic issue exists in that internal synchronization gap which could be far worse on deployments with far more bare metal.\n\nOne additional note, it would be good if there was a release note added to this change should we collaboratively agree that this makes sense. Comments in line do include some questions/concerns, and I will be happy to try and articulate anything further if you have any questions. Thanks!\n\nMarking -1 mainly because we need a release note, explicit unit testing, and failure handling to be included of placement is not in use in the deployment of ironic.","commit_id":"e9f90cda40c045f5a3b75e61f79a5b03613b2b01"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"f7269bedc2f9e713bedc31493b77e1fc458fcbcf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"b1945dbf_d91ab250","updated":"2022-02-01 14:27:37.000000000","message":"An interesting idea, we need to think about it. At the very least, you need to handle the situation when there is no Placement at all.","commit_id":"e9f90cda40c045f5a3b75e61f79a5b03613b2b01"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"f18482c9d47c37c8cf7441093f1c2135c931e33b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"9752dd25_17fae927","in_reply_to":"75a8e4e5_884798d0","updated":"2022-02-03 15:55:42.000000000","message":"a release note, explicit unit testing, and failure handling to be included of placement is not in use in the deployment of ironic.\nAll done.","commit_id":"e9f90cda40c045f5a3b75e61f79a5b03613b2b01"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"6c93d49b2a5be2f4f5566a92d115c50424cfb26f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"d218239f_81632193","in_reply_to":"b1945dbf_d91ab250","updated":"2022-02-01 14:59:48.000000000","message":"Quite interesting. I\u0027ve left some comments in-line. Nobodycam was talking about trying the same thing for nodes being unprovisioned, and that is fundamentally to address the internal update race in nova vs nova-compute sync. Part of that is also because of another race condition which I\u0027ve got a patch for someplace...\n\nI could maybe see this as being most helpful if it were to attempt to mark the node as fully consumed not just when the node is being completely deleted entirely from ironic. This could also be helpful with unprovision actions as well, to at least placement based scheduling to work as expected.","commit_id":"e9f90cda40c045f5a3b75e61f79a5b03613b2b01"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"f18482c9d47c37c8cf7441093f1c2135c931e33b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"9c68e0ea_7900ea40","updated":"2022-02-03 15:55:42.000000000","message":"Julia, Thank you for your comments.\nI fixed what you asked and replied to comments.\nThanks again.\n","commit_id":"8389d656e2cea1d31584a43d6a6825c7996d1428"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"17c0201d5aca633dae91a78890101b686f8f29ae","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"5e7bfec1_17f6591f","updated":"2022-02-08 20:48:21.000000000","message":"Fixed what you asked.\nThank you for correction in RC.\nSorry, I\u0027m not native speaker(","commit_id":"d8180358b454731a89b91613079932239f65e7df"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"e8591a396ba9f05b9a862c9fa6ae91455ea203c3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"951714cb_edef453f","updated":"2022-03-10 14:35:48.000000000","message":"No activity more 1 month.\nPlease review","commit_id":"df42897c5b3c04177bdfcddbe010f169aa6ec2b4"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"be1c8bb59e3b84b73416d7ded8d2c16c55c0c25b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"7d9084dc_e3b6e2f8","updated":"2022-03-23 20:21:49.000000000","message":"Steve and Julia, I changed code in a way you asked. Pleas review.","commit_id":"424b7126297839023c8036b0c7f7236ae1878558"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"eda00f1dca8a14c477293ff2de197960c9a95a5f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"662e6e1a_cbfb2641","updated":"2022-05-05 09:44:39.000000000","message":"recheck","commit_id":"df2c98328bbd576fc30343e58eac280d5e3c22ab"},{"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":"7ad46f4f638d1d1ac9f2a867c6a175ea4f7a60cf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"2d065d9a_07c55989","updated":"2023-01-27 19:10:00.000000000","message":"I would appreciate if someone who focuses more on Nova/placement had a look at this before it landed. I asked John Garbutt. \n\nIt\u0027s not really required, but it\u0027d absolutely be nice. I don\u0027t want us to create a nova bug due to whatever behavior it\u0027ll exhibit when it finds we already updated placement.","commit_id":"e8107371f14c97bcae295354171e5f168f129e23"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"92efe848bb20927fd6c9df3cd34eabd2421a0f78","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":15,"id":"d3be7756_f96aa231","updated":"2023-01-29 09:48:33.000000000","message":"are we certain this is needed after this patch in nova:\nhttps://github.com/openstack/nova/commit/8a476061c5e034016668cd9e5a20c4430ef6b68d\n\nin theory the above means in this case we retry to the next host in the list of candidates, unless I am missing an extra exception (which is very possible)\n\nI am not against this change, it’s a good idea, just I don’t think the impact will be as great, and there is still a small window after this change is applied that the above nova patch should help (if we get it right!)\n\n","commit_id":"d39d6832fad6f76c15b0bfbbfee9b1b9e4a8b660"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e14be76dbc8d89040346a2a217d5774c2c383376","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":15,"id":"1bba4709_c492a5f6","in_reply_to":"d3be7756_f96aa231","updated":"2024-01-09 16:31:07.000000000","message":"I remember bringing that up, and I suspect based upon the nova patch. I remember someone in my social circle complaining about the very issue, and I pointed them at this patch and the nova patch, and they reported the nova patch seemed to clear their issue up (in other words, it has not been mentioned since), so I think we can safely abandon this change set at this point.","commit_id":"d39d6832fad6f76c15b0bfbbfee9b1b9e4a8b660"}],"ironic/common/placement.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":"6c93d49b2a5be2f4f5566a92d115c50424cfb26f","unresolved":true,"context_lines":[{"line_number":33,"context_line":"    \"\"\""},{"line_number":34,"context_line":"    cached_session \u003d _get_placement_session()"},{"line_number":35,"context_line":"    connection \u003d openstack.connection.Connection(session\u003dcached_session)"},{"line_number":36,"context_line":"    return connection.global_request(context.global_id).placement"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"def delete_resource_provider(context, resource_provider):"}],"source_content_type":"text/x-python","patch_set":1,"id":"f6a72641_26e51bcd","line":36,"updated":"2022-02-01 14:59:48.000000000","message":"I think it would be best if this is explicitly able to not be configured in that half of ironic deployments in production have no placement nor other services like nova. It has to be able to be skipped or at least bypassed if not in use.","commit_id":"e9f90cda40c045f5a3b75e61f79a5b03613b2b01"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"2a50ac07ce3c183706d6019db5e8f48b348dc0d8","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    \"\"\""},{"line_number":34,"context_line":"    cached_session \u003d _get_placement_session()"},{"line_number":35,"context_line":"    connection \u003d openstack.connection.Connection(session\u003dcached_session)"},{"line_number":36,"context_line":"    return connection.global_request(context.global_id).placement"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"def delete_resource_provider(context, resource_provider):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7c46617b_662e0e24","line":36,"in_reply_to":"17aff352_3daf2c23","updated":"2022-02-03 15:56:06.000000000","message":"Done","commit_id":"e9f90cda40c045f5a3b75e61f79a5b03613b2b01"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"f18482c9d47c37c8cf7441093f1c2135c931e33b","unresolved":true,"context_lines":[{"line_number":33,"context_line":"    \"\"\""},{"line_number":34,"context_line":"    cached_session \u003d _get_placement_session()"},{"line_number":35,"context_line":"    connection \u003d openstack.connection.Connection(session\u003dcached_session)"},{"line_number":36,"context_line":"    return connection.global_request(context.global_id).placement"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"def delete_resource_provider(context, resource_provider):"}],"source_content_type":"text/x-python","patch_set":1,"id":"17aff352_3daf2c23","line":36,"in_reply_to":"f6a72641_26e51bcd","updated":"2022-02-03 15:55:42.000000000","message":"Now it\u0027s skipped if it\u0027s not explicitly enabled in config.","commit_id":"e9f90cda40c045f5a3b75e61f79a5b03613b2b01"}],"ironic/conductor/manager.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":"6c93d49b2a5be2f4f5566a92d115c50424cfb26f","unresolved":true,"context_lines":[{"line_number":2017,"context_line":"            node.destroy()"},{"line_number":2018,"context_line":"            LOG.info(\u0027Successfully deleted node %(node)s.\u0027,"},{"line_number":2019,"context_line":"                     {\u0027node\u0027: node.uuid})"},{"line_number":2020,"context_line":"            placement.delete_resource_provider(context, node.uuid)"},{"line_number":2021,"context_line":"            LOG.info(\u0027Tried to delete placement resource provider after node \u0027"},{"line_number":2022,"context_line":"                     \u0027%(node)s was deleted.\u0027, {\u0027node\u0027: node.uuid})"},{"line_number":2023,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"56cd2302_9583b197","line":2020,"updated":"2022-02-01 14:59:48.000000000","message":"Another thing to consider. In the case of the bug, the node may, or may not be in placement. The node could have been unprovisioned, or marked as retired, and removed from the active pool entirely. Nova-compute processes still have the node cached and may cause the placement record to be re-created temporarily until the next refresh occurs.\n\nI think that would be kind of bad since that in essence is a race condition we don\u0027t have visibility into.\n\nAdditionally, It occurs to me, and I suggest you check with the nova developers, that maybe instead of deleting, we should be marking the resource as completely consumed and allow to be removed from the resource tracker/placement as nova-compute iterates through the nodes on the next pass.\n\nThat *should* prevent scheduling with resource classes/traits. If the older style of scheduling is in use, then the results are likely not working as expected nor desired from a nova point of view.","commit_id":"e9f90cda40c045f5a3b75e61f79a5b03613b2b01"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"2a50ac07ce3c183706d6019db5e8f48b348dc0d8","unresolved":false,"context_lines":[{"line_number":2017,"context_line":"            node.destroy()"},{"line_number":2018,"context_line":"            LOG.info(\u0027Successfully deleted node %(node)s.\u0027,"},{"line_number":2019,"context_line":"                     {\u0027node\u0027: node.uuid})"},{"line_number":2020,"context_line":"            placement.delete_resource_provider(context, node.uuid)"},{"line_number":2021,"context_line":"            LOG.info(\u0027Tried to delete placement resource provider after node \u0027"},{"line_number":2022,"context_line":"                     \u0027%(node)s was deleted.\u0027, {\u0027node\u0027: node.uuid})"},{"line_number":2023,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1ef3ca7f_b6a22cee","line":2020,"in_reply_to":"21d8ca21_446a1656","updated":"2022-02-03 15:56:06.000000000","message":"Done","commit_id":"e9f90cda40c045f5a3b75e61f79a5b03613b2b01"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"f18482c9d47c37c8cf7441093f1c2135c931e33b","unresolved":true,"context_lines":[{"line_number":2017,"context_line":"            node.destroy()"},{"line_number":2018,"context_line":"            LOG.info(\u0027Successfully deleted node %(node)s.\u0027,"},{"line_number":2019,"context_line":"                     {\u0027node\u0027: node.uuid})"},{"line_number":2020,"context_line":"            placement.delete_resource_provider(context, node.uuid)"},{"line_number":2021,"context_line":"            LOG.info(\u0027Tried to delete placement resource provider after node \u0027"},{"line_number":2022,"context_line":"                     \u0027%(node)s was deleted.\u0027, {\u0027node\u0027: node.uuid})"},{"line_number":2023,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"21d8ca21_446a1656","line":2020,"in_reply_to":"56cd2302_9583b197","updated":"2022-02-03 15:55:42.000000000","message":"I think that marking deleted node as fully consumed is not a proper solution, it\u0027s more cheating on Nova) It\u0027s not a good relationship pattern)\nI emphasize that the patch helps, but doesn\u0027t guarantee the solution.\nIf resource provider wasn\u0027t in-place or was re-created Ironic has nothing to do, Ironic did his best)","commit_id":"e9f90cda40c045f5a3b75e61f79a5b03613b2b01"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"6c93d49b2a5be2f4f5566a92d115c50424cfb26f","unresolved":true,"context_lines":[{"line_number":2018,"context_line":"            LOG.info(\u0027Successfully deleted node %(node)s.\u0027,"},{"line_number":2019,"context_line":"                     {\u0027node\u0027: node.uuid})"},{"line_number":2020,"context_line":"            placement.delete_resource_provider(context, node.uuid)"},{"line_number":2021,"context_line":"            LOG.info(\u0027Tried to delete placement resource provider after node \u0027"},{"line_number":2022,"context_line":"                     \u0027%(node)s was deleted.\u0027, {\u0027node\u0027: node.uuid})"},{"line_number":2023,"context_line":""},{"line_number":2024,"context_line":"    @METRICS.timer(\u0027ConductorManager.destroy_port\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"be660a63_d984994b","line":2021,"range":{"start_line":2021,"start_character":15,"end_line":2021,"end_character":27},"updated":"2022-02-01 14:59:48.000000000","message":"so info is going to be a bit noisy I think.  Debug might be better?\n\nAlso, \"Tried\" makes me wonder if we have a way to, or not to know. Truthfully, it might be better to trigger a log entry generation in delete_resource_provider.","commit_id":"e9f90cda40c045f5a3b75e61f79a5b03613b2b01"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"f18482c9d47c37c8cf7441093f1c2135c931e33b","unresolved":false,"context_lines":[{"line_number":2018,"context_line":"            LOG.info(\u0027Successfully deleted node %(node)s.\u0027,"},{"line_number":2019,"context_line":"                     {\u0027node\u0027: node.uuid})"},{"line_number":2020,"context_line":"            placement.delete_resource_provider(context, node.uuid)"},{"line_number":2021,"context_line":"            LOG.info(\u0027Tried to delete placement resource provider after node \u0027"},{"line_number":2022,"context_line":"                     \u0027%(node)s was deleted.\u0027, {\u0027node\u0027: node.uuid})"},{"line_number":2023,"context_line":""},{"line_number":2024,"context_line":"    @METRICS.timer(\u0027ConductorManager.destroy_port\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ea073486_1fdf86c2","line":2021,"range":{"start_line":2021,"start_character":15,"end_line":2021,"end_character":27},"in_reply_to":"be660a63_d984994b","updated":"2022-02-03 15:55:42.000000000","message":"Done","commit_id":"e9f90cda40c045f5a3b75e61f79a5b03613b2b01"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"b82203ee971392e1f4bfd4a390132018e4cb0877","unresolved":true,"context_lines":[{"line_number":2017,"context_line":"            node.destroy()"},{"line_number":2018,"context_line":"            LOG.info(\u0027Successfully deleted node %(node)s.\u0027,"},{"line_number":2019,"context_line":"                     {\u0027node\u0027: node.uuid})"},{"line_number":2020,"context_line":"        if CONF.placement.delete_resource_provider_after_node_deletion:"},{"line_number":2021,"context_line":"            placement.delete_resource_provider(context, node.uuid)"},{"line_number":2022,"context_line":""},{"line_number":2023,"context_line":"    @METRICS.timer(\u0027ConductorManager.destroy_port\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1ed5f801_17640676","line":2020,"range":{"start_line":2020,"start_character":0,"end_line":2020,"end_character":71},"updated":"2022-02-08 19:20:15.000000000","message":"so, I\u0027m wondering... and this is more for other reviewers. I wonder if we should just do it. Granted, if we can\u0027t instantiate the client, then perhaps we should just eat the error and just do it. Just not sure, I\u0027m not a fan of having to opt into \"fixes\"","commit_id":"856348e8a45c532c853deef0f4934f211189b21f"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"17c0201d5aca633dae91a78890101b686f8f29ae","unresolved":true,"context_lines":[{"line_number":2017,"context_line":"            node.destroy()"},{"line_number":2018,"context_line":"            LOG.info(\u0027Successfully deleted node %(node)s.\u0027,"},{"line_number":2019,"context_line":"                     {\u0027node\u0027: node.uuid})"},{"line_number":2020,"context_line":"        if CONF.placement.delete_resource_provider_after_node_deletion:"},{"line_number":2021,"context_line":"            placement.delete_resource_provider(context, node.uuid)"},{"line_number":2022,"context_line":""},{"line_number":2023,"context_line":"    @METRICS.timer(\u0027ConductorManager.destroy_port\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bc64fe09_3d74e8f4","line":2020,"range":{"start_line":2020,"start_character":0,"end_line":2020,"end_character":71},"in_reply_to":"1ed5f801_17640676","updated":"2022-02-08 20:48:21.000000000","message":"I suggest to save computational resources.\nIf an user doesn\u0027t want to clean resource provider or doesn\u0027t have placement service then ironic service shouldn\u0027t waste resources (client instantiation, etc).","commit_id":"856348e8a45c532c853deef0f4934f211189b21f"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"6406d0cfb3093e22d5bdda30189f05b4308b0836","unresolved":false,"context_lines":[{"line_number":2017,"context_line":"            node.destroy()"},{"line_number":2018,"context_line":"            LOG.info(\u0027Successfully deleted node %(node)s.\u0027,"},{"line_number":2019,"context_line":"                     {\u0027node\u0027: node.uuid})"},{"line_number":2020,"context_line":"        if CONF.placement.delete_resource_provider_after_node_deletion:"},{"line_number":2021,"context_line":"            placement.delete_resource_provider(context, node.uuid)"},{"line_number":2022,"context_line":""},{"line_number":2023,"context_line":"    @METRICS.timer(\u0027ConductorManager.destroy_port\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7902519e_27b42793","line":2020,"range":{"start_line":2020,"start_character":0,"end_line":2020,"end_character":71},"in_reply_to":"bc64fe09_3d74e8f4","updated":"2022-02-08 21:55:29.000000000","message":"Done","commit_id":"856348e8a45c532c853deef0f4934f211189b21f"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"67e91c8aa461192857951df589ec86b7e919d0f3","unresolved":true,"context_lines":[{"line_number":2018,"context_line":"            LOG.info(\u0027Successfully deleted node %(node)s.\u0027,"},{"line_number":2019,"context_line":"                     {\u0027node\u0027: node.uuid})"},{"line_number":2020,"context_line":"        if CONF.placement.delete_resource_provider_after_node_deletion:"},{"line_number":2021,"context_line":"            placement.delete_resource_provider(context, node.uuid)"},{"line_number":2022,"context_line":""},{"line_number":2023,"context_line":"    @METRICS.timer(\u0027ConductorManager.destroy_port\u0027)"},{"line_number":2024,"context_line":"    @messaging.expected_exceptions(exception.NodeLocked,"}],"source_content_type":"text/x-python","patch_set":5,"id":"56fb0efe_df09b3b0","line":2021,"updated":"2022-03-20 22:57:51.000000000","message":"I think Julia\u0027s suggestion to just attempt this call always is valid. This is a similar situation to nova.power_update, it is always attempted regardless of whether there is a nova endpoint or if nova is managing this node.\n\nI don\u0027t think the performance reduction is really a concern in the destroy_node code-path. The upside is that operators need to make no configuration changes to reduce the frequency of this problem occurring.","commit_id":"df42897c5b3c04177bdfcddbe010f169aa6ec2b4"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"be1c8bb59e3b84b73416d7ded8d2c16c55c0c25b","unresolved":false,"context_lines":[{"line_number":2018,"context_line":"            LOG.info(\u0027Successfully deleted node %(node)s.\u0027,"},{"line_number":2019,"context_line":"                     {\u0027node\u0027: node.uuid})"},{"line_number":2020,"context_line":"        if CONF.placement.delete_resource_provider_after_node_deletion:"},{"line_number":2021,"context_line":"            placement.delete_resource_provider(context, node.uuid)"},{"line_number":2022,"context_line":""},{"line_number":2023,"context_line":"    @METRICS.timer(\u0027ConductorManager.destroy_port\u0027)"},{"line_number":2024,"context_line":"    @messaging.expected_exceptions(exception.NodeLocked,"}],"source_content_type":"text/x-python","patch_set":5,"id":"1f914f04_cbcc26b6","line":2021,"in_reply_to":"56fb0efe_df09b3b0","updated":"2022-03-23 20:21:49.000000000","message":"Done","commit_id":"df42897c5b3c04177bdfcddbe010f169aa6ec2b4"}],"ironic/conf/placement.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":"b82203ee971392e1f4bfd4a390132018e4cb0877","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Copyright 2014 OpenStack Foundation"},{"line_number":2,"context_line":"# All Rights Reserved"},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":5,"context_line":"#    not use this file except in compliance with the License. You may obtain"},{"line_number":6,"context_line":"#    a copy of the License at"}],"source_content_type":"text/x-python","patch_set":3,"id":"a5d9db76_c1d94f31","line":3,"range":{"start_line":1,"start_character":0,"end_line":3,"end_character":1},"updated":"2022-02-08 19:20:15.000000000","message":"So, tl;dr, nothing should be stamped new as copyrighted by the OpenStack Foundation. Only code in Swift and Nova which were donated to the foundation by NASA and Rackspace should have this copyright stamp.","commit_id":"856348e8a45c532c853deef0f4934f211189b21f"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"17c0201d5aca633dae91a78890101b686f8f29ae","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2014 OpenStack Foundation"},{"line_number":2,"context_line":"# All Rights Reserved"},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":5,"context_line":"#    not use this file except in compliance with the License. You may obtain"},{"line_number":6,"context_line":"#    a copy of the License at"}],"source_content_type":"text/x-python","patch_set":3,"id":"af89f064_2ef6f6a1","line":3,"range":{"start_line":1,"start_character":0,"end_line":3,"end_character":1},"in_reply_to":"a5d9db76_c1d94f31","updated":"2022-02-08 20:48:21.000000000","message":"Done","commit_id":"856348e8a45c532c853deef0f4934f211189b21f"}],"ironic/tests/unit/conductor/test_manager.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":"6c93d49b2a5be2f4f5566a92d115c50424cfb26f","unresolved":true,"context_lines":[{"line_number":3698,"context_line":""},{"line_number":3699,"context_line":"@mgr_utils.mock_record_keepalive"},{"line_number":3700,"context_line":"class DestroyNodeTestCase(mgr_utils.ServiceSetUpMixin, db_base.DbTestCase):"},{"line_number":3701,"context_line":""},{"line_number":3702,"context_line":"    def test_destroy_node(self):"},{"line_number":3703,"context_line":"        self._start_service()"},{"line_number":3704,"context_line":"        for state in states.DELETE_ALLOWED_STATES:"}],"source_content_type":"text/x-python","patch_set":1,"id":"17147c16_568e8f79","side":"PARENT","line":3701,"updated":"2022-02-01 14:59:48.000000000","message":"Your going to need something more substantial than just this, especially to test and handle the case of either placement not existing/not being configured and needing to ensure the software continues to work. I suggest creating a couple specific test cases.","commit_id":"8041bf1964243a83be8b10b0f5d1e0a9df2a2712"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"f18482c9d47c37c8cf7441093f1c2135c931e33b","unresolved":false,"context_lines":[{"line_number":3698,"context_line":""},{"line_number":3699,"context_line":"@mgr_utils.mock_record_keepalive"},{"line_number":3700,"context_line":"class DestroyNodeTestCase(mgr_utils.ServiceSetUpMixin, db_base.DbTestCase):"},{"line_number":3701,"context_line":""},{"line_number":3702,"context_line":"    def test_destroy_node(self):"},{"line_number":3703,"context_line":"        self._start_service()"},{"line_number":3704,"context_line":"        for state in states.DELETE_ALLOWED_STATES:"}],"source_content_type":"text/x-python","patch_set":1,"id":"c8bb8e13_650328d9","side":"PARENT","line":3701,"in_reply_to":"17147c16_568e8f79","updated":"2022-02-03 15:55:42.000000000","message":"Done","commit_id":"8041bf1964243a83be8b10b0f5d1e0a9df2a2712"}],"releasenotes/notes/bug-1248022-71a6f5e04f30775e.yaml":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"b82203ee971392e1f4bfd4a390132018e4cb0877","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"upgrade:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    It\u0027s important to mention if placement is going to be used it\u0027s necessary"},{"line_number":5,"context_line":"    to provide authorization config options in placement section."},{"line_number":6,"context_line":"fixes:"},{"line_number":7,"context_line":"  - |"},{"line_number":8,"context_line":"    Fixes an issue when node was deleted Nova still doesn\u0027t know about it and"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"cac0db13_e960f79e","line":5,"range":{"start_line":4,"start_character":4,"end_line":5,"end_character":65},"updated":"2022-02-08 19:20:15.000000000","message":"Personally, I would phrase it as \"If ``[placement]delete_resource_provider_after_node_deletion`` option is set to true, then the ``[placement]`` configuration must be populated.","commit_id":"856348e8a45c532c853deef0f4934f211189b21f"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"17c0201d5aca633dae91a78890101b686f8f29ae","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"upgrade:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    It\u0027s important to mention if placement is going to be used it\u0027s necessary"},{"line_number":5,"context_line":"    to provide authorization config options in placement section."},{"line_number":6,"context_line":"fixes:"},{"line_number":7,"context_line":"  - |"},{"line_number":8,"context_line":"    Fixes an issue when node was deleted Nova still doesn\u0027t know about it and"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"1eee4556_0d3f095b","line":5,"range":{"start_line":4,"start_character":4,"end_line":5,"end_character":65},"in_reply_to":"cac0db13_e960f79e","updated":"2022-02-08 20:48:21.000000000","message":"Done","commit_id":"856348e8a45c532c853deef0f4934f211189b21f"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"b82203ee971392e1f4bfd4a390132018e4cb0877","unresolved":true,"context_lines":[{"line_number":5,"context_line":"    to provide authorization config options in placement section."},{"line_number":6,"context_line":"fixes:"},{"line_number":7,"context_line":"  - |"},{"line_number":8,"context_line":"    Fixes an issue when node was deleted Nova still doesn\u0027t know about it and"},{"line_number":9,"context_line":"    tries to schedule on deleted node. Fix adds ability to delete placement"},{"line_number":10,"context_line":"    resource provider after node deleteion. New ability is available if there"},{"line_number":11,"context_line":"    is placement service. To enable it new config option"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"68e5d647_2dda010e","line":8,"range":{"start_line":8,"start_character":41,"end_line":8,"end_character":77},"updated":"2022-02-08 19:20:15.000000000","message":"and the Compute service (Nova) has not reconciled the baremetal node\u0027s deletion","commit_id":"856348e8a45c532c853deef0f4934f211189b21f"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"b82203ee971392e1f4bfd4a390132018e4cb0877","unresolved":true,"context_lines":[{"line_number":5,"context_line":"    to provide authorization config options in placement section."},{"line_number":6,"context_line":"fixes:"},{"line_number":7,"context_line":"  - |"},{"line_number":8,"context_line":"    Fixes an issue when node was deleted Nova still doesn\u0027t know about it and"},{"line_number":9,"context_line":"    tries to schedule on deleted node. Fix adds ability to delete placement"},{"line_number":10,"context_line":"    resource provider after node deleteion. New ability is available if there"},{"line_number":11,"context_line":"    is placement service. To enable it new config option"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"8918e2ad_a6f1a2f2","line":8,"range":{"start_line":8,"start_character":23,"end_line":8,"end_character":29},"updated":"2022-02-08 19:20:15.000000000","message":"s/node/an ironic node/\n\nor\n\ns/node/a baremetal node/","commit_id":"856348e8a45c532c853deef0f4934f211189b21f"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"17c0201d5aca633dae91a78890101b686f8f29ae","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    to provide authorization config options in placement section."},{"line_number":6,"context_line":"fixes:"},{"line_number":7,"context_line":"  - |"},{"line_number":8,"context_line":"    Fixes an issue when node was deleted Nova still doesn\u0027t know about it and"},{"line_number":9,"context_line":"    tries to schedule on deleted node. Fix adds ability to delete placement"},{"line_number":10,"context_line":"    resource provider after node deleteion. New ability is available if there"},{"line_number":11,"context_line":"    is placement service. To enable it new config option"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"6be89260_c0327870","line":8,"range":{"start_line":8,"start_character":41,"end_line":8,"end_character":77},"in_reply_to":"68e5d647_2dda010e","updated":"2022-02-08 20:48:21.000000000","message":"Done","commit_id":"856348e8a45c532c853deef0f4934f211189b21f"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"17c0201d5aca633dae91a78890101b686f8f29ae","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    to provide authorization config options in placement section."},{"line_number":6,"context_line":"fixes:"},{"line_number":7,"context_line":"  - |"},{"line_number":8,"context_line":"    Fixes an issue when node was deleted Nova still doesn\u0027t know about it and"},{"line_number":9,"context_line":"    tries to schedule on deleted node. Fix adds ability to delete placement"},{"line_number":10,"context_line":"    resource provider after node deleteion. New ability is available if there"},{"line_number":11,"context_line":"    is placement service. To enable it new config option"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"2b830dad_d2cbfe55","line":8,"range":{"start_line":8,"start_character":23,"end_line":8,"end_character":29},"in_reply_to":"8918e2ad_a6f1a2f2","updated":"2022-02-08 20:48:21.000000000","message":"Done","commit_id":"856348e8a45c532c853deef0f4934f211189b21f"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"b82203ee971392e1f4bfd4a390132018e4cb0877","unresolved":true,"context_lines":[{"line_number":6,"context_line":"fixes:"},{"line_number":7,"context_line":"  - |"},{"line_number":8,"context_line":"    Fixes an issue when node was deleted Nova still doesn\u0027t know about it and"},{"line_number":9,"context_line":"    tries to schedule on deleted node. Fix adds ability to delete placement"},{"line_number":10,"context_line":"    resource provider after node deleteion. New ability is available if there"},{"line_number":11,"context_line":"    is placement service. To enable it new config option"},{"line_number":12,"context_line":"    \"delete_resource_provider_after_node_deletion\" should be set true in new"},{"line_number":13,"context_line":"    config section \"placement\". By default it equals false which does not"},{"line_number":14,"context_line":"    effect standalone ironic deployment."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3bd7c60f_671dabbe","line":11,"range":{"start_line":9,"start_character":39,"end_line":11,"end_character":56},"updated":"2022-02-08 19:20:15.000000000","message":"A couple things. I would refer to it as a capability. This also seems like your kind of conveying the same thing twice. Possibly combine the sentence.","commit_id":"856348e8a45c532c853deef0f4934f211189b21f"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"17c0201d5aca633dae91a78890101b686f8f29ae","unresolved":false,"context_lines":[{"line_number":6,"context_line":"fixes:"},{"line_number":7,"context_line":"  - |"},{"line_number":8,"context_line":"    Fixes an issue when node was deleted Nova still doesn\u0027t know about it and"},{"line_number":9,"context_line":"    tries to schedule on deleted node. Fix adds ability to delete placement"},{"line_number":10,"context_line":"    resource provider after node deleteion. New ability is available if there"},{"line_number":11,"context_line":"    is placement service. To enable it new config option"},{"line_number":12,"context_line":"    \"delete_resource_provider_after_node_deletion\" should be set true in new"},{"line_number":13,"context_line":"    config section \"placement\". By default it equals false which does not"},{"line_number":14,"context_line":"    effect standalone ironic deployment."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"b9aba212_1787bb83","line":11,"range":{"start_line":9,"start_character":39,"end_line":11,"end_character":56},"in_reply_to":"3bd7c60f_671dabbe","updated":"2022-02-08 20:48:21.000000000","message":"Done","commit_id":"856348e8a45c532c853deef0f4934f211189b21f"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"b82203ee971392e1f4bfd4a390132018e4cb0877","unresolved":true,"context_lines":[{"line_number":9,"context_line":"    tries to schedule on deleted node. Fix adds ability to delete placement"},{"line_number":10,"context_line":"    resource provider after node deleteion. New ability is available if there"},{"line_number":11,"context_line":"    is placement service. To enable it new config option"},{"line_number":12,"context_line":"    \"delete_resource_provider_after_node_deletion\" should be set true in new"},{"line_number":13,"context_line":"    config section \"placement\". By default it equals false which does not"},{"line_number":14,"context_line":"    effect standalone ironic deployment."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"f9ce2a53_9dec28e8","line":12,"range":{"start_line":12,"start_character":3,"end_line":12,"end_character":52},"updated":"2022-02-08 19:20:15.000000000","message":"``[placement]delete_resource_provider_after_node_deletion``","commit_id":"856348e8a45c532c853deef0f4934f211189b21f"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"17c0201d5aca633dae91a78890101b686f8f29ae","unresolved":false,"context_lines":[{"line_number":9,"context_line":"    tries to schedule on deleted node. Fix adds ability to delete placement"},{"line_number":10,"context_line":"    resource provider after node deleteion. New ability is available if there"},{"line_number":11,"context_line":"    is placement service. To enable it new config option"},{"line_number":12,"context_line":"    \"delete_resource_provider_after_node_deletion\" should be set true in new"},{"line_number":13,"context_line":"    config section \"placement\". By default it equals false which does not"},{"line_number":14,"context_line":"    effect standalone ironic deployment."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"2445ebf1_65c088b5","line":12,"range":{"start_line":12,"start_character":3,"end_line":12,"end_character":52},"in_reply_to":"f9ce2a53_9dec28e8","updated":"2022-02-08 20:48:21.000000000","message":"Done","commit_id":"856348e8a45c532c853deef0f4934f211189b21f"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"67e91c8aa461192857951df589ec86b7e919d0f3","unresolved":true,"context_lines":[{"line_number":7,"context_line":"  - |"},{"line_number":8,"context_line":"    Fixes an issue when baremetal node was deleted and the Compute service"},{"line_number":9,"context_line":"    (Nova) has not reconciled the baremetal node\u0027s deletion. Fix adds capability"},{"line_number":10,"context_line":"    to delete placement resource provider after baremetal node deleteion. To"},{"line_number":11,"context_line":"    enable it new config option"},{"line_number":12,"context_line":"    ``[placement]delete_resource_provider_after_node_deletion`` should be set"},{"line_number":13,"context_line":"    true. By default it equals false which does not effect standalone ironic"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"9c8af1e3_6e5ea635","line":10,"range":{"start_line":10,"start_character":63,"end_line":10,"end_character":72},"updated":"2022-03-20 22:57:51.000000000","message":"deletion","commit_id":"df42897c5b3c04177bdfcddbe010f169aa6ec2b4"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"be1c8bb59e3b84b73416d7ded8d2c16c55c0c25b","unresolved":false,"context_lines":[{"line_number":7,"context_line":"  - |"},{"line_number":8,"context_line":"    Fixes an issue when baremetal node was deleted and the Compute service"},{"line_number":9,"context_line":"    (Nova) has not reconciled the baremetal node\u0027s deletion. Fix adds capability"},{"line_number":10,"context_line":"    to delete placement resource provider after baremetal node deleteion. To"},{"line_number":11,"context_line":"    enable it new config option"},{"line_number":12,"context_line":"    ``[placement]delete_resource_provider_after_node_deletion`` should be set"},{"line_number":13,"context_line":"    true. By default it equals false which does not effect standalone ironic"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3778adc3_5a08db89","line":10,"range":{"start_line":10,"start_character":63,"end_line":10,"end_character":72},"in_reply_to":"9c8af1e3_6e5ea635","updated":"2022-03-23 20:21:49.000000000","message":"Done","commit_id":"df42897c5b3c04177bdfcddbe010f169aa6ec2b4"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"97375739e7803e3160e4b34a224091db90c9e75e","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Fixes an issue when baremetal node was deleted and the Compute service"},{"line_number":5,"context_line":"    (Nova) has not reconciled the baremetal node\u0027s deletion. Fix adds capability"},{"line_number":6,"context_line":"    to delete placement resource provider after baremetal node deletion."}],"source_content_type":"text/x-yaml","patch_set":13,"id":"1541cfbd_5d0a1ea8","line":6,"updated":"2023-01-26 23:03:55.000000000","message":"So I think this is also borderline feature. What does everyone think?","commit_id":"e8107371f14c97bcae295354171e5f168f129e23"},{"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":"7ad46f4f638d1d1ac9f2a867c6a175ea4f7a60cf","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Fixes an issue when baremetal node was deleted and the Compute service"},{"line_number":5,"context_line":"    (Nova) has not reconciled the baremetal node\u0027s deletion. Fix adds capability"},{"line_number":6,"context_line":"    to delete placement resource provider after baremetal node deletion."}],"source_content_type":"text/x-yaml","patch_set":13,"id":"1249269a_80dd2337","line":6,"in_reply_to":"1541cfbd_5d0a1ea8","updated":"2023-01-27 19:10:00.000000000","message":"This should not be backported. I don\u0027t think it\u0027s unreasonable to call it a fix for relnotes purposes.","commit_id":"e8107371f14c97bcae295354171e5f168f129e23"}]}
