)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f3c5323147c2543a973a5361a0b322c46f60216a","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Stephen Finucane \u003csfinucan@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-04-01 15:30:09 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"tests: Full stub out os_vif"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"os_vif does some stuff that requires privsep and shouldn\u0027t happen."},{"line_number":10,"context_line":"We had already stubbed out the \u0027plug\u0027 operation but missed the \u0027unplug\u0027"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"5fc1f717_1417fea5","line":7,"range":{"start_line":7,"start_character":7,"end_line":7,"end_character":11},"updated":"2019-04-01 16:33:23.000000000","message":"Fully","commit_id":"2623acaba4573738faa61658af2d6006da6918a0"}],"nova/tests/functional/libvirt/base.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c40ab6400f8717953ad91dcd7ae0e8b967fac5b1","unresolved":false,"context_lines":[{"line_number":50,"context_line":"            return None"},{"line_number":51,"context_line":"        self.stub_out(\u0027nova.privsep.utils.supports_direct_io\u0027, fake_noop)"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"        # NOTE(stephenfin): Plugging VIFs can have real side-effects so mock"},{"line_number":54,"context_line":"        # these out"},{"line_number":55,"context_line":"        self.stub_out(\u0027nova.virt.libvirt.vif.LibvirtGenericVIFDriver.\u0027"},{"line_number":56,"context_line":"                      \u0027_plug_os_vif\u0027, fake_noop)"},{"line_number":57,"context_line":"        self.stub_out(\u0027nova.virt.libvirt.vif.LibvirtGenericVIFDriver.\u0027"},{"line_number":58,"context_line":"                      \u0027_unplug_os_vif\u0027, fake_noop)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"        # Mock the \u0027get_connection\u0027 function, as we\u0027re going to need to provide"},{"line_number":61,"context_line":"        # custom capabilities for each test"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_42b400d2","line":58,"range":{"start_line":53,"start_character":8,"end_line":58,"end_character":50},"updated":"2019-03-29 18:23:18.000000000","message":"this would work but it would a better test if we could fiture out how to use the noop os-vif plugin instead.\n\nwith this mock\n\nhttps://github.com/openstack/nova/blob/master/nova/virt/libvirt/vif.py#L703-L711\n\nwill never raise an excpetion and we might miss the error handeling path.\n\nhow about mocking _get_vif_instance\n\nhttps://github.com/openstack/nova/blob/master/nova/network/os_vif_util.py#L247\n\nso that plugin is replace with noop\n\nthe noop plugin does nothing but it will test the call signature and  it will provide a hook point for peopel to simulate raising exception in plug or unplug. \n\nhttps://github.com/openstack/os-vif/blob/master/vif_plug_noop/noop.py","commit_id":"42bf49c30e9fb142f49158a694c536a2eeab0d90"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7e90de5f81c3ef9a20e5580f3f66523237328afe","unresolved":false,"context_lines":[{"line_number":50,"context_line":"            return None"},{"line_number":51,"context_line":"        self.stub_out(\u0027nova.privsep.utils.supports_direct_io\u0027, fake_noop)"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"        # NOTE(stephenfin): Plugging VIFs can have real side-effects so mock"},{"line_number":54,"context_line":"        # these out"},{"line_number":55,"context_line":"        self.stub_out(\u0027nova.virt.libvirt.vif.LibvirtGenericVIFDriver.\u0027"},{"line_number":56,"context_line":"                      \u0027_plug_os_vif\u0027, fake_noop)"},{"line_number":57,"context_line":"        self.stub_out(\u0027nova.virt.libvirt.vif.LibvirtGenericVIFDriver.\u0027"},{"line_number":58,"context_line":"                      \u0027_unplug_os_vif\u0027, fake_noop)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"        # Mock the \u0027get_connection\u0027 function, as we\u0027re going to need to provide"},{"line_number":61,"context_line":"        # custom capabilities for each test"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_44af1d2b","line":58,"range":{"start_line":53,"start_character":8,"end_line":58,"end_character":50},"in_reply_to":"5fc1f717_42b400d2","updated":"2019-04-01 10:15:34.000000000","message":"I decided not to do this just because it was far more complicated in this instance, but I\u0027m open to changing it if you feel really strongly about it :)","commit_id":"42bf49c30e9fb142f49158a694c536a2eeab0d90"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c522e235983a2be307581302ed98e4a8fd1cc8a7","unresolved":false,"context_lines":[{"line_number":50,"context_line":"            return None"},{"line_number":51,"context_line":"        self.stub_out(\u0027nova.privsep.utils.supports_direct_io\u0027, fake_noop)"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"        # NOTE(stephenfin): Plugging VIFs can have real side-effects so mock"},{"line_number":54,"context_line":"        # these out"},{"line_number":55,"context_line":"        self.stub_out(\u0027nova.virt.libvirt.vif.LibvirtGenericVIFDriver.\u0027"},{"line_number":56,"context_line":"                      \u0027_plug_os_vif\u0027, fake_noop)"},{"line_number":57,"context_line":"        self.stub_out(\u0027nova.virt.libvirt.vif.LibvirtGenericVIFDriver.\u0027"},{"line_number":58,"context_line":"                      \u0027_unplug_os_vif\u0027, fake_noop)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"        # Mock the \u0027get_connection\u0027 function, as we\u0027re going to need to provide"},{"line_number":61,"context_line":"        # custom capabilities for each test"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_5ae136fc","line":58,"range":{"start_line":53,"start_character":8,"end_line":58,"end_character":50},"in_reply_to":"5fc1f717_44af1d2b","updated":"2019-04-01 11:49:42.000000000","message":"since we have no functional test that currentl test this interaction it would be simpler to mock this out generally for the rest of them that dont care and if we add functional tests for os-vif interaction we can just not mock it in those.","commit_id":"42bf49c30e9fb142f49158a694c536a2eeab0d90"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"a9d666b9f27865770461c8211bbe5bc208821de0","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"        # NOTE(stephenfin): Plugging VIFs can have real side-effects so mock"},{"line_number":51,"context_line":"        # these out"},{"line_number":52,"context_line":"        self.stub_out(\u0027nova.virt.libvirt.vif.LibvirtGenericVIFDriver.\u0027"},{"line_number":53,"context_line":"                      \u0027_plug_os_vif\u0027, lambda *a, **kw: None)"},{"line_number":54,"context_line":"        self.stub_out(\u0027nova.virt.libvirt.vif.LibvirtGenericVIFDriver.\u0027"},{"line_number":55,"context_line":"                      \u0027_unplug_os_vif\u0027, lambda *a, **kw: None)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5fc1f717_5864dee5","line":52,"updated":"2019-04-01 13:35:36.000000000","message":"The FakeLibvirtFixture() has a stub_os_vif flag to stub out plugging. It is defaulted to True so at L45 the \u0027nova.virt.libvirt.vif.LibvirtGenericVIFDriver._plug_os_vif\u0027 is already mocked.","commit_id":"ef2ea8f1f4b717299b988eb3765a346ebd51ddf8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"74761717e5d547338caf1548e68c076ba53c1520","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":"        # NOTE(stephenfin): Plugging VIFs can have real side-effects so mock"},{"line_number":51,"context_line":"        # these out"},{"line_number":52,"context_line":"        self.stub_out(\u0027nova.virt.libvirt.vif.LibvirtGenericVIFDriver.\u0027"},{"line_number":53,"context_line":"                      \u0027_plug_os_vif\u0027, lambda *a, **kw: None)"},{"line_number":54,"context_line":"        self.stub_out(\u0027nova.virt.libvirt.vif.LibvirtGenericVIFDriver.\u0027"},{"line_number":55,"context_line":"                      \u0027_unplug_os_vif\u0027, lambda *a, **kw: None)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5fc1f717_8ead1c9d","line":52,"in_reply_to":"5fc1f717_5864dee5","updated":"2019-04-01 14:30:40.000000000","message":"Aha, thanks for the pointer. We\u0027d missed the \u0027_unplug_os_vif\u0027 operation there so I\u0027d addressed that.","commit_id":"ef2ea8f1f4b717299b988eb3765a346ebd51ddf8"}]}
