)]}'
{"id":"openstack%2Fnova~867338","triplet_id":"openstack%2Fnova~stable%2Fxena~Ie09d9c2763125e7b3f313ef8b5b2619196572437","project":"openstack/nova","branch":"stable/xena","topic":"fix-ironic-scheduler-race-stable/xena","hashtags":[],"change_id":"Ie09d9c2763125e7b3f313ef8b5b2619196572437","subject":"Ironic nodes with instance reserved in placement","status":"ABANDONED","created":"2022-12-15 23:14:12.000000000","updated":"2022-12-15 23:21:43.000000000","total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"e1561a7eb2b8e595edc742a7e685453fd9e88614","_number":867338,"virtual_id_number":867338,"owner":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"actions":{},"labels":{"Verified":{"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"values":{" 0":"Default Priority","+1":"Contributor Review Promise","+2":"Core Review Promise"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"CC":[{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2022-12-15 23:14:12.000000000","updated_by":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"reviewer":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"state":"CC"}],"messages":[{"id":"73c1adda1750c5e354c2618ca29d6fef44e84d40","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"date":"2022-12-15 23:14:12.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"75c1407929a1722dcfaa13e9ecd11129de479e8f","tag":"autogenerated:gerrit:setTopic","author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"date":"2022-12-15 23:17:52.000000000","message":"Topic xena removed","accounts_in_message":[],"_revision_number":1},{"id":"7a4f970320e30dae46eae377ecd7a7ac74ae869b","tag":"autogenerated:gerrit:setTopic","author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"date":"2022-12-15 23:18:17.000000000","message":"Topic set to fix-ironic-scheduler-race-stable/xena","accounts_in_message":[],"_revision_number":1},{"id":"e1561a7eb2b8e595edc742a7e685453fd9e88614","tag":"autogenerated:gerrit:abandon","author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"date":"2022-12-15 23:21:43.000000000","message":"Abandoned\n\nnot sure why, but my manual cherry pick is not quite the same as doing it via the UI...","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"7d50fb9e691451333ab4b8ef85496cdb756a3a27","revisions":{"7d50fb9e691451333ab4b8ef85496cdb756a3a27":{"kind":"REWORK","_number":1,"created":"2022-12-15 23:14:12.000000000","uploader":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"ref":"refs/changes/38/867338/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/38/867338/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/38/867338/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/38/867338/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/38/867338/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/38/867338/1"}}},"commit":{"parents":[{"commit":"d3f3dd89e33f496304d62aace8a33d3061213f29","subject":"Merge \"Retry attachment delete API call for 504 Gateway Timeout\" into stable/xena","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/d3f3dd89e33f496304d62aace8a33d3061213f29"}]}],"author":{"name":"John Garbutt","email":"john.garbutt@stackhpc.com","date":"2022-11-16 17:12:40.000000000","tz":0},"committer":{"name":"Ruby Loo","email":"rloo@yahooinc.com","date":"2022-12-15 23:10:47.000000000","tz":0},"subject":"Ironic nodes with instance reserved in placement","message":"Ironic nodes with instance reserved in placement\n\nCurrently, when you delete an ironic instance, we trigger\nand undeploy in ironic and we release our allocation in placement.\nWe do this well before the ironic node is actually available.\n\nWe have attempted to fix this my marking unavailable nodes\nas reserved in placement. This works great until you try\nand re-image lots of nodes.\n\nIt turns out, ironic nodes that are waiting for their automatic\nclean to finish, are returned as a valid allocation candidates\nfor quite some time. Eventually we mark then as reserved.\n\nThis patch takes a strange approach, if we mark all nodes as\nreserved as soon as the instance lands, we close the race.\nThat is, when the allocation is removed the node is still\nunavailable until the next update of placement is done and\nnotices that the node has become available. That may or may\nnot have been after automatic cleaning. The trade off is\nthat when you don\u0027t have automatic cleaning, we wait a bit\nlonger to notice the node is available again.\n\nNote, this is also useful when a broken Ironic node is\nmarked as in-maintainance while it is in-use by a nova\ninstance. In a similar way, we mark the Nova as reserved\nimmmeidately, rather than first waiting for the instance to be\ndeleted before reserving the resources in Placement.\n\nGit conflict in nova/conf/workarounds.py due to xena not having\nseveral config options that are in the master branch.\n\nCloses-Bug: #1974070\nChange-Id: Iab92124b5776a799c7f90d07281d28fcf191c8fe\n(cherry picked from commit 3c022e968375c1b2eadf3c2dd7190b9434c6d4c1)\n\nConflicts: nova/conf/workarounds.py\n    due to xena not having several config options that are in\n    the master branch.\nChange-Id: Ie09d9c2763125e7b3f313ef8b5b2619196572437\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/7d50fb9e691451333ab4b8ef85496cdb756a3a27"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/7d50fb9e691451333ab4b8ef85496cdb756a3a27"}]},"branch":"refs/heads/stable/xena"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
