)]}'
{"tempest/api/network/test_floating_ips.py":[{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"ad2fc49c0167529cb5ccf93b30b0ed95f0039a55","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2013 OpenStack, LLC"},{"line_number":4,"context_line":"# All Rights Reserved."},{"line_number":5,"context_line":"#"},{"line_number":6,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAQ3%2F%2F9as%3D","line":3,"updated":"2013-08-12 13:34:36.000000000","message":"Should be to the OpenStack foundation","commit_id":"421754edb6c8839ed44f35fddc533d3ee6826486"},{"author":{"_account_id":2238,"name":"rajalakshmi-ganesan","email":"rajalakshmi.girish@hpe.com","username":"rajalakshmi-ganesan"},"change_message_id":"2a59619f68c3996f2b561b8231da77e82ecda272","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2013 OpenStack, LLC"},{"line_number":4,"context_line":"# All Rights Reserved."},{"line_number":5,"context_line":"#"},{"line_number":6,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAQ3%2F%2F42c%3D","line":3,"in_reply_to":"AAAAQ3%2F%2F9as%3D","updated":"2013-08-13 13:23:05.000000000","message":"Done","commit_id":"421754edb6c8839ed44f35fddc533d3ee6826486"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"68ca2d79bb5a4760d950e6c41b7ecfffbe30dd38","unresolved":false,"context_lines":[{"line_number":65,"context_line":"                                                          cls.subnet[\u0027id\u0027])"},{"line_number":66,"context_line":"        for i in range(2):"},{"line_number":67,"context_line":"            cls.client.delete_port(cls.port[i][\u0027id\u0027])"},{"line_number":68,"context_line":"        cls.client.delete_router(cls.router[\u0027id\u0027])"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    def _delete_floating_ip(self, floating_ip_id):"},{"line_number":71,"context_line":"        # Deletes a floating IP and verifies if it is deleted or not"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAQn%2F%2B7jY%3D","line":68,"updated":"2013-08-09 18:57:05.000000000","message":"Please call the super\u0027s tearDownClass.","commit_id":"421754edb6c8839ed44f35fddc533d3ee6826486"},{"author":{"_account_id":2238,"name":"rajalakshmi-ganesan","email":"rajalakshmi.girish@hpe.com","username":"rajalakshmi-ganesan"},"change_message_id":"2a59619f68c3996f2b561b8231da77e82ecda272","unresolved":false,"context_lines":[{"line_number":65,"context_line":"                                                          cls.subnet[\u0027id\u0027])"},{"line_number":66,"context_line":"        for i in range(2):"},{"line_number":67,"context_line":"            cls.client.delete_port(cls.port[i][\u0027id\u0027])"},{"line_number":68,"context_line":"        cls.client.delete_router(cls.router[\u0027id\u0027])"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    def _delete_floating_ip(self, floating_ip_id):"},{"line_number":71,"context_line":"        # Deletes a floating IP and verifies if it is deleted or not"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAQ3%2F%2F42Y%3D","line":68,"in_reply_to":"AAAAQn%2F%2B7jY%3D","updated":"2013-08-13 13:23:05.000000000","message":"Done","commit_id":"421754edb6c8839ed44f35fddc533d3ee6826486"},{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"ad2fc49c0167529cb5ccf93b30b0ed95f0039a55","unresolved":false,"context_lines":[{"line_number":114,"context_line":"            floatingip_id_list.append(f[\u0027id\u0027])"},{"line_number":115,"context_line":"        self.assertIn(create_floating_ip[\u0027id\u0027], floatingip_id_list)"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        # Associate floating IP to the port"},{"line_number":118,"context_line":"        resp, floating_ip \u003d self.client.update_floating_ip("},{"line_number":119,"context_line":"            create_floating_ip[\u0027id\u0027], self.port[1][\u0027id\u0027])"},{"line_number":120,"context_line":"        self.assertEqual(\u0027200\u0027, resp[\u0027status\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAQ3%2F%2F9aA%3D","line":117,"updated":"2013-08-12 13:34:36.000000000","message":"very minor nit, but perhaps \"Associate floating IP to the other port\"?","commit_id":"421754edb6c8839ed44f35fddc533d3ee6826486"},{"author":{"_account_id":2238,"name":"rajalakshmi-ganesan","email":"rajalakshmi.girish@hpe.com","username":"rajalakshmi-ganesan"},"change_message_id":"2a59619f68c3996f2b561b8231da77e82ecda272","unresolved":false,"context_lines":[{"line_number":114,"context_line":"            floatingip_id_list.append(f[\u0027id\u0027])"},{"line_number":115,"context_line":"        self.assertIn(create_floating_ip[\u0027id\u0027], floatingip_id_list)"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        # Associate floating IP to the port"},{"line_number":118,"context_line":"        resp, floating_ip \u003d self.client.update_floating_ip("},{"line_number":119,"context_line":"            create_floating_ip[\u0027id\u0027], self.port[1][\u0027id\u0027])"},{"line_number":120,"context_line":"        self.assertEqual(\u0027200\u0027, resp[\u0027status\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAQ3%2F%2F42U%3D","line":117,"in_reply_to":"AAAAQ3%2F%2F9aA%3D","updated":"2013-08-13 13:23:05.000000000","message":"Done","commit_id":"421754edb6c8839ed44f35fddc533d3ee6826486"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"b9577394d71dc743401ad6851e94e5235626f497","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        resp, _ \u003d cls.client.add_router_interface_with_subnet_id("},{"line_number":55,"context_line":"            cls.router[\u0027id\u0027], cls.subnet[\u0027id\u0027])"},{"line_number":56,"context_line":"        cls.port \u003d list()"},{"line_number":57,"context_line":"        # Create two ports one each for Creation and Updation of floatingIP"},{"line_number":58,"context_line":"        for i in range(2):"},{"line_number":59,"context_line":"            resp, port \u003d cls.client.create_port(cls.network[\u0027id\u0027])"},{"line_number":60,"context_line":"            cls.port.append(port[\u0027port\u0027])"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAARH%2F%2F0Aw%3D","line":57,"updated":"2013-08-16 21:14:07.000000000","message":"Since I am asking you to submit another patchset, let\u0027s take the opportunity to cleanup the comments. Please replace \u0027Updation\u0027 with \u0027Updating\u0027. I read here http://en.wiktionary.org/wiki/updation  that \u0027updation\u0027 is used in India, but nowhere else.","commit_id":"2e5ef59938088356286982bb69af6b9523e99dc2"},{"author":{"_account_id":2238,"name":"rajalakshmi-ganesan","email":"rajalakshmi.girish@hpe.com","username":"rajalakshmi-ganesan"},"change_message_id":"90f5c82a74450632ba30eb0f447e65b4526ddd04","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        resp, _ \u003d cls.client.add_router_interface_with_subnet_id("},{"line_number":55,"context_line":"            cls.router[\u0027id\u0027], cls.subnet[\u0027id\u0027])"},{"line_number":56,"context_line":"        cls.port \u003d list()"},{"line_number":57,"context_line":"        # Create two ports one each for Creation and Updation of floatingIP"},{"line_number":58,"context_line":"        for i in range(2):"},{"line_number":59,"context_line":"            resp, port \u003d cls.client.create_port(cls.network[\u0027id\u0027])"},{"line_number":60,"context_line":"            cls.port.append(port[\u0027port\u0027])"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAARn%2F%2F%2BNg%3D","line":57,"in_reply_to":"AAAARH%2F%2F0Aw%3D","updated":"2013-08-19 14:03:31.000000000","message":"Done","commit_id":"2e5ef59938088356286982bb69af6b9523e99dc2"}],"tempest/services/network/json/network_client.py":[{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"b9577394d71dc743401ad6851e94e5235626f497","unresolved":false,"context_lines":[{"line_number":193,"context_line":"            \u0027floatingip\u0027: {"},{"line_number":194,"context_line":"                \u0027floating_network_id\u0027: ext_network_id,"},{"line_number":195,"context_line":"                \u0027port_id\u0027: kwargs.get(\u0027port_id\u0027, None)"},{"line_number":196,"context_line":"            }"},{"line_number":197,"context_line":"        }"},{"line_number":198,"context_line":"        body \u003d json.dumps(post_body)"},{"line_number":199,"context_line":"        uri \u003d \u0027%s/floatingips\u0027 % (self.uri_prefix)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAARH%2F%2F0Mk%3D","line":196,"updated":"2013-08-16 21:14:07.000000000","message":"Since you are taking a kwargs argument already, please replace this dictionary creation with:\n\npost_body \u003d {\u0027floatingip\u0027: kwargs}\n\nThis way you will enable the caller not only to specify a \u0027floating_network_id\u0027 and a \u0027port_id\u0027, but also \u0027floating_ip_address\u0027 and \u0027fixed_ip_address\u0027 (see http://docs.openstack.org/api/openstack-network/2.0/content/floatingip_create.html). With little additional effort you will enable much richer testing of the API in the near future","commit_id":"2e5ef59938088356286982bb69af6b9523e99dc2"},{"author":{"_account_id":2238,"name":"rajalakshmi-ganesan","email":"rajalakshmi.girish@hpe.com","username":"rajalakshmi-ganesan"},"change_message_id":"90f5c82a74450632ba30eb0f447e65b4526ddd04","unresolved":false,"context_lines":[{"line_number":193,"context_line":"            \u0027floatingip\u0027: {"},{"line_number":194,"context_line":"                \u0027floating_network_id\u0027: ext_network_id,"},{"line_number":195,"context_line":"                \u0027port_id\u0027: kwargs.get(\u0027port_id\u0027, None)"},{"line_number":196,"context_line":"            }"},{"line_number":197,"context_line":"        }"},{"line_number":198,"context_line":"        body \u003d json.dumps(post_body)"},{"line_number":199,"context_line":"        uri \u003d \u0027%s/floatingips\u0027 % (self.uri_prefix)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAARn%2F%2F%2BzQ%3D","line":196,"in_reply_to":"AAAARH%2F%2F0Mk%3D","updated":"2013-08-19 14:03:31.000000000","message":"Done in Patch5","commit_id":"2e5ef59938088356286982bb69af6b9523e99dc2"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"c8329164257cb69b1cacac3749efac1952763872","unresolved":false,"context_lines":[{"line_number":193,"context_line":"            \u0027floatingip\u0027: {"},{"line_number":194,"context_line":"                \u0027floating_network_id\u0027: ext_network_id,"},{"line_number":195,"context_line":"                \u0027port_id\u0027: kwargs.get(\u0027port_id\u0027, None)"},{"line_number":196,"context_line":"            }"},{"line_number":197,"context_line":"        }"},{"line_number":198,"context_line":"        body \u003d json.dumps(post_body)"},{"line_number":199,"context_line":"        uri \u003d \u0027%s/floatingips\u0027 % (self.uri_prefix)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAARH%2F%2Fy1g%3D","line":196,"in_reply_to":"AAAARH%2F%2F0Mk%3D","updated":"2013-08-17 15:35:47.000000000","message":"Please read comments made the following day here:\n\nhttps://review.openstack.org/#/c/41038/","commit_id":"2e5ef59938088356286982bb69af6b9523e99dc2"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"b9577394d71dc743401ad6851e94e5235626f497","unresolved":false,"context_lines":[{"line_number":222,"context_line":"        post_body \u003d {"},{"line_number":223,"context_line":"            \u0027floatingip\u0027: {"},{"line_number":224,"context_line":"                \u0027port_id\u0027: port_id"},{"line_number":225,"context_line":"            }"},{"line_number":226,"context_line":"        }"},{"line_number":227,"context_line":"        body \u003d json.dumps(post_body)"},{"line_number":228,"context_line":"        uri \u003d \u0027%s/floatingips/%s\u0027 % (self.uri_prefix, floating_ip_id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAARH%2F%2F0KM%3D","line":225,"updated":"2013-08-16 21:14:07.000000000","message":"Please replace the port_id argument with **kwargs and do the same thing as suggested above for create_floating_ip. Again, for very little additional effort, you will enable much richer testing of the API","commit_id":"2e5ef59938088356286982bb69af6b9523e99dc2"},{"author":{"_account_id":2238,"name":"rajalakshmi-ganesan","email":"rajalakshmi.girish@hpe.com","username":"rajalakshmi-ganesan"},"change_message_id":"90f5c82a74450632ba30eb0f447e65b4526ddd04","unresolved":false,"context_lines":[{"line_number":222,"context_line":"        post_body \u003d {"},{"line_number":223,"context_line":"            \u0027floatingip\u0027: {"},{"line_number":224,"context_line":"                \u0027port_id\u0027: port_id"},{"line_number":225,"context_line":"            }"},{"line_number":226,"context_line":"        }"},{"line_number":227,"context_line":"        body \u003d json.dumps(post_body)"},{"line_number":228,"context_line":"        uri \u003d \u0027%s/floatingips/%s\u0027 % (self.uri_prefix, floating_ip_id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAARn%2F%2F%2BzM%3D","line":225,"in_reply_to":"AAAARH%2F%2F0KM%3D","updated":"2013-08-19 14:03:31.000000000","message":"Done in Patch5","commit_id":"2e5ef59938088356286982bb69af6b9523e99dc2"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"c8329164257cb69b1cacac3749efac1952763872","unresolved":false,"context_lines":[{"line_number":222,"context_line":"        post_body \u003d {"},{"line_number":223,"context_line":"            \u0027floatingip\u0027: {"},{"line_number":224,"context_line":"                \u0027port_id\u0027: port_id"},{"line_number":225,"context_line":"            }"},{"line_number":226,"context_line":"        }"},{"line_number":227,"context_line":"        body \u003d json.dumps(post_body)"},{"line_number":228,"context_line":"        uri \u003d \u0027%s/floatingips/%s\u0027 % (self.uri_prefix, floating_ip_id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAARH%2F%2Fy1Y%3D","line":225,"in_reply_to":"AAAARH%2F%2F0KM%3D","updated":"2013-08-17 15:35:47.000000000","message":"Please read comments made the following day here:\n\nhttps://review.openstack.org/#/c/41038/","commit_id":"2e5ef59938088356286982bb69af6b9523e99dc2"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"b9577394d71dc743401ad6851e94e5235626f497","unresolved":false,"context_lines":[{"line_number":230,"context_line":"        body \u003d json.loads(body)"},{"line_number":231,"context_line":"        return resp, body"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"    def create_router(self, name, **kwargs):"},{"line_number":234,"context_line":"        post_body \u003d {"},{"line_number":235,"context_line":"            \u0027router\u0027: {"},{"line_number":236,"context_line":"                \u0027name\u0027: name,"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAARH%2F%2F0GA%3D","line":233,"updated":"2013-08-16 21:14:07.000000000","message":"Please eliminate the \u0027name\u0027 argument. See next comment below","commit_id":"2e5ef59938088356286982bb69af6b9523e99dc2"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"c8329164257cb69b1cacac3749efac1952763872","unresolved":false,"context_lines":[{"line_number":230,"context_line":"        body \u003d json.loads(body)"},{"line_number":231,"context_line":"        return resp, body"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"    def create_router(self, name, **kwargs):"},{"line_number":234,"context_line":"        post_body \u003d {"},{"line_number":235,"context_line":"            \u0027router\u0027: {"},{"line_number":236,"context_line":"                \u0027name\u0027: name,"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAARH%2F%2Fy1U%3D","line":233,"in_reply_to":"AAAARH%2F%2F0GA%3D","updated":"2013-08-17 15:35:47.000000000","message":"Please read comments made the following day here:\n\nhttps://review.openstack.org/#/c/41038/","commit_id":"2e5ef59938088356286982bb69af6b9523e99dc2"},{"author":{"_account_id":2238,"name":"rajalakshmi-ganesan","email":"rajalakshmi.girish@hpe.com","username":"rajalakshmi-ganesan"},"change_message_id":"90f5c82a74450632ba30eb0f447e65b4526ddd04","unresolved":false,"context_lines":[{"line_number":230,"context_line":"        body \u003d json.loads(body)"},{"line_number":231,"context_line":"        return resp, body"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"    def create_router(self, name, **kwargs):"},{"line_number":234,"context_line":"        post_body \u003d {"},{"line_number":235,"context_line":"            \u0027router\u0027: {"},{"line_number":236,"context_line":"                \u0027name\u0027: name,"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAARn%2F%2F%2BxQ%3D","line":233,"in_reply_to":"AAAARH%2F%2F0GA%3D","updated":"2013-08-19 14:03:31.000000000","message":"This method got merged as part of Router test cases submission. \"https://review.openstack.org/#/c/36629/\". Thus implementing this comment as part of this submission would not be appropriate.\n\nWe must do a separate submission to implement this in network_client.py and test_routers.py correspondingly. This is applicable for all the comments below.","commit_id":"2e5ef59938088356286982bb69af6b9523e99dc2"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"b9577394d71dc743401ad6851e94e5235626f497","unresolved":false,"context_lines":[{"line_number":239,"context_line":"        post_body[\u0027router\u0027][\u0027admin_state_up\u0027] \u003d kwargs.get("},{"line_number":240,"context_line":"            \u0027admin_state_up\u0027, True)"},{"line_number":241,"context_line":"        post_body[\u0027router\u0027][\u0027external_gateway_info\u0027] \u003d kwargs.get("},{"line_number":242,"context_line":"            \u0027external_gateway_info\u0027, None)"},{"line_number":243,"context_line":"        body \u003d json.dumps(post_body)"},{"line_number":244,"context_line":"        uri \u003d \u0027%s/routers\u0027 % (self.uri_prefix)"},{"line_number":245,"context_line":"        resp, body \u003d self.post(uri, headers\u003dself.headers, body\u003dbody)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAARH%2F%2F0I8%3D","line":242,"updated":"2013-08-16 21:14:07.000000000","message":"You are already accepting a **kwargs argument. Please simplify the code between the start of the method and this line with:\n\npost_body \u003d {\u0027router\u0027: kwargs}","commit_id":"2e5ef59938088356286982bb69af6b9523e99dc2"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"b9577394d71dc743401ad6851e94e5235626f497","unresolved":false,"context_lines":[{"line_number":246,"context_line":"        body \u003d json.loads(body)"},{"line_number":247,"context_line":"        return resp, body"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"    def add_router_interface_with_subnet_id(self, router_id, subnet_id):"},{"line_number":250,"context_line":"        uri \u003d \u0027%s/routers/%s/add_router_interface\u0027 % (self.uri_prefix,"},{"line_number":251,"context_line":"              router_id)"},{"line_number":252,"context_line":"        update_body \u003d {\"subnet_id\": subnet_id}"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAARH%2F%2F0Ek%3D","line":249,"updated":"2013-08-16 21:14:07.000000000","message":"Please eliminate the \u0027subnet_id\u0027 argument and replace it with **kwargs. Let\u0027s change the method\u0027s name to add_router_interface","commit_id":"2e5ef59938088356286982bb69af6b9523e99dc2"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"b9577394d71dc743401ad6851e94e5235626f497","unresolved":false,"context_lines":[{"line_number":250,"context_line":"        uri \u003d \u0027%s/routers/%s/add_router_interface\u0027 % (self.uri_prefix,"},{"line_number":251,"context_line":"              router_id)"},{"line_number":252,"context_line":"        update_body \u003d {\"subnet_id\": subnet_id}"},{"line_number":253,"context_line":"        update_body \u003d json.dumps(update_body)"},{"line_number":254,"context_line":"        resp, body \u003d self.put(uri, update_body, self.headers)"},{"line_number":255,"context_line":"        body \u003d json.loads(body)"},{"line_number":256,"context_line":"        return resp, body"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAARH%2F%2F0D4%3D","line":253,"updated":"2013-08-16 21:14:07.000000000","message":"Please replace this line and the one before with:\n\nupdate_body \u003d json.dumps(kwargs).\n\nThis way you will enable the caller to specify eithe a subnet id or a port id. Please see: http://docs.openstack.org/api/openstack-network/2.0/content/router_add_interface.html\n\nAgain, with little effort you will enable much richer testing of the API","commit_id":"2e5ef59938088356286982bb69af6b9523e99dc2"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"b9577394d71dc743401ad6851e94e5235626f497","unresolved":false,"context_lines":[{"line_number":255,"context_line":"        body \u003d json.loads(body)"},{"line_number":256,"context_line":"        return resp, body"},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"    def remove_router_interface_with_subnet_id(self, router_id, subnet_id):"},{"line_number":259,"context_line":"        uri \u003d \u0027%s/routers/%s/remove_router_interface\u0027 % (self.uri_prefix,"},{"line_number":260,"context_line":"              router_id)"},{"line_number":261,"context_line":"        update_body \u003d {\"subnet_id\": subnet_id}"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAARH%2F%2F0Co%3D","line":258,"updated":"2013-08-16 21:14:07.000000000","message":"Please eliminate the \u0027subnet_id\u0027 argument and replace it with **kwargs. Let\u0027s change the method name to remove_router_interface","commit_id":"2e5ef59938088356286982bb69af6b9523e99dc2"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"b9577394d71dc743401ad6851e94e5235626f497","unresolved":false,"context_lines":[{"line_number":259,"context_line":"        uri \u003d \u0027%s/routers/%s/remove_router_interface\u0027 % (self.uri_prefix,"},{"line_number":260,"context_line":"              router_id)"},{"line_number":261,"context_line":"        update_body \u003d {\"subnet_id\": subnet_id}"},{"line_number":262,"context_line":"        update_body \u003d json.dumps(update_body)"},{"line_number":263,"context_line":"        resp, body \u003d self.put(uri, update_body, self.headers)"},{"line_number":264,"context_line":"        body \u003d json.loads(body)"},{"line_number":265,"context_line":"        return resp, body"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAARH%2F%2F0B8%3D","line":262,"updated":"2013-08-16 21:14:07.000000000","message":"Please replace this line and the one before with:\n\nupdate_body \u003d json.dumps(kwargs).\n\nThis way you will enable the caller to specify eithe a subnet id or a port id. Please see:  http://docs.openstack.org/api/openstack-network/2.0/content/router_remove_interface.html\n\nAgain, with little effort you will enable much richer testing of the API","commit_id":"2e5ef59938088356286982bb69af6b9523e99dc2"}]}
