)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"9d1aa5680c453fc1321703f02bb57e3e662f12d6","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"VM diagnostics: add serializer to Diagnostics object"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The serailizer will enable the API to return a dictionary to the"},{"line_number":10,"context_line":"user."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Part of the blueprint v3-diagnostics"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1ae5cdf2_0e039276","line":9,"updated":"2014-06-26 20:56:15.000000000","message":"s/serailzer/serializer/","commit_id":"74dcfbf80be8938df646d1e5033fb594c0e70d38"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"baadde39c652e0d377bd209c62dab6fbb169261c","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"VM diagnostics: add serializer to Diagnostics object"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The serailizer will enable the API to return a dictionary to the"},{"line_number":10,"context_line":"user."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Part of the blueprint v3-diagnostics"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1ae5cdf2_12e8e379","line":9,"in_reply_to":"1ae5cdf2_0e039276","updated":"2014-06-28 07:58:41.000000000","message":"Done","commit_id":"74dcfbf80be8938df646d1e5033fb594c0e70d38"}],"nova/tests/virt/test_diagnostics.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"9d1aa5680c453fc1321703f02bb57e3e662f12d6","unresolved":false,"context_lines":[{"line_number":178,"context_line":"        self.assertEqual(4, diags.disk_details[0].write_requests)"},{"line_number":179,"context_line":"        self.assertEqual(5, diags.disk_details[0].errors_count)"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"    def test_diagnostics_serialize_default(self):"},{"line_number":182,"context_line":"        diags \u003d diagnostics.Diagnostics()"},{"line_number":183,"context_line":"        expected \u003d {\u0027config_drive\u0027: False,"},{"line_number":184,"context_line":"                    \u0027cpu_details\u0027: [],"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_4eabda70","line":181,"updated":"2014-06-26 20:56:15.000000000","message":"This method won\u0027t ever be executed :) It\u0027s named the same as the next method...","commit_id":"74dcfbf80be8938df646d1e5033fb594c0e70d38"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"baadde39c652e0d377bd209c62dab6fbb169261c","unresolved":false,"context_lines":[{"line_number":178,"context_line":"        self.assertEqual(4, diags.disk_details[0].write_requests)"},{"line_number":179,"context_line":"        self.assertEqual(5, diags.disk_details[0].errors_count)"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"    def test_diagnostics_serialize_default(self):"},{"line_number":182,"context_line":"        diags \u003d diagnostics.Diagnostics()"},{"line_number":183,"context_line":"        expected \u003d {\u0027config_drive\u0027: False,"},{"line_number":184,"context_line":"                    \u0027cpu_details\u0027: [],"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_9245d39c","line":181,"in_reply_to":"1ae5cdf2_4eabda70","updated":"2014-06-28 07:58:41.000000000","message":"Done","commit_id":"74dcfbf80be8938df646d1e5033fb594c0e70d38"}],"nova/virt/diagnostics.py":[{"author":{"_account_id":9569,"name":"Sergey Nikitin","email":"nikitinserv@gmail.com","username":"snikitin"},"change_message_id":"7e53cd77e7e5eb59eedc652dede3dc236b0dbea4","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"    def serialize(self):"},{"line_number":137,"context_line":"        s \u003d {}"},{"line_number":138,"context_line":"        for k, v in self.__dict__.iteritems():"},{"line_number":139,"context_line":"            if isinstance(v, list):"},{"line_number":140,"context_line":"                l \u003d []"},{"line_number":141,"context_line":"                for value in v:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_eef282e2","line":138,"updated":"2014-06-23 12:45:19.000000000","message":"It\u0027s better to use six.iteritems -- https://pythonhosted.org/six/#six.iteritems","commit_id":"f8272c6b1101bb7981a8d025dcff91c475d2d5ad"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"6a8b34064ff8a4a740baf1048e8a9c98d457871b","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"    def serialize(self):"},{"line_number":137,"context_line":"        s \u003d {}"},{"line_number":138,"context_line":"        for k, v in self.__dict__.iteritems():"},{"line_number":139,"context_line":"            if isinstance(v, list):"},{"line_number":140,"context_line":"                l \u003d []"},{"line_number":141,"context_line":"                for value in v:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_53e15a29","line":138,"in_reply_to":"1ae5cdf2_eef282e2","updated":"2014-06-23 14:19:05.000000000","message":"Done","commit_id":"f8272c6b1101bb7981a8d025dcff91c475d2d5ad"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"998731553572ee452199c9facefad36f447d44aa","unresolved":false,"context_lines":[{"line_number":174,"context_line":"                for value in v:"},{"line_number":175,"context_line":"                    l.append(value.__dict__)"},{"line_number":176,"context_line":"                s[k] \u003d l"},{"line_number":177,"context_line":"            elif isinstance(v, (PrivateDataDiagnostics, MemoryDiagnostics)):"},{"line_number":178,"context_line":"                s[k] \u003d v.__dict__"},{"line_number":179,"context_line":"            else:"},{"line_number":180,"context_line":"                s[k] \u003d v"}],"source_content_type":"text/x-python","patch_set":3,"id":"dab895d6_9b6dbd07","line":177,"updated":"2014-06-30 09:08:07.000000000","message":"Why is this only listing the PrivateData + Memory classes, and not the Nic, Cpu and Disk classes too ?","commit_id":"4d4b5fcc16a33c86781a22a7bccb7c10a6910db5"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"0c9a1e61cd519d763cd865cbc077d1629f692f43","unresolved":false,"context_lines":[{"line_number":174,"context_line":"                for value in v:"},{"line_number":175,"context_line":"                    l.append(value.__dict__)"},{"line_number":176,"context_line":"                s[k] \u003d l"},{"line_number":177,"context_line":"            elif isinstance(v, (PrivateDataDiagnostics, MemoryDiagnostics)):"},{"line_number":178,"context_line":"                s[k] \u003d v.__dict__"},{"line_number":179,"context_line":"            else:"},{"line_number":180,"context_line":"                s[k] \u003d v"}],"source_content_type":"text/x-python","patch_set":3,"id":"dab895d6_d3cab9a0","line":177,"in_reply_to":"dab895d6_9b6dbd07","updated":"2014-06-30 11:26:33.000000000","message":"Those are dealt with on line 173 - that is, they are lists. I will add a comment and hopefully that will be more clear","commit_id":"4d4b5fcc16a33c86781a22a7bccb7c10a6910db5"}]}
