)]}'
{"id":"openstack%2Fnova~871975","triplet_id":"openstack%2Fnova~stable%2Fxena~I444991584118a969e9ea04d352821b07ec0ba88d","project":"openstack/nova","branch":"stable/xena","attention_set":{},"removed_from_attention_set":{"6962":{"account":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"last_update":"2024-03-05 19:13:26.000000000","reason":"Change was abandoned"},"9708":{"account":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"last_update":"2024-03-05 19:13:26.000000000","reason":"Change was abandoned"}},"hashtags":[],"change_id":"I444991584118a969e9ea04d352821b07ec0ba88d","subject":"libvirt: Add a workaround to skip compareCPU() on destination","status":"ABANDONED","created":"2023-01-27 10:31:07.000000000","updated":"2024-03-05 19:13:26.000000000","total_comment_count":3,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"b1752cea88ffb9b07ea35b8148a9c64b49042354","_number":871975,"virtual_id_number":871975,"owner":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"actions":{},"labels":{"Verified":{"disliked":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":-1,"date":"2023-02-01 12:00:59.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"}],"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"}],"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"}],"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"}],"values":{" 0":"Default Priority","+1":"Contributor Review Promise","+2":"Core Review Promise"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"CC":[{"_account_id":10118,"name":"IBM PowerKVM CI","email":"kvmpower@linux.vnet.ibm.com","username":"powerkvm","tags":["SERVICE_USER"]},{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2023-01-27 10:31:07.000000000","updated_by":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"reviewer":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"state":"REVIEWER"},{"updated":"2023-01-27 10:58:28.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":"2023-01-27 12:31:41.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":"2023-02-01 14:16:27.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":"2024-03-05 19:13:26.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":"52e00950a178262ff93406712aea88564a22371f","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"date":"2023-01-27 10:31:07.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"152f6fe522a4a75a9ea1263955fd49b519268227","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2023-01-27 10:58:28.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/fad973974cef4bf991d1391a50bc4f61\n\n- openstack-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/f8c33330053d443a92addf3986ee6d83 : FAILURE in 25m 09s (non-voting)\n- openstack-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/f622c933ea08456db60b14cf6cd2571e : FAILURE in 12m 47s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"16d16c5af321221d0954dd6dd51866f78f4b1c01","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2023-01-27 12:31:41.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\nhttps://zuul.opendev.org/t/openstack/buildset/4786560bb37441e2b48a17112ac00c9d\n\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/bdb98e6c9708410dbb80f05a1116b4c5 : SUCCESS in 1h 40m 14s\n- tempest-integrated-compute-centos-8-stream https://zuul.opendev.org/t/openstack/build/f9de4ccfd607405f9ff490fd4de5fd75 : FAILURE in 27m 43s (non-voting)\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/a495bd5fe0b94a8eb07dc2bf0aaa3974 : SUCCESS in 50m 22s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/61bea3729e7e42a4bffe006e9435536d : FAILURE in 13m 21s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/96e5bc0df2574ca793a777333da9972b : SUCCESS in 9m 14s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/748fab8cdbea456fa64fb7877efbe3ab : FAILURE in 12m 45s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/76817c353c5341e4a234bec1d52bef0c : FAILURE in 10m 22s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/7e2b6b49fd5b40e180667539a62be7fe : FAILURE in 10m 18s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/bc364f3113164e26bafa39ed47072009 : SUCCESS in 11m 11s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/2b85a865e45842359bf20a7204bdfba3 : SUCCESS in 19m 48s\n- ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa https://zuul.opendev.org/t/openstack/build/86f7f5e664ca4909a5e913537e46581b : SUCCESS in 46m 50s (non-voting)\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/913883ed4e93425993e22bdc73146742 : SUCCESS in 1h 14m 36s\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/3ac1959fe642452a9be6ab952c65f5e6 : SUCCESS in 49m 32s (non-voting)\n- nova-live-migration-ceph https://zuul.opendev.org/t/openstack/build/2498d46f742944d592c8dd1c6ddd11ce : SUCCESS in 39m 06s (non-voting)\n- nova-lvm https://zuul.opendev.org/t/openstack/build/239f07f3918e488d8f639a682ad6c860 : SUCCESS in 57m 47s\n- nova-multi-cell https://zuul.opendev.org/t/openstack/build/84905227c52f4218a6ec28ae106f9813 : SUCCESS in 1h 26m 44s\n- nova-next https://zuul.opendev.org/t/openstack/build/bb6e6a061ad245e7b2a4f099c3f10a17 : SUCCESS in 1h 38m 22s\n- nova-ovs-hybrid-plug https://zuul.opendev.org/t/openstack/build/63344afa7c55416d881ab3c4a4b0b7f6 : SUCCESS in 39m 58s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/14ae6ceb00954aa0ac736d42077439b6 : SUCCESS in 5m 23s (non-voting)\n- nova-tox-functional-centos8-py36 https://zuul.opendev.org/t/openstack/build/e85c38f35fcf4007b2727838d4454ba5 : SUCCESS in 19m 39s (non-voting)\n- nova-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/575d31334a4d4bf8a96c9f659434eb43 : SUCCESS in 17m 21s\n- nova-tox-functional-py39 https://zuul.opendev.org/t/openstack/build/8ffc34930d7d449f8616a734c1ed14e9 : SUCCESS in 19m 38s (non-voting)\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/b114061f9e734834956adf9820404714 : SUCCESS in 54m 44s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/97fbe2e2e96c462a9dece34aaa6c6b1e : SUCCESS in 49m 27s\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/d14c35273d81456da6da8f09dd28d633 : SUCCESS in 32m 12s (non-voting)\n- barbican-tempest-plugin-simple-crypto https://zuul.opendev.org/t/openstack/build/7c3d4af8717a48fc91cc84c4a9000514 : FAILURE in 40m 09s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"7bdf479cdf144fdaa3cbaf4f183070efa49fd800","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2023-01-31 16:54:14.000000000","message":"Patch Set 1: Code-Review-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"b661afb35d201feb877967e6a06f7543123ff5e3","author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"date":"2023-01-31 16:55:34.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"eaf7f1723818c75d929ef9e1fac09e585edfda6c","author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"date":"2023-02-01 09:03:18.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"b24d1af959906e882ed297bb127707cf71a5a854","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"date":"2023-02-01 09:57:22.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"562094e2950da0c3d7494daca51d904883ecfc32","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2023-02-01 10:15:45.000000000","message":"Patch Set 2:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e564dc69c90841a0ad3a79e2231d43d3\n\n- openstack-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/cbddde35ef4142fc8e92db26d78cfbf9 : FAILURE in 16m 27s (non-voting)\n- openstack-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/dd683f085d9940f5aa4df896ead08bdf : FAILURE in 16m 47s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"ed328b4a1291dd036e5086bef1577cce857bbd83","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2023-02-01 12:00:59.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\nhttps://zuul.opendev.org/t/openstack/buildset/4325e01f8fcc4fed8ef121cc08064b20\n\n- tempest-integrated-compute https://zuul.opendev.org/t/openstack/build/222461d737b6486590642cc41b5b70a5 : SUCCESS in 1h 34m 24s\n- tempest-integrated-compute-centos-8-stream https://zuul.opendev.org/t/openstack/build/0a543020b16b4ff39071b37e5a53c083 : FAILURE in 48m 43s (non-voting)\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/fad70ddbdead4b2684e7539ab6f9dd3a : POST_FAILURE in 20m 54s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/b57a3ae5c7794120855ba38e461245ba : FAILURE in 12m 47s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/b8070c422925475f86bb6b98405d45ee : SUCCESS in 7m 33s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/d13d50509b9d4fcdb378bf79ccfddc58 : FAILURE in 10m 45s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/6eb8470a24f44b1a9867bcefd46f08fc : FAILURE in 9m 34s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/1910cd0be7bb4339bbc125e86f5827bd : FAILURE in 9m 56s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/5a611adb78f44c4eaa0a45a401b3b5da : SUCCESS in 8m 27s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/7805ed2e54744d588f984e79a8a96158 : SUCCESS in 28m 15s\n- ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa https://zuul.opendev.org/t/openstack/build/01aac53ed3634f5197305be33aed4841 : SUCCESS in 47m 36s (non-voting)\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/834ef1c37db5416fa5ca01cd43983221 : SUCCESS in 56m 13s\n- nova-live-migration https://zuul.opendev.org/t/openstack/build/f90233a008c64d4981b2fdbffa00bdf5 : SUCCESS in 41m 58s (non-voting)\n- nova-live-migration-ceph https://zuul.opendev.org/t/openstack/build/48f3a3ac7edf4f1fb633e3d7b3f393f9 : SUCCESS in 38m 04s (non-voting)\n- nova-lvm https://zuul.opendev.org/t/openstack/build/b80e6400143847c192ca4523437bc6a9 : SUCCESS in 35m 54s\n- nova-multi-cell https://zuul.opendev.org/t/openstack/build/14e02545e1dd4680b2cd0774616caa1b : SUCCESS in 1h 33m 16s\n- nova-next https://zuul.opendev.org/t/openstack/build/e6d1237f863146f4a620b247cee2c1ce : SUCCESS in 1h 10m 53s\n- nova-ovs-hybrid-plug https://zuul.opendev.org/t/openstack/build/bc83a510b707431e94825baab726237b : SUCCESS in 52m 52s\n- nova-tox-validate-backport https://zuul.opendev.org/t/openstack/build/5a2a4de7631a46c99b366ec761c862df : SUCCESS in 5m 11s (non-voting)\n- nova-tox-functional-centos8-py36 https://zuul.opendev.org/t/openstack/build/28baddc2784940ef97d2453b53ae9375 : SUCCESS in 20m 30s (non-voting)\n- nova-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/985ffb37a8484a2aac0932ac44bec48f : SUCCESS in 21m 14s\n- nova-tox-functional-py39 https://zuul.opendev.org/t/openstack/build/82578626fa4e408da247b99ec65a6707 : SUCCESS in 19m 16s (non-voting)\n- nova-grenade-multinode https://zuul.opendev.org/t/openstack/build/65bed18546664521b9374a15f1440804 : SUCCESS in 1h 33m 21s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/d6647563d2e7416a8ba3c85cf54a738b : SUCCESS in 1h 04m 03s\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/83f2b40532614cad9222571072cfc6b7 : SUCCESS in 33m 35s (non-voting)\n- barbican-tempest-plugin-simple-crypto https://zuul.opendev.org/t/openstack/build/a610c271a2574ba8ae8e421cbea8387a : FAILURE in 50m 08s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"231c919f4ba8899cd2282e3f5eb52637c08b23c6","author":{"_account_id":10118,"name":"IBM PowerKVM CI","email":"kvmpower@linux.vnet.ibm.com","username":"powerkvm","tags":["SERVICE_USER"]},"date":"2023-02-01 14:16:27.000000000","message":"Patch Set 2:\n\nBuild failed. 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 finger://zuul-v3-executor.novalocal/fa841d7eab644ec2b204840f45feb543 : POST_FAILURE in 53m 45s","accounts_in_message":[],"_revision_number":2},{"id":"b1752cea88ffb9b07ea35b8148a9c64b49042354","tag":"autogenerated:gerrit:abandon","author":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"date":"2024-03-05 19:13:26.000000000","message":"Abandoned\n\nstable/xena 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/xena if you want to further work on this patch.","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"f187dd7a6ac994b0ddeac84b5bc9dcb45e3f3e59","revisions":{"814914842b5f22b241ba3a1d72ea60149081c306":{"kind":"REWORK","_number":1,"created":"2023-01-27 10:31:07.000000000","uploader":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"ref":"refs/changes/75/871975/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/75/871975/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/75/871975/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/75/871975/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/75/871975/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/75/871975/1"}}},"commit":{"parents":[{"commit":"eb021be41401749b11c0717fd80b969299779577","subject":"Merge \"reenable greendns in nova.\" into stable/xena","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/eb021be41401749b11c0717fd80b969299779577"}]}],"author":{"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","date":"2021-01-28 15:35:10.000000000","tz":60},"committer":{"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","date":"2023-01-27 10:30:26.000000000","tz":60},"subject":"libvirt: Add a workaround to skip compareCPU() on destination","message":"libvirt: Add a workaround to skip compareCPU() on destination\n\nNova\u0027s use of libvirt\u0027s compareCPU() API served its purpose\nover the years, but its design limitations break live migration in\nsubtle ways.  For example, the compareCPU() API compares against the\nhost physical CPUID.  Some of the features from this CPUID aren not\nexposed by KVM, and then there are some features that KVM emulates that\nare not in the host CPUID.  The latter can cause bogus live migration\nfailures.\n\nWith QEMU \u003e\u003d2.9 and libvirt \u003e\u003d 4.4.0, libvirt will do the right thing in\nterms of CPU compatibility checks on the destination host during live\nmigration.  Nova satisfies these minimum version requirements by a good\nmargin.  So, provide a workaround to skip the CPU comparison check on\nthe destination host before migrating a guest, and let libvirt handle it\ncorrectly.  This workaround will be removed once Nova replaces the older\nlibvirt APIs with their newer and improved counterparts[1][2].\n\n                - - -\n\nNote that Nova\u0027s libvirt driver calls compareCPU() in another method,\n_check_cpu_compatibility(); I did not remove its usage yet.  As it needs\nmore careful combing of the code, and then:\n\n  - where possible, remove the usage of compareCPU() altogether, and\n    rely on libvirt doing the right thing under the hood; or\n\n  - where Nova _must_ do the CPU comparison checks, switch to the better\n    libvirt CPU APIs -- baselineHypervisorCPU() and\n    compareHypervisorCPU() -- that are described here[1].  This is work\n    in progress[2].\n\n[1] https://opendev.org/openstack/nova-specs/commit/70811da221035044e27\n[2] https://review.opendev.org/q/topic:bp%252Fcpu-selection-with-hypervisor-consideration\n\nChange-Id: I444991584118a969e9ea04d352821b07ec0ba88d\nCloses-Bug: #1913716\nSigned-off-by: Kashyap Chamarthy \u003ckchamart@redhat.com\u003e\nSigned-off-by: Balazs Gibizer \u003cbgibizer@redhat.com\u003e\n(cherry picked from commit 267a40663cd8d0b94bbc5ebda4ece55a45753b64)\n(cherry picked from commit 277f88e3872ea41bce02d09c4537946a74d74533)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/814914842b5f22b241ba3a1d72ea60149081c306"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/814914842b5f22b241ba3a1d72ea60149081c306"}]},"branch":"refs/heads/stable/xena"},"f187dd7a6ac994b0ddeac84b5bc9dcb45e3f3e59":{"kind":"REWORK","_number":2,"created":"2023-02-01 09:57:22.000000000","uploader":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"ref":"refs/changes/75/871975/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/nova","ref":"refs/changes/75/871975/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/nova refs/changes/75/871975/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/nova refs/changes/75/871975/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/nova refs/changes/75/871975/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/nova refs/changes/75/871975/2"}}},"commit":{"parents":[{"commit":"eb021be41401749b11c0717fd80b969299779577","subject":"Merge \"reenable greendns in nova.\" into stable/xena","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/eb021be41401749b11c0717fd80b969299779577"}]}],"author":{"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","date":"2021-01-28 15:35:10.000000000","tz":60},"committer":{"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","date":"2023-02-01 09:56:59.000000000","tz":60},"subject":"libvirt: Add a workaround to skip compareCPU() on destination","message":"libvirt: Add a workaround to skip compareCPU() on destination\n\nNova\u0027s use of libvirt\u0027s compareCPU() API served its purpose\nover the years, but its design limitations break live migration in\nsubtle ways.  For example, the compareCPU() API compares against the\nhost physical CPUID.  Some of the features from this CPUID aren not\nexposed by KVM, and then there are some features that KVM emulates that\nare not in the host CPUID.  The latter can cause bogus live migration\nfailures.\n\nWith QEMU \u003e\u003d2.9 and libvirt \u003e\u003d 4.4.0, libvirt will do the right thing in\nterms of CPU compatibility checks on the destination host during live\nmigration.  Nova satisfies these minimum version requirements by a good\nmargin.  So, provide a workaround to skip the CPU comparison check on\nthe destination host before migrating a guest, and let libvirt handle it\ncorrectly.  This workaround will be removed once Nova replaces the older\nlibvirt APIs with their newer and improved counterparts[1][2].\n\n                - - -\n\nNote that Nova\u0027s libvirt driver calls compareCPU() in another method,\n_check_cpu_compatibility(); I did not remove its usage yet.  As it needs\nmore careful combing of the code, and then:\n\n  - where possible, remove the usage of compareCPU() altogether, and\n    rely on libvirt doing the right thing under the hood; or\n\n  - where Nova _must_ do the CPU comparison checks, switch to the better\n    libvirt CPU APIs -- baselineHypervisorCPU() and\n    compareHypervisorCPU() -- that are described here[1].  This is work\n    in progress[2].\n\n[1] https://opendev.org/openstack/nova-specs/commit/70811da221035044e27\n[2] https://review.opendev.org/q/topic:bp%252Fcpu-selection-with-hypervisor-consideration\n\nChange-Id: I444991584118a969e9ea04d352821b07ec0ba88d\nCloses-Bug: #1913716\nSigned-off-by: Kashyap Chamarthy \u003ckchamart@redhat.com\u003e\nSigned-off-by: Balazs Gibizer \u003cbgibizer@redhat.com\u003e\n(cherry picked from commit 267a40663cd8d0b94bbc5ebda4ece55a45753b64)\n(cherry picked from commit 277f88e3872ea41bce02d09c4537946a74d74533)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/f187dd7a6ac994b0ddeac84b5bc9dcb45e3f3e59"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/nova/commit/f187dd7a6ac994b0ddeac84b5bc9dcb45e3f3e59"}]},"branch":"refs/heads/stable/xena"}},"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":"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":{}}},{"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":{}}}]}
