)]}'
{"nova/tests/test_libvirt.py":[{"author":{"_account_id":1782,"name":"Kravchenko Pavel","email":"kpavel@il.ibm.com","username":"kravchenko-pavel"},"change_message_id":"35e7f6cef79688aeb45a06c6ea7421b7127d755f","unresolved":false,"context_lines":[{"line_number":2212,"context_line":"        self.mox.StubOutWithMock(conn, \"_assert_dest_node_has_enough_disk\")"},{"line_number":2213,"context_line":"        conn._assert_dest_node_has_enough_disk("},{"line_number":2214,"context_line":"            self.context, instance_ref, dest_check_data[\u0027disk_available_mb\u0027],"},{"line_number":2215,"context_line":"            False)"},{"line_number":2216,"context_line":""},{"line_number":2217,"context_line":"        self.mox.ReplayAll()"},{"line_number":2218,"context_line":"        conn.check_can_live_migrate_source(self.context, instance_ref,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAOn%2F%2Fe5o%3D","line":2215,"updated":"2013-05-08 11:04:30.000000000","message":"Is this line formatting change really necessary?","commit_id":"34b2b1c93eb1610a26751cec65b2165c7761e395"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"7ffe23753ce4ec5c28cf0599ac1d93c50aefd298","unresolved":false,"context_lines":[{"line_number":2212,"context_line":"        self.mox.StubOutWithMock(conn, \"_assert_dest_node_has_enough_disk\")"},{"line_number":2213,"context_line":"        conn._assert_dest_node_has_enough_disk("},{"line_number":2214,"context_line":"            self.context, instance_ref, dest_check_data[\u0027disk_available_mb\u0027],"},{"line_number":2215,"context_line":"            False)"},{"line_number":2216,"context_line":""},{"line_number":2217,"context_line":"        self.mox.ReplayAll()"},{"line_number":2218,"context_line":"        conn.check_can_live_migrate_source(self.context, instance_ref,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAOn%2F%2Fdr0%3D","line":2215,"in_reply_to":"AAAAOn%2F%2Fe5o%3D","updated":"2013-05-08 21:14:30.000000000","message":"I think its more readable, but I\u0027m also not going to argue about it.","commit_id":"34b2b1c93eb1610a26751cec65b2165c7761e395"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"8f5ded2065e5d9a580a8da8e957739603bf8386f","unresolved":false,"context_lines":[{"line_number":2265,"context_line":"        self.mox.StubOutWithMock(conn, \"_assert_dest_node_has_enough_disk\")"},{"line_number":2266,"context_line":"        conn._assert_dest_node_has_enough_disk("},{"line_number":2267,"context_line":"            self.context, instance_ref, dest_check_data[\u0027disk_available_mb\u0027],"},{"line_number":2268,"context_line":"            False)"},{"line_number":2269,"context_line":""},{"line_number":2270,"context_line":"        self.mox.ReplayAll()"},{"line_number":2271,"context_line":"        conn.check_can_live_migrate_source(self.context, instance_ref,"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAPH%2F%2FnRE%3D","line":2268,"updated":"2013-05-29 10:55:43.000000000","message":"Spurious whitespace change","commit_id":"46431c0e14b8221453460cf0047de41c18c0306a"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":1782,"name":"Kravchenko Pavel","email":"kpavel@il.ibm.com","username":"kravchenko-pavel"},"change_message_id":"35e7f6cef79688aeb45a06c6ea7421b7127d755f","unresolved":false,"context_lines":[{"line_number":2853,"context_line":"                    \"the same shared storage.\") % tmp_file)"},{"line_number":2854,"context_line":"        os.close(fd)"},{"line_number":2855,"context_line":"        return {\"filename\": tmp_file}"},{"line_number":2856,"context_line":""},{"line_number":2857,"context_line":"    def check_instance_shared_storage_remote(self, ctxt, data):"},{"line_number":2858,"context_line":"        return os.path.exists(data[\u0027filename\u0027])"},{"line_number":2859,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAOn%2F%2FeyE%3D","line":2856,"updated":"2013-05-08 11:04:30.000000000","message":"If i understand the patch right, the relative_path solves the case when the CONF.instances_path points to different locations on local and remote compute node. If this is the case, i think similar solution should be added here.","commit_id":"34b2b1c93eb1610a26751cec65b2165c7761e395"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"c1649ea7416c4cb82e071352bf69824073d5b010","unresolved":false,"context_lines":[{"line_number":2853,"context_line":"                    \"the same shared storage.\") % tmp_file)"},{"line_number":2854,"context_line":"        os.close(fd)"},{"line_number":2855,"context_line":"        return {\"filename\": tmp_file}"},{"line_number":2856,"context_line":""},{"line_number":2857,"context_line":"    def check_instance_shared_storage_remote(self, ctxt, data):"},{"line_number":2858,"context_line":"        return os.path.exists(data[\u0027filename\u0027])"},{"line_number":2859,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPH%2F%2F%2FRU%3D","line":2856,"in_reply_to":"AAAAOn%2F%2Fdrs%3D","updated":"2013-05-17 00:39:02.000000000","message":"I think this is part of a bigger problem which is now being tracked in a mailing list thread, so I am going to handle this in a separate later review.","commit_id":"34b2b1c93eb1610a26751cec65b2165c7761e395"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"7ffe23753ce4ec5c28cf0599ac1d93c50aefd298","unresolved":false,"context_lines":[{"line_number":2853,"context_line":"                    \"the same shared storage.\") % tmp_file)"},{"line_number":2854,"context_line":"        os.close(fd)"},{"line_number":2855,"context_line":"        return {\"filename\": tmp_file}"},{"line_number":2856,"context_line":""},{"line_number":2857,"context_line":"    def check_instance_shared_storage_remote(self, ctxt, data):"},{"line_number":2858,"context_line":"        return os.path.exists(data[\u0027filename\u0027])"},{"line_number":2859,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAOn%2F%2Fdrs%3D","line":2856,"in_reply_to":"AAAAOn%2F%2FeyE%3D","updated":"2013-05-08 21:14:30.000000000","message":"I think you\u0027re right. I will take a look at this today.","commit_id":"34b2b1c93eb1610a26751cec65b2165c7761e395"},{"author":{"_account_id":1782,"name":"Kravchenko Pavel","email":"kpavel@il.ibm.com","username":"kravchenko-pavel"},"change_message_id":"35e7f6cef79688aeb45a06c6ea7421b7127d755f","unresolved":false,"context_lines":[{"line_number":2932,"context_line":"                reason \u003d _(\"Block migration can not be used \""},{"line_number":2933,"context_line":"                           \"with shared storage.\")"},{"line_number":2934,"context_line":"                raise exception.InvalidLocalStorage(reason\u003dreason, path\u003dsource)"},{"line_number":2935,"context_line":"            self._assert_dest_node_has_enough_disk(ctxt, instance,"},{"line_number":2936,"context_line":"                                    dest_check_data[\u0027disk_available_mb\u0027],"},{"line_number":2937,"context_line":"                                    dest_check_data[\u0027disk_over_commit\u0027])"},{"line_number":2938,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAOn%2F%2Fe6s%3D","line":2935,"updated":"2013-05-08 11:04:30.000000000","message":"Is this line change and 2 above only to replace the name of the variable from instance_ref to instance?","commit_id":"34b2b1c93eb1610a26751cec65b2165c7761e395"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"7ffe23753ce4ec5c28cf0599ac1d93c50aefd298","unresolved":false,"context_lines":[{"line_number":2932,"context_line":"                reason \u003d _(\"Block migration can not be used \""},{"line_number":2933,"context_line":"                           \"with shared storage.\")"},{"line_number":2934,"context_line":"                raise exception.InvalidLocalStorage(reason\u003dreason, path\u003dsource)"},{"line_number":2935,"context_line":"            self._assert_dest_node_has_enough_disk(ctxt, instance,"},{"line_number":2936,"context_line":"                                    dest_check_data[\u0027disk_available_mb\u0027],"},{"line_number":2937,"context_line":"                                    dest_check_data[\u0027disk_over_commit\u0027])"},{"line_number":2938,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAOn%2F%2Fdrw%3D","line":2935,"in_reply_to":"AAAAOn%2F%2Fe6s%3D","updated":"2013-05-08 21:14:30.000000000","message":"Yes. This makes this method more consistent with the rest of the file.","commit_id":"34b2b1c93eb1610a26751cec65b2165c7761e395"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"262da50e4a56af08c2afa077081a3084329c3532","unresolved":false,"context_lines":[{"line_number":3208,"context_line":"            # NOTE(mikal): this doesn\u0027t use libvirt_utils.get_instance_path"},{"line_number":3209,"context_line":"            # because we are ensuring that the same instance directory name"},{"line_number":3210,"context_line":"            # is used as was at the source"},{"line_number":3211,"context_line":"            instance_relative_path \u003d migrate_data[\u0027instance_relative_path\u0027]"},{"line_number":3212,"context_line":"            instance_dir \u003d os.path.join(CONF.instances_path,"},{"line_number":3213,"context_line":"                                        instance_relative_path)"},{"line_number":3214,"context_line":"            if os.path.exists(instance_dir):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAOn%2F%2Fdp0%3D","line":3211,"updated":"2013-05-08 21:21:29.000000000","message":"You\u0027re assuming migrate_data is present.  The code is written to not assume that (presumably for rpc backwards compatibility).  Even if it *is* present, this key may not be, so you need to account for that, too.","commit_id":"34b2b1c93eb1610a26751cec65b2165c7761e395"}]}
