)]}'
{"id":"openstack%2Fnova~811813","triplet_id":"openstack%2Fnova~stable%2Fvictoria~I260c1fded79a85d4899e94df4d9036a1ee437f02","project":"openstack/nova","branch":"stable/victoria","topic":"bug/1853009","attention_set":{},"removed_from_attention_set":{"4690":{"account":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"last_update":"2024-03-05 18:57:23.000000000","reason":"Change was abandoned"}},"hashtags":[],"change_id":"I260c1fded79a85d4899e94df4d9036a1ee437f02","subject":"Prevent deletion of a compute node belonging to another host","status":"ABANDONED","created":"2021-09-30 00:29:44.000000000","updated":"2024-03-05 18:57:23.000000000","total_comment_count":4,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"f1676377980b8585cc45c728051555e33ca378c8","_number":811813,"virtual_id_number":811813,"owner":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":1,"date":"2021-09-30 05:32:56.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"}],"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":{"approved":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":1,"date":"2022-09-21 16:39:24.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},{"value":2,"date":"2022-12-20 16:02:35.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"}],"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"]},{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"}],"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"]},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},{"value":0,"permitted_voting_range":{"min":0,"max":1},"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},{"value":0,"permitted_voting_range":{"min":0,"max":2},"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"permitted_voting_range":{"min":0,"max":2},"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"}],"values":{" 0":"Default Priority","+1":"Contributor Review Promise","+2":"Core Review Promise"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"CC":[{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"_account_id":26515,"name":"Cloudbase Nova Hyper-V CI","email":"nova_hyperv_ci@cloudbasesolutions.com","username":"nova_hyperv_ci"}],"REVIEWER":[{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2021-09-30 00:29:44.000000000","updated_by":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"reviewer":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"state":"REVIEWER"},{"updated":"2021-09-30 03:36:54.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":"2021-09-30 06:25:23.000000000","updated_by":{"_account_id":26515,"name":"Cloudbase Nova Hyper-V CI","email":"nova_hyperv_ci@cloudbasesolutions.com","username":"nova_hyperv_ci"},"reviewer":{"_account_id":26515,"name":"Cloudbase Nova Hyper-V CI","email":"nova_hyperv_ci@cloudbasesolutions.com","username":"nova_hyperv_ci"},"state":"CC"},{"updated":"2022-09-21 16:39:24.000000000","updated_by":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"reviewer":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"state":"REVIEWER"},{"updated":"2022-12-20 16:02:35.000000000","updated_by":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"reviewer":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"state":"REVIEWER"},{"updated":"2024-03-05 18:57:23.000000000","updated_by":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"reviewer":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"state":"CC"}],"messages":[{"id":"3e98364221ef1aaaeab8cbd6fe2c65da7f1a4cb9","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2021-09-30 00:29:44.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"b29883ea887ab626a11ecc7ef0a7eddd00fd6747","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2021-09-30 01:44:37.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"4e934dc470f2c63154598b1916951b689a7fffce","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-09-30 03:36:54.000000000","message":"Patch Set 2: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\n\n\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/e6615779a4af42ea97df24811497be3f : SUCCESS in 1h 49m 12s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/a223b9f825664128adf0add05791d3d0 : SUCCESS in 20m 29s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/7803aabd1bd54ecf8e47f583a32e9181 : SUCCESS in 14m 54s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/343ce18ecd9a4d0197b3cd30fb195db4 : SUCCESS in 8m 54s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/f389d268f8b94039be36636f69f12bd9 : SUCCESS in 12m 00s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/9ad856ae91054da48935d28086e3a5c2 : SUCCESS in 12m 56s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/f3b1d7776b1d41d8be0c7c0d04af801e : SUCCESS in 11m 43s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/fc0d8d9b1fb2472480e38078a8d49b91 : SUCCESS in 20m 24s\n- ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa https://zuul.opendev.org/t/openstack/build/e48925dbe3994a24be8c0cc16c85f48c : SUCCESS in 1h 10m 35s (non-voting)\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/2464fa72ca054278a50ce232ef728dc4 : SUCCESS in 1h 23m 09s\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/b37c8f33689f43b4823955b5c6d27d7d : SUCCESS in 1h 16m 24s\n- nova-multi-cell https://zuul.opendev.org/t/openstack/build/718a228c7ce244e2ab56f4672a862be2 : SUCCESS in 1h 31m 37s\n- nova-next https://zuul.opendev.org/t/openstack/build/7a9ff8d4c3074d2b9cb4ea482b5cfe60 : SUCCESS in 1h 27m 28s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/df8f24f62e5a41feba31138b9b2f982a : FAILURE in 9m 01s (non-voting)\n- nova-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/f5bc52c0f9c645799e4a0e4e09c3a3a4 : SUCCESS in 19m 33s\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/814e5318703a4bceb2015446d3620a02 : FAILURE in 1h 09m 42s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/23852ec7b8394c56a83a4dc42ac77f03 : SUCCESS in 1h 04m 06s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/6d2c9e1210634788a5500e02cb8f3572 : SUCCESS in 55m 13s\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/e030d23b076b44338de83d04fc886dc1 : SUCCESS in 28m 21s (non-voting)\n- barbican-tempest-plugin-simple-crypto https://zuul.opendev.org/t/openstack/build/f19219c6216f4e61960db393a30b400a : FAILURE in 35m 28s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"46991be859354167ddde5d1a15f28b57cd52790d","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2021-09-30 03:46:12.000000000","message":"Patch Set 2: Workflow-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"42ddccf6e91e6c91a5124b913afa864a33a1db9c","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"date":"2021-09-30 03:53:17.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"d90fc39b00d5e0a4690a9d61476c531b497f7aa6","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-09-30 05:32:56.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\n\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/7d0db880b6d84958a43bfab2409f6d10 : SUCCESS in 1h 06m 53s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/4670769009614079bd8411d38b57e0b0 : SUCCESS in 18m 58s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/56758d1a0211465c831827e2e4265679 : SUCCESS in 14m 56s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/b93deb7090c8447ea39b18ba63471a85 : SUCCESS in 9m 04s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/864d14de65bb4770809ba431c8e33fa4 : SUCCESS in 12m 39s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/dfba6339dfa84c6cb23f14c083db94a9 : SUCCESS in 22m 21s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/7145863bf0dd49d58065a7af5f337857 : SUCCESS in 12m 24s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/91865724820b4d64b918260f31312b74 : SUCCESS in 22m 26s\n- ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa https://zuul.opendev.org/t/openstack/build/2fef5a9d2974468aa8273626dfe95c49 : SUCCESS in 1h 09m 32s (non-voting)\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/bac8c2ecf0ba468285c83b1e3880193d : SUCCESS in 1h 37m 25s\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/73f751b80ebe4b539c50f4a04b4a8722 : SUCCESS in 51m 18s\n- nova-multi-cell https://zuul.opendev.org/t/openstack/build/6113bf1f9ce940c9994cfcda635a097c : SUCCESS in 1h 15m 46s\n- nova-next https://zuul.opendev.org/t/openstack/build/105c336348de479b89e5823ff86a2bf1 : SUCCESS in 1h 16m 20s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/06db36c788d9482ebec32a7f055c59bc : FAILURE in 8m 04s (non-voting)\n- nova-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/f7cc6a85418245d58b12806e3eee79e2 : SUCCESS in 17m 43s\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/0511668bdce8439eb05007398de9b7db : SUCCESS in 1h 09m 10s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/e32236179af8470182a99aad8f0b1cd3 : SUCCESS in 58m 21s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/6dc4a46999534d2ba59b6bd3ad435743 : SUCCESS in 51m 38s\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/a9635e9b7eb94473a3cafe2f6b48ec40 : SUCCESS in 27m 07s (non-voting)\n- barbican-tempest-plugin-simple-crypto https://zuul.opendev.org/t/openstack/build/4b1d5b2504554094b21c546ec5b0d861 : FAILURE in 35m 52s (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"873758e0229b342878bd026a76c0bfe905d632c6","tag":"autogenerated:cloudbase-ci","author":{"_account_id":26515,"name":"Cloudbase Nova Hyper-V CI","email":"nova_hyperv_ci@cloudbasesolutions.com","username":"nova_hyperv_ci"},"date":"2021-09-30 06:25:23.000000000","message":"Patch Set 3:\n\nBuild succeeded. For checking Nova with Ceph, add a comment with run-Cloudbase Nova Ceph Hyper-V CI\n\n- nova http://cloudbase-ci.com/nova/811813/3/iscsi : SUCCESS in 2h 29m 23s","accounts_in_message":[],"_revision_number":3},{"id":"2210fec9d82042e24d44bda1f42529327148b682","author":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"date":"2022-09-21 16:39:24.000000000","message":"Patch Set 3: Code-Review+1","accounts_in_message":[],"_revision_number":3},{"id":"d3e338cd76965d9d90a2f3ce935edd44aa3c331b","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2022-12-20 16:02:35.000000000","message":"Patch Set 3: Code-Review+2\n\n(2 comments)","accounts_in_message":[],"_revision_number":3},{"id":"3dc4f8ee33e5b12c393efc38dfdac75ea4131dc2","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2022-12-20 16:03:06.000000000","message":"Patch Set 3:\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"f1676377980b8585cc45c728051555e33ca378c8","tag":"autogenerated:gerrit:abandon","author":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"date":"2024-03-05 18:57:23.000000000","message":"Abandoned\n\nstable/victoria branch of openstack/nova is about to be deleted. To be able to do that, all open patches need to be abandoned. Please cherry pick the patch to unmaintained/victoria if you want to further work on this patch.","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"737a4ccd1398a5cf28a67547f226b668f246c784","revisions":{"1e9d2979542165598b61f0d2e16b65b37b9ea074":{"kind":"REWORK","_number":1,"created":"2021-09-30 00:29:44.000000000","uploader":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"ref":"refs/changes/13/811813/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/13/811813/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/13/811813/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/13/811813/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/13/811813/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/13/811813/1"}}},"commit":{"parents":[{"commit":"456bcc784340a5674d25fbe6e707c36c583b504f","subject":"Invalidate provider tree when compute node disappears","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/456bcc784340a5674d25fbe6e707c36c583b504f"}]}],"author":{"name":"Mark Goddard","email":"mark@stackhpc.com","date":"2019-11-18 12:06:47.000000000","tz":0},"committer":{"name":"melanie witt","email":"melwittt@gmail.com","date":"2021-09-30 00:25:48.000000000","tz":0},"subject":"Prevent deletion of a compute node belonging to another host","message":"Prevent deletion of a compute node belonging to another host\n\nThere is a race condition in nova-compute with the ironic virt driver as\nnodes get rebalanced. It can lead to compute nodes being removed in the\nDB and not repopulated. Ultimately this prevents these nodes from being\nscheduled to.\n\nThe main race condition involved is in update_available_resources in\nthe compute manager. When the list of compute nodes is queried, there is\na compute node belonging to the host that it does not expect to be\nmanaging, i.e. it is an orphan. Between that time and deleting the\norphan, the real owner of the compute node takes ownership of it ( in\nthe resource tracker). However, the node is still deleted as the first\nhost is unaware of the ownership change.\n\nThis change prevents this from occurring by filtering on the host when\ndeleting a compute node. If another compute host has taken ownership of\na node, it will have updated the host field and this will prevent\ndeletion from occurring. The first host sees this has happened via the\nComputeHostNotFound exception, and avoids deleting its resource\nprovider.\n\nCo-Authored-By: melanie witt \u003cmelwittt@gmail.com\u003e\n\nConflicts:\n    nova/compute/manager.py\n\nNOTE(melwitt): The conflict is because change\nI23bb9e539d08f5c6202909054c2dd49b6c7a7a0e (Remove six.text_type (1/2))\nis not in Victoria.\n\nCloses-Bug: #1853009\nRelated-Bug: #1841481\n\nChange-Id: I260c1fded79a85d4899e94df4d9036a1ee437f02\n(cherry picked from commit a8492e88783b40f6dc61888fada232f0d00d6acf)\n(cherry picked from commit da4e0b3daaf1814ec61b49bddeb2e6431e73b4c2)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/1e9d2979542165598b61f0d2e16b65b37b9ea074"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/1e9d2979542165598b61f0d2e16b65b37b9ea074"}]},"branch":"refs/heads/stable/victoria"},"8f825c303355fbd652b87b0720942f57ff1675bb":{"kind":"REWORK","_number":2,"created":"2021-09-30 01:44:37.000000000","uploader":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"ref":"refs/changes/13/811813/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/13/811813/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/13/811813/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/13/811813/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/13/811813/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/13/811813/2"}}},"commit":{"parents":[{"commit":"456bcc784340a5674d25fbe6e707c36c583b504f","subject":"Invalidate provider tree when compute node disappears","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/456bcc784340a5674d25fbe6e707c36c583b504f"}]}],"author":{"name":"Mark Goddard","email":"mark@stackhpc.com","date":"2019-11-18 12:06:47.000000000","tz":0},"committer":{"name":"melanie witt","email":"melwittt@gmail.com","date":"2021-09-30 01:42:23.000000000","tz":0},"subject":"Prevent deletion of a compute node belonging to another host","message":"Prevent deletion of a compute node belonging to another host\n\nThere is a race condition in nova-compute with the ironic virt driver as\nnodes get rebalanced. It can lead to compute nodes being removed in the\nDB and not repopulated. Ultimately this prevents these nodes from being\nscheduled to.\n\nThe main race condition involved is in update_available_resources in\nthe compute manager. When the list of compute nodes is queried, there is\na compute node belonging to the host that it does not expect to be\nmanaging, i.e. it is an orphan. Between that time and deleting the\norphan, the real owner of the compute node takes ownership of it ( in\nthe resource tracker). However, the node is still deleted as the first\nhost is unaware of the ownership change.\n\nThis change prevents this from occurring by filtering on the host when\ndeleting a compute node. If another compute host has taken ownership of\na node, it will have updated the host field and this will prevent\ndeletion from occurring. The first host sees this has happened via the\nComputeHostNotFound exception, and avoids deleting its resource\nprovider.\n\nCo-Authored-By: melanie witt \u003cmelwittt@gmail.com\u003e\n\nConflicts:\n    nova/compute/manager.py\n\nNOTE(melwitt): The conflict is because change\nI23bb9e539d08f5c6202909054c2dd49b6c7a7a0e (Remove six.text_type (1/2))\nis not in Victoria.\n\nCloses-Bug: #1853009\nRelated-Bug: #1841481\n\nChange-Id: I260c1fded79a85d4899e94df4d9036a1ee437f02\n(cherry picked from commit a8492e88783b40f6dc61888fada232f0d00d6acf)\n(cherry picked from commit cbbca58504275f194ec55eeb89dad4a496d98060)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/8f825c303355fbd652b87b0720942f57ff1675bb"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/8f825c303355fbd652b87b0720942f57ff1675bb"}]},"branch":"refs/heads/stable/victoria"},"737a4ccd1398a5cf28a67547f226b668f246c784":{"kind":"REWORK","_number":3,"created":"2021-09-30 03:53:17.000000000","uploader":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"ref":"refs/changes/13/811813/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/13/811813/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/13/811813/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/13/811813/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/13/811813/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/13/811813/3"}}},"commit":{"parents":[{"commit":"456bcc784340a5674d25fbe6e707c36c583b504f","subject":"Invalidate provider tree when compute node disappears","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/456bcc784340a5674d25fbe6e707c36c583b504f"}]}],"author":{"name":"Mark Goddard","email":"mark@stackhpc.com","date":"2019-11-18 12:06:47.000000000","tz":0},"committer":{"name":"melanie witt","email":"melwittt@gmail.com","date":"2021-09-30 03:52:13.000000000","tz":0},"subject":"Prevent deletion of a compute node belonging to another host","message":"Prevent deletion of a compute node belonging to another host\n\nThere is a race condition in nova-compute with the ironic virt driver as\nnodes get rebalanced. It can lead to compute nodes being removed in the\nDB and not repopulated. Ultimately this prevents these nodes from being\nscheduled to.\n\nThe main race condition involved is in update_available_resources in\nthe compute manager. When the list of compute nodes is queried, there is\na compute node belonging to the host that it does not expect to be\nmanaging, i.e. it is an orphan. Between that time and deleting the\norphan, the real owner of the compute node takes ownership of it ( in\nthe resource tracker). However, the node is still deleted as the first\nhost is unaware of the ownership change.\n\nThis change prevents this from occurring by filtering on the host when\ndeleting a compute node. If another compute host has taken ownership of\na node, it will have updated the host field and this will prevent\ndeletion from occurring. The first host sees this has happened via the\nComputeHostNotFound exception, and avoids deleting its resource\nprovider.\n\nCo-Authored-By: melanie witt \u003cmelwittt@gmail.com\u003e\n\nConflicts:\n    nova/compute/manager.py\n\nNOTE(melwitt): The conflict is because change\nI23bb9e539d08f5c6202909054c2dd49b6c7a7a0e (Remove six.text_type (1/2))\nis not in Victoria.\n\nCloses-Bug: #1853009\nRelated-Bug: #1841481\n\nChange-Id: I260c1fded79a85d4899e94df4d9036a1ee437f02\n(cherry picked from commit a8492e88783b40f6dc61888fada232f0d00d6acf)\n(cherry picked from commit cbbca58504275f194ec55eeb89dad4a496d98060)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/737a4ccd1398a5cf28a67547f226b668f246c784"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/737a4ccd1398a5cf28a67547f226b668f246c784"}]},"branch":"refs/heads/stable/victoria"}},"requirements":[],"submit_records":[],"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":{}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX"],"failing_atoms":["label:Code-Review\u003dMIN"],"atom_explanations":{}}},{"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":{}}}]}
