)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"5a6340fffb9b2eb0d0071f1a0e6c59c2c96be14b","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Carl Baldwin \u003ccarl.baldwin@hpe.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-02-08 11:15:25 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Test fixtures to facilitate testing BGP dynamic routing."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch includes changes that facilitate creation of subnetpools"},{"line_number":10,"context_line":"and address scopes, as well as changes that make it easier to allocate"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"5a5ae5dd_717f1115","line":7,"range":{"start_line":7,"start_character":5,"end_line":7,"end_character":13},"updated":"2016-02-08 21:15:48.000000000","message":"This change adds helper methods not fixtures (see neutron.tests.common.net_helpers which contains helper methods and fixtures)","commit_id":"322f417cb788fc8dcb357668f6fc82a6bebe5b65"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"896c845866316f1ef82212d6c8c6ce700830719b","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Carl Baldwin \u003ccarl.baldwin@hpe.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-02-08 11:15:25 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Test fixtures to facilitate testing BGP dynamic routing."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch includes changes that facilitate creation of subnetpools"},{"line_number":10,"context_line":"and address scopes, as well as changes that make it easier to allocate"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"5a5ae5dd_2c05bc12","line":7,"range":{"start_line":7,"start_character":5,"end_line":7,"end_character":13},"in_reply_to":"5a5ae5dd_717f1115","updated":"2016-02-08 21:44:40.000000000","message":"Done","commit_id":"322f417cb788fc8dcb357668f6fc82a6bebe5b65"}],"neutron/tests/api/test_subnetpools.py":[{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"fec3e16c4677808bbd74e7e3ff242528b37c7d31","unresolved":false,"context_lines":[{"line_number":142,"context_line":"        old_prefixes \u003d self._subnetpool_data[\u0027prefixes\u0027]"},{"line_number":143,"context_line":"        new_prefixes \u003d old_prefixes[:]"},{"line_number":144,"context_line":"        new_prefixes.append(self.new_prefix)"},{"line_number":145,"context_line":"        subnetpool_data \u003d {\u0027subnetpool\u0027: {\u0027prefixes\u0027: new_prefixes}}"},{"line_number":146,"context_line":"        self.client.update_subnetpool(pool_id, subnetpool_data)"},{"line_number":147,"context_line":"        body \u003d self.client.show_subnetpool(pool_id)"},{"line_number":148,"context_line":"        prefixes \u003d body[\u0027subnetpool\u0027][\u0027prefixes\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a5ae5dd_11a7bdbd","line":145,"range":{"start_line":145,"start_character":28,"end_line":145,"end_character":38},"updated":"2016-02-08 21:13:08.000000000","message":"i don\u0027t see the added of such change, it replace a method by a lower level method","commit_id":"322f417cb788fc8dcb357668f6fc82a6bebe5b65"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"896c845866316f1ef82212d6c8c6ce700830719b","unresolved":false,"context_lines":[{"line_number":142,"context_line":"        old_prefixes \u003d self._subnetpool_data[\u0027prefixes\u0027]"},{"line_number":143,"context_line":"        new_prefixes \u003d old_prefixes[:]"},{"line_number":144,"context_line":"        new_prefixes.append(self.new_prefix)"},{"line_number":145,"context_line":"        subnetpool_data \u003d {\u0027subnetpool\u0027: {\u0027prefixes\u0027: new_prefixes}}"},{"line_number":146,"context_line":"        self.client.update_subnetpool(pool_id, subnetpool_data)"},{"line_number":147,"context_line":"        body \u003d self.client.show_subnetpool(pool_id)"},{"line_number":148,"context_line":"        prefixes \u003d body[\u0027subnetpool\u0027][\u0027prefixes\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a5ae5dd_ac10cc59","line":145,"range":{"start_line":145,"start_character":28,"end_line":145,"end_character":38},"in_reply_to":"5a5ae5dd_11a7bdbd","updated":"2016-02-08 21:44:40.000000000","message":"Could you elaborate? I don\u0027t understand the suggestion you\u0027re making.  Are you suggesting that the call at L146 take a list of args rather than a dict?  If so, I think that\u0027s a reasonable change to make.","commit_id":"322f417cb788fc8dcb357668f6fc82a6bebe5b65"}],"neutron/tests/tempest/services/network/json/network_client.py":[{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"30b4f836ba1b13c5855f50dc822542862a1539af","unresolved":false,"context_lines":[{"line_number":294,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":295,"context_line":"        body \u003d json.loads(body)"},{"line_number":296,"context_line":"        return service_client.ResponseBody(resp, body)"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":""},{"line_number":299,"context_line":"    def add_bgp_gateway_network(self, bgp_speaker_id, network_id):"},{"line_number":300,"context_line":"        uri \u003d \u0027%s/bgp-speakers/%s/add_gateway_network\u0027 % (self.uri_prefix,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a5ae5dd_b177009f","line":297,"updated":"2016-02-07 04:00:55.000000000","message":"pep8 on my machine doesn\u0027t like the extra line here.  I\u0027ll get it in my update.","commit_id":"641007fb559390c7cdf04499309e3eed998da87d"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"30b4f836ba1b13c5855f50dc822542862a1539af","unresolved":false,"context_lines":[{"line_number":663,"context_line":"                \u0027name\u0027: name,"},{"line_number":664,"context_line":"                \u0027description\u0027: description,"},{"line_number":665,"context_line":"                \u0027shared\u0027: shared"},{"line_number":666,"context_line":"            }}"},{"line_number":667,"context_line":"        if tenant_id is not None:"},{"line_number":668,"context_line":"            post_data[\u0027policy\u0027][\u0027tenant_id\u0027] \u003d tenant_id"},{"line_number":669,"context_line":"        resp, body \u003d self.post(uri, self.serialize(post_data))"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a5ae5dd_5167ace8","line":666,"range":{"start_line":666,"start_character":12,"end_line":666,"end_character":14},"updated":"2016-02-07 04:00:55.000000000","message":"pep8 on my machine is complaining about this indent.  Strange.  I\u0027m going to upload the patch without this fix and hope it doesn\u0027t fail the pep8 check.  Should have to fix that in this patch.","commit_id":"641007fb559390c7cdf04499309e3eed998da87d"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"30b4f836ba1b13c5855f50dc822542862a1539af","unresolved":false,"context_lines":[{"line_number":686,"context_line":"            {\u0027bandwidth_limit_rule\u0027: {"},{"line_number":687,"context_line":"                \u0027max_kbps\u0027: max_kbps,"},{"line_number":688,"context_line":"                \u0027max_burst_kbps\u0027: max_burst_kbps}"},{"line_number":689,"context_line":"            })"},{"line_number":690,"context_line":"        resp, body \u003d self.post(uri, post_data)"},{"line_number":691,"context_line":"        self.expected_success(201, resp.status)"},{"line_number":692,"context_line":"        body \u003d json.loads(body)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a5ae5dd_f161f8d3","line":689,"range":{"start_line":689,"start_character":12,"end_line":689,"end_character":14},"updated":"2016-02-07 04:00:55.000000000","message":"ditto","commit_id":"641007fb559390c7cdf04499309e3eed998da87d"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"52ae581487347496cccd726605e0c84154b76965","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        # the following map is used to construct proper URI"},{"line_number":49,"context_line":"        # for the given neutron resource"},{"line_number":50,"context_line":"        service_resource_prefix_map \u003d {"},{"line_number":51,"context_line":"            \u0027bgp-peers\u0027: \u0027\u0027,"},{"line_number":52,"context_line":"            \u0027bgp-speakers\u0027: \u0027\u0027,"},{"line_number":53,"context_line":"            \u0027networks\u0027: \u0027\u0027,"},{"line_number":54,"context_line":"            \u0027subnets\u0027: \u0027\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a5ae5dd_257bb87c","line":51,"updated":"2016-02-08 09:32:00.000000000","message":"Would you like to add BGP stuffs along with this patch? IMO, let\u0027s merge these changes with CRUD PS \"https://review.openstack.org/#/c/201621/\"","commit_id":"d5423bc7f0a641e8a63e96b6277b625fd45af0f3"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"a05895ecc285a927cba67579de1a90df4f2fe676","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        # the following map is used to construct proper URI"},{"line_number":49,"context_line":"        # for the given neutron resource"},{"line_number":50,"context_line":"        service_resource_prefix_map \u003d {"},{"line_number":51,"context_line":"            \u0027bgp-peers\u0027: \u0027\u0027,"},{"line_number":52,"context_line":"            \u0027bgp-speakers\u0027: \u0027\u0027,"},{"line_number":53,"context_line":"            \u0027networks\u0027: \u0027\u0027,"},{"line_number":54,"context_line":"            \u0027subnets\u0027: \u0027\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a5ae5dd_387ae388","line":51,"in_reply_to":"5a5ae5dd_257bb87c","updated":"2016-02-08 17:58:18.000000000","message":"Good point.  That\u0027s probably a good idea.","commit_id":"d5423bc7f0a641e8a63e96b6277b625fd45af0f3"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"52ae581487347496cccd726605e0c84154b76965","unresolved":false,"context_lines":[{"line_number":212,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":213,"context_line":"        return service_client.ResponseBody(resp, body)"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"    # BGP speaker methods"},{"line_number":216,"context_line":"    def create_bgp_speaker(self, post_data):"},{"line_number":217,"context_line":"        body \u003d self.serialize_list(post_data, \"bgp-speakers\", \"bgp-speaker\")"},{"line_number":218,"context_line":"        uri \u003d self.get_uri(\"bgp-speakers\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a5ae5dd_05955c85","line":215,"updated":"2016-02-08 09:32:00.000000000","message":"ditto","commit_id":"d5423bc7f0a641e8a63e96b6277b625fd45af0f3"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"fec3e16c4677808bbd74e7e3ff242528b37c7d31","unresolved":false,"context_lines":[{"line_number":171,"context_line":"        raise AttributeError(name)"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"    # Subnetpool methods"},{"line_number":174,"context_line":"    def create_subnetpool(self, post_data):"},{"line_number":175,"context_line":"        body \u003d self.serialize_list(post_data, \"subnetpools\", \"subnetpool\")"},{"line_number":176,"context_line":"        uri \u003d self.get_uri(\"subnetpools\")"},{"line_number":177,"context_line":"        resp, body \u003d self.post(uri, body)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a5ae5dd_71c71196","line":174,"range":{"start_line":174,"start_character":32,"end_line":174,"end_character":41},"updated":"2016-02-08 21:13:08.000000000","message":"Other methods build bodies based on provided arguments:\n\n def create_router(self, name, admin_state_up\u003dTrue, **kwargs)\n def create_qos_policy(self, name, description, shared, tenant_id\u003dNone)\n\nIMO, we should be consistent and it would avoid many refactors done in this change","commit_id":"322f417cb788fc8dcb357668f6fc82a6bebe5b65"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"896c845866316f1ef82212d6c8c6ce700830719b","unresolved":false,"context_lines":[{"line_number":171,"context_line":"        raise AttributeError(name)"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"    # Subnetpool methods"},{"line_number":174,"context_line":"    def create_subnetpool(self, post_data):"},{"line_number":175,"context_line":"        body \u003d self.serialize_list(post_data, \"subnetpools\", \"subnetpool\")"},{"line_number":176,"context_line":"        uri \u003d self.get_uri(\"subnetpools\")"},{"line_number":177,"context_line":"        resp, body \u003d self.post(uri, body)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a5ae5dd_472ed38c","line":174,"range":{"start_line":174,"start_character":32,"end_line":174,"end_character":41},"in_reply_to":"5a5ae5dd_71c71196","updated":"2016-02-08 21:44:40.000000000","message":"Will replace post_data with some default args and **kwargs and build the post_data from that","commit_id":"322f417cb788fc8dcb357668f6fc82a6bebe5b65"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"896c845866316f1ef82212d6c8c6ce700830719b","unresolved":false,"context_lines":[{"line_number":201,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":202,"context_line":"        return service_client.ResponseBody(resp, body)"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"    def update_subnetpool(self, id, post_data):"},{"line_number":205,"context_line":"        body \u003d self.serialize_list(post_data, \"subnetpools\", \"subnetpool\")"},{"line_number":206,"context_line":"        uri \u003d self.get_uri(\"subnetpools\")"},{"line_number":207,"context_line":"        subnetpool_uri \u003d \u0027%s/%s\u0027 % (uri, id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a5ae5dd_0753fb17","line":204,"range":{"start_line":204,"start_character":36,"end_line":204,"end_character":45},"updated":"2016-02-08 21:44:40.000000000","message":"Will replace post_data with some default args and **kwargs and build the post_data from that","commit_id":"322f417cb788fc8dcb357668f6fc82a6bebe5b65"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"400ac35c673a89ea6fdf26f377597eb184a8ce2a","unresolved":false,"context_lines":[{"line_number":192,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":193,"context_line":"        return service_client.ResponseBody(resp, body)"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"    def delete_subnetpool(self, id):"},{"line_number":196,"context_line":"        uri \u003d self.get_uri(\"subnetpools\")"},{"line_number":197,"context_line":"        subnetpool_uri \u003d \u0027%s/%s\u0027 % (uri, id)"},{"line_number":198,"context_line":"        resp, body \u003d self.delete(subnetpool_uri)"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a5ae5dd_b52b0794","line":195,"updated":"2016-02-09 14:17:56.000000000","message":"Why we can not use _delete for this function?","commit_id":"db5b390d06ebc6b0d0b6ff28c8b766ad17963895"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"9bf2d20a5b1ed0d344289110e68f9ca538d0aa54","unresolved":false,"context_lines":[{"line_number":192,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":193,"context_line":"        return service_client.ResponseBody(resp, body)"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"    def delete_subnetpool(self, id):"},{"line_number":196,"context_line":"        uri \u003d self.get_uri(\"subnetpools\")"},{"line_number":197,"context_line":"        subnetpool_uri \u003d \u0027%s/%s\u0027 % (uri, id)"},{"line_number":198,"context_line":"        resp, body \u003d self.delete(subnetpool_uri)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a57f1b5_cece54b4","line":195,"in_reply_to":"5a5ae5dd_b52b0794","updated":"2016-02-09 20:30:02.000000000","message":"Did you mean _deleter() ?","commit_id":"db5b390d06ebc6b0d0b6ff28c8b766ad17963895"}]}
