)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"5b0d6ba3b35460da1d4087b760b13000107d6985","unresolved":true,"context_lines":[{"line_number":9,"context_line":"In commit 76d64b9cb4241b73e62b3775f13d8eddcc0cb778 we enable"},{"line_number":10,"context_line":"one io-thread per qemu instance. Live migration should update this."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Related-Bug: iothreads-for-instances"},{"line_number":13,"context_line":"Change-Id: I1476de288490c88a60db697fbb45b4f783821c14"},{"line_number":14,"context_line":"Signed-off-by: hongda.xun \u003chongda.xun@easystack.cn\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"00410662_8d9b1ab7","line":12,"updated":"2026-01-29 14:58:07.000000000","message":"i filed https://bugs.launchpad.net/nova/+bug/2139351 to track this\n\nwe should also create a repoduce fucntionla test before fixing this as we geneally dont consider unit test to be enough to verify live migration\n\nill quickly see if i can create a repoducer for you we can then rebase your fix on top.","commit_id":"a824ef51ffb098f185a9fe7b4ad68a92137e5da5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8445e6d4aa0096ae1a10ce1f98efcb96e0899521","unresolved":true,"context_lines":[{"line_number":9,"context_line":"In commit 76d64b9cb4241b73e62b3775f13d8eddcc0cb778 we enable"},{"line_number":10,"context_line":"one io-thread per qemu instance. Live migration should update this."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Related-Bug: iothreads-for-instances"},{"line_number":13,"context_line":"Change-Id: I1476de288490c88a60db697fbb45b4f783821c14"},{"line_number":14,"context_line":"Signed-off-by: hongda.xun \u003chongda.xun@easystack.cn\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"7e8d432f_985d6395","line":12,"in_reply_to":"00410662_8d9b1ab7","updated":"2026-01-29 15:25:20.000000000","message":"i created a repoducer for you here https://review.opendev.org/c/openstack/nova/+/975171\n\ncan you rebase your change on that\nyou shoudl be able to uncommet the asserts then to show that you have fixed the bug.","commit_id":"a824ef51ffb098f185a9fe7b4ad68a92137e5da5"},{"author":{"_account_id":26286,"name":"huanhongda","email":"hongda.xun@easystack.cn","username":"huanhongda"},"change_message_id":"84e7cd80565051bb3e729e3db9273c5c61bd9b26","unresolved":false,"context_lines":[{"line_number":9,"context_line":"In commit 76d64b9cb4241b73e62b3775f13d8eddcc0cb778 we enable"},{"line_number":10,"context_line":"one io-thread per qemu instance. Live migration should update this."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Related-Bug: iothreads-for-instances"},{"line_number":13,"context_line":"Change-Id: I1476de288490c88a60db697fbb45b4f783821c14"},{"line_number":14,"context_line":"Signed-off-by: hongda.xun \u003chongda.xun@easystack.cn\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"6a69657c_e8204fc6","line":12,"in_reply_to":"7e8d432f_985d6395","updated":"2026-01-30 09:43:17.000000000","message":"Done","commit_id":"a824ef51ffb098f185a9fe7b4ad68a92137e5da5"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"e0c1e3afa85553acdfbdfd297f1bf5056b596097","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"e185c6ea_dd1b31f4","updated":"2026-01-28 13:03:56.000000000","message":"Make sense to me. I\u0027m wondering what other potential lifecycle operation we might missed in the iothread support. cc @katonalala@gmail.com","commit_id":"d2f0a45b7b656276d19e201f28f052424fb7a1a6"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"70b9d91d748e5abcb3163a7f8c6907d3a303bd03","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"6d61afe1_f7236d95","updated":"2026-01-28 15:22:20.000000000","message":"good catch for migration","commit_id":"d2f0a45b7b656276d19e201f28f052424fb7a1a6"},{"author":{"_account_id":26286,"name":"huanhongda","email":"hongda.xun@easystack.cn","username":"huanhongda"},"change_message_id":"8f67f349786d8027ce70d72c9c3797f389657a5d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"bad08d5c_461d1c77","updated":"2026-01-29 06:53:24.000000000","message":"recheck","commit_id":"d2f0a45b7b656276d19e201f28f052424fb7a1a6"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"0f9f8366f919b439a3486fe3e3647cbc305dd434","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"86d0f0d9_af8a8c04","updated":"2026-01-30 08:45:44.000000000","message":"thanks for the work","commit_id":"bac68157103500ec611e4c4a3549907a67f897e8"},{"author":{"_account_id":26286,"name":"huanhongda","email":"hongda.xun@easystack.cn","username":"huanhongda"},"change_message_id":"84e7cd80565051bb3e729e3db9273c5c61bd9b26","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"2a84923d_19b9c1ff","updated":"2026-01-30 09:43:17.000000000","message":"Thanks for your comments.","commit_id":"53a613d9948826ec9a4cd4a502f7a5d1b2dc87d7"},{"author":{"_account_id":26286,"name":"huanhongda","email":"hongda.xun@easystack.cn","username":"huanhongda"},"change_message_id":"adbc066377c7135bfef9b110450daa9bab0e1a50","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"193a2964_81ca88e7","updated":"2026-02-03 05:50:00.000000000","message":"recheck","commit_id":"53a613d9948826ec9a4cd4a502f7a5d1b2dc87d7"},{"author":{"_account_id":26286,"name":"huanhongda","email":"hongda.xun@easystack.cn","username":"huanhongda"},"change_message_id":"20372819056cbb8f42565e69bcf36f34abe48221","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"433e2601_6f0ad3e1","updated":"2026-02-03 02:36:53.000000000","message":"recheck","commit_id":"53a613d9948826ec9a4cd4a502f7a5d1b2dc87d7"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"b384066d55b7837fea5f99c72e91d2c23fc7b906","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"5cbb1af5_1028c72d","updated":"2026-02-02 19:30:34.000000000","message":"recheck","commit_id":"53a613d9948826ec9a4cd4a502f7a5d1b2dc87d7"},{"author":{"_account_id":26286,"name":"huanhongda","email":"hongda.xun@easystack.cn","username":"huanhongda"},"change_message_id":"3b7262ecddffc146a078721f2a3fef144350840a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"b979ff70_da9fadf5","updated":"2026-02-02 03:17:49.000000000","message":"recheck","commit_id":"53a613d9948826ec9a4cd4a502f7a5d1b2dc87d7"},{"author":{"_account_id":26286,"name":"huanhongda","email":"hongda.xun@easystack.cn","username":"huanhongda"},"change_message_id":"65016fcc9f15d3340bc5806b35e32e6192431c6c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"ca9c79bb_3afc757a","updated":"2026-02-05 06:07:51.000000000","message":"recheck","commit_id":"53a613d9948826ec9a4cd4a502f7a5d1b2dc87d7"},{"author":{"_account_id":26286,"name":"huanhongda","email":"hongda.xun@easystack.cn","username":"huanhongda"},"change_message_id":"9db3f8c6246fb0435676696d39b261c8f2726255","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"705ec213_ffed1423","updated":"2026-02-03 11:47:09.000000000","message":"recheck  as ‘Property scsi-block.physical_block_size not found’","commit_id":"53a613d9948826ec9a4cd4a502f7a5d1b2dc87d7"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"07e4b1b789fdcb4e02dedde0e8b55f27197e81c8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"28be2609_07cd719f","updated":"2026-01-30 18:22:37.000000000","message":"recheck note we do not need a release not as this bug is not in a released version.","commit_id":"53a613d9948826ec9a4cd4a502f7a5d1b2dc87d7"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"cb10189cd092c5e16d62e0207cf3bcbe61ef5b03","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"cf47f7aa_14984060","updated":"2026-02-02 09:49:25.000000000","message":"thanks","commit_id":"53a613d9948826ec9a4cd4a502f7a5d1b2dc87d7"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d1534a54addf6a545d0ce5110566df0e441667d2","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":6,"id":"dd0724f0_3bad76d5","in_reply_to":"6f4c52fa_22e0174d","updated":"2026-02-03 12:34:57.000000000","message":"ah found it via opensearch its in the conductor log \n\nhttps://zuul.opendev.org/t/openstack/build/da2593968e014e7cb796e2149c9a0f0b/log/controller/logs/screen-n-cond-cell1.txt#3681\n\nwhat odd is because this is happening on the privsep deamon thread the excptiohn does not print locally instead we see\n\nFeb 03 07:22:32.411738 np17f19101a7f94 nova-compute[88515]: DEBUG oslo_concurrency.processutils [-] Running cmd (subprocess): cat /etc/iscsi/initiatorname.iscsi {{(pid\u003d105870) execute /opt/stack/data/venv/lib/python3.12/site-packages/oslo_concurrency/processutils.py:368}}\nFeb 03 07:22:32.420780 np17f19101a7f94 nova-compute[88515]: DEBUG oslo_concurrency.processutils [-] CMD \"cat /etc/iscsi/initiatorname.iscsi\" returned: 0 in 0.009s {{(pid\u003d105870) execute /opt/stack/data/venv/lib/python3.12/site-packages/oslo_concurrency/processutils.py:396}}\nFeb 03 07:22:32.421006 np17f19101a7f94 nova-compute[88515]: DEBUG oslo.privsep.daemon [-] privsep: reply[c6c9443b-7212-40c6-b8a1-cfbebb336c90]: (4, (\u0027InitiatorName\u003diqn.2016-04.com.open-iscsi:6eba7158b0fd\\n\u0027, \u0027\u0027)) {{(pid\u003d105870) _call_back /opt/stack/data/venv/lib/python3.12/site-packages/oslo_privsep/daemon.py:515}}\nFeb 03 07:22:32.423089 np17f19101a7f94 nova-compute[88515]: DEBUG oslo.privsep.daemon [-] privsep: Exception during request[e8ecf4a3-dce0-4c96-902b-9cddba56d21f]: [Errno 2] No such file or directory: \u0027/dev/scini\u0027 {{(pid\u003d105870) _process_cmd /opt/stack/data/venv/lib/python3.12/site-packages/oslo_privsep/daemon.py:492}}\nFeb 03 07:22:32.423089 np17f19101a7f94 nova-compute[88515]: Traceback (most recent call last):\nFeb 03 07:22:32.423089 np17f19101a7f94 nova-compute[88515]: File \"/opt/stack/data/venv/lib/python3.12/site-packages/oslo_privsep/daemon.py\", line 489, in _process_cmd\nFeb 03 07:22:32.423089 np17f19101a7f94 nova-compute[88515]: ret \u003d func(*f_args, **f_kwargs)\nFeb 03 07:22:32.423089 np17f19101a7f94 nova-compute[88515]: ^^^^^^^^^^^^^^^^^^^^^^^^^\nFeb 03 07:22:32.423089 np17f19101a7f94 nova-compute[88515]: File \"/opt/stack/data/venv/lib/python3.12/site-packages/oslo_privsep/priv_context.py\", line 270, in _wrap\nFeb 03 07:22:32.423089 np17f19101a7f94 nova-compute[88515]: return func(*args, **kwargs)\nFeb 03 07:22:32.423089 np17f19101a7f94 nova-compute[88515]: ^^^^^^^^^^^^^^^^^^^^^\nFeb 03 07:22:32.423089 np17f19101a7f94 nova-compute[88515]: File \"/opt/stack/data/venv/lib/python3.12/site-packages/os_brick/privileged/scaleio.py\", line 57, in get_guid\nFeb 03 07:22:32.423089 np17f19101a7f94 nova-compute[88515]: with open_scini_device() as fd:\nFeb 03 07:22:32.423089 np17f19101a7f94 nova-compute[88515]: File \"/usr/lib/python3.12/contextlib.py\", line 137, in __enter__\nFeb 03 07:22:32.423089 np17f19101a7f94 nova-compute[88515]: return next(self.gen)\nFeb 03 07:22:32.423089 np17f19101a7f94 nova-compute[88515]: ^^^^^^^^^^^^^^\nFeb 03 07:22:32.423089 np17f19101a7f94 nova-compute[88515]: File \"/opt/stack/data/venv/lib/python3.12/site-packages/os_brick/privileged/scaleio.py\", line 40, in open_scini_device\nFeb 03 07:22:32.423089 np17f19101a7f94 nova-compute[88515]: fd \u003d os.open(SCINI_DEVICE_PATH, os.O_RDWR)\nFeb 03 07:22:32.423089 np17f19101a7f94 nova-compute[88515]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nFeb 03 07:22:32.423089 np17f19101a7f94 nova-compute[88515]: FileNotFoundError: [Errno 2] No such file or directory: \u0027/dev/scini\u0027\nFeb 03 07:22:32.423943 np17f19101a7f94 nova-compute[88515]: DEBUG oslo.privsep.daemon [-] privsep: reply[e8ecf4a3-dce0-4c96-902b-9cddba56d21f]: (5, \u0027builtins.FileNotFoundError\u0027, (2, \u0027No such file or directory\u0027), \u0027Traceback (most recent call last):\\n File \"/opt/stack/data/venv/lib/python3.12/site-packages/oslo_privsep/daemon.py\", line 489, in _process_cmd\\n ret \u003d func(*f_args, **f_kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^\\n File \"/opt/stack/data/venv/lib/python3.12/site-packages/oslo_privsep/priv_context.py\", line 270, in _wrap\\n return func(*args, **kwargs)\\n ^^^^^^^^^^^^^^^^^^^^^\\n File \"/opt/stack/data/venv/lib/python3.12/site-packages/os_brick/privileged/scaleio.py\", line 57, in get_guid\\n with open_scini_device() as fd:\\n File \"/usr/lib/python3.12/contextlib.py\", line 137, in __enter__\\n return next(self.gen)\\n ^^^^^^^^^^^^^^\\n File \"/opt/stack/data/venv/lib/python3.12/site-packages/os_brick/privileged/scaleio.py\", line 40, in open_scini_device\\n fd \u003d os.open(SCINI_DEVICE_PATH, os.O_RDWR)\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\nFileNotFoundError: [Errno 2] No such file or directory: \\\u0027/dev/scini\\\u0027\\n\u0027) {{(pid\u003d105870) _call_back /opt/stack/data/venv/lib/python3.12/site-packages/oslo_privsep/daemon.py:515}}\nFeb 03 07:22:32.424229 np17f19101a7f94 nova-compute[88515]: ERROR os_brick.initiator.connectors.scaleio [None req-2f7e777b-fc02-401e-a2f4-f930e686c895 tempest-AttachVolumeMultiAttachTest-379098297 tempest-AttachVolumeMultiAttachTest-379098297-project-member] Error querying sdc guid: [Errno 2] No such file or directory: FileNotFoundError: [Errno 2] No such file or directory \n\nwe only see Property scsi-block.physical_block_size not found in the conductor.","commit_id":"53a613d9948826ec9a4cd4a502f7a5d1b2dc87d7"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"359d8c542cfe2a797170893fec2cd825dab7e035","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":6,"id":"6f4c52fa_22e0174d","in_reply_to":"705ec213_ffed1423","updated":"2026-02-03 12:27:17.000000000","message":"as far as i can tell that error does not show up in the nova-next logs\ni did not see it in n-cpu on either node.\n\nwhere did you see this?\n\nthe failrues seams to be related to snapshot failure with multi attach volumes which is unrelated to this patch.","commit_id":"53a613d9948826ec9a4cd4a502f7a5d1b2dc87d7"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8bd01d37545fae50c272826063108a69e9f87b83","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":6,"id":"3f856193_6823a56e","in_reply_to":"8352b8de_6183a70f","updated":"2026-02-03 12:56:19.000000000","message":"ah hte actual error is `Property \u0027scsi-block.physical_block_size\u0027 not found` the quotes are diffent then you posted which is why i could not find it with my browser search.","commit_id":"53a613d9948826ec9a4cd4a502f7a5d1b2dc87d7"},{"author":{"_account_id":26286,"name":"huanhongda","email":"hongda.xun@easystack.cn","username":"huanhongda"},"change_message_id":"986fb6b5a78c45cf78420228de761924a67744ec","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":6,"id":"8352b8de_6183a70f","in_reply_to":"dd0724f0_3bad76d5","updated":"2026-02-03 12:47:08.000000000","message":"I find it in nova-compute log.\n\nlibvirt.libvirtError: internal error: process exited while connecting to monitor: 2026-02-03T07:21:32.195533Z qemu-system-x86_64: -device {\"driver\":\"scsi-block\",\"bus\":\"scsi0.0\",\"channel\":0,\"scsi-id\":0,\"lun\":0,\"share-rw\":true,\"drive\":\"libvirt-1-format\",\"id\":\"ua-1d7621c6-a730-47ce-b1c9-9c0f128c0221\",\"bootindex\":1,\"logical_block_size\":512,\"physical_block_size\":512}: Property \u0027scsi-block.physical_block_size\u0027 not found\n\nhttps://effe4ed80a91c92fc386-ef4309a852fb3e3584cdcb1adbb4ea34.ssl.cf2.rackcdn.com/openstack/da2593968e014e7cb796e2149c9a0f0b/compute1/logs/screen-n-cpu.txt","commit_id":"53a613d9948826ec9a4cd4a502f7a5d1b2dc87d7"}],"nova/tests/functional/regressions/test_bug_2139351.py":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"0f9f8366f919b439a3486fe3e3647cbc305dd434","unresolved":true,"context_lines":[{"line_number":127,"context_line":"            dest_xml, \u0027./cputune/iothreadpin\u0027)"},{"line_number":128,"context_line":"        self.assertIsNotNone(dest_iothreadpin)"},{"line_number":129,"context_line":"        # FIXME: this is bug 2139351"},{"line_number":130,"context_line":"        self.assertEqual(\u00270-1\u0027, dest_iothreadpin.get(\u0027cpuset\u0027))"},{"line_number":131,"context_line":"        self.assertNotEqual("},{"line_number":132,"context_line":"            dest_emulatorpin.get(\u0027cpuset\u0027), dest_iothreadpin.get(\u0027cpuset\u0027))"},{"line_number":133,"context_line":"        # self.assertEqual("},{"line_number":134,"context_line":"        #     \u00272-3\u0027, dest_iothreadpin.get(\u0027cpuset\u0027),"},{"line_number":135,"context_line":"        #     f\"iothreadpin was not updated during live migration. \""}],"source_content_type":"text/x-python","patch_set":5,"id":"793df767_c963e9c7","line":132,"range":{"start_line":130,"start_character":8,"end_line":132,"end_character":75},"updated":"2026-01-30 08:45:44.000000000","message":"and comment/delete these","commit_id":"bac68157103500ec611e4c4a3549907a67f897e8"},{"author":{"_account_id":26286,"name":"huanhongda","email":"hongda.xun@easystack.cn","username":"huanhongda"},"change_message_id":"84e7cd80565051bb3e729e3db9273c5c61bd9b26","unresolved":false,"context_lines":[{"line_number":127,"context_line":"            dest_xml, \u0027./cputune/iothreadpin\u0027)"},{"line_number":128,"context_line":"        self.assertIsNotNone(dest_iothreadpin)"},{"line_number":129,"context_line":"        # FIXME: this is bug 2139351"},{"line_number":130,"context_line":"        self.assertEqual(\u00270-1\u0027, dest_iothreadpin.get(\u0027cpuset\u0027))"},{"line_number":131,"context_line":"        self.assertNotEqual("},{"line_number":132,"context_line":"            dest_emulatorpin.get(\u0027cpuset\u0027), dest_iothreadpin.get(\u0027cpuset\u0027))"},{"line_number":133,"context_line":"        # self.assertEqual("},{"line_number":134,"context_line":"        #     \u00272-3\u0027, dest_iothreadpin.get(\u0027cpuset\u0027),"},{"line_number":135,"context_line":"        #     f\"iothreadpin was not updated during live migration. \""}],"source_content_type":"text/x-python","patch_set":5,"id":"729ced2e_9b60e575","line":132,"range":{"start_line":130,"start_character":8,"end_line":132,"end_character":75},"in_reply_to":"793df767_c963e9c7","updated":"2026-01-30 09:43:17.000000000","message":"Done","commit_id":"bac68157103500ec611e4c4a3549907a67f897e8"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"1fb6383cc80a0587790cfb7034c4dd09313c700f","unresolved":true,"context_lines":[{"line_number":130,"context_line":"        self.assertEqual(\u00270-1\u0027, dest_iothreadpin.get(\u0027cpuset\u0027))"},{"line_number":131,"context_line":"        self.assertNotEqual("},{"line_number":132,"context_line":"            dest_emulatorpin.get(\u0027cpuset\u0027), dest_iothreadpin.get(\u0027cpuset\u0027))"},{"line_number":133,"context_line":"        # self.assertEqual("},{"line_number":134,"context_line":"        #     \u00272-3\u0027, dest_iothreadpin.get(\u0027cpuset\u0027),"},{"line_number":135,"context_line":"        #     f\"iothreadpin was not updated during live migration. \""},{"line_number":136,"context_line":"        #     f\"Expected \u00272-3\u0027 but got \u0027{dest_iothreadpin.get(\u0027cpuset\u0027)}\u0027\")"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"        # # Both should match"},{"line_number":139,"context_line":"        # self.assertEqual("},{"line_number":140,"context_line":"        #     dest_emulatorpin.get(\u0027cpuset\u0027), dest_iothreadpin.get(\u0027cpuset\u0027))"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"    def test_live_migrate_unpinned_vcpu_cpuset_updated(self):"},{"line_number":143,"context_line":"        \"\"\"Test vcpu cpuset updated for unpinned VMs with cpu_shared_set."}],"source_content_type":"text/x-python","patch_set":5,"id":"7e2d3e53_a784c4ac","line":140,"range":{"start_line":133,"start_character":0,"end_line":140,"end_character":77},"updated":"2026-01-30 08:38:52.000000000","message":"please uncomment these","commit_id":"bac68157103500ec611e4c4a3549907a67f897e8"},{"author":{"_account_id":26286,"name":"huanhongda","email":"hongda.xun@easystack.cn","username":"huanhongda"},"change_message_id":"84e7cd80565051bb3e729e3db9273c5c61bd9b26","unresolved":false,"context_lines":[{"line_number":130,"context_line":"        self.assertEqual(\u00270-1\u0027, dest_iothreadpin.get(\u0027cpuset\u0027))"},{"line_number":131,"context_line":"        self.assertNotEqual("},{"line_number":132,"context_line":"            dest_emulatorpin.get(\u0027cpuset\u0027), dest_iothreadpin.get(\u0027cpuset\u0027))"},{"line_number":133,"context_line":"        # self.assertEqual("},{"line_number":134,"context_line":"        #     \u00272-3\u0027, dest_iothreadpin.get(\u0027cpuset\u0027),"},{"line_number":135,"context_line":"        #     f\"iothreadpin was not updated during live migration. \""},{"line_number":136,"context_line":"        #     f\"Expected \u00272-3\u0027 but got \u0027{dest_iothreadpin.get(\u0027cpuset\u0027)}\u0027\")"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"        # # Both should match"},{"line_number":139,"context_line":"        # self.assertEqual("},{"line_number":140,"context_line":"        #     dest_emulatorpin.get(\u0027cpuset\u0027), dest_iothreadpin.get(\u0027cpuset\u0027))"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"    def test_live_migrate_unpinned_vcpu_cpuset_updated(self):"},{"line_number":143,"context_line":"        \"\"\"Test vcpu cpuset updated for unpinned VMs with cpu_shared_set."}],"source_content_type":"text/x-python","patch_set":5,"id":"e741bdf4_809cbe68","line":140,"range":{"start_line":133,"start_character":0,"end_line":140,"end_character":77},"in_reply_to":"424306aa_e977355b","updated":"2026-01-30 09:43:17.000000000","message":"Done","commit_id":"bac68157103500ec611e4c4a3549907a67f897e8"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"0f9f8366f919b439a3486fe3e3647cbc305dd434","unresolved":true,"context_lines":[{"line_number":130,"context_line":"        self.assertEqual(\u00270-1\u0027, dest_iothreadpin.get(\u0027cpuset\u0027))"},{"line_number":131,"context_line":"        self.assertNotEqual("},{"line_number":132,"context_line":"            dest_emulatorpin.get(\u0027cpuset\u0027), dest_iothreadpin.get(\u0027cpuset\u0027))"},{"line_number":133,"context_line":"        # self.assertEqual("},{"line_number":134,"context_line":"        #     \u00272-3\u0027, dest_iothreadpin.get(\u0027cpuset\u0027),"},{"line_number":135,"context_line":"        #     f\"iothreadpin was not updated during live migration. \""},{"line_number":136,"context_line":"        #     f\"Expected \u00272-3\u0027 but got \u0027{dest_iothreadpin.get(\u0027cpuset\u0027)}\u0027\")"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"        # # Both should match"},{"line_number":139,"context_line":"        # self.assertEqual("},{"line_number":140,"context_line":"        #     dest_emulatorpin.get(\u0027cpuset\u0027), dest_iothreadpin.get(\u0027cpuset\u0027))"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"    def test_live_migrate_unpinned_vcpu_cpuset_updated(self):"},{"line_number":143,"context_line":"        \"\"\"Test vcpu cpuset updated for unpinned VMs with cpu_shared_set."}],"source_content_type":"text/x-python","patch_set":5,"id":"424306aa_e977355b","line":140,"range":{"start_line":133,"start_character":0,"end_line":140,"end_character":77},"in_reply_to":"7e2d3e53_a784c4ac","updated":"2026-01-30 08:45:44.000000000","message":"locally it was green for me","commit_id":"bac68157103500ec611e4c4a3549907a67f897e8"}],"nova/tests/unit/virt/libvirt/test_config.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"5b0d6ba3b35460da1d4087b760b13000107d6985","unresolved":true,"context_lines":[{"line_number":4026,"context_line":""},{"line_number":4027,"context_line":"        iot \u003d config.LibvirtConfigGuestCPUTuneIOThreadPin()"},{"line_number":4028,"context_line":"        iot.cpuset \u003d set([0, 1, 2, 3, 4, 5, 6, 7])"},{"line_number":4029,"context_line":"        cputune.iothreadpin \u003d iot"},{"line_number":4030,"context_line":""},{"line_number":4031,"context_line":"        sch0 \u003d config.LibvirtConfigGuestCPUTuneVCPUSched()"},{"line_number":4032,"context_line":"        sch0.vcpus \u003d set([0, 1, 2, 3])"}],"source_content_type":"text/x-python","patch_set":3,"id":"e8f524f1_d43a27ba","line":4029,"updated":"2026-01-29 14:58:07.000000000","message":"i think we actully expect both to be set but yes this is more correct then before.","commit_id":"a824ef51ffb098f185a9fe7b4ad68a92137e5da5"},{"author":{"_account_id":26286,"name":"huanhongda","email":"hongda.xun@easystack.cn","username":"huanhongda"},"change_message_id":"84e7cd80565051bb3e729e3db9273c5c61bd9b26","unresolved":false,"context_lines":[{"line_number":4026,"context_line":""},{"line_number":4027,"context_line":"        iot \u003d config.LibvirtConfigGuestCPUTuneIOThreadPin()"},{"line_number":4028,"context_line":"        iot.cpuset \u003d set([0, 1, 2, 3, 4, 5, 6, 7])"},{"line_number":4029,"context_line":"        cputune.iothreadpin \u003d iot"},{"line_number":4030,"context_line":""},{"line_number":4031,"context_line":"        sch0 \u003d config.LibvirtConfigGuestCPUTuneVCPUSched()"},{"line_number":4032,"context_line":"        sch0.vcpus \u003d set([0, 1, 2, 3])"}],"source_content_type":"text/x-python","patch_set":3,"id":"41098d6f_7f89a8ba","line":4029,"in_reply_to":"e8f524f1_d43a27ba","updated":"2026-01-30 09:43:17.000000000","message":"Done","commit_id":"a824ef51ffb098f185a9fe7b4ad68a92137e5da5"}],"nova/virt/libvirt/migration.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"208b1b3b87fba4a7938c650b5d2afeba63a30473","unresolved":true,"context_lines":[{"line_number":230,"context_line":"    vcpu \u003d xml_doc.find(\u0027./vcpu\u0027)"},{"line_number":231,"context_line":"    vcpu.set(\u0027cpuset\u0027, hardware.format_cpu_spec("},{"line_number":232,"context_line":"        migrate_data.dst_cpu_shared_set_info, True))"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"    LOG.debug(\u0027_update_cpu_shared_set_xml output xml\u003d%s\u0027,"},{"line_number":235,"context_line":"              etree.tostring(xml_doc, encoding\u003d\u0027unicode\u0027, pretty_print\u003dTrue))"},{"line_number":236,"context_line":"    return xml_doc"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf82b696_c3acd130","line":233,"updated":"2026-01-28 18:33:04.000000000","message":"we also need to update it here in the non numa case.","commit_id":"d2f0a45b7b656276d19e201f28f052424fb7a1a6"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"0fc2b3e59e5f61e66e2e4dae9117b5f91288aad0","unresolved":true,"context_lines":[{"line_number":230,"context_line":"    vcpu \u003d xml_doc.find(\u0027./vcpu\u0027)"},{"line_number":231,"context_line":"    vcpu.set(\u0027cpuset\u0027, hardware.format_cpu_spec("},{"line_number":232,"context_line":"        migrate_data.dst_cpu_shared_set_info, True))"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"    LOG.debug(\u0027_update_cpu_shared_set_xml output xml\u003d%s\u0027,"},{"line_number":235,"context_line":"              etree.tostring(xml_doc, encoding\u003d\u0027unicode\u0027, pretty_print\u003dTrue))"},{"line_number":236,"context_line":"    return xml_doc"}],"source_content_type":"text/x-python","patch_set":1,"id":"caa5a6ea_5bb406a6","line":233,"in_reply_to":"bf82b696_c3acd130","updated":"2026-01-28 18:42:03.000000000","message":"actully no we may be ok\n\nin the non numa case when cpu_share_set is not defined we are just generating \n\n\u003ciothreads\u003e1\u003c/iothreads\u003e\n\nand we are allwoign the over all affinity of the vm apply to the iothread which is libvirts default behaviour\n\nthe affinity of the vcpus is applied to the emulator thread and iothread.\n\nso in theory this code should be sufficient.\n\nwe probably should follow up and ensure we have unit/functional test coverage for this to ensure it does not regress but we could do that as a sperate patch.","commit_id":"d2f0a45b7b656276d19e201f28f052424fb7a1a6"},{"author":{"_account_id":26286,"name":"huanhongda","email":"hongda.xun@easystack.cn","username":"huanhongda"},"change_message_id":"84e7cd80565051bb3e729e3db9273c5c61bd9b26","unresolved":false,"context_lines":[{"line_number":230,"context_line":"    vcpu \u003d xml_doc.find(\u0027./vcpu\u0027)"},{"line_number":231,"context_line":"    vcpu.set(\u0027cpuset\u0027, hardware.format_cpu_spec("},{"line_number":232,"context_line":"        migrate_data.dst_cpu_shared_set_info, True))"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"    LOG.debug(\u0027_update_cpu_shared_set_xml output xml\u003d%s\u0027,"},{"line_number":235,"context_line":"              etree.tostring(xml_doc, encoding\u003d\u0027unicode\u0027, pretty_print\u003dTrue))"},{"line_number":236,"context_line":"    return xml_doc"}],"source_content_type":"text/x-python","patch_set":1,"id":"1d8c457e_59263b10","line":233,"in_reply_to":"caa5a6ea_5bb406a6","updated":"2026-01-30 09:43:17.000000000","message":"Done","commit_id":"d2f0a45b7b656276d19e201f28f052424fb7a1a6"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"208b1b3b87fba4a7938c650b5d2afeba63a30473","unresolved":true,"context_lines":[{"line_number":272,"context_line":""},{"line_number":273,"context_line":"        iothreadpin \u003d xml_doc.find(\u0027./cputune/iothreadpin\u0027)"},{"line_number":274,"context_line":"        iothreadpin.set(\u0027cpuset\u0027,"},{"line_number":275,"context_line":"                        hardware.format_cpu_spec(info.emulator_pins))"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"        all_cells \u003d []"},{"line_number":278,"context_line":"        for guest_id, host_ids in info.cell_pins.items():"}],"source_content_type":"text/x-python","patch_set":1,"id":"92a7c745_f5c26441","line":275,"updated":"2026-01-28 18:33:04.000000000","message":"so yes this is needed","commit_id":"d2f0a45b7b656276d19e201f28f052424fb7a1a6"},{"author":{"_account_id":26286,"name":"huanhongda","email":"hongda.xun@easystack.cn","username":"huanhongda"},"change_message_id":"84e7cd80565051bb3e729e3db9273c5c61bd9b26","unresolved":false,"context_lines":[{"line_number":272,"context_line":""},{"line_number":273,"context_line":"        iothreadpin \u003d xml_doc.find(\u0027./cputune/iothreadpin\u0027)"},{"line_number":274,"context_line":"        iothreadpin.set(\u0027cpuset\u0027,"},{"line_number":275,"context_line":"                        hardware.format_cpu_spec(info.emulator_pins))"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"        all_cells \u003d []"},{"line_number":278,"context_line":"        for guest_id, host_ids in info.cell_pins.items():"}],"source_content_type":"text/x-python","patch_set":1,"id":"c4dc471f_f1c241d8","line":275,"in_reply_to":"92a7c745_f5c26441","updated":"2026-01-30 09:43:17.000000000","message":"Done","commit_id":"d2f0a45b7b656276d19e201f28f052424fb7a1a6"}]}
