)]}'
{"nova/conductor/api.py":[{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"d9e031ee4fa0fcc0e94a0f798b31072b7349ec0d","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        return self._manager.instance_get(context, instance_id)"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    def instance_get_by_uuid(self, context, instance_uuid,"},{"line_number":71,"context_line":"                             columns_to_join\u003dNone):"},{"line_number":72,"context_line":"        return self._manager.instance_get_by_uuid(context, instance_uuid,"},{"line_number":73,"context_line":"                columns_to_join)"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAOn%2F%2F4vM%3D","line":71,"updated":"2013-04-13 01:35:57.000000000","message":"should this be []? In nova/compute/manager.py you use []","commit_id":"5bd4b2056b1832351926243a1bf7f6eeaa8e84dd"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"485637327de14d447d56da866bc26ecbfeff16a6","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        return self._manager.instance_get(context, instance_id)"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    def instance_get_by_uuid(self, context, instance_uuid,"},{"line_number":71,"context_line":"                             columns_to_join\u003dNone):"},{"line_number":72,"context_line":"        return self._manager.instance_get_by_uuid(context, instance_uuid,"},{"line_number":73,"context_line":"                columns_to_join)"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAOn%2F%2Fzyc%3D","line":71,"in_reply_to":"AAAAOn%2F%2F3ak%3D","updated":"2013-04-22 17:32:18.000000000","message":"oops yup nvm.","commit_id":"5bd4b2056b1832351926243a1bf7f6eeaa8e84dd"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"0704f839388b4db352fe6afc76409a8f5a5768a3","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        return self._manager.instance_get(context, instance_id)"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    def instance_get_by_uuid(self, context, instance_uuid,"},{"line_number":71,"context_line":"                             columns_to_join\u003dNone):"},{"line_number":72,"context_line":"        return self._manager.instance_get_by_uuid(context, instance_uuid,"},{"line_number":73,"context_line":"                columns_to_join)"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAOn%2F%2F3ak%3D","line":71,"in_reply_to":"AAAAOn%2F%2F4vM%3D","updated":"2013-04-16 16:56:38.000000000","message":"That would certainly be cleaner, but due to the design of python using [] as a default parameter can lead to trouble.  http://effbot.org/zone/default-values.htm basically default args are set at define time, not runtime, so changing the list would affect all later callers.","commit_id":"5bd4b2056b1832351926243a1bf7f6eeaa8e84dd"}],"nova/conductor/manager.py":[{"author":{"_account_id":2835,"name":"Brian Elliott","email":"bdelliott@gmail.com","username":"belliott"},"change_message_id":"a47e5e2311b48903770ff918fa86da826e411a2e","unresolved":false,"context_lines":[{"line_number":49,"context_line":"class ConductorManager(manager.Manager):"},{"line_number":50,"context_line":"    \"\"\"Mission: TBD.\"\"\""},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    RPC_API_VERSION \u003d \u00271.48\u0027"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":55,"context_line":"        super(ConductorManager, self).__init__(*args, **kwargs)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAOn%2F%2F3Zg%3D","line":52,"updated":"2013-04-16 17:26:09.000000000","message":"Version bump","commit_id":"5bd4b2056b1832351926243a1bf7f6eeaa8e84dd"}],"nova/conductor/rpcapi.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"b6e9fbb046977fc4128fb258566963d9ac0288b5","unresolved":false,"context_lines":[{"line_number":120,"context_line":"        msg \u003d self.make_msg(\u0027instance_get_by_uuid\u0027,"},{"line_number":121,"context_line":"                            instance_uuid\u003dinstance_uuid,"},{"line_number":122,"context_line":"                            columns_to_join\u003dcolumns_to_join)"},{"line_number":123,"context_line":"        return self.call(context, msg, version\u003d\u00271.2\u0027)"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    def migration_get(self, context, migration_id):"},{"line_number":126,"context_line":"        msg \u003d self.make_msg(\u0027migration_get\u0027, migration_id\u003dmigration_id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2F5U8%3D","line":123,"updated":"2013-04-12 15:53:24.000000000","message":"This needs a version bump, no? A v1.2 conductor won\u0027t like the extra arg...","commit_id":"280dba741f03c8db0aafa78b15cf49c02ad07af7"},{"author":{"_account_id":2835,"name":"Brian Elliott","email":"bdelliott@gmail.com","username":"belliott"},"change_message_id":"a47e5e2311b48903770ff918fa86da826e411a2e","unresolved":false,"context_lines":[{"line_number":86,"context_line":"    1.46 - Added compute_confirm_resize"},{"line_number":87,"context_line":"    1.47 - Added columns_to_join to instance_get_all_by_host and"},{"line_number":88,"context_line":"                 instance_get_all_by_filters"},{"line_number":89,"context_line":"    1.48 - Added columns_to_join to instance_get_by_uuid"},{"line_number":90,"context_line":"    \"\"\""},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    BASE_RPC_API_VERSION \u003d \u00271.0\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAOn%2F%2F3Zk%3D","line":89,"updated":"2013-04-16 17:26:09.000000000","message":"Gonna need to rebase for a version bump. :)","commit_id":"5bd4b2056b1832351926243a1bf7f6eeaa8e84dd"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"aca010b8ebc45be8a621d4c672b216df699e2d60","unresolved":false,"context_lines":[{"line_number":122,"context_line":"        msg \u003d self.make_msg(\u0027instance_get_by_uuid\u0027,"},{"line_number":123,"context_line":"                            instance_uuid\u003dinstance_uuid,"},{"line_number":124,"context_line":"                            columns_to_join\u003dcolumns_to_join)"},{"line_number":125,"context_line":"        return self.call(context, msg, version\u003d\u00271.48\u0027)"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    def migration_get(self, context, migration_id):"},{"line_number":128,"context_line":"        msg \u003d self.make_msg(\u0027migration_get\u0027, migration_id\u003dmigration_id)"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAOn%2F%2F0C4%3D","line":125,"updated":"2013-04-22 15:07:56.000000000","message":"Does this want to be 1.49? Maybe a rebase clash caused this?","commit_id":"0fc9205810eb40d784776be471bdf85126cf6fe9"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"87efb9f72373244b637c6444081e380fbdb7266c","unresolved":false,"context_lines":[{"line_number":122,"context_line":"        msg \u003d self.make_msg(\u0027instance_get_by_uuid\u0027,"},{"line_number":123,"context_line":"                            instance_uuid\u003dinstance_uuid,"},{"line_number":124,"context_line":"                            columns_to_join\u003dcolumns_to_join)"},{"line_number":125,"context_line":"        return self.call(context, msg, version\u003d\u00271.48\u0027)"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    def migration_get(self, context, migration_id):"},{"line_number":128,"context_line":"        msg \u003d self.make_msg(\u0027migration_get\u0027, migration_id\u003dmigration_id)"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAOn%2F%2Fzek%3D","line":125,"in_reply_to":"AAAAOn%2F%2F0C4%3D","updated":"2013-04-22 19:56:10.000000000","message":"Yep, rebase issue.  Thanks.","commit_id":"0fc9205810eb40d784776be471bdf85126cf6fe9"}],"nova/db/sqlalchemy/api.py":[{"author":{"_account_id":2835,"name":"Brian Elliott","email":"bdelliott@gmail.com","username":"belliott"},"change_message_id":"c3e6f40a3087c532dcdef5f733550cfa97b330df","unresolved":false,"context_lines":[{"line_number":1558,"context_line":"            options(joinedload_all(\u0027security_groups.rules\u0027))"},{"line_number":1559,"context_line":"    for column in columns_to_join:"},{"line_number":1560,"context_line":"        query \u003d query.options(joinedload(column))"},{"line_number":1561,"context_line":"    return query"},{"line_number":1562,"context_line":""},{"line_number":1563,"context_line":""},{"line_number":1564,"context_line":"def _instances_fill_metadata(context, instances, manual_joins\u003dNone):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAOn%2F%2F5mo%3D","line":1561,"updated":"2013-04-12 11:33:29.000000000","message":"Just missing the manual joins","commit_id":"426f429b9ab3281cac3cd670b3f47662fd792f97"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"b6e9fbb046977fc4128fb258566963d9ac0288b5","unresolved":false,"context_lines":[{"line_number":1555,"context_line":"            options(joinedload_all(\u0027security_groups.rules\u0027)).\\"},{"line_number":1556,"context_line":"            options(joinedload(\u0027info_cache\u0027))"},{"line_number":1557,"context_line":"    #NOTE(alaski): Using joins rather than _instances_fill_metadata because"},{"line_number":1558,"context_line":"    # some callers need a model rather than a dict."},{"line_number":1559,"context_line":"    for column in columns_to_join:"},{"line_number":1560,"context_line":"        query \u003d query.options(joinedload(column))"},{"line_number":1561,"context_line":"    return query"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2F5U0%3D","line":1558,"updated":"2013-04-12 15:53:24.000000000","message":"Even still, there\u0027s no gain to be had in the single-instance case, and all the increased latency still applies. So, yes, good choice :)","commit_id":"280dba741f03c8db0aafa78b15cf49c02ad07af7"},{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"08f97a91b7b7a8a342bfd0b32ec1ee5b0afcb9fe","unresolved":false,"context_lines":[{"line_number":1560,"context_line":"    #NOTE(alaski) Stop lazy loading of columns not needed."},{"line_number":1561,"context_line":"    for col in [\u0027metadata\u0027, \u0027system_metadata\u0027]:"},{"line_number":1562,"context_line":"        if col not in columns_to_join:"},{"line_number":1563,"context_line":"            query \u003d query.options(noload(col))"},{"line_number":1564,"context_line":"    return query"},{"line_number":1565,"context_line":""},{"line_number":1566,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAOn%2F%2F0FI%3D","line":1563,"updated":"2013-04-22 14:37:53.000000000","message":"First time I\u0027ve seen this.  Cool.","commit_id":"0fc9205810eb40d784776be471bdf85126cf6fe9"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"04cdd1007638b13feef1b83ad876b67b742d013f","unresolved":false,"context_lines":[{"line_number":1560,"context_line":"    #NOTE(alaski) Stop lazy loading of columns not needed."},{"line_number":1561,"context_line":"    for col in [\u0027metadata\u0027, \u0027system_metadata\u0027]:"},{"line_number":1562,"context_line":"        if col not in columns_to_join:"},{"line_number":1563,"context_line":"            query \u003d query.options(noload(col))"},{"line_number":1564,"context_line":"    return query"},{"line_number":1565,"context_line":""},{"line_number":1566,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAOn%2F%2Fz%2F4%3D","line":1563,"in_reply_to":"AAAAOn%2F%2F0FI%3D","updated":"2013-04-22 15:33:19.000000000","message":"Whoa, nifty.","commit_id":"0fc9205810eb40d784776be471bdf85126cf6fe9"}],"nova/tests/compute/test_compute.py":[{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"5dd482d8e45d2841f054ec4e0cba35e45d393be3","unresolved":false,"context_lines":[{"line_number":3814,"context_line":"                               \u0027status\u0027: None})"},{"line_number":3815,"context_line":""},{"line_number":3816,"context_line":"        def fake_instance_get_by_uuid(context, instance_uuid,"},{"line_number":3817,"context_line":"                cols_to_join\u003dNone):"},{"line_number":3818,"context_line":"            # raise InstanceNotFound exception for uuid \u0027noexist\u0027"},{"line_number":3819,"context_line":"            if instance_uuid \u003d\u003d \u0027noexist\u0027:"},{"line_number":3820,"context_line":"                raise exception.InstanceNotFound(instance_id\u003dinstance_uuid)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAOn%2F%2FzVs%3D","line":3817,"updated":"2013-04-22 20:55:04.000000000","message":"Should cols_to_join be columns_to_join to be consistent?","commit_id":"231964f76532dac66289448dba6b035594010d4c"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"1300b9804da42d231bb7f2fcc6bbd3e6c2bde61e","unresolved":false,"context_lines":[{"line_number":3814,"context_line":"                               \u0027status\u0027: None})"},{"line_number":3815,"context_line":""},{"line_number":3816,"context_line":"        def fake_instance_get_by_uuid(context, instance_uuid,"},{"line_number":3817,"context_line":"                cols_to_join\u003dNone):"},{"line_number":3818,"context_line":"            # raise InstanceNotFound exception for uuid \u0027noexist\u0027"},{"line_number":3819,"context_line":"            if instance_uuid \u003d\u003d \u0027noexist\u0027:"},{"line_number":3820,"context_line":"                raise exception.InstanceNotFound(instance_id\u003dinstance_uuid)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAOn%2F%2FzPk%3D","line":3817,"in_reply_to":"AAAAOn%2F%2FzVs%3D","updated":"2013-04-22 21:29:08.000000000","message":"Yes, it probably should be.  But all of these columns_to_join workarounds are a bit messy in the sense that they leak db abstractions out to the rest of the code, so we\u0027re going to need to clean this all up anyways.  I\u0027d like to defer this until then.","commit_id":"231964f76532dac66289448dba6b035594010d4c"}],"nova/tests/test_db_api.py":[{"author":{"_account_id":2835,"name":"Brian Elliott","email":"bdelliott@gmail.com","username":"belliott"},"change_message_id":"a47e5e2311b48903770ff918fa86da826e411a2e","unresolved":false,"context_lines":[{"line_number":204,"context_line":"                                                {\u0027display_name\u0027: u\u0027test\u0027})"},{"line_number":205,"context_line":"        self.assertEqual(1, len(result))"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"    def test_instance_get_by_uuid(self):"},{"line_number":208,"context_line":"        inst \u003d self.create_instances_with_args()"},{"line_number":209,"context_line":"        fake_meta, fake_sys \u003d self.create_metadata_for_instance(inst[\u0027uuid\u0027])"},{"line_number":210,"context_line":"        result \u003d db.instance_get_by_uuid(self.context, inst[\u0027uuid\u0027])"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAOn%2F%2F3Z4%3D","line":207,"updated":"2013-04-16 17:26:09.000000000","message":"Nice test cases.","commit_id":"5bd4b2056b1832351926243a1bf7f6eeaa8e84dd"}]}
