)]}'
{"tempest/api/compute/admin/test_live_migration.py":[{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"f551f9cf05e284f4b18054d27ece337c36c94e51","unresolved":false,"context_lines":[{"line_number":115,"context_line":"        live_migration_list \u003d [x for x in migration_list"},{"line_number":116,"context_line":"                               if (x[\u0027instance_uuid\u0027] \u003d\u003d server_id)]"},{"line_number":117,"context_line":"        msg \u003d (\"Live Migration failed. Migrations list for Instance \""},{"line_number":118,"context_line":"               \"%s : %s\" % (server_id, live_migration_list))"},{"line_number":119,"context_line":"        self.assertEqual(target_host, self._get_host_for_server(server_id),"},{"line_number":120,"context_line":"                         msg)"},{"line_number":121,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1a4dcd0f_ea5b0053","line":118,"updated":"2015-08-04 01:01:28.000000000","message":"So looking at the sample output from the commit message this is actually really hard to parse. Can we separate or prune the info from here a bit. Maybe something like:\n\n    msg \u003d (\"Live Migration failed. Migrations list for Instance \"\n                \"%s:\\n\" % server_id)\n    for live_migration in live_migration_list:\n        msg +\u003d \"%s\\n\" live_migration\n\njust an idea to start, doesn\u0027t have to be this formatting. I\u0027m just trying to make it a bit easier to read the error message and get the necessary info from the log.","commit_id":"7d7c8d0cb0a48d49ecb9438ce5a73696a35517e1"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"99f7c1c338be792a97bdaa41103f738a1f0ada48","unresolved":false,"context_lines":[{"line_number":115,"context_line":"        live_migration_list \u003d [x for x in migration_list"},{"line_number":116,"context_line":"                               if (x[\u0027instance_uuid\u0027] \u003d\u003d server_id)]"},{"line_number":117,"context_line":"        msg \u003d (\"Live Migration failed. Migrations list for Instance \""},{"line_number":118,"context_line":"               \"%s : %s\" % (server_id, live_migration_list))"},{"line_number":119,"context_line":"        self.assertEqual(target_host, self._get_host_for_server(server_id),"},{"line_number":120,"context_line":"                         msg)"},{"line_number":121,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1a4dcd0f_d1b6e6db","line":118,"in_reply_to":"1a4dcd0f_ea5b0053","updated":"2015-08-04 10:09:31.000000000","message":"Nice idea. Done","commit_id":"7d7c8d0cb0a48d49ecb9438ce5a73696a35517e1"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"c7035fe0402845808fd714e6f2450771cda68d61","unresolved":false,"context_lines":[{"line_number":115,"context_line":"        msg \u003d (\"Live Migration failed. Migrations list for Instance \""},{"line_number":116,"context_line":"               \"%s: [\" % server_id)"},{"line_number":117,"context_line":"        for live_migration in migration_list:"},{"line_number":118,"context_line":"            if (live_migration[\u0027instance_uuid\u0027] \u003d\u003d server_id):"},{"line_number":119,"context_line":"                msg +\u003d \"\\n%s\" % live_migration"},{"line_number":120,"context_line":"        msg +\u003d \"]\""},{"line_number":121,"context_line":"        self.assertEqual(target_host, self._get_host_for_server(server_id),"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_c20c1195","line":118,"updated":"2015-08-13 14:02:33.000000000","message":"I bet you did some PHP for years... (which is fine by me, I like PHP FWIW). (I am telling this because of the parenthesis).\n\nOther than that, you really could have used a \"\\n\".join(list built by list comprehension).","commit_id":"bed827642e6e867e8f3fc71a3436dcfbc943eb8b"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"0d343d2d8091fdbda54d33edb50432a6133c7a3f","unresolved":false,"context_lines":[{"line_number":117,"context_line":"        for live_migration in migration_list:"},{"line_number":118,"context_line":"            if (live_migration[\u0027instance_uuid\u0027] \u003d\u003d server_id):"},{"line_number":119,"context_line":"                msg +\u003d \"\\n%s\" % live_migration"},{"line_number":120,"context_line":"        msg +\u003d \"]\""},{"line_number":121,"context_line":"        self.assertEqual(target_host, self._get_host_for_server(server_id),"},{"line_number":122,"context_line":"                         msg)"},{"line_number":123,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_bb66fa27","line":120,"updated":"2015-08-06 19:38:28.000000000","message":"Heh, I\u0027m not sure the \u0027[]\u0027 are needed around things. If you want to preserve the data types maybe give pprint.pformat a look for a future rev","commit_id":"bed827642e6e867e8f3fc71a3436dcfbc943eb8b"}]}
