)]}'
{"nova/conductor/rpcapi.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"8b4102263e8cdafe37f675dd4faf0c9d58ed2dcb","unresolved":false,"context_lines":[{"line_number":244,"context_line":"        return cctxt.call(context, \u0027object_action\u0027, objinst\u003dobjinst,"},{"line_number":245,"context_line":"                          objmethod\u003dobjmethod, args\u003dargs, kwargs\u003dkwargs)"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"    def object_backport(self, context, objinst, target_version):"},{"line_number":248,"context_line":"        cctxt \u003d self.client.prepare()"},{"line_number":249,"context_line":"        return cctxt.call(context, \u0027object_backport\u0027, objinst\u003dobjinst,"},{"line_number":250,"context_line":"                          target_version\u003dtarget_version)"}],"source_content_type":"text/x-python","patch_set":5,"id":"da20952f_25ceac5a","line":247,"updated":"2015-08-28 13:56:08.000000000","message":"wondering if we can drop this now?","commit_id":"fc8130978b16ff5929d81c2deafd3d737d74b889"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"f9fef8ecf1a48373bd18acc9c1421fab821f7cb2","unresolved":false,"context_lines":[{"line_number":244,"context_line":"        return cctxt.call(context, \u0027object_action\u0027, objinst\u003dobjinst,"},{"line_number":245,"context_line":"                          objmethod\u003dobjmethod, args\u003dargs, kwargs\u003dkwargs)"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"    def object_backport(self, context, objinst, target_version):"},{"line_number":248,"context_line":"        cctxt \u003d self.client.prepare()"},{"line_number":249,"context_line":"        return cctxt.call(context, \u0027object_backport\u0027, objinst\u003dobjinst,"},{"line_number":250,"context_line":"                          target_version\u003dtarget_version)"}],"source_content_type":"text/x-python","patch_set":5,"id":"da20952f_655ee477","line":247,"in_reply_to":"da20952f_25ceac5a","updated":"2015-08-28 13:59:32.000000000","message":"We can do that in a later change I guess","commit_id":"fc8130978b16ff5929d81c2deafd3d737d74b889"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"5b74317891bb9292575d304306afe5e326c2bee8","unresolved":false,"context_lines":[{"line_number":244,"context_line":"        return cctxt.call(context, \u0027object_action\u0027, objinst\u003dobjinst,"},{"line_number":245,"context_line":"                          objmethod\u003dobjmethod, args\u003dargs, kwargs\u003dkwargs)"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"    def object_backport(self, context, objinst, target_version):"},{"line_number":248,"context_line":"        cctxt \u003d self.client.prepare()"},{"line_number":249,"context_line":"        return cctxt.call(context, \u0027object_backport\u0027, objinst\u003dobjinst,"},{"line_number":250,"context_line":"                          target_version\u003dtarget_version)"}],"source_content_type":"text/x-python","patch_set":5,"id":"da20952f_85ef7886","line":247,"in_reply_to":"da20952f_25ceac5a","updated":"2015-08-28 14:00:16.000000000","message":"as per IRC, totally a separate patch makes sense to drop that.","commit_id":"fc8130978b16ff5929d81c2deafd3d737d74b889"}],"nova/tests/unit/objects/test_objects.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"af289a939696585da562ee9b2cb4e9d016eff10b","unresolved":false,"context_lines":[{"line_number":986,"context_line":"        self.assertEqual(\u00271.6\u0027, obj.VERSION)"},{"line_number":987,"context_line":""},{"line_number":988,"context_line":"    @mock.patch(\u0027oslo_versionedobjects.base.obj_tree_get_versions\u0027)"},{"line_number":989,"context_line":"    def test_nested_backport(self, mock_get_versions):"},{"line_number":990,"context_line":"        self.flags(use_local\u003dTrue, group\u003d\u0027conductor\u0027)"},{"line_number":991,"context_line":"        conductor \u003d conductor_api.LocalAPI()"},{"line_number":992,"context_line":"        real_obv \u003d conductor.object_backport_versions"}],"source_content_type":"text/x-python","patch_set":2,"id":"da20952f_4cfc923e","line":989,"updated":"2015-08-26 20:48:45.000000000","message":"Might be nice to add a comment explaining the details of how this test works. Took me reading it a few times to really understand it, and I used some of the comments you removed to do that :)","commit_id":"fb8a0c14ba06bc02feb0ae9adeb6e043fb97d835"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"80392e6a6a40ca153cddb359a37c6d51d5b0fe4e","unresolved":false,"context_lines":[{"line_number":986,"context_line":"        self.assertEqual(\u00271.6\u0027, obj.VERSION)"},{"line_number":987,"context_line":""},{"line_number":988,"context_line":"    @mock.patch(\u0027oslo_versionedobjects.base.obj_tree_get_versions\u0027)"},{"line_number":989,"context_line":"    def test_nested_backport(self, mock_get_versions):"},{"line_number":990,"context_line":"        self.flags(use_local\u003dTrue, group\u003d\u0027conductor\u0027)"},{"line_number":991,"context_line":"        conductor \u003d conductor_api.LocalAPI()"},{"line_number":992,"context_line":"        real_obv \u003d conductor.object_backport_versions"}],"source_content_type":"text/x-python","patch_set":2,"id":"da20952f_4c81f28e","line":989,"in_reply_to":"da20952f_4cfc923e","updated":"2015-08-26 20:50:24.000000000","message":"Actually, I need to rename this as it really is nothing related to what this test was before, I just used the bones.\n\nI wanted this up to get a run on it, so I\u0027ll update this after it\u0027s finished.","commit_id":"fb8a0c14ba06bc02feb0ae9adeb6e043fb97d835"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"6db0908af2376c5f85f61ab71b99093a7d889ead","unresolved":false,"context_lines":[{"line_number":1022,"context_line":"            \u0027Parent\u0027: \u00271.0\u0027,"},{"line_number":1023,"context_line":"            \u0027Child\u0027: \u00271.5\u0027,"},{"line_number":1024,"context_line":"        }"},{"line_number":1025,"context_line":"        call_context \u003d {}"},{"line_number":1026,"context_line":"        real_ofp \u003d base.NovaObject.obj_from_primitive"},{"line_number":1027,"context_line":""},{"line_number":1028,"context_line":"        def fake_obj_from_primitive(*a, **k):"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_f60c593d","line":1025,"updated":"2015-09-01 17:08:42.000000000","message":"Seems like this could have just been a boolean.","commit_id":"d5f59c1a3278e344f83a0c5b44ca94c9402bad22"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"730a62e686497d10b05f251d038a86ef258f36e7","unresolved":false,"context_lines":[{"line_number":1022,"context_line":"            \u0027Parent\u0027: \u00271.0\u0027,"},{"line_number":1023,"context_line":"            \u0027Child\u0027: \u00271.5\u0027,"},{"line_number":1024,"context_line":"        }"},{"line_number":1025,"context_line":"        call_context \u003d {}"},{"line_number":1026,"context_line":"        real_ofp \u003d base.NovaObject.obj_from_primitive"},{"line_number":1027,"context_line":""},{"line_number":1028,"context_line":"        def fake_obj_from_primitive(*a, **k):"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_b66ee194","line":1025,"in_reply_to":"da20952f_1636adb4","updated":"2015-09-01 17:12:48.000000000","message":"I guess I was thinking self.call_context \u003d False or something, but sure.","commit_id":"d5f59c1a3278e344f83a0c5b44ca94c9402bad22"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"56d3f60d71fcf1dd0a6603a0136dc0e035be7a4a","unresolved":false,"context_lines":[{"line_number":1022,"context_line":"            \u0027Parent\u0027: \u00271.0\u0027,"},{"line_number":1023,"context_line":"            \u0027Child\u0027: \u00271.5\u0027,"},{"line_number":1024,"context_line":"        }"},{"line_number":1025,"context_line":"        call_context \u003d {}"},{"line_number":1026,"context_line":"        real_ofp \u003d base.NovaObject.obj_from_primitive"},{"line_number":1027,"context_line":""},{"line_number":1028,"context_line":"        def fake_obj_from_primitive(*a, **k):"}],"source_content_type":"text/x-python","patch_set":6,"id":"da20952f_1636adb4","line":1025,"in_reply_to":"da20952f_f60c593d","updated":"2015-09-01 17:11:40.000000000","message":"No, that\u0027s not how python scoping works. It was a boolean here and I set it in the inner scope of fake_obj_from_primitive() below, then it would be local there and not affect the outer scope. Using a dict or a list is a common convention to set some state that is visible outside the helper.","commit_id":"d5f59c1a3278e344f83a0c5b44ca94c9402bad22"}]}
