)]}'
{"nova/api/openstack/compute/legacy_v2/servers.py":[{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"959f5f4f06506d29b3acdcb7949639aef1fcffa8","unresolved":false,"context_lines":[{"line_number":230,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":231,"context_line":"        except exception.FlavorNotFound:"},{"line_number":232,"context_line":"            LOG.debug(\"Flavor \u0027%s\u0027 could not be found\", search_opts[\u0027flavor\u0027])"},{"line_number":233,"context_line":"            instance_list \u003d objects.InstanceList()"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        if is_detail:"},{"line_number":236,"context_line":"            instance_list.fill_faults(context)"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba63e191_8d457eb4","line":233,"updated":"2016-01-19 18:57:29.000000000","message":"Pass in context here and fill_faults() doesn\u0027t need to change.","commit_id":"0cbc1c26cd014ee2fb0a4e62d422da4b3aa10b8b"},{"author":{"_account_id":10618,"name":"Pavel Kholkin","email":"p.v.holkin@mail.ru","username":"pkholkin"},"change_message_id":"9bef3ab239e7f2757498e1267eafc80453edeee8","unresolved":false,"context_lines":[{"line_number":230,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":231,"context_line":"        except exception.FlavorNotFound:"},{"line_number":232,"context_line":"            LOG.debug(\"Flavor \u0027%s\u0027 could not be found\", search_opts[\u0027flavor\u0027])"},{"line_number":233,"context_line":"            instance_list \u003d objects.InstanceList()"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        if is_detail:"},{"line_number":236,"context_line":"            instance_list.fill_faults(context)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a68dd71_09a0e0f3","line":233,"in_reply_to":"ba63e191_8d457eb4","updated":"2016-01-20 14:55:43.000000000","message":"Done","commit_id":"0cbc1c26cd014ee2fb0a4e62d422da4b3aa10b8b"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"4eff67d3387ce8645ec356a817bf3d8288580b3f","unresolved":false,"context_lines":[{"line_number":233,"context_line":"            instance_list \u003d objects.InstanceList()"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        if is_detail:"},{"line_number":236,"context_line":"            instance_list._context \u003d context"},{"line_number":237,"context_line":"            instance_list.fill_faults()"},{"line_number":238,"context_line":"            response \u003d self._view_builder.detail(req, instance_list)"},{"line_number":239,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a68dd71_3d383aa0","line":236,"updated":"2016-01-21 15:32:55.000000000","message":"Not a fan of updating a private member like this... seems like passing it into fill_faults() would have been better, but I don\u0027t want to keep switching between the two.","commit_id":"86963e60bea60f45d7d730442f6b447f58c3f275"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"56ab4d0b03a2d79234646ac22f0860b76c0682e5","unresolved":false,"context_lines":[{"line_number":233,"context_line":"            instance_list \u003d objects.InstanceList()"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        if is_detail:"},{"line_number":236,"context_line":"            instance_list._context \u003d context"},{"line_number":237,"context_line":"            instance_list.fill_faults()"},{"line_number":238,"context_line":"            response \u003d self._view_builder.detail(req, instance_list)"},{"line_number":239,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a68dd71_edb3cae7","line":236,"in_reply_to":"9a68dd71_3d383aa0","updated":"2016-01-21 18:18:03.000000000","message":"Yeah, when I suggested not passing it to fill_faults I thought it could be passed to the InstanceList constructor above.  I would prefer it being passed to fill_faults as well vs this, but I think that cleanup can happen after this.","commit_id":"86963e60bea60f45d7d730442f6b447f58c3f275"},{"author":{"_account_id":10618,"name":"Pavel Kholkin","email":"p.v.holkin@mail.ru","username":"pkholkin"},"change_message_id":"859ced22c978bd64699a4395634db8a26745a8a2","unresolved":false,"context_lines":[{"line_number":233,"context_line":"            instance_list \u003d objects.InstanceList()"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        if is_detail:"},{"line_number":236,"context_line":"            instance_list._context \u003d context"},{"line_number":237,"context_line":"            instance_list.fill_faults()"},{"line_number":238,"context_line":"            response \u003d self._view_builder.detail(req, instance_list)"},{"line_number":239,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a68dd71_fc503a60","line":236,"in_reply_to":"9a68dd71_edb3cae7","updated":"2016-01-22 09:54:54.000000000","message":"Guys, I think it is up to yours. Please look the 4-th patchset (with passing \u0027context\u0027 in) to compare these two variants. We will accept any your decision)","commit_id":"86963e60bea60f45d7d730442f6b447f58c3f275"}],"nova/api/openstack/compute/servers.py":[{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"959f5f4f06506d29b3acdcb7949639aef1fcffa8","unresolved":false,"context_lines":[{"line_number":401,"context_line":"        except exception.FlavorNotFound:"},{"line_number":402,"context_line":"            LOG.debug(\"Flavor \u0027%s\u0027 could not be found \","},{"line_number":403,"context_line":"                      search_opts[\u0027flavor\u0027])"},{"line_number":404,"context_line":"            instance_list \u003d objects.InstanceList()"},{"line_number":405,"context_line":""},{"line_number":406,"context_line":"        if is_detail:"},{"line_number":407,"context_line":"            instance_list.fill_faults(context)"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba63e191_2d1332ba","line":404,"updated":"2016-01-19 18:57:29.000000000","message":"Same here.","commit_id":"0cbc1c26cd014ee2fb0a4e62d422da4b3aa10b8b"},{"author":{"_account_id":10618,"name":"Pavel Kholkin","email":"p.v.holkin@mail.ru","username":"pkholkin"},"change_message_id":"9bef3ab239e7f2757498e1267eafc80453edeee8","unresolved":false,"context_lines":[{"line_number":401,"context_line":"        except exception.FlavorNotFound:"},{"line_number":402,"context_line":"            LOG.debug(\"Flavor \u0027%s\u0027 could not be found \","},{"line_number":403,"context_line":"                      search_opts[\u0027flavor\u0027])"},{"line_number":404,"context_line":"            instance_list \u003d objects.InstanceList()"},{"line_number":405,"context_line":""},{"line_number":406,"context_line":"        if is_detail:"},{"line_number":407,"context_line":"            instance_list.fill_faults(context)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a68dd71_c9a968e1","line":404,"in_reply_to":"ba63e191_2d1332ba","updated":"2016-01-20 14:55:43.000000000","message":"Done","commit_id":"0cbc1c26cd014ee2fb0a4e62d422da4b3aa10b8b"}],"nova/objects/instance.py":[{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"959f5f4f06506d29b3acdcb7949639aef1fcffa8","unresolved":false,"context_lines":[{"line_number":1101,"context_line":"        \"\"\""},{"line_number":1102,"context_line":"        uuids \u003d [inst.uuid for inst in self]"},{"line_number":1103,"context_line":"        faults \u003d objects.InstanceFaultList.get_by_instance_uuids("},{"line_number":1104,"context_line":"            self._context, uuids)"},{"line_number":1105,"context_line":"        faults_by_uuid \u003d {}"},{"line_number":1106,"context_line":"        for fault in faults:"},{"line_number":1107,"context_line":"            if fault.instance_uuid not in faults_by_uuid:"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba63e191_0debceb1","side":"PARENT","line":1104,"updated":"2016-01-19 18:57:29.000000000","message":"With objects using the contained context like this is the right thing to do.  It wasn\u0027t working here because context is not passed in when the InstanceList is created.  The proper fix here is to create InstanceList with a context, not pass it in to fill_faults.","commit_id":"b558d616c3b123dbe2a0914162b45765192f3a12"},{"author":{"_account_id":10618,"name":"Pavel Kholkin","email":"p.v.holkin@mail.ru","username":"pkholkin"},"change_message_id":"9bef3ab239e7f2757498e1267eafc80453edeee8","unresolved":false,"context_lines":[{"line_number":1101,"context_line":"        \"\"\""},{"line_number":1102,"context_line":"        uuids \u003d [inst.uuid for inst in self]"},{"line_number":1103,"context_line":"        faults \u003d objects.InstanceFaultList.get_by_instance_uuids("},{"line_number":1104,"context_line":"            self._context, uuids)"},{"line_number":1105,"context_line":"        faults_by_uuid \u003d {}"},{"line_number":1106,"context_line":"        for fault in faults:"},{"line_number":1107,"context_line":"            if fault.instance_uuid not in faults_by_uuid:"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a68dd71_29b9242f","side":"PARENT","line":1104,"in_reply_to":"ba63e191_0debceb1","updated":"2016-01-20 14:55:43.000000000","message":"Done","commit_id":"b558d616c3b123dbe2a0914162b45765192f3a12"}],"nova/tests/unit/db/test_db_api.py":[{"author":{"_account_id":10618,"name":"Pavel Kholkin","email":"p.v.holkin@mail.ru","username":"pkholkin"},"change_message_id":"a6acb3a96f84477a5dffa4505a8b743ae75d7c4b","unresolved":false,"context_lines":[{"line_number":904,"context_line":"        result \u003d _create_aggregate(context\u003dctxt, metadata\u003dNone)"},{"line_number":905,"context_line":""},{"line_number":906,"context_line":"        def counted():"},{"line_number":907,"context_line":"            def get_query(context, id, session, read_deleted):"},{"line_number":908,"context_line":"                get_query.counter +\u003d 1"},{"line_number":909,"context_line":"                raise db_exc.DBDuplicateEntry"},{"line_number":910,"context_line":"            get_query.counter \u003d 0"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa69d971_13b9dde9","side":"PARENT","line":907,"range":{"start_line":907,"start_character":39,"end_line":907,"end_character":48},"updated":"2015-12-30 13:02:19.000000000","message":"this should be returned","commit_id":"2cc2e708bc6ce6367a49a1434164bf633a61cd1b"}]}
