)]}'
{"neutron/db/ipam_pluggable_backend.py":[{"author":{"_account_id":9285,"name":"Madhu Mohan","email":"mmnelemane@suse.com","username":"snmohan83"},"change_message_id":"256c800cd8af78353bc6a4fea876583f0ba8e1c5","unresolved":false,"context_lines":[{"line_number":407,"context_line":"    def allocate_subnet(self, context, network, subnet, subnetpool_id):"},{"line_number":408,"context_line":"        subnetpool \u003d None"},{"line_number":409,"context_line":""},{"line_number":410,"context_line":"        if subnetpool_id and not subnetpool_id \u003d\u003d constants.IPV6_PD_POOL_ID:"},{"line_number":411,"context_line":"            subnetpool \u003d self._get_subnetpool(context, subnetpool_id)"},{"line_number":412,"context_line":"            self._validate_ip_version_with_subnetpool(subnet, subnetpool)"},{"line_number":413,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_ba68d4f6","line":410,"updated":"2015-08-18 13:39:20.000000000","message":"Wont the condition \"subnetpool_id \u003d\u003d constants.IPV6_PD_POOL_ID\" alone be sufficient ? I think it already takes care of \"if subnetpool_id\".","commit_id":"f01a5bf0337224f0a8637752a5875cca50ed41d1"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"0e388735e4f9bc70cecd9697a3f3590e6fb776d7","unresolved":false,"context_lines":[{"line_number":407,"context_line":"    def allocate_subnet(self, context, network, subnet, subnetpool_id):"},{"line_number":408,"context_line":"        subnetpool \u003d None"},{"line_number":409,"context_line":""},{"line_number":410,"context_line":"        if subnetpool_id and not subnetpool_id \u003d\u003d constants.IPV6_PD_POOL_ID:"},{"line_number":411,"context_line":"            subnetpool \u003d self._get_subnetpool(context, subnetpool_id)"},{"line_number":412,"context_line":"            self._validate_ip_version_with_subnetpool(subnet, subnetpool)"},{"line_number":413,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_9e1b3d73","line":410,"in_reply_to":"fa1b9901_ba68d4f6","updated":"2015-08-19 16:00:57.000000000","message":"No, because we only want to enter this block if subnetpool_id is NOT equal to constants.IPV6_PD_POOL_ID or None.","commit_id":"f01a5bf0337224f0a8637752a5875cca50ed41d1"}],"neutron/ipam/drivers/neutrondb_ipam/driver.py":[{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"b3eade315ddb852edc87c727799df59cb843ad86","unresolved":false,"context_lines":[{"line_number":93,"context_line":"            raise n_exc.SubnetNotFound(subnet_id\u003dneutron_subnet_id)"},{"line_number":94,"context_line":"        pools \u003d []"},{"line_number":95,"context_line":"        for pool in ipam_subnet.allocation_pools:"},{"line_number":96,"context_line":"            # Fix incorrectly formed prefix delegation pools"},{"line_number":97,"context_line":"            if pool[\u0027last_ip\u0027] \u003d\u003d \u0027::ffff:ffff:ffff:ffff\u0027:"},{"line_number":98,"context_line":"                pool[\u0027first_ip\u0027] \u003d \u0027::1\u0027"},{"line_number":99,"context_line":"            pools.append(netaddr.IPRange(pool[\u0027first_ip\u0027], pool[\u0027last_ip\u0027]))"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa1b9901_69db91ee","line":96,"updated":"2015-08-17 12:20:41.000000000","message":"Tracked down the root cause of this so will push a new patch with a more elegant solution.","commit_id":"bc89411ea5723191f98294e46f7433f4345ab9d5"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"a78f854f92aa4ce71341c40c0321cc1c6f4ed13e","unresolved":false,"context_lines":[{"line_number":47,"context_line":"    def create_allocation_pools(cls, subnet_manager, session, pools):"},{"line_number":48,"context_line":"        for pool in pools:"},{"line_number":49,"context_line":"            # IPv6 addresses that start \u0027::1\u0027, \u0027::2\u0027, etc are ambiguous and are"},{"line_number":50,"context_line":"            # interpreted by netaddr.IPAdress as being IPv4. Infer the IP"},{"line_number":51,"context_line":"            # version from the last address for safety."},{"line_number":52,"context_line":"            ip_version \u003d netaddr.IPAddress(pool.last).version"},{"line_number":53,"context_line":"            subnet_manager.create_pool("}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1b9901_90f961cb","line":50,"updated":"2015-08-17 14:57:10.000000000","message":"Nit: \"interpreted by netaddr.IPAddress on some platforms as...\"","commit_id":"90b5673b2aeaadbeb3734ca2c436a05751be4ea8"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"2557303c245b6a5a8f10344f0e2ba06d5f33ed50","unresolved":false,"context_lines":[{"line_number":47,"context_line":"    def create_allocation_pools(cls, subnet_manager, session, pools):"},{"line_number":48,"context_line":"        for pool in pools:"},{"line_number":49,"context_line":"            # IPv6 addresses that start \u0027::1\u0027, \u0027::2\u0027, etc are ambiguous and are"},{"line_number":50,"context_line":"            # interpreted by netaddr.IPAdress as being IPv4. Infer the IP"},{"line_number":51,"context_line":"            # version from the last address for safety."},{"line_number":52,"context_line":"            ip_version \u003d netaddr.IPAddress(pool.last).version"},{"line_number":53,"context_line":"            subnet_manager.create_pool("}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1b9901_c6407f0a","line":50,"in_reply_to":"fa1b9901_90f961cb","updated":"2015-08-17 15:27:00.000000000","message":"Done","commit_id":"90b5673b2aeaadbeb3734ca2c436a05751be4ea8"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"a78f854f92aa4ce71341c40c0321cc1c6f4ed13e","unresolved":false,"context_lines":[{"line_number":49,"context_line":"            # IPv6 addresses that start \u0027::1\u0027, \u0027::2\u0027, etc are ambiguous and are"},{"line_number":50,"context_line":"            # interpreted by netaddr.IPAdress as being IPv4. Infer the IP"},{"line_number":51,"context_line":"            # version from the last address for safety."},{"line_number":52,"context_line":"            ip_version \u003d netaddr.IPAddress(pool.last).version"},{"line_number":53,"context_line":"            subnet_manager.create_pool("},{"line_number":54,"context_line":"                session,"},{"line_number":55,"context_line":"                netaddr.IPAddress(pool.first, ip_version).format(),"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1b9901_d0d039cc","line":52,"updated":"2015-08-17 14:57:10.000000000","message":"Can pool.last never be interpreted as IPv4?","commit_id":"90b5673b2aeaadbeb3734ca2c436a05751be4ea8"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"2557303c245b6a5a8f10344f0e2ba06d5f33ed50","unresolved":false,"context_lines":[{"line_number":49,"context_line":"            # IPv6 addresses that start \u0027::1\u0027, \u0027::2\u0027, etc are ambiguous and are"},{"line_number":50,"context_line":"            # interpreted by netaddr.IPAdress as being IPv4. Infer the IP"},{"line_number":51,"context_line":"            # version from the last address for safety."},{"line_number":52,"context_line":"            ip_version \u003d netaddr.IPAddress(pool.last).version"},{"line_number":53,"context_line":"            subnet_manager.create_pool("},{"line_number":54,"context_line":"                session,"},{"line_number":55,"context_line":"                netaddr.IPAddress(pool.first, ip_version).format(),"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1b9901_26bffbd1","line":52,"in_reply_to":"fa1b9901_d0d039cc","updated":"2015-08-17 15:27:00.000000000","message":"It\u0027s less likely to fall within the ambiguous range, but it isn\u0027t impossible. A better solution would be to infer the ip version from the subnet cidr. I\u0027ll do that instead, thanks.","commit_id":"90b5673b2aeaadbeb3734ca2c436a05751be4ea8"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"74d8e55dddf189e407806a943d98c845624cf423","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    IPAM operations."},{"line_number":44,"context_line":"    \"\"\""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    @classmethod"},{"line_number":47,"context_line":"    def create_allocation_pools(cls, subnet_manager, session, pools, cidr):"},{"line_number":48,"context_line":"        for pool in pools:"},{"line_number":49,"context_line":"            # IPv6 addresses that start \u0027::1\u0027, \u0027::2\u0027, etc are ambiguous and are"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_4831d20a","line":46,"updated":"2015-08-17 20:27:33.000000000","message":"I am struggling to understand why these are class methods. If they were regular instance methods we could use self._cidr directly.","commit_id":"f01a5bf0337224f0a8637752a5875cca50ed41d1"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"78730792adb9015ff77df8ef49c0994ef0a91ad8","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    IPAM operations."},{"line_number":44,"context_line":"    \"\"\""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    @classmethod"},{"line_number":47,"context_line":"    def create_allocation_pools(cls, subnet_manager, session, pools, cidr):"},{"line_number":48,"context_line":"        for pool in pools:"},{"line_number":49,"context_line":"            # IPv6 addresses that start \u0027::1\u0027, \u0027::2\u0027, etc are ambiguous and are"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_faee4ceb","line":46,"in_reply_to":"fa1b9901_3896174d","updated":"2015-08-18 12:26:36.000000000","message":"The problem is I that I don\u0027t like the way this ended up. Passing self._cidr around between classmethods just looks all wrong to me. I\u0027d like to spend some time to understand to code a little better, but I have not voted -1 in case there are other core reviewers more familiar with the code who think it is OK.","commit_id":"f01a5bf0337224f0a8637752a5875cca50ed41d1"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"0a220dbab67180dd548ebc081f73b33532a5d561","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    IPAM operations."},{"line_number":44,"context_line":"    \"\"\""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    @classmethod"},{"line_number":47,"context_line":"    def create_allocation_pools(cls, subnet_manager, session, pools, cidr):"},{"line_number":48,"context_line":"        for pool in pools:"},{"line_number":49,"context_line":"            # IPv6 addresses that start \u0027::1\u0027, \u0027::2\u0027, etc are ambiguous and are"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_3896174d","line":46,"in_reply_to":"fa1b9901_4831d20a","updated":"2015-08-18 09:13:55.000000000","message":"I haven\u0027t dived that deep in investigating the changes needed here for PD. Is that something we can explore in a separate investigation? That seems like a wider issue to me than just this small PD change.","commit_id":"f01a5bf0337224f0a8637752a5875cca50ed41d1"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"53261445351f0f0109d72f8301a832414a60c9c1","unresolved":false,"context_lines":[{"line_number":73,"context_line":"            pools \u003d subnet_request.allocation_pools"},{"line_number":74,"context_line":"        # Create IPAM allocation pools and availability ranges"},{"line_number":75,"context_line":"        cls.create_allocation_pools(subnet_manager, session, pools,"},{"line_number":76,"context_line":"                                    subnet_request.subnet_cidr)"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        return cls(ipam_subnet_id,"},{"line_number":79,"context_line":"                   ctx,"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_631e9ebc","line":76,"updated":"2015-08-20 13:01:20.000000000","message":"subnet_request.subnet_cidr is already an IPNetwork instance, therefore the call at line 52 will be useless even if harmless as well.","commit_id":"f01a5bf0337224f0a8637752a5875cca50ed41d1"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"53261445351f0f0109d72f8301a832414a60c9c1","unresolved":false,"context_lines":[{"line_number":420,"context_line":"            return"},{"line_number":421,"context_line":"        subnet \u003d NeutronDbSubnet.load(subnet_request.subnet_id, self._context)"},{"line_number":422,"context_line":"        subnet.update_allocation_pools(subnet_request.allocation_pools,"},{"line_number":423,"context_line":"                                       subnet._cidr)"},{"line_number":424,"context_line":"        return subnet"},{"line_number":425,"context_line":""},{"line_number":426,"context_line":"    def remove_subnet(self, subnet_id):"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_834412b7","line":423,"updated":"2015-08-20 13:01:20.000000000","message":"this is a string instead, which is then passed to create_allocation_pools\n\nIt would be good to be consistent","commit_id":"f01a5bf0337224f0a8637752a5875cca50ed41d1"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"2bc8a883c9533d340f820acb91ea4e4ead4d38e0","unresolved":false,"context_lines":[{"line_number":47,"context_line":"    def create_allocation_pools(cls, subnet_manager, session, pools, cidr):"},{"line_number":48,"context_line":"        for pool in pools:"},{"line_number":49,"context_line":"            # IPv6 addresses that start \u0027::1\u0027, \u0027::2\u0027, etc are ambiguous and are"},{"line_number":50,"context_line":"            # interpreted by netaddr.IPAddress on some platforms as being IPv4."},{"line_number":51,"context_line":"            # Infer the IP version from the subnet cidr."},{"line_number":52,"context_line":"            ip_version \u003d cidr.version"},{"line_number":53,"context_line":"            subnet_manager.create_pool("}],"source_content_type":"text/x-python","patch_set":5,"id":"fa1b9901_1fa2c7fc","line":50,"updated":"2015-08-25 15:30:23.000000000","message":"Is this the compat issue we saw on OSX?","commit_id":"40d7026c19eeaaa13c5c6e4e02ccffe89bd1ec08"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"e82effe1fba2e5693aa9d098e6f0561f61c0df77","unresolved":false,"context_lines":[{"line_number":47,"context_line":"    def create_allocation_pools(cls, subnet_manager, session, pools, cidr):"},{"line_number":48,"context_line":"        for pool in pools:"},{"line_number":49,"context_line":"            # IPv6 addresses that start \u0027::1\u0027, \u0027::2\u0027, etc are ambiguous and are"},{"line_number":50,"context_line":"            # interpreted by netaddr.IPAddress on some platforms as being IPv4."},{"line_number":51,"context_line":"            # Infer the IP version from the subnet cidr."},{"line_number":52,"context_line":"            ip_version \u003d cidr.version"},{"line_number":53,"context_line":"            subnet_manager.create_pool("}],"source_content_type":"text/x-python","patch_set":5,"id":"fa1b9901_bf715b0e","line":50,"in_reply_to":"fa1b9901_1fa2c7fc","updated":"2015-08-25 15:37:46.000000000","message":"This is a different issue actually. On debian (and possibly elsewhere) netaddr reads ::2 as 0.0.0.2 IPv4, unless you specifically tell it you want IPv6. We had to fix this already for non-pluggable IPAM - https://review.openstack.org/#/c/199176/3/neutron/ipam/utils.py","commit_id":"40d7026c19eeaaa13c5c6e4e02ccffe89bd1ec08"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"76234c34eb99d503292fae2fc1f7a487015506cd","unresolved":false,"context_lines":[{"line_number":47,"context_line":"    def create_allocation_pools(cls, subnet_manager, session, pools, cidr):"},{"line_number":48,"context_line":"        for pool in pools:"},{"line_number":49,"context_line":"            # IPv6 addresses that start \u0027::1\u0027, \u0027::2\u0027, etc are ambiguous and are"},{"line_number":50,"context_line":"            # interpreted by netaddr.IPAddress on some platforms as being IPv4."},{"line_number":51,"context_line":"            # Infer the IP version from the subnet cidr."},{"line_number":52,"context_line":"            ip_version \u003d cidr.version"},{"line_number":53,"context_line":"            subnet_manager.create_pool("}],"source_content_type":"text/x-python","patch_set":5,"id":"fa1b9901_d199a37a","line":50,"in_reply_to":"fa1b9901_bf715b0e","updated":"2015-08-25 15:52:21.000000000","message":"This comment is misleading, I think.  As far as I know, passing \"::1\" to IPAddress will always result in an IPv6 address.  However, on L55, pool.first is an integer value.  It is the integer value (e.g. 1, 2, ...) that is ambiguous and the IP version must be carried along with the value.\n\nI don\u0027t think it has anything to do with the platform.  It is a fundamental problem with creating an IP address of either family with values in the 32 bit range.\n\nIf you could just update the comment appropriately, that should do it.","commit_id":"40d7026c19eeaaa13c5c6e4e02ccffe89bd1ec08"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"8644b5a245b44d16137cf2e873e2b9dce5694aa5","unresolved":false,"context_lines":[{"line_number":47,"context_line":"    def create_allocation_pools(cls, subnet_manager, session, pools, cidr):"},{"line_number":48,"context_line":"        for pool in pools:"},{"line_number":49,"context_line":"            # IPv6 addresses that start \u0027::1\u0027, \u0027::2\u0027, etc are ambiguous and are"},{"line_number":50,"context_line":"            # interpreted by netaddr.IPAddress on some platforms as being IPv4."},{"line_number":51,"context_line":"            # Infer the IP version from the subnet cidr."},{"line_number":52,"context_line":"            ip_version \u003d cidr.version"},{"line_number":53,"context_line":"            subnet_manager.create_pool("}],"source_content_type":"text/x-python","patch_set":5,"id":"fa1b9901_b1a74f4f","line":50,"in_reply_to":"fa1b9901_bf715b0e","updated":"2015-08-25 15:55:29.000000000","message":"ok, thanks for the info","commit_id":"40d7026c19eeaaa13c5c6e4e02ccffe89bd1ec08"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"2e3893b8901a1f335e424ab9e6838af3c13d34df","unresolved":false,"context_lines":[{"line_number":47,"context_line":"    def create_allocation_pools(cls, subnet_manager, session, pools, cidr):"},{"line_number":48,"context_line":"        for pool in pools:"},{"line_number":49,"context_line":"            # IPv6 addresses that start \u0027::1\u0027, \u0027::2\u0027, etc are ambiguous and are"},{"line_number":50,"context_line":"            # interpreted by netaddr.IPAddress on some platforms as being IPv4."},{"line_number":51,"context_line":"            # Infer the IP version from the subnet cidr."},{"line_number":52,"context_line":"            ip_version \u003d cidr.version"},{"line_number":53,"context_line":"            subnet_manager.create_pool("}],"source_content_type":"text/x-python","patch_set":5,"id":"fa1b9901_341d6d62","line":50,"in_reply_to":"fa1b9901_d199a37a","updated":"2015-08-25 15:56:01.000000000","message":"Yes you\u0027re right, that\u0027s a much better explanation. I\u0027ll update the comment, thanks.","commit_id":"40d7026c19eeaaa13c5c6e4e02ccffe89bd1ec08"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"76234c34eb99d503292fae2fc1f7a487015506cd","unresolved":false,"context_lines":[{"line_number":52,"context_line":"            ip_version \u003d cidr.version"},{"line_number":53,"context_line":"            subnet_manager.create_pool("},{"line_number":54,"context_line":"                session,"},{"line_number":55,"context_line":"                netaddr.IPAddress(pool.first, ip_version).format(),"},{"line_number":56,"context_line":"                netaddr.IPAddress(pool.last, ip_version).format())"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa1b9901_31b33f9c","line":55,"updated":"2015-08-25 15:52:21.000000000","message":"FYI:  IPRange.first/last are integers, hence the ambiguity.","commit_id":"40d7026c19eeaaa13c5c6e4e02ccffe89bd1ec08"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"2bc8a883c9533d340f820acb91ea4e4ead4d38e0","unresolved":false,"context_lines":[{"line_number":53,"context_line":"            subnet_manager.create_pool("},{"line_number":54,"context_line":"                session,"},{"line_number":55,"context_line":"                netaddr.IPAddress(pool.first, ip_version).format(),"},{"line_number":56,"context_line":"                netaddr.IPAddress(pool.last, ip_version).format())"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    @classmethod"},{"line_number":59,"context_line":"    def create_from_subnet_request(cls, subnet_request, ctx):"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa1b9901_5f003f01","line":56,"updated":"2015-08-25 15:30:23.000000000","message":"This is still shown as a compat address on OSX:\n\n\u003e\u003e\u003e netaddr.IPAddress(\u0027::2\u0027, 6).format()\n\u0027::0.0.0.2\u0027","commit_id":"40d7026c19eeaaa13c5c6e4e02ccffe89bd1ec08"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"e82effe1fba2e5693aa9d098e6f0561f61c0df77","unresolved":false,"context_lines":[{"line_number":53,"context_line":"            subnet_manager.create_pool("},{"line_number":54,"context_line":"                session,"},{"line_number":55,"context_line":"                netaddr.IPAddress(pool.first, ip_version).format(),"},{"line_number":56,"context_line":"                netaddr.IPAddress(pool.last, ip_version).format())"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    @classmethod"},{"line_number":59,"context_line":"    def create_from_subnet_request(cls, subnet_request, ctx):"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa1b9901_7f6983f8","line":56,"in_reply_to":"fa1b9901_5f003f01","updated":"2015-08-25 15:37:46.000000000","message":"Hopefully a fix for netaddr on OSX will come at some point. I\u0027m not sure if it\u0027s worth doing anything about this in neutron as OSX isn\u0027t a supported platform.","commit_id":"40d7026c19eeaaa13c5c6e4e02ccffe89bd1ec08"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"76234c34eb99d503292fae2fc1f7a487015506cd","unresolved":false,"context_lines":[{"line_number":53,"context_line":"            subnet_manager.create_pool("},{"line_number":54,"context_line":"                session,"},{"line_number":55,"context_line":"                netaddr.IPAddress(pool.first, ip_version).format(),"},{"line_number":56,"context_line":"                netaddr.IPAddress(pool.last, ip_version).format())"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    @classmethod"},{"line_number":59,"context_line":"    def create_from_subnet_request(cls, subnet_request, ctx):"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa1b9901_f1d2a7ff","line":56,"in_reply_to":"fa1b9901_7f6983f8","updated":"2015-08-25 15:52:21.000000000","message":"I don\u0027t think this fix is about OSX nor do I think it is worth any more time thinking about OSX.  FWIW, I think the issue with OSX is just in the format command.  It seems to store the address correctly.","commit_id":"40d7026c19eeaaa13c5c6e4e02ccffe89bd1ec08"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"8644b5a245b44d16137cf2e873e2b9dce5694aa5","unresolved":false,"context_lines":[{"line_number":53,"context_line":"            subnet_manager.create_pool("},{"line_number":54,"context_line":"                session,"},{"line_number":55,"context_line":"                netaddr.IPAddress(pool.first, ip_version).format(),"},{"line_number":56,"context_line":"                netaddr.IPAddress(pool.last, ip_version).format())"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    @classmethod"},{"line_number":59,"context_line":"    def create_from_subnet_request(cls, subnet_request, ctx):"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa1b9901_310fbf3a","line":56,"in_reply_to":"fa1b9901_7f6983f8","updated":"2015-08-25 15:55:29.000000000","message":"People do development on OSX, so expect the unit tests to pass there, but that\u0027s a comment for the other review...","commit_id":"40d7026c19eeaaa13c5c6e4e02ccffe89bd1ec08"}]}
