)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"5b8cccec33345f840bc8540b857c0d44036d5ec8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"2d9caa39_8ea8a344","updated":"2026-10-28 08:31:27.000000000","message":"Thanks both of you for the review.\n\npatchset 2 does exactly that what you suggested: LibvirtFixture.setUp() now adds\nself.addCleanup(guestfs.force_tcg, False), and the reset I originally put in\nthe guestfs VFS tests\u0027 setUp is gone. Since every libvirt driver test uses that\nfixture, the flag can no longer leak out of any of them into the VFS tests (or\nanything else) running later in the same worker.\n\nBetween the two options you suggested I went with clearing it in the fixture\nrather than adding a module-level reset function to\nnova/virt/disk/vfs/guestfs.py, to avoid growing a new API on the production\nmodule for something only tests need. I\u0027d be happy to flip that around if you\u0027d\nrather have the explicit reset function.\n\n@sean re: the side note — setting TCG for virt_type \u003d\u003d \u0027lxc\u0027 looks intentional\nrather than accidental: the flag only affects the libguestfs appliance\nacceleration, and a container host may genuinely not have KVM available\n(the comment above the call mentions the nested-virt case). This patch leaves\nthat behaviour untouched.","commit_id":"9067b3b71aca74d5a27e5430a916c2f85b858b50"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"255d3dd71ab770c5b6c48e0d52abdb0173c50181","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"c85f5856_dbdcd6c7","updated":"2026-10-28 13:49:14.000000000","message":"the pep8 import order need to be fix but other then that this looks fine to me","commit_id":"d71a6bad5933f0c0fd36661fbe7685b12d2dbb93"}],"nova/tests/fixtures/libvirt.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"649fbe457769dda791ea0a8096da13fab7ea74f5","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"from nova import conf"},{"line_number":28,"context_line":"from nova.virt.disk.vfs import guestfs"},{"line_number":29,"context_line":"from nova.objects import fields as obj_fields"},{"line_number":30,"context_line":"from nova.tests.fixtures import libvirt_data as fake_libvirt_data"},{"line_number":31,"context_line":"from nova.virt.libvirt import config as vconfig"},{"line_number":32,"context_line":"from nova.virt.libvirt import driver as libvirt_driver"}],"source_content_type":"text/x-python","patch_set":2,"id":"8738447a_c0cfe665","line":29,"updated":"2026-10-28 10:43:01.000000000","message":"pep8: H306: imports not in alphabetical order (nova.virt.disk.vfs.guestfs, nova.objects.fields)","commit_id":"d71a6bad5933f0c0fd36661fbe7685b12d2dbb93"}],"nova/tests/unit/virt/disk/vfs/test_guestfs.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"aac4fc11e3f9daf79ec3f1837c18984317d4ab41","unresolved":true,"context_lines":[{"line_number":33,"context_line":"    def setUp(self):"},{"line_number":34,"context_line":"        super(VirtDiskVFSGuestFSTest, self).setUp()"},{"line_number":35,"context_line":"        # LibvirtDriver.__init__() calls guestfs.force_tcg() whenever"},{"line_number":36,"context_line":"        # virt_type !\u003d \"kvm\" and nothing ever resets that module-level"},{"line_number":37,"context_line":"        # flag. Other tests creating such drivers before us in the same"},{"line_number":38,"context_line":"        # worker (the dynamic stestr scheduler runs hundreds of groups"},{"line_number":39,"context_line":"        # per worker) would otherwise make our handles show unexpected"}],"source_content_type":"text/x-python","patch_set":1,"id":"f7add0ff_7b706d98","line":36,"range":{"start_line":36,"start_character":10,"end_line":36,"end_character":29},"updated":"2026-10-27 16:34:35.000000000","message":"oh this is for libguestfs\n\nhttps://github.com/openstack/nova/blob/master/nova/virt/libvirt/driver.py#L822-L826\ni was goign to say it might be a bug if we are seting this for virt_type \u003d\u003d \u0027lxc\u0027\nfor example.","commit_id":"9067b3b71aca74d5a27e5430a916c2f85b858b50"},{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"5b8cccec33345f840bc8540b857c0d44036d5ec8","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    def setUp(self):"},{"line_number":34,"context_line":"        super(VirtDiskVFSGuestFSTest, self).setUp()"},{"line_number":35,"context_line":"        # LibvirtDriver.__init__() calls guestfs.force_tcg() whenever"},{"line_number":36,"context_line":"        # virt_type !\u003d \"kvm\" and nothing ever resets that module-level"},{"line_number":37,"context_line":"        # flag. Other tests creating such drivers before us in the same"},{"line_number":38,"context_line":"        # worker (the dynamic stestr scheduler runs hundreds of groups"},{"line_number":39,"context_line":"        # per worker) would otherwise make our handles show unexpected"}],"source_content_type":"text/x-python","patch_set":1,"id":"2660390c_5a0da2e2","line":36,"range":{"start_line":36,"start_character":10,"end_line":36,"end_character":29},"in_reply_to":"f7add0ff_7b706d98","updated":"2026-10-28 08:31:27.000000000","message":"Done","commit_id":"9067b3b71aca74d5a27e5430a916c2f85b858b50"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"a071f8fccb61e7786eb7097517a728444996eb13","unresolved":true,"context_lines":[{"line_number":38,"context_line":"        # worker (the dynamic stestr scheduler runs hundreds of groups"},{"line_number":39,"context_line":"        # per worker) would otherwise make our handles show unexpected"},{"line_number":40,"context_line":"        # backend settings."},{"line_number":41,"context_line":"        vfsimpl.force_tcg(False)"},{"line_number":42,"context_line":"        self.useFixture("},{"line_number":43,"context_line":"                fixtures.MonkeyPatch(\u0027nova.virt.disk.vfs.guestfs.guestfs\u0027,"},{"line_number":44,"context_line":"                                     fakeguestfs))"}],"source_content_type":"text/x-python","patch_set":1,"id":"3b75ccf4_e6ba6ca7","line":41,"updated":"2026-10-27 16:24:43.000000000","message":"can we add this as a cleanup of the fixture pulling in the libvirt driver and therefore triggering the force_tcg call?","commit_id":"9067b3b71aca74d5a27e5430a916c2f85b858b50"},{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"5b8cccec33345f840bc8540b857c0d44036d5ec8","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        # worker (the dynamic stestr scheduler runs hundreds of groups"},{"line_number":39,"context_line":"        # per worker) would otherwise make our handles show unexpected"},{"line_number":40,"context_line":"        # backend settings."},{"line_number":41,"context_line":"        vfsimpl.force_tcg(False)"},{"line_number":42,"context_line":"        self.useFixture("},{"line_number":43,"context_line":"                fixtures.MonkeyPatch(\u0027nova.virt.disk.vfs.guestfs.guestfs\u0027,"},{"line_number":44,"context_line":"                                     fakeguestfs))"}],"source_content_type":"text/x-python","patch_set":1,"id":"85e80a23_7bc4d14c","line":41,"in_reply_to":"188356bb_dfddd717","updated":"2026-10-28 08:31:27.000000000","message":"Done","commit_id":"9067b3b71aca74d5a27e5430a916c2f85b858b50"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"aac4fc11e3f9daf79ec3f1837c18984317d4ab41","unresolved":true,"context_lines":[{"line_number":38,"context_line":"        # worker (the dynamic stestr scheduler runs hundreds of groups"},{"line_number":39,"context_line":"        # per worker) would otherwise make our handles show unexpected"},{"line_number":40,"context_line":"        # backend settings."},{"line_number":41,"context_line":"        vfsimpl.force_tcg(False)"},{"line_number":42,"context_line":"        self.useFixture("},{"line_number":43,"context_line":"                fixtures.MonkeyPatch(\u0027nova.virt.disk.vfs.guestfs.guestfs\u0027,"},{"line_number":44,"context_line":"                                     fakeguestfs))"}],"source_content_type":"text/x-python","patch_set":1,"id":"188356bb_dfddd717","line":41,"in_reply_to":"3b75ccf4_e6ba6ca7","updated":"2026-10-27 16:34:35.000000000","message":"yes ideally we woudl eitehr add a module level reset function to revert \nhttps://github.com/openstack/nova/blob/master/nova/virt/disk/vfs/guestfs.py#L31-L44\n\nor we can proably just mock it or clear it back to False in the libvirt fixture\n\neither is fien and would be preferabel since it will fix this everywhere.","commit_id":"9067b3b71aca74d5a27e5430a916c2f85b858b50"}]}
