)]}'
{"nova/compute/instance_list.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b543ab97bb7337eaa649131d7a26882e51f8442e","unresolved":false,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    NOTE: Since we do these in parallel, a nonzero limit will be passed"},{"line_number":78,"context_line":"    to each database query, although the limit will be enforced in the"},{"line_number":79,"context_line":"    output of this function. Meaning, we will still query $limit from each"},{"line_number":80,"context_line":"    database, but only return $limit total results."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    FIXME: Make marker work"},{"line_number":83,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":8,"id":"7f515b1d_e6119e55","line":80,"range":{"start_line":79,"start_character":29,"end_line":80,"end_character":51},"updated":"2017-09-21 19:10:42.000000000","message":"Can you please just push it to the limit?\n\nhttps://www.youtube.com/watch?v\u003dBhsTmiK7Q2M","commit_id":"f19ee93ae4dd9889be21d32cbc81205191ba78a5"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"e9c20e1a8b2411bd7d20a78f1b0ec5c05461de7d","unresolved":false,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    NOTE: Since we do these in parallel, a nonzero limit will be passed"},{"line_number":78,"context_line":"    to each database query, although the limit will be enforced in the"},{"line_number":79,"context_line":"    output of this function. Meaning, we will still query $limit from each"},{"line_number":80,"context_line":"    database, but only return $limit total results."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    FIXME: Make marker work"},{"line_number":83,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":8,"id":"7f515b1d_1be1afff","line":80,"range":{"start_line":79,"start_character":29,"end_line":80,"end_character":51},"in_reply_to":"7f515b1d_c668e222","updated":"2017-09-21 23:16:41.000000000","message":"I prefer the latter.","commit_id":"f19ee93ae4dd9889be21d32cbc81205191ba78a5"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"1e34da004adb1805bea50f1cef7dd58de2c03249","unresolved":false,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    NOTE: Since we do these in parallel, a nonzero limit will be passed"},{"line_number":78,"context_line":"    to each database query, although the limit will be enforced in the"},{"line_number":79,"context_line":"    output of this function. Meaning, we will still query $limit from each"},{"line_number":80,"context_line":"    database, but only return $limit total results."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    FIXME: Make marker work"},{"line_number":83,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":8,"id":"7f515b1d_c668e222","line":80,"range":{"start_line":79,"start_character":29,"end_line":80,"end_character":51},"in_reply_to":"7f515b1d_e6119e55","updated":"2017-09-21 19:32:01.000000000","message":"I figured I\u0027d just take it to the limit.\n\nhttp://www.dailymotion.com/video/x31ki01","commit_id":"f19ee93ae4dd9889be21d32cbc81205191ba78a5"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"e9c20e1a8b2411bd7d20a78f1b0ec5c05461de7d","unresolved":false,"context_lines":[{"line_number":116,"context_line":"    # handle this anywhere yet anyway."},{"line_number":117,"context_line":"    results \u003d context.scatter_gather_all_cells(ctx, do_query)"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    # If a limit was provided, and passed to the per-cell query routines."},{"line_number":120,"context_line":"    # That means we have NUM_CELLS * limit items across results. So, we"},{"line_number":121,"context_line":"    # need to consume from that limit below and stop returning results."},{"line_number":122,"context_line":"    limit \u003d limit or 0"}],"source_content_type":"text/x-python","patch_set":8,"id":"7f515b1d_bbef3be8","line":119,"updated":"2017-09-21 23:16:41.000000000","message":"Wat? Is this a complete sentence?","commit_id":"f19ee93ae4dd9889be21d32cbc81205191ba78a5"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"42d18bb32d493985dbf1cf41bc069612e2f2df4a","unresolved":false,"context_lines":[{"line_number":116,"context_line":"    # handle this anywhere yet anyway."},{"line_number":117,"context_line":"    results \u003d context.scatter_gather_all_cells(ctx, do_query)"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    # If a limit was provided, and passed to the per-cell query routines."},{"line_number":120,"context_line":"    # That means we have NUM_CELLS * limit items across results. So, we"},{"line_number":121,"context_line":"    # need to consume from that limit below and stop returning results."},{"line_number":122,"context_line":"    limit \u003d limit or 0"}],"source_content_type":"text/x-python","patch_set":8,"id":"7f515b1d_ad8edecd","line":119,"in_reply_to":"7f515b1d_1bbc0f68","updated":"2017-09-22 00:19:00.000000000","message":"I noticed this too but figured it meant something so awesome that I just couldn\u0027t thunk it.","commit_id":"f19ee93ae4dd9889be21d32cbc81205191ba78a5"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"56d79d827733ddb318959bd1a596cefcb4da10e1","unresolved":false,"context_lines":[{"line_number":116,"context_line":"    # handle this anywhere yet anyway."},{"line_number":117,"context_line":"    results \u003d context.scatter_gather_all_cells(ctx, do_query)"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    # If a limit was provided, and passed to the per-cell query routines."},{"line_number":120,"context_line":"    # That means we have NUM_CELLS * limit items across results. So, we"},{"line_number":121,"context_line":"    # need to consume from that limit below and stop returning results."},{"line_number":122,"context_line":"    limit \u003d limit or 0"}],"source_content_type":"text/x-python","patch_set":8,"id":"7f515b1d_1bbc0f68","line":119,"in_reply_to":"7f515b1d_bbef3be8","updated":"2017-09-21 23:26:51.000000000","message":"This was mutated from a previous version...poorly. It should be \"if a limit was provided, it _was_ passed...\".\n\nI will stack a fix on top because I think it\u0027s important that all these comments are airtight given the complexity that eventually lands in here.","commit_id":"f19ee93ae4dd9889be21d32cbc81205191ba78a5"}],"nova/tests/functional/compute/test_instance_list.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"499f083283322b391db170ad04e319a0cc01ea2d","unresolved":false,"context_lines":[{"line_number":66,"context_line":"                                                   limit, marker, columns,"},{"line_number":67,"context_line":"                                                   sort_keys, sort_dirs)"},{"line_number":68,"context_line":"        uuids \u003d [inst[\u0027uuid\u0027] for inst in insts]"},{"line_number":69,"context_line":"        self.assertEqual(sorted(uuids), uuids)"},{"line_number":70,"context_line":"        self.assertEqual(len(self.instances), len(uuids))"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    def test_get_sorted_descending(self):"}],"source_content_type":"text/x-python","patch_set":8,"id":"7f515b1d_691341ba","line":69,"range":{"start_line":69,"start_character":8,"end_line":69,"end_character":46},"updated":"2017-09-21 20:17:02.000000000","message":"Shouldn\u0027t this also be compared to uuids in the self.instances list rather than what came out of the get_instances_sorted method, which is already sorted?","commit_id":"f19ee93ae4dd9889be21d32cbc81205191ba78a5"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"eefd19198d61b726a811d88be64dd469c3803a29","unresolved":false,"context_lines":[{"line_number":66,"context_line":"                                                   limit, marker, columns,"},{"line_number":67,"context_line":"                                                   sort_keys, sort_dirs)"},{"line_number":68,"context_line":"        uuids \u003d [inst[\u0027uuid\u0027] for inst in insts]"},{"line_number":69,"context_line":"        self.assertEqual(sorted(uuids), uuids)"},{"line_number":70,"context_line":"        self.assertEqual(len(self.instances), len(uuids))"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    def test_get_sorted_descending(self):"}],"source_content_type":"text/x-python","patch_set":8,"id":"7f515b1d_6961013a","line":69,"range":{"start_line":69,"start_character":8,"end_line":69,"end_character":46},"in_reply_to":"7f515b1d_691341ba","updated":"2017-09-21 20:20:01.000000000","message":"This is just comparing the list to the sorted version of itself to see that it\u0027s sorted.","commit_id":"f19ee93ae4dd9889be21d32cbc81205191ba78a5"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"e9c20e1a8b2411bd7d20a78f1b0ec5c05461de7d","unresolved":false,"context_lines":[{"line_number":66,"context_line":"                                                   limit, marker, columns,"},{"line_number":67,"context_line":"                                                   sort_keys, sort_dirs)"},{"line_number":68,"context_line":"        uuids \u003d [inst[\u0027uuid\u0027] for inst in insts]"},{"line_number":69,"context_line":"        self.assertEqual(sorted(uuids), uuids)"},{"line_number":70,"context_line":"        self.assertEqual(len(self.instances), len(uuids))"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    def test_get_sorted_descending(self):"}],"source_content_type":"text/x-python","patch_set":8,"id":"7f515b1d_9bc59f5e","line":69,"range":{"start_line":69,"start_character":8,"end_line":69,"end_character":46},"in_reply_to":"7f515b1d_6961013a","updated":"2017-09-21 23:16:41.000000000","message":"Yeah, I think it doesn\u0027t matter because it\u0027s calling sorted() on the list (which would have the same result as sorted(self.instances)).","commit_id":"f19ee93ae4dd9889be21d32cbc81205191ba78a5"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b543ab97bb7337eaa649131d7a26882e51f8442e","unresolved":false,"context_lines":[{"line_number":117,"context_line":"                                                   5, None,"},{"line_number":118,"context_line":"                                                   [], [\u0027uuid\u0027], [\u0027asc\u0027])"},{"line_number":119,"context_line":"        uuids \u003d [inst[\u0027uuid\u0027] for inst in insts]"},{"line_number":120,"context_line":"        self.assertEqual(sorted(uuids)[:5], uuids)"},{"line_number":121,"context_line":"        self.assertEqual(5, len(uuids))"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    def test_get_sorted_with_large_limit(self):"}],"source_content_type":"text/x-python","patch_set":8,"id":"7f515b1d_2621f6a0","line":120,"range":{"start_line":120,"start_character":38,"end_line":120,"end_character":42},"updated":"2017-09-21 19:10:42.000000000","message":"Why is this needed here but not below?","commit_id":"f19ee93ae4dd9889be21d32cbc81205191ba78a5"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"1e34da004adb1805bea50f1cef7dd58de2c03249","unresolved":false,"context_lines":[{"line_number":117,"context_line":"                                                   5, None,"},{"line_number":118,"context_line":"                                                   [], [\u0027uuid\u0027], [\u0027asc\u0027])"},{"line_number":119,"context_line":"        uuids \u003d [inst[\u0027uuid\u0027] for inst in insts]"},{"line_number":120,"context_line":"        self.assertEqual(sorted(uuids)[:5], uuids)"},{"line_number":121,"context_line":"        self.assertEqual(5, len(uuids))"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    def test_get_sorted_with_large_limit(self):"}],"source_content_type":"text/x-python","patch_set":8,"id":"7f515b1d_8672ea10","line":120,"range":{"start_line":120,"start_character":38,"end_line":120,"end_character":42},"in_reply_to":"7f515b1d_2621f6a0","updated":"2017-09-21 19:32:01.000000000","message":"Because below I\u0027m testing that a limit larger than the number of instances returns everything we have.","commit_id":"f19ee93ae4dd9889be21d32cbc81205191ba78a5"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"03500fc26faafdd6e334d4f52c61b5c4847e8d6d","unresolved":false,"context_lines":[{"line_number":117,"context_line":"                                                   5, None,"},{"line_number":118,"context_line":"                                                   [], [\u0027uuid\u0027], [\u0027asc\u0027])"},{"line_number":119,"context_line":"        uuids \u003d [inst[\u0027uuid\u0027] for inst in insts]"},{"line_number":120,"context_line":"        self.assertEqual(sorted(uuids)[:5], uuids)"},{"line_number":121,"context_line":"        self.assertEqual(5, len(uuids))"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    def test_get_sorted_with_large_limit(self):"}],"source_content_type":"text/x-python","patch_set":8,"id":"7f515b1d_c9f59585","line":120,"range":{"start_line":120,"start_character":38,"end_line":120,"end_character":42},"in_reply_to":"7f515b1d_69890125","updated":"2017-09-21 20:15:28.000000000","message":"diff --git a/nova/tests/functional/compute/test_instance_list.py b/nova/tests/functional/compute/test_instance_list.py\nindex 85126be..b7f998c 100644\n--- a/nova/tests/functional/compute/test_instance_list.py\n+++ b/nova/tests/functional/compute/test_instance_list.py\n@@ -117,7 +117,8 @@ class InstanceListTestCase(test.TestCase):\n                                                    5, None,\n                                                    [], [\u0027uuid\u0027], [\u0027asc\u0027])\n         uuids \u003d [inst[\u0027uuid\u0027] for inst in insts]\n-        self.assertEqual(sorted(uuids)[:5], uuids)\n+        expected \u003d sorted(inst[\u0027uuid\u0027] for inst in self.instances)[:5]\n+        self.assertEqual(expected, uuids)\n         self.assertEqual(5, len(uuids))\n \n     def test_get_sorted_with_large_limit(self):","commit_id":"f19ee93ae4dd9889be21d32cbc81205191ba78a5"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"34434845d6097bacf7f88e92a8cc38dd2ea43c5f","unresolved":false,"context_lines":[{"line_number":117,"context_line":"                                                   5, None,"},{"line_number":118,"context_line":"                                                   [], [\u0027uuid\u0027], [\u0027asc\u0027])"},{"line_number":119,"context_line":"        uuids \u003d [inst[\u0027uuid\u0027] for inst in insts]"},{"line_number":120,"context_line":"        self.assertEqual(sorted(uuids)[:5], uuids)"},{"line_number":121,"context_line":"        self.assertEqual(5, len(uuids))"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    def test_get_sorted_with_large_limit(self):"}],"source_content_type":"text/x-python","patch_set":8,"id":"7f515b1d_69890125","line":120,"range":{"start_line":120,"start_character":38,"end_line":120,"end_character":42},"in_reply_to":"7f515b1d_8672ea10","updated":"2017-09-21 20:06:27.000000000","message":"Sure, but if I remove that slice it makes no difference to the test. In other words, insts is already a sorted list of size 5, so comparing a slice of the uuids list, which is already size 5, seems redundant.","commit_id":"f19ee93ae4dd9889be21d32cbc81205191ba78a5"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"e9c20e1a8b2411bd7d20a78f1b0ec5c05461de7d","unresolved":false,"context_lines":[{"line_number":117,"context_line":"                                                   5, None,"},{"line_number":118,"context_line":"                                                   [], [\u0027uuid\u0027], [\u0027asc\u0027])"},{"line_number":119,"context_line":"        uuids \u003d [inst[\u0027uuid\u0027] for inst in insts]"},{"line_number":120,"context_line":"        self.assertEqual(sorted(uuids)[:5], uuids)"},{"line_number":121,"context_line":"        self.assertEqual(5, len(uuids))"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    def test_get_sorted_with_large_limit(self):"}],"source_content_type":"text/x-python","patch_set":8,"id":"7f515b1d_fb26d316","line":120,"range":{"start_line":120,"start_character":38,"end_line":120,"end_character":42},"in_reply_to":"7f515b1d_c9f59585","updated":"2017-09-21 23:16:41.000000000","message":"Yeah, I don\u0027t get that either. It should make sense if it were sorted(self.instances)[:5] though.","commit_id":"f19ee93ae4dd9889be21d32cbc81205191ba78a5"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"56d79d827733ddb318959bd1a596cefcb4da10e1","unresolved":false,"context_lines":[{"line_number":117,"context_line":"                                                   5, None,"},{"line_number":118,"context_line":"                                                   [], [\u0027uuid\u0027], [\u0027asc\u0027])"},{"line_number":119,"context_line":"        uuids \u003d [inst[\u0027uuid\u0027] for inst in insts]"},{"line_number":120,"context_line":"        self.assertEqual(sorted(uuids)[:5], uuids)"},{"line_number":121,"context_line":"        self.assertEqual(5, len(uuids))"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    def test_get_sorted_with_large_limit(self):"}],"source_content_type":"text/x-python","patch_set":8,"id":"7f515b1d_bbaa9b16","line":120,"range":{"start_line":120,"start_character":38,"end_line":120,"end_character":42},"in_reply_to":"7f515b1d_fb26d316","updated":"2017-09-21 23:26:51.000000000","message":"We discussed on IRC, this should have been (roughly) self.instances[:5]","commit_id":"f19ee93ae4dd9889be21d32cbc81205191ba78a5"}]}
