)]}'
{"nova/objects/instance_mapping.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"a47fd81b0c8a97174b8870a12d49fa1d24ed5ff0","unresolved":false,"context_lines":[{"line_number":52,"context_line":"        return db_mapping"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    @base.remotable_classmethod"},{"line_number":55,"context_line":"    def get_by_instance_uuid(cls, context, instance_uuid):"},{"line_number":56,"context_line":"        db_mapping \u003d cls._get_by_instance_uuid_from_db(context, instance_uuid)"},{"line_number":57,"context_line":"        return cls._from_db_object(context, cls(), db_mapping)"},{"line_number":58,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a80dd14_d5e2762e","line":55,"updated":"2015-03-17 14:20:52.000000000","message":"please don\u0027t add a context arg for remotable methods","commit_id":"d1531ff68639c3aa00a7bc80841e91a31a9a0641"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"3878da29f424213013188a13f454f4ec23eff426","unresolved":false,"context_lines":[{"line_number":52,"context_line":"        return db_mapping"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    @base.remotable_classmethod"},{"line_number":55,"context_line":"    def get_by_instance_uuid(cls, context, instance_uuid):"},{"line_number":56,"context_line":"        db_mapping \u003d cls._get_by_instance_uuid_from_db(context, instance_uuid)"},{"line_number":57,"context_line":"        return cls._from_db_object(context, cls(), db_mapping)"},{"line_number":58,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a80dd14_757aaa26","line":55,"in_reply_to":"9a80dd14_35b3d20b","updated":"2015-03-17 14:24:03.000000000","message":"My bad, makes sense because that\u0027s a classmethod...","commit_id":"d1531ff68639c3aa00a7bc80841e91a31a9a0641"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"b059fe5f9574fd1208d33444e944ade7f00a13d9","unresolved":false,"context_lines":[{"line_number":52,"context_line":"        return db_mapping"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    @base.remotable_classmethod"},{"line_number":55,"context_line":"    def get_by_instance_uuid(cls, context, instance_uuid):"},{"line_number":56,"context_line":"        db_mapping \u003d cls._get_by_instance_uuid_from_db(context, instance_uuid)"},{"line_number":57,"context_line":"        return cls._from_db_object(context, cls(), db_mapping)"},{"line_number":58,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a80dd14_35b3d20b","line":55,"in_reply_to":"9a80dd14_d5e2762e","updated":"2015-03-17 14:23:23.000000000","message":"Actually, this is okay because it\u0027s a remotable classmethod.","commit_id":"d1531ff68639c3aa00a7bc80841e91a31a9a0641"},{"author":{"_account_id":12548,"name":"Dheeraj Gupta","email":"dheeraj.gupta4@gmail.com","username":"dgupta"},"change_message_id":"75ca8314711b040d1a0cb79f961ea38b5ad00a18","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from nova.objects import fields"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class InstanceMapping(base.NovaTimestampObject, base.NovaObject):"},{"line_number":22,"context_line":"    # Version 1.0: Initial version"},{"line_number":23,"context_line":"    VERSION \u003d \u00271.0\u0027"},{"line_number":24,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9a80dd14_596054a4","line":21,"updated":"2015-03-18 09:26:34.000000000","message":"InstanceMapping model also does not have timestamp related fields, so is this really needed?","commit_id":"06b586e8a7baaee2c585d50fae5580790512b400"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"8387b0109b0b345f5f916e7d4fd2d1b9ae798129","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from nova.objects import fields"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class InstanceMapping(base.NovaTimestampObject, base.NovaObject):"},{"line_number":22,"context_line":"    # Version 1.0: Initial version"},{"line_number":23,"context_line":"    VERSION \u003d \u00271.0\u0027"},{"line_number":24,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9a80dd14_97928bf4","line":21,"in_reply_to":"9a80dd14_596054a4","updated":"2015-03-18 14:05:11.000000000","message":"Yes.  It does have these fields, it just gets them by inheriting from models.TimestampMixin so it\u0027s not immediately obvious.  But the db migration includes them.","commit_id":"06b586e8a7baaee2c585d50fae5580790512b400"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"1524f7cf2e311abd4ebb67ace26f5ccbd883bf42","unresolved":false,"context_lines":[{"line_number":98,"context_line":""},{"line_number":99,"context_line":"        with session.begin():"},{"line_number":100,"context_line":"            result \u003d session.query(api_models.InstanceMapping).filter_by("},{"line_number":101,"context_line":"                    instance_uuid\u003dinstance_uuid).delete()"},{"line_number":102,"context_line":"            if not result:"},{"line_number":103,"context_line":"                raise exception.InstanceMappingNotFound(uuid\u003dinstance_uuid)"},{"line_number":104,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"9a80dd14_05c72199","line":101,"range":{"start_line":101,"start_character":20,"end_line":101,"end_character":33},"updated":"2015-03-19 06:28:45.000000000","message":"Just noting it took me a moment to realize there was a .delete() on the end here. At first it looked like we had forgotten it!","commit_id":"12b481a668dd06ee74a07ccd4ad796d996914241"}],"nova/tests/functional/db/test_instance_mapping.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"d98b16a1a87507f57cfed641503b38b09c2049a1","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    return instance_mapping.InstanceMapping._create_in_db(ctxt, args)"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"class InstanceMappingTestCase(test.NoDBTestCase):"},{"line_number":37,"context_line":"    def setUp(self):"},{"line_number":38,"context_line":"        super(InstanceMappingTestCase, self).setUp()"},{"line_number":39,"context_line":"        self.useFixture(fixtures.Database(database\u003d\u0027api\u0027))"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a80dd14_e803e673","line":36,"updated":"2015-03-18 14:55:52.000000000","message":"wow, NoDB test case for the tests that use the DB, thats confusing, but I see why.","commit_id":"cbfe9fdd777189529e2d9b5f76438afb52e74cae"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"51f204c219c32f03afa43748db789879935aba82","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    return instance_mapping.InstanceMapping._create_in_db(ctxt, args)"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"class InstanceMappingTestCase(test.NoDBTestCase):"},{"line_number":37,"context_line":"    def setUp(self):"},{"line_number":38,"context_line":"        super(InstanceMappingTestCase, self).setUp()"},{"line_number":39,"context_line":"        self.useFixture(fixtures.Database(database\u003d\u0027api\u0027))"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a80dd14_433e95db","line":36,"in_reply_to":"9a80dd14_e803e673","updated":"2015-03-18 15:15:04.000000000","message":"Yeah, I want to sort this out later to make it more clear.","commit_id":"cbfe9fdd777189529e2d9b5f76438afb52e74cae"}]}
