)]}'
{"id":"openstack%2Fnova~841170","triplet_id":"openstack%2Fnova~master~I3d0f89a87da589bd36bb47633528b98cfb9c0675","project":"openstack/nova","branch":"master","attention_set":{"8864":{"account":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"last_update":"2022-05-10 19:16:08.000000000","reason":"Someone else replied on the change"}},"removed_from_attention_set":{"9708":{"account":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"last_update":"2022-05-10 13:02:16.000000000","reason":"gibi replied on the change"},"11604":{"account":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"last_update":"2022-05-10 14:40:00.000000000","reason":"sean mooney replied on the change"}},"hashtags":[],"change_id":"I3d0f89a87da589bd36bb47633528b98cfb9c0675","subject":"Reproduce bug 1952745","status":"NEW","created":"2022-05-09 21:26:01.000000000","updated":"2022-05-10 19:16:08.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":19,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"a31b88f548c794b0592e6130ba369bc97a6fc9cd","_number":841170,"virtual_id_number":841170,"owner":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":1,"date":"2022-05-10 17:07:57.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"}],"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"]},{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"}],"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"]},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"}],"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":2},"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"value":0,"permitted_voting_range":{"min":0,"max":2},"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"}],"values":{" 0":"Default Priority","+1":"Contributor Review Promise","+2":"Core Review Promise"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"CC":[{"_account_id":15941,"name":"DellEMC PowerFlex CI","email":"emc.scaleio.ci@emc.com","username":"emc-scaleio-ci","tags":["SERVICE_USER"]},{"_account_id":26515,"name":"Cloudbase Nova Hyper-V CI","email":"nova_hyperv_ci@cloudbasesolutions.com","username":"nova_hyperv_ci"},{"_account_id":34420,"name":"openstack lightbits","display_name":"Lightbits CI","email":"openstack@lightbitslabs.com","username":"openstack_lightbits"}],"REVIEWER":[{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2022-05-09 22:06:20.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":"2022-05-09 22:08:03.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":"2022-05-09 22:08:40.000000000","updated_by":{"_account_id":15941,"name":"DellEMC PowerFlex CI","email":"emc.scaleio.ci@emc.com","username":"emc-scaleio-ci","tags":["SERVICE_USER"]},"reviewer":{"_account_id":15941,"name":"DellEMC PowerFlex CI","email":"emc.scaleio.ci@emc.com","username":"emc-scaleio-ci","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2022-05-09 22:43:24.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"},{"updated":"2022-05-10 00:08:43.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-05-10 07:45:42.000000000","updated_by":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"reviewer":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"state":"REVIEWER"},{"updated":"2022-05-10 11:51:42.000000000","updated_by":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"reviewer":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"state":"REVIEWER"}],"messages":[{"id":"a2ab0b9dc427d1201a9aa8cb50cf9286d22d06fd","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"date":"2022-05-09 21:26:01.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"ef7596fb18918d510fbfde939d096a5cf92fe961","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"date":"2022-05-09 21:36:48.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"a77627bc6c7d5377690e57f589a19be55ea1ccc0","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"date":"2022-05-09 21:41:35.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"6d74ebf518dc0c9e4d3071a73e77565336a83530","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-05-09 22:06:20.000000000","message":"Patch Set 3:\n\nBuild succeeded (ARM64 pipeline).\n\n- openstack-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/6b12e2bc7a76427ca37d970a71216ec6 : SUCCESS in 22m 42s (non-voting)\n- openstack-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/e227201ef17943aca89d670e21355cbf : SUCCESS in 23m 01s (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"006c7004e1eb071cd5e9f70f61b9c956bf12fe39","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-05-09 22:08:03.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/bf0d26ee69ae4e289f51b6104dcf704e : SUCCESS in 24m 52s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/5111a12a0d41476cac78266311b168b5 : SUCCESS in 15m 47s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/7f9362285fc84de3807a626686df593f : SUCCESS in 13m 53s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/0d2ba0acda6541c6b7eb361858f7cc24 : SUCCESS in 19m 09s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/8b7dae63e97746eda0ca771e8be8fa2d : SUCCESS in 23m 07s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/0ae8e5081f3d4e32a3ceef5930319b73 : SUCCESS in 18m 46s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/87daf16cb63e45c2975485da8d4c698a : SUCCESS in 10m 55s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/52b8ff125e7347eb8b4dc78b850e8d59 : SUCCESS in 6m 30s (non-voting)\n- nova-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/0c1e6b6f02324ea8bf29d9f5834d5f11 : SUCCESS in 19m 52s\n- nova-tox-functional-py39 https://zuul.opendev.org/t/openstack/build/3259c21e714e4f98b14455294016eb4a : SUCCESS in 20m 29s","accounts_in_message":[],"_revision_number":3},{"id":"70e43d810d8275eaf63920f222d25daf5ee695a6","author":{"_account_id":15941,"name":"DellEMC PowerFlex CI","email":"emc.scaleio.ci@emc.com","username":"emc-scaleio-ci","tags":["SERVICE_USER"]},"date":"2022-05-09 22:08:40.000000000","message":"Patch Set 3:\n\nBuild failed.  For information on how to proceed, see https://docs.openstack.org/infra/manual/developers.html\n\n- EMC_PowerFlex_NOVA https://elab-os-logsrv.delllabs.net/70/841170/3/check/EMC_PowerFlex_NOVA/49b885b/EMC_PowerFlex_NOVA/None : NOT_REGISTERED\n\nLeave a comment with \u0027run-DellEMC PowerFlex CI\u0027 to trigger a recheck. For more information about CI, please see https://wiki.openstack.org/wiki/ThirdPartySystems/DellEMC_PowerFlex_CI","accounts_in_message":[],"_revision_number":3},{"id":"7f633538efc8198eb3f4a5074809b32af812e94d","tag":"autogenerated:jenkins-gerrit-trigger","author":{"_account_id":34420,"name":"openstack lightbits","display_name":"Lightbits CI","email":"openstack@lightbitslabs.com","username":"openstack_lightbits"},"date":"2022-05-09 22:43:24.000000000","message":"Patch Set 3:\n\nBuild SUCCESS. log path: https://github.com/LightBitsLabs/logs/tree/main/09_05_2022_22_08_11\nLeave a comment with \u0027run-Lightbits CI\u0027 to trigger a recheck. \nFor more information about CI, please see https://wiki.openstack.org/wiki/ThirdPartySystems/LightbitsLabs_CI","accounts_in_message":[],"_revision_number":3},{"id":"a705ae1c731542dd407529833bde36a5585bf9c9","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":"2022-05-10 00:08:43.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/841170/3/iscsi : SUCCESS in 2h 25m 57s","accounts_in_message":[],"_revision_number":3},{"id":"f9722669a53351a13444cd886256c59364072bb8","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2022-05-10 07:45:42.000000000","message":"Patch Set 3: Code-Review+2\n\n(8 comments)","accounts_in_message":[],"_revision_number":3},{"id":"4e15030e6626db71b969f91553ed2075dcf00c50","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2022-05-10 11:51:42.000000000","message":"Patch Set 3: Code-Review+1\n\n(3 comments)","accounts_in_message":[],"_revision_number":3},{"id":"fafc50e9390c779113e0aef88a41d9d86512e9a6","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2022-05-10 12:36:23.000000000","message":"Patch Set 3:\n\n(3 comments)","accounts_in_message":[],"_revision_number":3},{"id":"29188bc7c885952ddb4a3515811ee810d9571fa7","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2022-05-10 13:02:16.000000000","message":"Patch Set 3:\n\n(2 comments)","accounts_in_message":[],"_revision_number":3},{"id":"dc8b2492b0b2a848c90d8d0af21b1c12d6f814f8","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2022-05-10 14:40:00.000000000","message":"Patch Set 3: Code-Review+2\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"def90667cbf88b096b65eb4404611c079c30ff9b","author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"date":"2022-05-10 16:36:13.000000000","message":"Patch Set 3:\n\n(2 comments)","accounts_in_message":[],"_revision_number":3},{"id":"ab6f62431c38cbc4903bf9952253b3f8f0fabb47","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"date":"2022-05-10 16:36:49.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"cafafefb1a6b5d1a734fe0fea2e038d474b361a4","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-05-10 17:06:31.000000000","message":"Patch Set 4:\n\nBuild succeeded (ARM64 pipeline).\n\n- openstack-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/60fc2c2cb89344edbcae8fdde08803be : SUCCESS in 27m 39s (non-voting)\n- openstack-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/3fc9f158712648beb7ddf99b008238a7 : SUCCESS in 26m 30s (non-voting)","accounts_in_message":[],"_revision_number":4},{"id":"a57974543b4ae5c7d9d0e87d8e58a02b8d6165ce","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-05-10 17:07:57.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/0314116658104f11a2a48b47371e8652 : SUCCESS in 17m 41s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/4eba4555ece0494bb34103556fa54e85 : SUCCESS in 13m 32s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/5b6862279d754e56928615d8d2db3942 : SUCCESS in 12m 17s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/868b32e98e794d8fa2c7b33db2f9c02c : SUCCESS in 13m 50s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/de64337a9b5f49858f5763cd05df4374 : SUCCESS in 14m 42s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/b41df9fbe6674a459805242190dedf20 : SUCCESS in 15m 14s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c137bad7814b4a7790a2947e71345826 : SUCCESS in 10m 13s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/5d43c6fcee96407d8c8ae636f3047f86 : SUCCESS in 6m 29s (non-voting)\n- nova-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/86241d12a1234c629a26eb571e48aff1 : SUCCESS in 19m 59s\n- nova-tox-functional-py39 https://zuul.opendev.org/t/openstack/build/4f0bb3d331064a9f86262c0cee817bce : SUCCESS in 25m 55s","accounts_in_message":[],"_revision_number":4},{"id":"af70b425e39f5b7ac4771ad90199331c4a084e56","author":{"_account_id":15941,"name":"DellEMC PowerFlex CI","email":"emc.scaleio.ci@emc.com","username":"emc-scaleio-ci","tags":["SERVICE_USER"]},"date":"2022-05-10 17:08:23.000000000","message":"Patch Set 4:\n\nBuild failed.  For information on how to proceed, see https://docs.openstack.org/infra/manual/developers.html\n\n- EMC_PowerFlex_NOVA https://elab-os-logsrv.delllabs.net/70/841170/4/check/EMC_PowerFlex_NOVA/a8d808e/EMC_PowerFlex_NOVA/None : NOT_REGISTERED\n\nLeave a comment with \u0027run-DellEMC PowerFlex CI\u0027 to trigger a recheck. For more information about CI, please see https://wiki.openstack.org/wiki/ThirdPartySystems/DellEMC_PowerFlex_CI","accounts_in_message":[],"_revision_number":4},{"id":"a31b88f548c794b0592e6130ba369bc97a6fc9cd","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":"2022-05-10 19:16:08.000000000","message":"Patch Set 4:\n\nFor rechecking only on the Cloudbase Nova Hyper-V CI, add a review comment with run-Cloudbase Nova Hyper-V CI\n\n- nova http://cloudbase-ci.com/nova/841170/4/iscsi : FAILURE in 2h 38m 04s","accounts_in_message":[],"_revision_number":4}],"current_revision_number":4,"current_revision":"c5f9cb200e795c6df05bf6d54838e149db2e012d","revisions":{"9018899a2ce114dc1b27a4243c736b37b4c99cf7":{"kind":"REWORK","_number":1,"created":"2022-05-09 21:26:01.000000000","uploader":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"ref":"refs/changes/70/841170/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/70/841170/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/70/841170/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/70/841170/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/70/841170/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/70/841170/1"}}},"commit":{"parents":[{"commit":"7520711a0e3b20354c0a9d46cb1dd62c8f56db24","subject":"Merge \"Allow claiming PCI PF if child VF is unavailable\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/7520711a0e3b20354c0a9d46cb1dd62c8f56db24"}]}],"author":{"name":"Artom Lifshitz","email":"alifshit@redhat.com","date":"2022-05-09 21:24:01.000000000","tz":-240},"committer":{"name":"Artom Lifshitz","email":"alifshit@redhat.com","date":"2022-05-09 21:25:56.000000000","tz":-240},"subject":"Reproduce bug 1952745","message":"Reproduce bug 1952745\n\nWhen nova-compute starts up, it looks for migration records with type\n\u0027evacuation\u0027, status \u0027done\u0027, and itself as the source host. It then\ndestroys the associated libvirt instances from the hypervisor, and\nsets the migration record to \u0027completed\u0027 to avoid destroying them\nagain on subsequent startups.\n\nThis is all well and good if it\u0027s the original compute host that comes\nback after being evacuated, but what if it\u0027s a brand new compute host\nwith the same host name?\n\nIt\u0027ll find the \u0027done\u0027 evacuations, look for the associated libvirt\ninstances to destroy on the hypervisor, not find any because it\u0027s a\nbrand new compute, and I suspect at this point it will not set the\nmigration record to \u0027completed\u0027.\n\nIf previously-evacuated instances are now migrated back to the new\n(but with the old hostname) compute, and the nova-compute service is\nrestarted, it\u0027ll pick up those \u0027done\u0027 migration records and destroy\nthe libvirt instances.\n\nReproduce all of this in a functional test.\n\nChange-Id: I3d0f89a87da589bd36bb47633528b98cfb9c0675\nRelated-bug: 1952745\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/9018899a2ce114dc1b27a4243c736b37b4c99cf7"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/9018899a2ce114dc1b27a4243c736b37b4c99cf7"}]},"branch":"refs/heads/master"},"2c6cdc734e642d416961e89ea366a380582627a7":{"kind":"REWORK","_number":2,"created":"2022-05-09 21:36:48.000000000","uploader":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"ref":"refs/changes/70/841170/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/70/841170/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/70/841170/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/70/841170/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/70/841170/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/70/841170/2"}}},"commit":{"parents":[{"commit":"7520711a0e3b20354c0a9d46cb1dd62c8f56db24","subject":"Merge \"Allow claiming PCI PF if child VF is unavailable\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/7520711a0e3b20354c0a9d46cb1dd62c8f56db24"}]}],"author":{"name":"Artom Lifshitz","email":"alifshit@redhat.com","date":"2022-05-09 21:24:01.000000000","tz":-240},"committer":{"name":"Artom Lifshitz","email":"alifshit@redhat.com","date":"2022-05-09 21:36:43.000000000","tz":-240},"subject":"Reproduce bug 1952745","message":"Reproduce bug 1952745\n\nWhen nova-compute starts up, it looks for migration records with type\n\u0027evacuation\u0027, status \u0027done\u0027, and itself as the source host. It then\ndestroys the associated libvirt instances from the hypervisor, and\nsets the migration record to \u0027completed\u0027 to avoid destroying them\nagain on subsequent startups.\n\nThis is all well and good if it\u0027s the original compute host that comes\nback after being evacuated, but what if it\u0027s a brand new compute host\nwith the same host name?\n\nIt\u0027ll find the \u0027done\u0027 evacuations, look for the associated libvirt\ninstances to destroy on the hypervisor, not find any because it\u0027s a\nbrand new compute, and I suspect at this point it will not set the\nmigration record to \u0027completed\u0027.\n\nIf previously-evacuated instances are now migrated back to the new\n(but with the old hostname) compute, and the nova-compute service is\nrestarted, it\u0027ll pick up those \u0027done\u0027 migration records and destroy\nthe libvirt instances.\n\nReproduce all of this in a functional test.\n\nChange-Id: I3d0f89a87da589bd36bb47633528b98cfb9c0675\nRelated-bug: 1952745\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/2c6cdc734e642d416961e89ea366a380582627a7"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/2c6cdc734e642d416961e89ea366a380582627a7"}]},"branch":"refs/heads/master"},"d6de7b172209b9acd6a811c24b263e5433c70bfa":{"kind":"REWORK","_number":3,"created":"2022-05-09 21:41:35.000000000","uploader":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"ref":"refs/changes/70/841170/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/70/841170/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/70/841170/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/70/841170/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/70/841170/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/70/841170/3"}}},"commit":{"parents":[{"commit":"7520711a0e3b20354c0a9d46cb1dd62c8f56db24","subject":"Merge \"Allow claiming PCI PF if child VF is unavailable\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/7520711a0e3b20354c0a9d46cb1dd62c8f56db24"}]}],"author":{"name":"Artom Lifshitz","email":"alifshit@redhat.com","date":"2022-05-09 21:24:01.000000000","tz":-240},"committer":{"name":"Artom Lifshitz","email":"alifshit@redhat.com","date":"2022-05-09 21:41:30.000000000","tz":-240},"subject":"Reproduce bug 1952745","message":"Reproduce bug 1952745\n\nWhen nova-compute starts up, it looks for migration records with type\n\u0027evacuation\u0027, status \u0027done\u0027, and itself as the source host. It then\ndestroys the associated libvirt instances from the hypervisor, and\nsets the migration record to \u0027completed\u0027 to avoid destroying them\nagain on subsequent startups.\n\nThis is all well and good if it\u0027s the original compute host that comes\nback after being evacuated, but what if it\u0027s a brand new compute host\nwith the same host name?\n\nIt\u0027ll find the \u0027done\u0027 evacuations, look for the associated libvirt\ninstances to destroy on the hypervisor, not find any because it\u0027s a\nbrand new compute, and I suspect at this point it will not set the\nmigration record to \u0027completed\u0027.\n\nIf previously-evacuated instances are now migrated back to the new\n(but with the old hostname) compute, and the nova-compute service is\nrestarted, it\u0027ll pick up those \u0027done\u0027 migration records and destroy\nthe libvirt instances.\n\nReproduce all of this in a functional test.\n\nChange-Id: I3d0f89a87da589bd36bb47633528b98cfb9c0675\nRelated-bug: 1952745\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/d6de7b172209b9acd6a811c24b263e5433c70bfa"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/d6de7b172209b9acd6a811c24b263e5433c70bfa"}]},"branch":"refs/heads/master"},"c5f9cb200e795c6df05bf6d54838e149db2e012d":{"kind":"REWORK","_number":4,"created":"2022-05-10 16:36:49.000000000","uploader":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"ref":"refs/changes/70/841170/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/70/841170/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/70/841170/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/70/841170/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/70/841170/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/70/841170/4"}}},"commit":{"parents":[{"commit":"7520711a0e3b20354c0a9d46cb1dd62c8f56db24","subject":"Merge \"Allow claiming PCI PF if child VF is unavailable\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/7520711a0e3b20354c0a9d46cb1dd62c8f56db24"}]}],"author":{"name":"Artom Lifshitz","email":"alifshit@redhat.com","date":"2022-05-09 21:24:01.000000000","tz":-240},"committer":{"name":"Artom Lifshitz","email":"alifshit@redhat.com","date":"2022-05-10 16:33:29.000000000","tz":-240},"subject":"Reproduce bug 1952745","message":"Reproduce bug 1952745\n\nWhen nova-compute starts up, it looks for migration records with type\n\u0027evacuation\u0027, status \u0027done\u0027, and itself as the source host. It then\ndestroys the associated libvirt instances from the hypervisor, and\nsets the migration record to \u0027completed\u0027 to avoid destroying them\nagain on subsequent startups.\n\nThis is all well and good if it\u0027s the original compute host that comes\nback after being evacuated, but what if it\u0027s a brand new compute host\nwith the same host name?\n\nDuring compute service startup, the destruction of evacuated instances\nhappens as part of the init_host() call, but compute node records are\ncreated as part of the pre_start_hook(), which is called *after*\ninit_host() during service startup (see start() in nova/service.py).\n\nThis causes _destroy_evacuated_instances() to hit an if+continue block\n[1] because `hostname_to_cn_uuid` is an empty dict, continue out of\nthe outer for loop iteration, and never update the migration record to\n\u0027completed\u0027.\n\nIf a previously-evacuated instance is now migrated back to the new\n(but with the old hostname) compute, and the nova-compute service is\nrestarted, the original evacuation record is still \u0027done\u0027, the compute\nnode record now exists, the instance is picked up for destruction, and\nthe libvirt domain is erroneously destroyed.\n\nReproduce all of this in a functional test.\n\nChange-Id: I3d0f89a87da589bd36bb47633528b98cfb9c0675\nRelated-bug: 1952745\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/c5f9cb200e795c6df05bf6d54838e149db2e012d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/c5f9cb200e795c6df05bf6d54838e149db2e012d"}]},"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":""}}}]}
