)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6072,"name":"Eugene Nikanorov","email":"enikanorov@mirantis.com","username":"enikanorov"},"change_message_id":"12d4c263fb200ef3eee4408674ee2d93775933f9","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Salvatore Orlando \u003csalv.orlando@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2013-05-06 17:18:55 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Calculate nicra plugin NAT rules order according to CIDR prefix"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Bug 1176947"},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAOn%2F%2FiP0%3D","line":7,"updated":"2013-05-06 15:22:34.000000000","message":"typo: nicira","commit_id":"5cf40a6ed34457a87804601ec725962aa4f4ee7b"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Salvatore Orlando \u003csalv.orlando@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2013-05-06 17:18:55 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Calculate nicra plugin NAT rules order according to CIDR prefix"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Bug 1176947"},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAOn%2F%2FhcA%3D","line":7,"in_reply_to":"AAAAOn%2F%2FiP0%3D","updated":"2013-05-06 23:06:13.000000000","message":"no we changed its name  to save 1 byte!\nThat\u0027s some optimization :)","commit_id":"5cf40a6ed34457a87804601ec725962aa4f4ee7b"}],"quantum/plugins/nicira/QuantumPlugin.py":[{"author":{"_account_id":642,"name":"Matt Dietz","email":"matthew.dietz@gmail.com","username":"cerberus"},"unresolved":false,"context_lines":[{"line_number":524,"context_line":"                lr_port[\u0027uuid\u0027])"},{"line_number":525,"context_line":"        # Set the SNAT rule for each subnet (only first IP)"},{"line_number":526,"context_line":"        for cidr in self._find_router_subnets_cidrs(context, router_id):"},{"line_number":527,"context_line":"            cidr_prefix \u003d int(cidr.split(\u0027/\u0027)[1])"},{"line_number":528,"context_line":"            nvplib.create_lrouter_snat_rule("},{"line_number":529,"context_line":"                self.cluster, router_id,"},{"line_number":530,"context_line":"                ip_addresses[0].split(\u0027/\u0027)[0],"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAOn%2F%2FiO4%3D","line":527,"updated":"2013-05-06 15:27:23.000000000","message":"So you could also do this with netaddr\n\nIn [2]: a \u003d netaddr.IPNetwork(\"192.168.3.0/24\")\n...\nIn [6]: a.prefixlen\nOut[6]: 24","commit_id":"5cf40a6ed34457a87804601ec725962aa4f4ee7b"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"unresolved":false,"context_lines":[{"line_number":524,"context_line":"                lr_port[\u0027uuid\u0027])"},{"line_number":525,"context_line":"        # Set the SNAT rule for each subnet (only first IP)"},{"line_number":526,"context_line":"        for cidr in self._find_router_subnets_cidrs(context, router_id):"},{"line_number":527,"context_line":"            cidr_prefix \u003d int(cidr.split(\u0027/\u0027)[1])"},{"line_number":528,"context_line":"            nvplib.create_lrouter_snat_rule("},{"line_number":529,"context_line":"                self.cluster, router_id,"},{"line_number":530,"context_line":"                ip_addresses[0].split(\u0027/\u0027)[0],"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAOn%2F%2FiOc%3D","line":527,"in_reply_to":"AAAAOn%2F%2FiO4%3D","updated":"2013-05-06 15:33:35.000000000","message":"good point.\nHowever, this is quicker in computational terms, as the IPNetwork constructor does much more than a split: https://github.com/drkjam/netaddr/blob/rel-0.7.x/netaddr/ip/__init__.py#L886\n\nOn the other hand I do not have any strong argument pro/versus this. So If you have an argument for using NetAddr, I\u0027ll be happy to fix this.","commit_id":"5cf40a6ed34457a87804601ec725962aa4f4ee7b"},{"author":{"_account_id":642,"name":"Matt Dietz","email":"matthew.dietz@gmail.com","username":"cerberus"},"unresolved":false,"context_lines":[{"line_number":524,"context_line":"                lr_port[\u0027uuid\u0027])"},{"line_number":525,"context_line":"        # Set the SNAT rule for each subnet (only first IP)"},{"line_number":526,"context_line":"        for cidr in self._find_router_subnets_cidrs(context, router_id):"},{"line_number":527,"context_line":"            cidr_prefix \u003d int(cidr.split(\u0027/\u0027)[1])"},{"line_number":528,"context_line":"            nvplib.create_lrouter_snat_rule("},{"line_number":529,"context_line":"                self.cluster, router_id,"},{"line_number":530,"context_line":"                ip_addresses[0].split(\u0027/\u0027)[0],"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAOn%2F%2FiGo%3D","line":527,"in_reply_to":"AAAAOn%2F%2FiOc%3D","updated":"2013-05-06 16:35:53.000000000","message":"Nope, just wanted to point it out. Wasn\u0027t sure from the context if it was considered and rejected for the reasons you mentioned or you were unaware :-)","commit_id":"5cf40a6ed34457a87804601ec725962aa4f4ee7b"}]}
