)]}'
{"id":"openstack%2Fnova~841308","triplet_id":"openstack%2Fnova~master~I9b89aed403e168da58afc1cbf41ed9031738db90","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 18:30:44.000000000","reason":"A robot voted negatively on a label"}},"removed_from_attention_set":{},"hashtags":[],"change_id":"I9b89aed403e168da58afc1cbf41ed9031738db90","subject":"Move evacuated instance destruction to new post_start_hook","status":"NEW","created":"2022-05-10 16:36:49.000000000","updated":"2022-05-10 19:28:23.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":false,"submittable":false,"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"e1d6e44fa53353e1f7bd9e0bc46e8bb950df0f98","_number":841308,"virtual_id_number":841308,"owner":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"actions":{},"labels":{"Verified":{"disliked":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":-1,"date":"2022-05-10 18:30:44.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":10118,"name":"IBM PowerKVM CI","email":"kvmpower@linux.vnet.ibm.com","username":"powerkvm","tags":["SERVICE_USER"]},{"_account_id":26515,"name":"Cloudbase Nova Hyper-V CI","email":"nova_hyperv_ci@cloudbasesolutions.com","username":"nova_hyperv_ci"}],"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2022-05-10 17:07:08.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-10 18:30:44.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-10 18:57:53.000000000","updated_by":{"_account_id":10118,"name":"IBM PowerKVM CI","email":"kvmpower@linux.vnet.ibm.com","username":"powerkvm","tags":["SERVICE_USER"]},"reviewer":{"_account_id":10118,"name":"IBM PowerKVM CI","email":"kvmpower@linux.vnet.ibm.com","username":"powerkvm","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2022-05-10 19:28: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"}],"messages":[{"id":"56bab680719aaeb182abb502e6b6544821f16f30","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 1.","accounts_in_message":[],"_revision_number":1},{"id":"530fc4e9ea78e90a44d8f82bf7a5a4e4e92ed7a5","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-05-10 17:07:08.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\n\n- openstack-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/96b5ffebecf64939af8e41c963110240 : FAILURE in 28m 15s (non-voting)\n- openstack-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/d77ec864320a4997ac1588d56d498551 : FAILURE in 27m 25s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"4230228d153bdf2948819c4730a7bfbc75c08d57","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2022-05-10 18:30:44.000000000","message":"Patch Set 1: 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/16fb2cf244de44df8eaad774b9e1153f : SUCCESS in 1h 47m 39s\n- tempest-integrated-compute-centos-9-stream https://zuul.opendev.org/t/openstack/build/5e70e773f2194b978c132ac167cf9ee0 : SUCCESS in 1h 14m 14s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/6729906dc81e43be9133a182b8d5c896 : SUCCESS in 47m 00s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/58d7d8dcf7df47608883dff1497c582a : FAILURE in 13m 55s\n- openstack-tox-lower-constraints https://zuul.opendev.org/t/openstack/build/3c3290ec46d64a6db41868120e282b47 : FAILURE in 14m 55s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/875a3a3f5ca84f24a33133517399f3d4 : SUCCESS in 13m 25s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/faa1b3b2dca6406b84d73bba3afca281 : FAILURE in 13m 41s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/16112772bc1a449ea13fe0ca8e1bd6a6 : FAILURE in 12m 43s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/73883cc273e34105b819310b36b1be93 : FAILURE in 11m 06s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/799800f69d804569ba2344ac51e73128 : SUCCESS in 9m 37s\n- ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa https://zuul.opendev.org/t/openstack/build/c439836053ae43b4b285d3b15f459304 : SUCCESS in 51m 07s (non-voting)\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/d9469570405545ceaa4dbce27b7fc0ed : SUCCESS in 54m 24s\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/9e80c6dc251d4193a02d7ff1f54d1a7f : SUCCESS in 52m 41s\n- nova-live-migration-ceph https://zuul.opendev.org/t/openstack/build/aa84d08f756d45e6aa157319f8efd381 : SUCCESS in 56m 30s (non-voting)\n- nova-multi-cell https://zuul.opendev.org/t/openstack/build/6353c664c6fc45158da78e8c863220a5 : SUCCESS in 1h 23m 35s\n- nova-next https://zuul.opendev.org/t/openstack/build/24f2c69ee18a4ccfa8aaf82af189be05 : SUCCESS in 1h 33m 59s\n- nova-ovs-hybrid-plug https://zuul.opendev.org/t/openstack/build/96cf3068497541c8916a88a5681930df : SUCCESS in 49m 59s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/6b73bcb505304bb5aea6976e53479cd7 : SUCCESS in 7m 48s (non-voting)\n- nova-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/e664fff6969b44dca1e94762726b00a0 : SUCCESS in 20m 40s\n- nova-tox-functional-py39 https://zuul.opendev.org/t/openstack/build/651f5bf4e68d452f9c6349b85c2aa23f : SUCCESS in 21m 46s\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/166d6761dd3845c0aa4bc142fcb234a4 : SUCCESS in 1h 06m 44s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/3f02f2e93a264c81a114ae2fa72ea2db : SUCCESS in 1h 01m 31s\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/392f99215fc84c6bb2579dc730037d72 : SUCCESS in 37m 20s (non-voting)\n- barbican-tempest-plugin-simple-crypto https://zuul.opendev.org/t/openstack/build/f78ef7a5c92842f5b1e45e24b549aff1 : SUCCESS in 46m 15s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"a3f0ce111aba3a2868d9b1c86b4d285b7ccca611","author":{"_account_id":10118,"name":"IBM PowerKVM CI","email":"kvmpower@linux.vnet.ibm.com","username":"powerkvm","tags":["SERVICE_USER"]},"date":"2022-05-10 18:57:53.000000000","message":"Patch Set 1:\n\nBuild succeeded. Test completed on IBM PowerKVM platform. For rechecking only on the IBM PowerKVM CI, add a review comment with pkvm- recheck. For contact and more information, see https://wiki.openstack.org/wiki/PowerKVM\n\n- tempest-dsvm-full-focal-py3 https://oplab9.parqtec.unicamp.br/pub/ppc64el/openstack/nova/08/841308/1/check/tempest-dsvm-full-focal-py3/dc57acd/ : SUCCESS in 2h 00m 17s","accounts_in_message":[],"_revision_number":1},{"id":"e1d6e44fa53353e1f7bd9e0bc46e8bb950df0f98","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:28:23.000000000","message":"Patch Set 1:\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/841308/1/iscsi : FAILURE in 2h 49m 12s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"a2a6ad65abb3b135224bce04b9b3988e5a1994c0","revisions":{"a2a6ad65abb3b135224bce04b9b3988e5a1994c0":{"kind":"REWORK","_number":1,"created":"2022-05-10 16:36:49.000000000","uploader":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"ref":"refs/changes/08/841308/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/08/841308/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/08/841308/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/08/841308/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/08/841308/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/08/841308/1"}}},"commit":{"parents":[{"commit":"c5f9cb200e795c6df05bf6d54838e149db2e012d","subject":"Reproduce bug 1952745","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/c5f9cb200e795c6df05bf6d54838e149db2e012d"}]}],"author":{"name":"Artom Lifshitz","email":"alifshit@redhat.com","date":"2022-05-10 16:01:36.000000000","tz":-240},"committer":{"name":"Artom Lifshitz","email":"alifshit@redhat.com","date":"2022-05-10 16:35:59.000000000","tz":-240},"subject":"Move evacuated instance destruction to new post_start_hook","message":"Move evacuated instance destruction to new post_start_hook\n\nA good chunk of this commit message repeats the parent commit, but\nit\u0027s useful for context.\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\nThis patch moved evacuated instance destruction into a\nprevious-unimplemented post_start_book(), which is called after\ninit_host() and pre_start_book() during during service start(), so we\ncan now be sure that _destroy_evacuated_instances() will have access\nto the correct compute node records.\n\n[1] https://opendev.org/openstack/nova/src/commit/972c06c608f0b00e9066d7f581fd81197065cf49/nova/compute/manager.py#L854-L858\n\nChange-Id: I9b89aed403e168da58afc1cbf41ed9031738db90\nCloses-bug: 1952745\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/a2a6ad65abb3b135224bce04b9b3988e5a1994c0"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/a2a6ad65abb3b135224bce04b9b3988e5a1994c0"}]},"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":""}}}]}
