)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"ca7847e0b9e842cc3b4ba5159772dcfe8fc80739","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix serializer with None"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The JSONDictSerializer returns null if None is passed. This patch"},{"line_number":10,"context_line":"fixes serializer so that it returns None intead of null."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Depends-On: I7a4c565f9e067e1771bf6ec85c9c0486937a2cef"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"dada55a8_3b8bcf69","line":9,"range":{"start_line":9,"start_character":31,"end_line":9,"end_character":35},"updated":"2016-07-21 08:37:59.000000000","message":"It is better to say:\n\n returns a string \"null in API response if ...\"","commit_id":"413383337e272d29cc10080149e92bbb85ad9e92"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"3b08f56f87d46fe3b13f10e52e69bf8f15be940b","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix serializer with None"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The JSONDictSerializer returns null if None is passed. This patch"},{"line_number":10,"context_line":"fixes serializer so that it returns None intead of null."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Depends-On: I7a4c565f9e067e1771bf6ec85c9c0486937a2cef"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"dada55a8_83805b8c","line":9,"range":{"start_line":9,"start_character":31,"end_line":9,"end_character":35},"in_reply_to":"dada55a8_35bc72ba","updated":"2016-07-22 05:03:01.000000000","message":"What I wanted to say is that JSON serializer returns \u0027null\u0027 as a JSON-encoded string. null which was returned is a string, but a new return value None is not a string. I just highlighted what is changed, but I am okay with the current version.","commit_id":"413383337e272d29cc10080149e92bbb85ad9e92"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"d4d700a476586884ad15d782a522013af83eee7c","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix serializer with None"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The JSONDictSerializer returns null if None is passed. This patch"},{"line_number":10,"context_line":"fixes serializer so that it returns None intead of null."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Depends-On: I7a4c565f9e067e1771bf6ec85c9c0486937a2cef"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"dada55a8_35bc72ba","line":9,"range":{"start_line":9,"start_character":31,"end_line":9,"end_character":35},"in_reply_to":"dada55a8_3b8bcf69","updated":"2016-07-21 12:12:51.000000000","message":"I don\u0027t your point. It never return the string. However, I will make it clear.","commit_id":"413383337e272d29cc10080149e92bbb85ad9e92"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"ca7847e0b9e842cc3b4ba5159772dcfe8fc80739","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Fix serializer with None"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The JSONDictSerializer returns null if None is passed. This patch"},{"line_number":10,"context_line":"fixes serializer so that it returns None intead of null."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Depends-On: I7a4c565f9e067e1771bf6ec85c9c0486937a2cef"},{"line_number":13,"context_line":"Depends-On: Ia772927a28cb83c4c88680b5add925b12978dc5d"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"dada55a8_3b2f4f89","line":10,"range":{"start_line":10,"start_character":41,"end_line":10,"end_character":47},"updated":"2016-07-21 08:37:59.000000000","message":"intead -\u003e instead","commit_id":"413383337e272d29cc10080149e92bbb85ad9e92"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"d4d700a476586884ad15d782a522013af83eee7c","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Fix serializer with None"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The JSONDictSerializer returns null if None is passed. This patch"},{"line_number":10,"context_line":"fixes serializer so that it returns None intead of null."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Depends-On: I7a4c565f9e067e1771bf6ec85c9c0486937a2cef"},{"line_number":13,"context_line":"Depends-On: Ia772927a28cb83c4c88680b5add925b12978dc5d"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"dada55a8_95af1e7c","line":10,"range":{"start_line":10,"start_character":41,"end_line":10,"end_character":47},"in_reply_to":"dada55a8_3b2f4f89","updated":"2016-07-21 12:12:51.000000000","message":"Done","commit_id":"413383337e272d29cc10080149e92bbb85ad9e92"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"f1ec6651c7ad7ccd9308fdbd37b039fd561cd859","unresolved":false,"context_lines":[{"line_number":10,"context_line":"but the JSONDictSerializer doesn\u0027t expect the None is passed."},{"line_number":11,"context_line":"This patch add a check for None into serializer."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Depends-On: Ia772927a28cb83c4c88680b5add925b12978dc5d"},{"line_number":14,"context_line":"Change-Id: I6ee5f88ee518551f75416620750e0564945a42f8"},{"line_number":15,"context_line":"Closes-Bug: #1555921"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"fa7ab95a_830b8ed5","line":13,"updated":"2016-09-01 22:32:58.000000000","message":"why is this needed?","commit_id":"054902ff0de0dc5e52fd3f190093eb6fd72c3df5"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"93c17960cc114c871b01a8fc5d21bf4f63ba7c75","unresolved":false,"context_lines":[{"line_number":10,"context_line":"but the JSONDictSerializer doesn\u0027t expect the None is passed."},{"line_number":11,"context_line":"This patch add a check for None into serializer."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Depends-On: Ia772927a28cb83c4c88680b5add925b12978dc5d"},{"line_number":14,"context_line":"Change-Id: I6ee5f88ee518551f75416620750e0564945a42f8"},{"line_number":15,"context_line":"Closes-Bug: #1555921"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"fa7ab95a_b584440b","line":13,"in_reply_to":"fa7ab95a_830b8ed5","updated":"2016-09-02 02:37:42.000000000","message":"Because this patch breaks neutron-client because client doesn\u0027t expect API returns response code 200 and 201 without response body. We must merge this patch after client has been fixed.","commit_id":"054902ff0de0dc5e52fd3f190093eb6fd72c3df5"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"d18f40d744b657a6fea2eded86955b693717d0de","unresolved":false,"context_lines":[{"line_number":10,"context_line":"but the JSONDictSerializer doesn\u0027t expect the None is passed."},{"line_number":11,"context_line":"This patch add a check for None into serializer."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Depends-On: Ia772927a28cb83c4c88680b5add925b12978dc5d"},{"line_number":14,"context_line":"Change-Id: I6ee5f88ee518551f75416620750e0564945a42f8"},{"line_number":15,"context_line":"Closes-Bug: #1555921"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"fa7ab95a_c7f03b00","line":13,"in_reply_to":"fa7ab95a_b584440b","updated":"2016-09-02 03:02:52.000000000","message":"but then this means that newer servers can\u0027t work with older clients!","commit_id":"054902ff0de0dc5e52fd3f190093eb6fd72c3df5"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"b2b4755b74ed082c7ec2eb25ba092db139f3bcaf","unresolved":false,"context_lines":[{"line_number":10,"context_line":"but the JSONDictSerializer doesn\u0027t expect the None is passed."},{"line_number":11,"context_line":"This patch add a check for None into serializer."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Depends-On: Ia772927a28cb83c4c88680b5add925b12978dc5d"},{"line_number":14,"context_line":"Change-Id: I6ee5f88ee518551f75416620750e0564945a42f8"},{"line_number":15,"context_line":"Closes-Bug: #1555921"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"fa7ab95a_dd5acef1","line":13,"in_reply_to":"fa7ab95a_c7f03b00","updated":"2016-09-02 04:36:15.000000000","message":"True.\n\nDo you want to mean that we should firstly implement micro-version API? Or we should make some methods deprecated in client side?","commit_id":"054902ff0de0dc5e52fd3f190093eb6fd72c3df5"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"f6cde56548146bde06dcb4b67a693eb9a49a25bb","unresolved":false,"context_lines":[{"line_number":10,"context_line":"but the JSONDictSerializer doesn\u0027t expect the None is passed."},{"line_number":11,"context_line":"This patch add a check for None into serializer."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Depends-On: Ia772927a28cb83c4c88680b5add925b12978dc5d"},{"line_number":14,"context_line":"Change-Id: I6ee5f88ee518551f75416620750e0564945a42f8"},{"line_number":15,"context_line":"Closes-Bug: #1555921"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"da7fb54a_6a518662","line":13,"in_reply_to":"fa7ab95a_dd5acef1","updated":"2016-09-02 17:57:12.000000000","message":"I am saying that we can\u0027t really proceed with this if we don\u0027t figure out a way not to break existing clients.","commit_id":"054902ff0de0dc5e52fd3f190093eb6fd72c3df5"}],"neutron/tests/tempest/services/network/json/network_client.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"ca7847e0b9e842cc3b4ba5159772dcfe8fc80739","unresolved":false,"context_lines":[{"line_number":432,"context_line":"        body \u003d jsonutils.dumps(post_body)"},{"line_number":433,"context_line":"        resp, body \u003d self.post(uri, body)"},{"line_number":434,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":435,"context_line":"        if body:"},{"line_number":436,"context_line":"            body \u003d jsonutils.loads(body)"},{"line_number":437,"context_line":"        return service_client.ResponseBody(resp, body)"},{"line_number":438,"context_line":""},{"line_number":439,"context_line":"    def remove_router_from_l3_agent(self, agent_id, router_id):"}],"source_content_type":"text/x-python","patch_set":4,"id":"dada55a8_90857a5b","line":436,"range":{"start_line":435,"start_character":8,"end_line":436,"end_character":40},"updated":"2016-07-21 08:37:59.000000000","message":"If add_router_to_l3_agent returns None, do we need L435-436?","commit_id":"413383337e272d29cc10080149e92bbb85ad9e92"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"d4d700a476586884ad15d782a522013af83eee7c","unresolved":false,"context_lines":[{"line_number":432,"context_line":"        body \u003d jsonutils.dumps(post_body)"},{"line_number":433,"context_line":"        resp, body \u003d self.post(uri, body)"},{"line_number":434,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":435,"context_line":"        if body:"},{"line_number":436,"context_line":"            body \u003d jsonutils.loads(body)"},{"line_number":437,"context_line":"        return service_client.ResponseBody(resp, body)"},{"line_number":438,"context_line":""},{"line_number":439,"context_line":"    def remove_router_from_l3_agent(self, agent_id, router_id):"}],"source_content_type":"text/x-python","patch_set":4,"id":"dada55a8_f55c9a1a","line":436,"range":{"start_line":435,"start_character":8,"end_line":436,"end_character":40},"in_reply_to":"dada55a8_90857a5b","updated":"2016-07-21 12:12:51.000000000","message":"You\u0027re right. Done.","commit_id":"413383337e272d29cc10080149e92bbb85ad9e92"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"ca7847e0b9e842cc3b4ba5159772dcfe8fc80739","unresolved":false,"context_lines":[{"line_number":498,"context_line":"        uri \u003d \u0027%s/agents/%s/dhcp-networks\u0027 % (self.uri_prefix, agent_id)"},{"line_number":499,"context_line":"        resp, body \u003d self.post(uri, body)"},{"line_number":500,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":501,"context_line":"        if body:"},{"line_number":502,"context_line":"            body \u003d jsonutils.loads(body)"},{"line_number":503,"context_line":"        return service_client.ResponseBody(resp, body)"},{"line_number":504,"context_line":""},{"line_number":505,"context_line":"    def list_qos_policies(self, **filters):"}],"source_content_type":"text/x-python","patch_set":4,"id":"dada55a8_b07ebe67","line":502,"range":{"start_line":501,"start_character":8,"end_line":502,"end_character":40},"updated":"2016-07-21 08:37:59.000000000","message":"ditto","commit_id":"413383337e272d29cc10080149e92bbb85ad9e92"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"d4d700a476586884ad15d782a522013af83eee7c","unresolved":false,"context_lines":[{"line_number":498,"context_line":"        uri \u003d \u0027%s/agents/%s/dhcp-networks\u0027 % (self.uri_prefix, agent_id)"},{"line_number":499,"context_line":"        resp, body \u003d self.post(uri, body)"},{"line_number":500,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":501,"context_line":"        if body:"},{"line_number":502,"context_line":"            body \u003d jsonutils.loads(body)"},{"line_number":503,"context_line":"        return service_client.ResponseBody(resp, body)"},{"line_number":504,"context_line":""},{"line_number":505,"context_line":"    def list_qos_policies(self, **filters):"}],"source_content_type":"text/x-python","patch_set":4,"id":"dada55a8_b5aea22b","line":502,"range":{"start_line":501,"start_character":8,"end_line":502,"end_character":40},"in_reply_to":"dada55a8_b07ebe67","updated":"2016-07-21 12:12:51.000000000","message":"Done","commit_id":"413383337e272d29cc10080149e92bbb85ad9e92"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"1c0442947f107691f7baf98051ee2fbac0543d44","unresolved":false,"context_lines":[{"line_number":432,"context_line":"        body \u003d jsonutils.dumps(post_body)"},{"line_number":433,"context_line":"        resp, body \u003d self.post(uri, body)"},{"line_number":434,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":435,"context_line":"        body \u003d jsonutils.loads(body)"},{"line_number":436,"context_line":"        return service_client.ResponseBody(resp, body)"},{"line_number":437,"context_line":""},{"line_number":438,"context_line":"    def remove_router_from_l3_agent(self, agent_id, router_id):"}],"source_content_type":"text/x-python","patch_set":5,"id":"dada55a8_063acf98","side":"PARENT","line":435,"updated":"2016-07-21 17:47:40.000000000","message":"are you sure that these APIs were not meant to return something and they never did? With 201 we would expect a body. I suppose the RFC is pretty lax on this front [1].\n\n[1] https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html","commit_id":"8f5201271b7f67ab408f74dc3f4a29d83d11117b"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"d98ab526fdf9ca2ca6f561683154bdcdee3c0f82","unresolved":false,"context_lines":[{"line_number":432,"context_line":"        body \u003d jsonutils.dumps(post_body)"},{"line_number":433,"context_line":"        resp, body \u003d self.post(uri, body)"},{"line_number":434,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":435,"context_line":"        body \u003d jsonutils.loads(body)"},{"line_number":436,"context_line":"        return service_client.ResponseBody(resp, body)"},{"line_number":437,"context_line":""},{"line_number":438,"context_line":"    def remove_router_from_l3_agent(self, agent_id, router_id):"}],"source_content_type":"text/x-python","patch_set":5,"id":"dada55a8_d99228f6","side":"PARENT","line":435,"in_reply_to":"dada55a8_063acf98","updated":"2016-07-22 15:51:49.000000000","message":"Actually add_router_to_l3_agent and add_dhcp_agent_to_network doesn\u0027t return a body and the caller doesn\u0027t expect it as well. Therefore, I just removed them. We don\u0027t need to consider general behavior here and I would consider the two methods only.","commit_id":"8f5201271b7f67ab408f74dc3f4a29d83d11117b"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"1c0442947f107691f7baf98051ee2fbac0543d44","unresolved":false,"context_lines":[{"line_number":497,"context_line":"        uri \u003d \u0027%s/agents/%s/dhcp-networks\u0027 % (self.uri_prefix, agent_id)"},{"line_number":498,"context_line":"        resp, body \u003d self.post(uri, body)"},{"line_number":499,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":500,"context_line":"        body \u003d jsonutils.loads(body)"},{"line_number":501,"context_line":"        return service_client.ResponseBody(resp, body)"},{"line_number":502,"context_line":""},{"line_number":503,"context_line":"    def list_qos_policies(self, **filters):"}],"source_content_type":"text/x-python","patch_set":5,"id":"dada55a8_46404707","side":"PARENT","line":500,"updated":"2016-07-21 17:47:40.000000000","message":"ditto.","commit_id":"8f5201271b7f67ab408f74dc3f4a29d83d11117b"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"b7b3ac49b635ad735050c7c1290158dde730dcbc","unresolved":false,"context_lines":[{"line_number":433,"context_line":"        resp, body \u003d self.post(uri, body)"},{"line_number":434,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":435,"context_line":"        body \u003d jsonutils.loads(body)"},{"line_number":436,"context_line":"        return service_client.ResponseBody(resp, body)"},{"line_number":437,"context_line":""},{"line_number":438,"context_line":"    def remove_router_from_l3_agent(self, agent_id, router_id):"},{"line_number":439,"context_line":"        uri \u003d \u0027%s/agents/%s/l3-routers/%s\u0027 % ("}],"source_content_type":"text/x-python","patch_set":8,"id":"3ac371cc_9feeddea","side":"PARENT","line":436,"range":{"start_line":436,"start_character":0,"end_line":436,"end_character":54},"updated":"2016-08-15 06:52:56.000000000","message":"IMO, it should not be removed.\nIf nothing is returned, the caller cannot get response object(ResponseBody.response).","commit_id":"8f5201271b7f67ab408f74dc3f4a29d83d11117b"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"a28a4a6afd8ac7ae67294840e036eaebf30eb6c9","unresolved":false,"context_lines":[{"line_number":433,"context_line":"        resp, body \u003d self.post(uri, body)"},{"line_number":434,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":435,"context_line":"        body \u003d jsonutils.loads(body)"},{"line_number":436,"context_line":"        return service_client.ResponseBody(resp, body)"},{"line_number":437,"context_line":""},{"line_number":438,"context_line":"    def remove_router_from_l3_agent(self, agent_id, router_id):"},{"line_number":439,"context_line":"        uri \u003d \u0027%s/agents/%s/l3-routers/%s\u0027 % ("}],"source_content_type":"text/x-python","patch_set":8,"id":"3ac371cc_f1d6afef","side":"PARENT","line":436,"range":{"start_line":436,"start_character":0,"end_line":436,"end_character":54},"in_reply_to":"3ac371cc_8555ee1e","updated":"2016-08-17 05:45:13.000000000","message":"It may be used in the future...\nAnd I care about consistency with \u0027204\u0027 case.","commit_id":"8f5201271b7f67ab408f74dc3f4a29d83d11117b"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"54577e8adb67a75913b567e0002d7302736a1cb8","unresolved":false,"context_lines":[{"line_number":433,"context_line":"        resp, body \u003d self.post(uri, body)"},{"line_number":434,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":435,"context_line":"        body \u003d jsonutils.loads(body)"},{"line_number":436,"context_line":"        return service_client.ResponseBody(resp, body)"},{"line_number":437,"context_line":""},{"line_number":438,"context_line":"    def remove_router_from_l3_agent(self, agent_id, router_id):"},{"line_number":439,"context_line":"        uri \u003d \u0027%s/agents/%s/l3-routers/%s\u0027 % ("}],"source_content_type":"text/x-python","patch_set":8,"id":"3ac371cc_8555ee1e","side":"PARENT","line":436,"range":{"start_line":436,"start_character":0,"end_line":436,"end_character":54},"in_reply_to":"3ac371cc_9feeddea","updated":"2016-08-15 08:02:16.000000000","message":"Because the response object never be used. Please look at the caller[1]. And also the body is surely None so we don\u0027t need to check it.\n\n[1]: https://github.com/openstack/neutron/blob/master/neutron/tests/tempest/api/admin/test_l3_agent_scheduler.py#L89-L91","commit_id":"8f5201271b7f67ab408f74dc3f4a29d83d11117b"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"8b31e200034a82fb8b3239a78302f1dd9e7bb58d","unresolved":false,"context_lines":[{"line_number":433,"context_line":"        resp, body \u003d self.post(uri, body)"},{"line_number":434,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":435,"context_line":"        body \u003d jsonutils.loads(body)"},{"line_number":436,"context_line":"        return service_client.ResponseBody(resp, body)"},{"line_number":437,"context_line":""},{"line_number":438,"context_line":"    def remove_router_from_l3_agent(self, agent_id, router_id):"},{"line_number":439,"context_line":"        uri \u003d \u0027%s/agents/%s/l3-routers/%s\u0027 % ("}],"source_content_type":"text/x-python","patch_set":8,"id":"3ac371cc_e17f8164","side":"PARENT","line":436,"range":{"start_line":436,"start_character":0,"end_line":436,"end_character":54},"in_reply_to":"3ac371cc_f1d6afef","updated":"2016-08-18 19:49:57.000000000","message":"\u003e It may be used in the future...\n\nThat means change of API which disregards backward compatibility. We don\u0027t need to consider it here.\n\n\u003e And I care about consistency with \u0027204\u0027 case.\n\nThis case is different from other case. I think that we don\u0027t need to make it consistent for response object NEVER be used.","commit_id":"8f5201271b7f67ab408f74dc3f4a29d83d11117b"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"b7b3ac49b635ad735050c7c1290158dde730dcbc","unresolved":false,"context_lines":[{"line_number":498,"context_line":"        resp, body \u003d self.post(uri, body)"},{"line_number":499,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":500,"context_line":"        body \u003d jsonutils.loads(body)"},{"line_number":501,"context_line":"        return service_client.ResponseBody(resp, body)"},{"line_number":502,"context_line":""},{"line_number":503,"context_line":"    def list_qos_policies(self, **filters):"},{"line_number":504,"context_line":"        if filters:"}],"source_content_type":"text/x-python","patch_set":8,"id":"3ac371cc_dfbe95d3","side":"PARENT","line":501,"range":{"start_line":501,"start_character":0,"end_line":501,"end_character":54},"updated":"2016-08-15 06:52:56.000000000","message":"ditto","commit_id":"8f5201271b7f67ab408f74dc3f4a29d83d11117b"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"a28a4a6afd8ac7ae67294840e036eaebf30eb6c9","unresolved":false,"context_lines":[{"line_number":498,"context_line":"        resp, body \u003d self.post(uri, body)"},{"line_number":499,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":500,"context_line":"        body \u003d jsonutils.loads(body)"},{"line_number":501,"context_line":"        return service_client.ResponseBody(resp, body)"},{"line_number":502,"context_line":""},{"line_number":503,"context_line":"    def list_qos_policies(self, **filters):"},{"line_number":504,"context_line":"        if filters:"}],"source_content_type":"text/x-python","patch_set":8,"id":"3ac371cc_f1ed0fb8","side":"PARENT","line":501,"range":{"start_line":501,"start_character":0,"end_line":501,"end_character":54},"in_reply_to":"3ac371cc_a558ea57","updated":"2016-08-17 05:45:13.000000000","message":"ditto","commit_id":"8f5201271b7f67ab408f74dc3f4a29d83d11117b"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"54577e8adb67a75913b567e0002d7302736a1cb8","unresolved":false,"context_lines":[{"line_number":498,"context_line":"        resp, body \u003d self.post(uri, body)"},{"line_number":499,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":500,"context_line":"        body \u003d jsonutils.loads(body)"},{"line_number":501,"context_line":"        return service_client.ResponseBody(resp, body)"},{"line_number":502,"context_line":""},{"line_number":503,"context_line":"    def list_qos_policies(self, **filters):"},{"line_number":504,"context_line":"        if filters:"}],"source_content_type":"text/x-python","patch_set":8,"id":"3ac371cc_a558ea57","side":"PARENT","line":501,"range":{"start_line":501,"start_character":0,"end_line":501,"end_character":54},"in_reply_to":"3ac371cc_dfbe95d3","updated":"2016-08-15 08:02:16.000000000","message":"ditto\n\nhttps://github.com/openstack/neutron/blob/master/neutron/tests/tempest/api/admin/test_dhcp_agent_scheduler.py#L104-L105","commit_id":"8f5201271b7f67ab408f74dc3f4a29d83d11117b"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"f1ec6651c7ad7ccd9308fdbd37b039fd561cd859","unresolved":false,"context_lines":[{"line_number":432,"context_line":"        body \u003d jsonutils.dumps(post_body)"},{"line_number":433,"context_line":"        resp, body \u003d self.post(uri, body)"},{"line_number":434,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":435,"context_line":"        body \u003d jsonutils.loads(body)"},{"line_number":436,"context_line":"        return service_client.ResponseBody(resp, body)"},{"line_number":437,"context_line":""},{"line_number":438,"context_line":"    def remove_router_from_l3_agent(self, agent_id, router_id):"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa7ab95a_2301e2af","side":"PARENT","line":435,"updated":"2016-09-01 22:32:58.000000000","message":"shouldn\u0027t just remove the body assignment here?","commit_id":"8f5201271b7f67ab408f74dc3f4a29d83d11117b"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"93c17960cc114c871b01a8fc5d21bf4f63ba7c75","unresolved":false,"context_lines":[{"line_number":432,"context_line":"        body \u003d jsonutils.dumps(post_body)"},{"line_number":433,"context_line":"        resp, body \u003d self.post(uri, body)"},{"line_number":434,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":435,"context_line":"        body \u003d jsonutils.loads(body)"},{"line_number":436,"context_line":"        return service_client.ResponseBody(resp, body)"},{"line_number":437,"context_line":""},{"line_number":438,"context_line":"    def remove_router_from_l3_agent(self, agent_id, router_id):"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa7ab95a_55d4d81e","side":"PARENT","line":435,"in_reply_to":"fa7ab95a_2301e2af","updated":"2016-09-02 02:37:42.000000000","message":"I\u0027m OK. Done.","commit_id":"8f5201271b7f67ab408f74dc3f4a29d83d11117b"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"f1ec6651c7ad7ccd9308fdbd37b039fd561cd859","unresolved":false,"context_lines":[{"line_number":497,"context_line":"        uri \u003d \u0027%s/agents/%s/dhcp-networks\u0027 % (self.uri_prefix, agent_id)"},{"line_number":498,"context_line":"        resp, body \u003d self.post(uri, body)"},{"line_number":499,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":500,"context_line":"        body \u003d jsonutils.loads(body)"},{"line_number":501,"context_line":"        return service_client.ResponseBody(resp, body)"},{"line_number":502,"context_line":""},{"line_number":503,"context_line":"    def list_qos_policies(self, **filters):"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa7ab95a_43fee6ae","side":"PARENT","line":500,"updated":"2016-09-01 22:32:58.000000000","message":"and here?","commit_id":"8f5201271b7f67ab408f74dc3f4a29d83d11117b"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"93c17960cc114c871b01a8fc5d21bf4f63ba7c75","unresolved":false,"context_lines":[{"line_number":497,"context_line":"        uri \u003d \u0027%s/agents/%s/dhcp-networks\u0027 % (self.uri_prefix, agent_id)"},{"line_number":498,"context_line":"        resp, body \u003d self.post(uri, body)"},{"line_number":499,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":500,"context_line":"        body \u003d jsonutils.loads(body)"},{"line_number":501,"context_line":"        return service_client.ResponseBody(resp, body)"},{"line_number":502,"context_line":""},{"line_number":503,"context_line":"    def list_qos_policies(self, **filters):"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa7ab95a_75d9dc56","side":"PARENT","line":500,"in_reply_to":"fa7ab95a_43fee6ae","updated":"2016-09-02 02:37:42.000000000","message":"Done","commit_id":"8f5201271b7f67ab408f74dc3f4a29d83d11117b"}]}
