)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"699e8cd38e5baa15e9652722192972136ddeaabb","unresolved":true,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This patch will fix that behavior so live migration will function"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"CLoses-Bug: #2080436"},{"line_number":15,"context_line":"Change-Id: Ia2bbb5b4ac728563a8aabd857ed0503449991df1"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"768ed226_1d3919bb","line":14,"updated":"2024-09-12 07:43:33.000000000","message":"I have commented the bug report. I think we need more investigation about the root cause. https://bugs.launchpad.net/nova/+bug/2080436/comments/2","commit_id":"1e6eb62596e81c88ac1541ec0b7cbd9a2d7d1ecd"},{"author":{"_account_id":29268,"name":"Matthew Heler","email":"matthew.heler@hotmail.com","username":"mheler"},"change_message_id":"6f4bed9a6fac68b2c4bef5b6c385561b8269bd3c","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This patch will fix that behavior so live migration will function"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"CLoses-Bug: #2080436"},{"line_number":15,"context_line":"Change-Id: Ia2bbb5b4ac728563a8aabd857ed0503449991df1"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"155c46e1_9c7f8240","line":14,"in_reply_to":"768ed226_1d3919bb","updated":"2024-09-13 15:14:10.000000000","message":"Done","commit_id":"1e6eb62596e81c88ac1541ec0b7cbd9a2d7d1ecd"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":29268,"name":"Matthew Heler","email":"matthew.heler@hotmail.com","username":"mheler"},"change_message_id":"4b8084cf9a4fdbe542ebaad4109aa334fc0d80b5","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"ef2a873e_0170ee15","updated":"2024-09-12 12:05:11.000000000","message":"In this scenario, we have NUMA pinned VMs and an NFS mount for the VMs, but we also use cinder boot volumes. Meaning the logic in the code is assuming anything with NUMA needs to be cleaned up. Is this correct? Seems we may need a better way to determine if pm is used.","commit_id":"1e6eb62596e81c88ac1541ec0b7cbd9a2d7d1ecd"},{"author":{"_account_id":29268,"name":"Matthew Heler","email":"matthew.heler@hotmail.com","username":"mheler"},"change_message_id":"6f4bed9a6fac68b2c4bef5b6c385561b8269bd3c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"0afca0a0_65c857ad","in_reply_to":"10e6a4f1_4a266612","updated":"2024-09-13 15:14:10.000000000","message":"Done","commit_id":"1e6eb62596e81c88ac1541ec0b7cbd9a2d7d1ecd"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"888d3bff8f6364761af4033f86394200935f6387","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"10e6a4f1_4a266612","in_reply_to":"ef2a873e_0170ee15","updated":"2024-09-13 08:29:40.000000000","message":"calling cleanup for all NUMA instances should be OK but we should not set destroy_disks True if the instance is on shared storage and the cleanup call should handle that properly.\n\nEven if we detect pm differently an host with pm with an instance on shared storage should work so while change the pm logic could help those who don\u0027t use pm those who use it will be still in trouble.","commit_id":"1e6eb62596e81c88ac1541ec0b7cbd9a2d7d1ecd"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"b2b35789c1cd21171ba93deccf40d8df48f4d775","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"8564a4fb_612ff927","updated":"2024-09-13 15:21:47.000000000","message":"I\u0027m happy with this patch, we already discussed at it a lot on the upstream channel https://meetings.opendev.org/irclogs/%23openstack-nova/%23openstack-nova.2024-09-13.log.html","commit_id":"035b8404fce878b0a88c4741bea46135b6af51e8"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"2ef352be909bcad5f978d73de3dd067105bdf8e5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"9213da58_256f71c4","updated":"2024-09-13 15:10:30.000000000","message":"The fix looks good to me. I\u0027m only +1 as I wrote the unit tests.","commit_id":"035b8404fce878b0a88c4741bea46135b6af51e8"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"4970b7e5e87ef9e06d277b6f9430e68d7303ffb8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"2791aa62_385785b1","updated":"2024-09-16 06:36:24.000000000","message":"lgtm\n\nlast fails were unrelated.\nthere was bug on evacuation test, fixed here https://review.opendev.org/c/openstack/python-openstackclient/+/929236","commit_id":"035b8404fce878b0a88c4741bea46135b6af51e8"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"e84ced37541d96e4dda308262609f5cef02fe4f6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"6355808a_72559cae","updated":"2024-09-13 15:31:42.000000000","message":"note this will fail on the osc bug but we will recheck it once that is merged","commit_id":"035b8404fce878b0a88c4741bea46135b6af51e8"},{"author":{"_account_id":29268,"name":"Matthew Heler","email":"matthew.heler@hotmail.com","username":"mheler"},"change_message_id":"f5318cb4e9d4e0c2d8f25b4c559cc18537469a3a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"c0751979_a17f229f","updated":"2024-09-19 10:09:40.000000000","message":"recheck","commit_id":"035b8404fce878b0a88c4741bea46135b6af51e8"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"804a8b3bb5352db3214b2d04cc66c47c5a7471db","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"6715cf74_3185fff9","updated":"2024-09-16 06:37:12.000000000","message":"recheck\nmissed to recheck","commit_id":"035b8404fce878b0a88c4741bea46135b6af51e8"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"210740b79172fc83a0f7d517cc06b86f1154bc49","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"f18307ec_b64d8eb9","updated":"2024-09-17 16:02:31.000000000","message":"recheck osc 7.1.1 bumped to uc","commit_id":"035b8404fce878b0a88c4741bea46135b6af51e8"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"2f1edf72450a6f456256eb316a4d22470a19bac3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"ac6a2c41_db3d9119","updated":"2024-09-18 17:39:37.000000000","message":"recheck osc pin landed in uc","commit_id":"035b8404fce878b0a88c4741bea46135b6af51e8"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"4acd38ada81721501ade5d38b716a8e39aaaeb0b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"18716ce6_4081452c","updated":"2024-09-19 05:13:37.000000000","message":"recheck we need to look more as the failure is strange but independent from the change\n\ncompute does not start due to\n```\nSep 18 18:01:34.349097 np0038549837 nova-compute[85056]: ERROR nova.compute.manager nova.exception.Invalid: Invalid \u0027[compute] cpu_shared_set\u0027 config: one or more of the configured CPUs is not online. Online cpuset(s): [0, 1, 2, 3], configured cpuset(s): [0, 1, 2, 3, 4, 5]\n```","commit_id":"035b8404fce878b0a88c4741bea46135b6af51e8"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"ef741e67571d9d034a0e6213c1317654dc58a2d0","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":5,"id":"5e308049_416eeed6","in_reply_to":"2791aa62_385785b1","updated":"2024-09-16 11:09:11.000000000","message":"there are 2 bugs we fixed one of them the other is still not fixed\n\nthe micoverion handeling is still incorrect","commit_id":"035b8404fce878b0a88c4741bea46135b6af51e8"}],"nova/compute/manager.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"699e8cd38e5baa15e9652722192972136ddeaabb","unresolved":true,"context_lines":[{"line_number":9204,"context_line":"            # storage"},{"line_number":9205,"context_line":"            # vpmem must be cleaned"},{"line_number":9206,"context_line":"            if (not migrate_data.is_shared_instance_path):"},{"line_number":9207,"context_line":"                do_cleanup \u003d (migrate_data.is_shared_instance_path or"},{"line_number":9208,"context_line":"                    has_vpmem or has_mdevs or power_management_possible)"},{"line_number":9209,"context_line":"            destroy_disks \u003d not migrate_data.is_shared_block_storage"},{"line_number":9210,"context_line":"        elif isinstance(migrate_data, migrate_data_obj.HyperVLiveMigrateData):"}],"source_content_type":"text/x-python","patch_set":1,"id":"c28b9ea3_30ed15a5","line":9207,"updated":"2024-09-12 07:43:33.000000000","message":"not migrate_data.is_shared_instance_path and migrate_data.is_shared_instance_path cannot be true at the same time so you can drop the latter from the do_cleanup condition.","commit_id":"1e6eb62596e81c88ac1541ec0b7cbd9a2d7d1ecd"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"888d3bff8f6364761af4033f86394200935f6387","unresolved":true,"context_lines":[{"line_number":9204,"context_line":"            # storage"},{"line_number":9205,"context_line":"            # vpmem must be cleaned"},{"line_number":9206,"context_line":"            if (not migrate_data.is_shared_instance_path):"},{"line_number":9207,"context_line":"                do_cleanup \u003d (migrate_data.is_shared_instance_path or"},{"line_number":9208,"context_line":"                    has_vpmem or has_mdevs or power_management_possible)"},{"line_number":9209,"context_line":"            destroy_disks \u003d not migrate_data.is_shared_block_storage"},{"line_number":9210,"context_line":"        elif isinstance(migrate_data, migrate_data_obj.HyperVLiveMigrateData):"}],"source_content_type":"text/x-python","patch_set":1,"id":"615d67ad_10d7a829","line":9207,"in_reply_to":"3c5794cd_32bd74dd","updated":"2024-09-13 08:29:40.000000000","message":"Thanks for trying out the patch. I appreciate the cooperation.\n\nI\u0027m wondering why you see the same faulty behavior. \n\n\u003e NUMA pinned VMs and an NFS mount for the VMs, but we also use cinder boot volumes. \n\nWhen you have the nova instance path on NFS then I expect that is_shared_instance_path is True and therefore the destroy_disks is False with the logic I proposed.\n\nWhen you have a VM that is fully backed by cinder volume the I expect that is_shared_block_storage is True and therefore the destroy_disks is also False.\n\nNow looking at the libvirt driver cleanup logic at[1]. If destroy_disks is False then it never sets cleanup_instance_disks to True and only sets cleanup_instance_dir to True if is_shared_block_storage is True, i.e if the instance is fully backed by cinder volumes.\n\nSo in this latter case I\u0027m wondering why it is a problem that we are removing the instance dir. But I have to assume that my misunderstanding is somewhere around here. \n\nI don\u0027t have an env with NFS to reproduce your problem directly. \n\n\n[1]https://github.com/openstack/nova/blob/16d815990b53b9afa35fc4da38609f87820fa690/nova/virt/libvirt/driver.py#L1683","commit_id":"1e6eb62596e81c88ac1541ec0b7cbd9a2d7d1ecd"},{"author":{"_account_id":29268,"name":"Matthew Heler","email":"matthew.heler@hotmail.com","username":"mheler"},"change_message_id":"4b8084cf9a4fdbe542ebaad4109aa334fc0d80b5","unresolved":true,"context_lines":[{"line_number":9204,"context_line":"            # storage"},{"line_number":9205,"context_line":"            # vpmem must be cleaned"},{"line_number":9206,"context_line":"            if (not migrate_data.is_shared_instance_path):"},{"line_number":9207,"context_line":"                do_cleanup \u003d (migrate_data.is_shared_instance_path or"},{"line_number":9208,"context_line":"                    has_vpmem or has_mdevs or power_management_possible)"},{"line_number":9209,"context_line":"            destroy_disks \u003d not migrate_data.is_shared_block_storage"},{"line_number":9210,"context_line":"        elif isinstance(migrate_data, migrate_data_obj.HyperVLiveMigrateData):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3c5794cd_32bd74dd","line":9207,"in_reply_to":"40b4de2d_0fba3a53","updated":"2024-09-12 12:05:11.000000000","message":"I tried those proposed changes, and the results didn\u0027t change from the current behavior. The backing directory was removed during live migration.","commit_id":"1e6eb62596e81c88ac1541ec0b7cbd9a2d7d1ecd"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fd41d5cd1d87f44507dd6e211f5b3287fc2f2644","unresolved":true,"context_lines":[{"line_number":9204,"context_line":"            # storage"},{"line_number":9205,"context_line":"            # vpmem must be cleaned"},{"line_number":9206,"context_line":"            if (not migrate_data.is_shared_instance_path):"},{"line_number":9207,"context_line":"                do_cleanup \u003d (migrate_data.is_shared_instance_path or"},{"line_number":9208,"context_line":"                    has_vpmem or has_mdevs or power_management_possible)"},{"line_number":9209,"context_line":"            destroy_disks \u003d not migrate_data.is_shared_block_storage"},{"line_number":9210,"context_line":"        elif isinstance(migrate_data, migrate_data_obj.HyperVLiveMigrateData):"}],"source_content_type":"text/x-python","patch_set":1,"id":"6f9c9c94_b3d46efd","line":9207,"in_reply_to":"615d67ad_10d7a829","updated":"2024-09-13 10:43:08.000000000","message":"i have not been following this clossely but cinder boot form volume guests are not\nconsiderd to be on shared storage\n\n\nif the root disk is on nfs or cpehfs mounted at /var/lib/nova  we woudl cosndier it on shared storage but BFV or using images_type\u003drbd is not considerd shared_stroage in this context.\n\nis_shared_block_storage is only ture when the instance state dir is on a network share.","commit_id":"1e6eb62596e81c88ac1541ec0b7cbd9a2d7d1ecd"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"6d6fa3eefbcc114db576dcd53a71bd4790c31354","unresolved":true,"context_lines":[{"line_number":9204,"context_line":"            # storage"},{"line_number":9205,"context_line":"            # vpmem must be cleaned"},{"line_number":9206,"context_line":"            if (not migrate_data.is_shared_instance_path):"},{"line_number":9207,"context_line":"                do_cleanup \u003d (migrate_data.is_shared_instance_path or"},{"line_number":9208,"context_line":"                    has_vpmem or has_mdevs or power_management_possible)"},{"line_number":9209,"context_line":"            destroy_disks \u003d not migrate_data.is_shared_block_storage"},{"line_number":9210,"context_line":"        elif isinstance(migrate_data, migrate_data_obj.HyperVLiveMigrateData):"}],"source_content_type":"text/x-python","patch_set":1,"id":"602c5f1f_f2e62858","line":9207,"in_reply_to":"6f9c9c94_b3d46efd","updated":"2024-09-13 10:44:59.000000000","message":"i should also not that boot form voluem was added after we added the auto mode for detecting i the instance is on shared stroage.\n\nyou should never pass --block-migraiton or --shared-storage when migrating a BFV guest it will not do the right thing.\n\nBFV guests shoudl always use auto.","commit_id":"1e6eb62596e81c88ac1541ec0b7cbd9a2d7d1ecd"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"bbea50909245ad0815f5a7b3892d56d48971f4af","unresolved":true,"context_lines":[{"line_number":9204,"context_line":"            # storage"},{"line_number":9205,"context_line":"            # vpmem must be cleaned"},{"line_number":9206,"context_line":"            if (not migrate_data.is_shared_instance_path):"},{"line_number":9207,"context_line":"                do_cleanup \u003d (migrate_data.is_shared_instance_path or"},{"line_number":9208,"context_line":"                    has_vpmem or has_mdevs or power_management_possible)"},{"line_number":9209,"context_line":"            destroy_disks \u003d not migrate_data.is_shared_block_storage"},{"line_number":9210,"context_line":"        elif isinstance(migrate_data, migrate_data_obj.HyperVLiveMigrateData):"}],"source_content_type":"text/x-python","patch_set":1,"id":"40b4de2d_0fba3a53","line":9207,"in_reply_to":"c28b9ea3_30ed15a5","updated":"2024-09-12 08:35:32.000000000","message":"Could you please try this alternative fix. The current proposed fix would regress the power mgmt live migration as in that case we do need to call cleanup. \n\n```\ndiff --git a/nova/compute/manager.py b/nova/compute/manager.py\nindex 0d169e7a4c..d5434a15cd 100644\n--- a/nova/compute/manager.py\n+++ b/nova/compute/manager.py\n@@ -9205,7 +9205,9 @@ class ComputeManager(manager.Manager):\n             # vpmem must be cleaned\n             do_cleanup \u003d (not migrate_data.is_shared_instance_path or\n                           has_vpmem or has_mdevs or power_management_possible)\n-            destroy_disks \u003d not migrate_data.is_shared_block_storage\n+            destroy_disks \u003d not (\n+                    migrate_data.is_shared_block_storage or\n+                    migrate_data.is_shared_instance_path)\n         elif isinstance(migrate_data, migrate_data_obj.HyperVLiveMigrateData):\n             # NOTE(claudiub): We need to cleanup any zombie Planned VM.\n             do_cleanup \u003d True\n```","commit_id":"1e6eb62596e81c88ac1541ec0b7cbd9a2d7d1ecd"}],"nova/tests/unit/compute/test_compute_mgr.py":[{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"4970b7e5e87ef9e06d277b6f9430e68d7303ffb8","unresolved":false,"context_lines":[{"line_number":11427,"context_line":"            migrate_data)"},{"line_number":11428,"context_line":"        self.assertTrue(do_cleanup)"},{"line_number":11429,"context_line":"        self.assertFalse(destroy_disks)"},{"line_number":11430,"context_line":""},{"line_number":11431,"context_line":"    def test_live_migration_cleanup_flags_live_migrate(self):"},{"line_number":11432,"context_line":"        do_cleanup, destroy_disks \u003d self.compute._live_migration_cleanup_flags("},{"line_number":11433,"context_line":"            {})"}],"source_content_type":"text/x-python","patch_set":5,"id":"d83f6d92_bc42b13e","line":11430,"updated":"2024-09-16 06:36:24.000000000","message":"+1","commit_id":"035b8404fce878b0a88c4741bea46135b6af51e8"}]}
