)]}'
{"id":"openstack%2Fnova~985750","triplet_id":"openstack%2Fnova~master~I7a79db8a124639ea3c359a6364d7b7029bebd2c4","project":"openstack/nova","branch":"master","topic":"rlin-fix-ironic-nova","attention_set":{"12404":{"account":{"_account_id":12404,"name":"Rico Lin","email":"ricolin@ricolky.com","username":"rico.lin"},"last_update":"2026-04-22 08:33:25.000000000","reason":"Someone else replied on the change"}},"removed_from_attention_set":{},"hashtags":[],"change_id":"I7a79db8a124639ea3c359a6364d7b7029bebd2c4","subject":"compute: add skip_inventory_in_use_errors opt","status":"NEW","created":"2026-04-22 06:25:08.000000000","updated":"2026-04-22 08:42:42.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"d380a1f94fda57c1e76c3ee427afa1c7fe3724c7","_number":985750,"virtual_id_number":985750,"owner":{"_account_id":12404,"name":"Rico Lin","email":"ricolin@ricolky.com","username":"rico.lin"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":1,"date":"2026-04-22 08:33:14.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":1,"default_value":0,"optional":true},"Code-Review":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"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":{"all":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{" 0":"Default Priority","+1":"Contributor Review Promise","+2":"Core Review Promise"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"CC":[{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},{"_account_id":34420,"name":"openstack lightbits","display_name":"Lightbits CI","email":"openstack@lightbitslabs.com","username":"openstack_lightbits"}],"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-04-22 06:48:38.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2026-04-22 07:03:10.000000000","updated_by":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"reviewer":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2026-04-22 08:33:14.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2026-04-22 08:33:25.000000000","updated_by":{"_account_id":34420,"name":"openstack lightbits","display_name":"Lightbits CI","email":"openstack@lightbitslabs.com","username":"openstack_lightbits"},"reviewer":{"_account_id":34420,"name":"openstack lightbits","display_name":"Lightbits CI","email":"openstack@lightbitslabs.com","username":"openstack_lightbits"},"state":"CC"}],"messages":[{"id":"406ba87f5054ea33530501622f6568775f90f67c","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":12404,"name":"Rico Lin","email":"ricolin@ricolky.com","username":"rico.lin"},"date":"2026-04-22 06:25:08.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"07b742ff1fcd1d7da5c14f895be6423a6e8f361a","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":12404,"name":"Rico Lin","email":"ricolin@ricolky.com","username":"rico.lin"},"date":"2026-04-22 06:26:29.000000000","message":"Uploaded patch set 2: Commit message was updated.","accounts_in_message":[],"_revision_number":2},{"id":"9972c3af32b6c9670e0406547ac7ca84dfe27866","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-22 06:48:38.000000000","message":"Patch Set 2:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/425a0a60b985423eb76bdff19763db42\n\n- openstack-tox-py310-arm64 https://zuul.opendev.org/t/openstack/build/a30ebcc1ebe14d94aa0fc777134799fc : SUCCESS in 15m 13s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/d86b97adb7dc4797b74d88f3bf5f2c0a : SUCCESS in 12m 23s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/72c3cf72419f458c9abfbb303d732090 : SUCCESS in 21m 54s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"ef03091d1a49b084f97bd83e5a32aafe8ebcd408","author":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"date":"2026-04-22 07:03:10.000000000","message":"Patch Set 1:\n\nBuild Successful \n\n* quobyteci:  nova_quobyteci : SUCCESS, logs at: https://oscilogs.quobyte.com/logs/I7a79db8a124639ea3c359a6364d7b7029bebd2c4 .","accounts_in_message":[],"_revision_number":1},{"id":"c4d8fddd7b9a6addbf552673422c128305acb558","author":{"_account_id":14384,"name":"Quobyte CI","email":"openstack-ci-external@quobyte.com","username":"quobyteci","tags":["SERVICE_USER"]},"date":"2026-04-22 07:06:21.000000000","message":"Patch Set 2:\n\nBuild Successful \n\n* quobyteci:  nova_quobyteci : SUCCESS, logs at: https://oscilogs.quobyte.com/logs/I7a79db8a124639ea3c359a6364d7b7029bebd2c4 .","accounts_in_message":[],"_revision_number":2},{"id":"7f75864705f65923fb20da26e088f87f8b642cfb","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-22 08:33:14.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/9b3d20247dc54cc6bd9de39eda57db5d\n\n- grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/15830b9714e24d91a83c019ce8231e54 : SUCCESS in 47m 06s\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/2d23637f5c0c41e69b39399274789216 : SUCCESS in 1h 37m 14s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/1a1a97025bb4458e9657e0642415f4fd : SUCCESS in 50m 46s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/d00f4a1199ce42fe9abfa94d4ff2887d : SUCCESS in 54m 47s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/5419d98961914db4b2e86ea56b9b6135 : SUCCESS in 7m 13s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/b085b12396ef418d8b65bd9817ed3b33 : SUCCESS in 10m 27s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/34589fdfaf894804b41215dd41280c76 : SUCCESS in 10m 08s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/11d8f485b19d4079be90af29c08f61ab : SUCCESS in 24m 06s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/69dbb635a14e4c118f0cd569eae7b6ed : SUCCESS in 9m 52s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/d253bbf0f96d4aba961d756755e2a16f : SUCCESS in 29m 12s\n- ironic-tempest-bios-ipmi-autodetect https://zuul.opendev.org/t/openstack/build/15b440481aed4fc6be4a4ec099d71a5f : SUCCESS in 52m 15s (non-voting)\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/99ced4716d3a4e36b37247562d0fdbcb : SUCCESS in 1h 54m 48s\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/0163cff2faf84056b22e2da6d2cf217d : SUCCESS in 58m 41s\n- nova-vtpm https://zuul.opendev.org/t/openstack/build/0ef2b89f72c64129aadaed2acf639170 : SUCCESS in 30m 34s\n- nova-graceful-shutdown https://zuul.opendev.org/t/openstack/build/7d537e27595248e5ab69f776b17ca8d1 : SUCCESS in 53m 22s\n- nova-live-migration-ceph https://zuul.opendev.org/t/openstack/build/a3dc16db5d3f41f0b4f9a25d4bd0f93a : SUCCESS in 49m 20s\n- nova-multi-cell https://zuul.opendev.org/t/openstack/build/b28bb4bb641f420d98cd7cd9fa9d4880 : SUCCESS in 2h 01m 58s\n- nova-next https://zuul.opendev.org/t/openstack/build/f93b02ea4c8e41bebbe04df1a79b0cbe : SUCCESS in 2h 02m 52s\n- nova-alt-configurations https://zuul.opendev.org/t/openstack/build/be792a4f73884d1f888571e7253a0653 : SUCCESS in 44m 14s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/7b16e2d412e24b0e9d4857de8b1c468b : SUCCESS in 4m 45s (non-voting)\n- nova-tox-functional-py310 https://zuul.opendev.org/t/openstack/build/23f6f2ced8454e45a0afa7439ed7b9a6 : SUCCESS in 28m 29s\n- nova-tox-functional-py313 https://zuul.opendev.org/t/openstack/build/4aed642340c24b39a682637cd58d3dbb : SUCCESS in 28m 11s\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/94879200ce644e168ca96df9f20a84be : SUCCESS in 1h 36m 27s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/1006737289a64d8e84e269139db06996 : SUCCESS in 1h 04m 09s\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/1261d4f8ddae4acfb1d601e92a2951e8 : SUCCESS in 28m 27s (non-voting)\n- barbican-tempest-plugin-simple-crypto https://zuul.opendev.org/t/openstack/build/9bceb8b691db414fa8830e2d3108d38d : SUCCESS in 32m 31s (non-voting)\n- nova-tox-py313-threading https://zuul.opendev.org/t/openstack/build/6bea5d9715d6422a8dd608cef3b915fe : SUCCESS in 17m 19s","accounts_in_message":[],"_revision_number":2},{"id":"d380a1f94fda57c1e76c3ee427afa1c7fe3724c7","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":34420,"name":"openstack lightbits","display_name":"Lightbits CI","email":"openstack@lightbitslabs.com","username":"openstack_lightbits"},"date":"2026-04-22 08:42:42.000000000","message":"Patch Set 2:\n\nBuild succeeded. log path: ${LOG_PATH}\nLeave a comment with","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"96b39ca12e6e51a11840e44b537c806a011e2e2d","revisions":{"3e1a22d26dbb3c7f09fc083a2bbb82623a1dc1c5":{"kind":"REWORK","_number":1,"created":"2026-04-22 06:25:08.000000000","uploader":{"_account_id":12404,"name":"Rico Lin","email":"ricolin@ricolky.com","username":"rico.lin"},"ref":"refs/changes/50/985750/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/50/985750/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/50/985750/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/50/985750/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/50/985750/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/50/985750/1"}}},"commit":{"parents":[{"commit":"8d4dcd8afee29f6c237c4643057ac7deae518bcd","subject":"objects: Prepare for oslo.versionedobjects 3.10.0","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/8d4dcd8afee29f6c237c4643057ac7deae518bcd"}]}],"author":{"name":"ricolin","email":"rlin@vexxhost.com","date":"2026-04-22 05:45:28.000000000","tz":480},"committer":{"name":"ricolin","email":"rlin@vexxhost.com","date":"2026-04-22 06:25:03.000000000","tz":480},"subject":"compute: add [compute] skip_inventory_in_use_errors","message":"compute: add [compute] skip_inventory_in_use_errors\n\nA placement 409 inventory.inuse on a single compute node could bring\ndown the entire nova-compute service at startup. With the Ironic virt\ndriver this took every bare-metal node bound to that service offline --\nscheduling and resource reporting stopped for all of them -- because of\na conflict affecting just one node.\n\nThe resource tracker translated every InventoryInUse raised by\nupdate_from_provider_tree into a PlacementPciException, even when the\nconflict had nothing to do with PCI (e.g. an Ironic node\u0027s\nresource_class was renamed while an allocation for the old class still\nexisted). The compute manager then treated PlacementPciException as\nfatal at startup.\n\nAdd a new [compute] skip_inventory_in_use_errors option so operators\ncan opt into permissive behavior for the non-PCI, non-reshape path.\nWhen enabled, InventoryInUse on that path is surfaced as a new\nInventoryInUseOnProvider exception that the manager logs and swallows,\nskipping only the affected node. The next update_available_resource\ncycle reconciles automatically once the operator resolves the\nallocation mismatch.\n\nThe option defaults to False, preserving the historical strict\nbehavior. PCI reshape and driver reshape conflicts always remain fatal\nregardless of this option because continuing past them could leave the\ncompute running against an unsafe provider model.\n\nCloses-Bug: #2149866\nAssisted-By: Copilot \u003c223556219+Copilot@users.noreply.github.com\u003e\nChange-Id: I7a79db8a124639ea3c359a6364d7b7029bebd2c4\nSigned-off-by: ricolin \u003crlin@vexxhost.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/3e1a22d26dbb3c7f09fc083a2bbb82623a1dc1c5"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/3e1a22d26dbb3c7f09fc083a2bbb82623a1dc1c5"}]},"branch":"refs/heads/master"},"96b39ca12e6e51a11840e44b537c806a011e2e2d":{"kind":"NO_CODE_CHANGE","_number":2,"created":"2026-04-22 06:26:29.000000000","uploader":{"_account_id":12404,"name":"Rico Lin","email":"ricolin@ricolky.com","username":"rico.lin"},"ref":"refs/changes/50/985750/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/50/985750/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/50/985750/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/50/985750/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/50/985750/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/50/985750/2"}}},"commit":{"parents":[{"commit":"8d4dcd8afee29f6c237c4643057ac7deae518bcd","subject":"objects: Prepare for oslo.versionedobjects 3.10.0","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/8d4dcd8afee29f6c237c4643057ac7deae518bcd"}]}],"author":{"name":"ricolin","email":"rlin@vexxhost.com","date":"2026-04-22 05:45:28.000000000","tz":480},"committer":{"name":"ricolin","email":"rlin@vexxhost.com","date":"2026-04-22 06:26:18.000000000","tz":480},"subject":"compute: add skip_inventory_in_use_errors opt","message":"compute: add skip_inventory_in_use_errors opt\n\nA placement 409 inventory.inuse on a single compute node could bring\ndown the entire nova-compute service at startup. With the Ironic virt\ndriver this took every bare-metal node bound to that service offline --\nscheduling and resource reporting stopped for all of them -- because of\na conflict affecting just one node.\n\nThe resource tracker translated every InventoryInUse raised by\nupdate_from_provider_tree into a PlacementPciException, even when the\nconflict had nothing to do with PCI (e.g. an Ironic node\u0027s\nresource_class was renamed while an allocation for the old class still\nexisted). The compute manager then treated PlacementPciException as\nfatal at startup.\n\nAdd a new [compute] skip_inventory_in_use_errors option so operators\ncan opt into permissive behavior for the non-PCI, non-reshape path.\nWhen enabled, InventoryInUse on that path is surfaced as a new\nInventoryInUseOnProvider exception that the manager logs and swallows,\nskipping only the affected node. The next update_available_resource\ncycle reconciles automatically once the operator resolves the\nallocation mismatch.\n\nThe option defaults to False, preserving the historical strict\nbehavior. PCI reshape and driver reshape conflicts always remain fatal\nregardless of this option because continuing past them could leave the\ncompute running against an unsafe provider model.\n\nCloses-Bug: #2149866\nAssisted-By: Copilot \u003c223556219+Copilot@users.noreply.github.com\u003e\nChange-Id: I7a79db8a124639ea3c359a6364d7b7029bebd2c4\nSigned-off-by: ricolin \u003crlin@vexxhost.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/96b39ca12e6e51a11840e44b537c806a011e2e2d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/96b39ca12e6e51a11840e44b537c806a011e2e2d"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"OK","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY"},{"label":"Workflow","status":"MAY"},{"label":"Review-Priority","status":"MAY"}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Verified\u003dMAX","label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Code-Review\u003dMAX","label:Code-Review\u003dMIN"],"atom_explanations":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Review-Priority","description":"Review Priority","status":"NOT_APPLICABLE","is_legacy":false,"applicability_expression_result":{"fulfilled":false,"status":"FAIL"},"submittability_expression_result":{"expression":"is:true","fulfilled":true,"status":"NOT_EVALUATED","passing_atoms":[],"failing_atoms":[],"atom_explanations":{}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Workflow\u003dMAX","label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
