)]}'
{"nova/tests/unit/test_utils.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"00f4da64e712fbc521995034b52efde5aa1d1a39","unresolved":false,"context_lines":[{"line_number":282,"context_line":"        self.assertNotIn(filename, utils._FILE_CACHE)"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":""},{"line_number":285,"context_line":"class RootwrapDaemonTesetCase(test.NoDBTestCase):"},{"line_number":286,"context_line":"    @mock.patch(\u0027oslo_rootwrap.client.Client\u0027)"},{"line_number":287,"context_line":"    def test_get_client(self, mock_client):"},{"line_number":288,"context_line":"        mock_conf \u003d mock.MagicMock()"}],"source_content_type":"text/x-python","patch_set":3,"id":"df7087c5_9df8c749","side":"PARENT","line":285,"range":{"start_line":285,"start_character":20,"end_line":285,"end_character":25},"updated":"2018-03-21 12:58:57.000000000","message":"Well, this was misspelled anyway.  Good riddance!!","commit_id":"860365c013a0941fe18f3d38e5b5c045692fdc15"}],"nova/tests/unit/virt/disk/mount/test_loop.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"00c39f58167aa63bfb334e7c2b33804ea9673bdc","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        tempdir \u003d self.useFixture(fixtures.TempDir()).path"},{"line_number":40,"context_line":"        mount \u003d loop.LoopMount(self.file, tempdir)"},{"line_number":41,"context_line":"        self.useFixture(fixtures.MonkeyPatch(\u0027nova.utils.execute\u0027,"},{"line_number":42,"context_line":"                                             _fake_noop))"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"        # No error logged, device consumed"},{"line_number":45,"context_line":"        self.assertTrue(mount.get_dev())"}],"source_content_type":"text/x-python","patch_set":43,"id":"7faddb67_4336a004","side":"PARENT","line":42,"range":{"start_line":42,"start_character":45,"end_line":42,"end_character":55},"updated":"2019-08-16 10:44:16.000000000","message":"note to self: this is still used below","commit_id":"20c81a7de152fca8996bc859df6c4f4ed9db8d02"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"636cf4bfc233c1852f1d310de506b9e70e8574bb","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        tempdir \u003d self.useFixture(fixtures.TempDir()).path"},{"line_number":40,"context_line":"        mount \u003d loop.LoopMount(self.file, tempdir)"},{"line_number":41,"context_line":"        self.useFixture(fixtures.MonkeyPatch(\u0027nova.utils.execute\u0027,"},{"line_number":42,"context_line":"                                             _fake_noop))"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"        # No error logged, device consumed"},{"line_number":45,"context_line":"        self.assertTrue(mount.get_dev())"}],"source_content_type":"text/x-python","patch_set":43,"id":"7faddb67_81a474a4","side":"PARENT","line":42,"range":{"start_line":42,"start_character":45,"end_line":42,"end_character":55},"in_reply_to":"7faddb67_4336a004","updated":"2019-08-19 16:52:55.000000000","message":"though it\u0027s totally not needed if you use MockPatch instead of MonkeyPatch (unrelated fup though)","commit_id":"20c81a7de152fca8996bc859df6c4f4ed9db8d02"}],"nova/tests/unit/virt/disk/mount/test_nbd.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"00c39f58167aa63bfb334e7c2b33804ea9673bdc","unresolved":false,"context_lines":[{"line_number":224,"context_line":"        # something we don\u0027t have"},{"line_number":225,"context_line":"        tempdir \u003d self.useFixture(fixtures.TempDir()).path"},{"line_number":226,"context_line":"        n \u003d nbd.NbdMount(self.file, tempdir)"},{"line_number":227,"context_line":"        self.useFixture(fixtures.MonkeyPatch(\u0027nova.utils.execute\u0027, _fake_noop))"},{"line_number":228,"context_line":"        n.unget_dev()"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"    @mock.patch(\u0027time.sleep\u0027, new\u003dmock.Mock())"}],"source_content_type":"text/x-python","patch_set":43,"id":"7faddb67_83301809","side":"PARENT","line":227,"range":{"start_line":227,"start_character":67,"end_line":227,"end_character":77},"updated":"2019-08-16 10:44:16.000000000","message":"note to self: This is still elsewhere","commit_id":"20c81a7de152fca8996bc859df6c4f4ed9db8d02"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"636cf4bfc233c1852f1d310de506b9e70e8574bb","unresolved":false,"context_lines":[{"line_number":224,"context_line":"        # something we don\u0027t have"},{"line_number":225,"context_line":"        tempdir \u003d self.useFixture(fixtures.TempDir()).path"},{"line_number":226,"context_line":"        n \u003d nbd.NbdMount(self.file, tempdir)"},{"line_number":227,"context_line":"        self.useFixture(fixtures.MonkeyPatch(\u0027nova.utils.execute\u0027, _fake_noop))"},{"line_number":228,"context_line":"        n.unget_dev()"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"    @mock.patch(\u0027time.sleep\u0027, new\u003dmock.Mock())"}],"source_content_type":"text/x-python","patch_set":43,"id":"7faddb67_41bc3cba","side":"PARENT","line":227,"range":{"start_line":227,"start_character":67,"end_line":227,"end_character":77},"in_reply_to":"7faddb67_83301809","updated":"2019-08-19 16:52:55.000000000","message":"ditto","commit_id":"20c81a7de152fca8996bc859df6c4f4ed9db8d02"}],"nova/utils.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"636cf4bfc233c1852f1d310de506b9e70e8574bb","unresolved":false,"context_lines":[{"line_number":98,"context_line":"    getargspec \u003d inspect.getargspec"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"# NOTE(mikal): this seems to have to stay for now to handle os-brick"},{"line_number":102,"context_line":"# requirements. This makes me a sad panda."},{"line_number":103,"context_line":"def get_root_helper():"},{"line_number":104,"context_line":"    if CONF.workarounds.disable_rootwrap:"}],"source_content_type":"text/x-python","patch_set":43,"id":"7faddb67_611e18bc","line":101,"range":{"start_line":101,"start_character":53,"end_line":101,"end_character":68},"updated":"2019-08-19 16:52:55.000000000","message":"Is this still true? What\u0027s the mechanism by which it\u0027s used? (meaning: I don\u0027t see this method invoked from os-brick.)","commit_id":"fe31e1153d71e9fff18f86bb9eaab14bca0eef08"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e39f2507f83a98dc8e5450f94e47d12d230f28e4","unresolved":false,"context_lines":[{"line_number":98,"context_line":"    getargspec \u003d inspect.getargspec"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"# NOTE(mikal): this seems to have to stay for now to handle os-brick"},{"line_number":102,"context_line":"# requirements. This makes me a sad panda."},{"line_number":103,"context_line":"def get_root_helper():"},{"line_number":104,"context_line":"    if CONF.workarounds.disable_rootwrap:"}],"source_content_type":"text/x-python","patch_set":43,"id":"7faddb67_32ff02ac","line":101,"range":{"start_line":101,"start_character":53,"end_line":101,"end_character":68},"in_reply_to":"7faddb67_611e18bc","updated":"2019-08-20 14:47:48.000000000","message":"\u003e Is this still true? What\u0027s the mechanism by which it\u0027s used?\n \u003e (meaning: I don\u0027t see this method invoked from os-brick.)\n\nI see multiple references to this in \u0027nova/virt/libvirt/volume/*\u0027. I assume that\u0027s what he\u0027s referring to.","commit_id":"fe31e1153d71e9fff18f86bb9eaab14bca0eef08"}]}
