)]}'
{"nova/objects/instance_action.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"dcb6b8824ec368a14a29334f1ccfd6574e85d916","unresolved":false,"context_lines":[{"line_number":104,"context_line":"        \u0027result\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":105,"context_line":"        \u0027traceback\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":106,"context_line":"        \u0027host\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":107,"context_line":"        \u0027details\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":108,"context_line":"        }"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    @staticmethod"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2FwZM%3D","line":107,"updated":"2014-01-08 20:22:01.000000000","message":"These require the version of the object to be bumped.","commit_id":"6fff4556f2900ad1353bff067c15a374bed961aa"},{"author":{"_account_id":2468,"name":"unicell","email":"unicell@gmail.com","username":"unicell"},"change_message_id":"fcafeed841d33addcef43fb5535831e054f407cb","unresolved":false,"context_lines":[{"line_number":104,"context_line":"        \u0027result\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":105,"context_line":"        \u0027traceback\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":106,"context_line":"        \u0027host\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":107,"context_line":"        \u0027details\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":108,"context_line":"        }"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    @staticmethod"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2FvLc%3D","line":107,"in_reply_to":"AAAAUH%2F%2FwZM%3D","updated":"2014-01-09 01:37:23.000000000","message":"Thanks for point it out. By the time I write this patch, I didn\u0027t realize it has a default Version 1.0 inherited from base NovaObject class.\n\nWill upload another patchset to bump the version here.","commit_id":"6fff4556f2900ad1353bff067c15a374bed961aa"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"c0773d319bdad2cc508725dbdee839aa64f0d5e6","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        \u0027result\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":109,"context_line":"        \u0027traceback\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":110,"context_line":"        \u0027host\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":111,"context_line":"        \u0027details\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":112,"context_line":"        }"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    @staticmethod"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F%2B6vo%3D","line":111,"updated":"2014-01-20 19:02:40.000000000","message":"These need to be removed during obj_make_compatible() for versions \u003c1.1","commit_id":"84d76b9ac48fde4952a8e9a1c6364df8cff6b049"},{"author":{"_account_id":2468,"name":"unicell","email":"unicell@gmail.com","username":"unicell"},"change_message_id":"6db4aea2811eaa7184c557558a12708654b197d6","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        \u0027result\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":109,"context_line":"        \u0027traceback\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":110,"context_line":"        \u0027host\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":111,"context_line":"        \u0027details\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":112,"context_line":"        }"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    @staticmethod"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F%2B46c%3D","line":111,"in_reply_to":"AAAAUH%2F%2B6vo%3D","updated":"2014-01-21 02:20:08.000000000","message":"Done","commit_id":"84d76b9ac48fde4952a8e9a1c6364df8cff6b049"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"f53cd61c2f25dca17f24d6f35e08c720a0582609","unresolved":false,"context_lines":[{"line_number":114,"context_line":"    def obj_make_compatible(self, primitive, target_version):"},{"line_number":115,"context_line":"        target_version \u003d (int(target_version.split(\u0027.\u0027)[0]),"},{"line_number":116,"context_line":"                          int(target_version.split(\u0027.\u0027)[1]))"},{"line_number":117,"context_line":"        if target_version \u003c (1, 1) and \u0027info_cache\u0027 in primitive:"},{"line_number":118,"context_line":"            # NOTE(unicell): Before 1.1 there was no host and details field"},{"line_number":119,"context_line":"            for field in [\u0027host\u0027, \u0027details\u0027]:"},{"line_number":120,"context_line":"                if field in primitive:"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAUH%2F%2BDWc%3D","line":117,"updated":"2014-01-30 16:45:34.000000000","message":"Huh? There is no info_cache attribute on this object. Please be more careful when copying and pasting code.","commit_id":"cb8fce3dee5bd63e71519cf754816860bb8bec6a"},{"author":{"_account_id":2468,"name":"unicell","email":"unicell@gmail.com","username":"unicell"},"change_message_id":"1099799f890138cf0af40df6d6ad9ab39e03ced5","unresolved":false,"context_lines":[{"line_number":114,"context_line":"    def obj_make_compatible(self, primitive, target_version):"},{"line_number":115,"context_line":"        target_version \u003d (int(target_version.split(\u0027.\u0027)[0]),"},{"line_number":116,"context_line":"                          int(target_version.split(\u0027.\u0027)[1]))"},{"line_number":117,"context_line":"        if target_version \u003c (1, 1) and \u0027info_cache\u0027 in primitive:"},{"line_number":118,"context_line":"            # NOTE(unicell): Before 1.1 there was no host and details field"},{"line_number":119,"context_line":"            for field in [\u0027host\u0027, \u0027details\u0027]:"},{"line_number":120,"context_line":"                if field in primitive:"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAUH%2F9%2B%2Bo%3D","line":117,"in_reply_to":"AAAAUH%2F%2BDWc%3D","updated":"2014-01-31 12:07:00.000000000","message":"Oops, my mistake. Done.","commit_id":"cb8fce3dee5bd63e71519cf754816860bb8bec6a"}],"nova/tests/objects/test_instance_action.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"f53cd61c2f25dca17f24d6f35e08c720a0582609","unresolved":false,"context_lines":[{"line_number":143,"context_line":"        event \u003d instance_action.InstanceActionEvent()"},{"line_number":144,"context_line":"        primitive \u003d event.obj_to_primitive(target_version\u003d\u00271.0\u0027)"},{"line_number":145,"context_line":"        self.assertNotIn(\u0027host\u0027, primitive)"},{"line_number":146,"context_line":"        self.assertNotIn(\u0027details\u0027, primitive)"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"    def test_get_by_id(self):"},{"line_number":149,"context_line":"        self.mox.StubOutWithMock(db, \u0027action_event_get_by_id\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAUH%2F%2BDVU%3D","line":146,"updated":"2014-01-30 16:45:34.000000000","message":"If they\u0027re not set, they won\u0027t be in there anyway. Please set the fields before testing that they\u0027re properly removed. Even better would be to test that they *are* there in target_version\u003d\"1.1\" and absent with \"1.0\".","commit_id":"cb8fce3dee5bd63e71519cf754816860bb8bec6a"},{"author":{"_account_id":2468,"name":"unicell","email":"unicell@gmail.com","username":"unicell"},"change_message_id":"1099799f890138cf0af40df6d6ad9ab39e03ced5","unresolved":false,"context_lines":[{"line_number":143,"context_line":"        event \u003d instance_action.InstanceActionEvent()"},{"line_number":144,"context_line":"        primitive \u003d event.obj_to_primitive(target_version\u003d\u00271.0\u0027)"},{"line_number":145,"context_line":"        self.assertNotIn(\u0027host\u0027, primitive)"},{"line_number":146,"context_line":"        self.assertNotIn(\u0027details\u0027, primitive)"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"    def test_get_by_id(self):"},{"line_number":149,"context_line":"        self.mox.StubOutWithMock(db, \u0027action_event_get_by_id\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAUH%2F9%2B2g%3D","line":146,"in_reply_to":"AAAAUH%2F%2BDVU%3D","updated":"2014-01-31 12:07:00.000000000","message":"Done","commit_id":"cb8fce3dee5bd63e71519cf754816860bb8bec6a"}]}
