)]}'
{"neutron/db/db_base_plugin_v2.py":[{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"4e2dcf34ffefdcb1176a6d1bbdfba92cec8835f4","unresolved":false,"context_lines":[{"line_number":553,"context_line":"            subnets \u003d self.get_subnets(context, filters\u003dfilter)"},{"line_number":554,"context_line":"            # Split into v4 and v6 subnets"},{"line_number":555,"context_line":"            v4 \u003d []"},{"line_number":556,"context_line":"            v6 \u003d []"},{"line_number":557,"context_line":"            for subnet in subnets:"},{"line_number":558,"context_line":"                if subnet[\u0027ip_version\u0027] \u003d\u003d 4:"},{"line_number":559,"context_line":"                    v4.append(subnet)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_8f968e92","line":556,"updated":"2015-01-16 06:05:13.000000000","message":": \n  v6_stateful \u003d []\n  v6_stateless \u003d []","commit_id":"dba8c0d184d7652bbe4c45a4f051b3161015632c"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"4e2dcf34ffefdcb1176a6d1bbdfba92cec8835f4","unresolved":false,"context_lines":[{"line_number":558,"context_line":"                if subnet[\u0027ip_version\u0027] \u003d\u003d 4:"},{"line_number":559,"context_line":"                    v4.append(subnet)"},{"line_number":560,"context_line":"                else:"},{"line_number":561,"context_line":"                    v6.append(subnet)"},{"line_number":562,"context_line":""},{"line_number":563,"context_line":"            v6_copy \u003d copy.deepcopy(v6)"},{"line_number":564,"context_line":"            for subnet in v6_copy:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_6ff32209","line":561,"updated":"2015-01-16 06:05:13.000000000","message":":\n  if ipv6_utils.is_auto_address_subnet(subnet):\n      v6_stateless.append(subnet)\n  else:\n      v6_stateful.append(subnet)","commit_id":"dba8c0d184d7652bbe4c45a4f051b3161015632c"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"4e2dcf34ffefdcb1176a6d1bbdfba92cec8835f4","unresolved":false,"context_lines":[{"line_number":560,"context_line":"                else:"},{"line_number":561,"context_line":"                    v6.append(subnet)"},{"line_number":562,"context_line":""},{"line_number":563,"context_line":"            v6_copy \u003d copy.deepcopy(v6)"},{"line_number":564,"context_line":"            for subnet in v6_copy:"},{"line_number":565,"context_line":"                if ipv6_utils.is_auto_address_subnet(subnet):"},{"line_number":566,"context_line":"                    #(dzyu) If true, calculate an IPv6 address"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_0f9c5ebf","line":563,"updated":"2015-01-16 06:05:13.000000000","message":"I think it would be more straight-forward to just build two lists above.","commit_id":"dba8c0d184d7652bbe4c45a4f051b3161015632c"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"4e2dcf34ffefdcb1176a6d1bbdfba92cec8835f4","unresolved":false,"context_lines":[{"line_number":561,"context_line":"                    v6.append(subnet)"},{"line_number":562,"context_line":""},{"line_number":563,"context_line":"            v6_copy \u003d copy.deepcopy(v6)"},{"line_number":564,"context_line":"            for subnet in v6_copy:"},{"line_number":565,"context_line":"                if ipv6_utils.is_auto_address_subnet(subnet):"},{"line_number":566,"context_line":"                    #(dzyu) If true, calculate an IPv6 address"},{"line_number":567,"context_line":"                    # by mac address and prefix, then remove this"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_afd8aa7f","line":564,"updated":"2015-01-16 06:05:13.000000000","message":"for subnet in v6_stateless","commit_id":"dba8c0d184d7652bbe4c45a4f051b3161015632c"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"4e2dcf34ffefdcb1176a6d1bbdfba92cec8835f4","unresolved":false,"context_lines":[{"line_number":579,"context_line":"                            ip_address\u003dip_address.format())"},{"line_number":580,"context_line":"                    ips.append({\u0027ip_address\u0027: ip_address.format(),"},{"line_number":581,"context_line":"                                \u0027subnet_id\u0027: subnet[\u0027id\u0027]})"},{"line_number":582,"context_line":"                    v6.remove(subnet)"},{"line_number":583,"context_line":"            version_subnets \u003d [v4, v6]"},{"line_number":584,"context_line":"            for subnets in version_subnets:"},{"line_number":585,"context_line":"                if subnets:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_cfe33632","line":582,"updated":"2015-01-16 06:05:13.000000000","message":"version_subnets \u003d [v4, v6_stateful]","commit_id":"dba8c0d184d7652bbe4c45a4f051b3161015632c"}],"neutron/tests/unit/test_db_plugin.py":[{"author":{"_account_id":9077,"name":"Rajeev Grover","email":"rgrover687@gmail.com","username":"rajeev"},"change_message_id":"a876e31cff5034abe973ca0518f5d6153221273c","unresolved":false,"context_lines":[{"line_number":1492,"context_line":"                                                         port_mac))"},{"line_number":1493,"context_line":"        self.assertEqual(port[\u0027port\u0027][\u0027fixed_ips\u0027][0][\u0027ip_address\u0027], eui_addr)"},{"line_number":1494,"context_line":""},{"line_number":1495,"context_line":"    def test_ip_allocation_for_ipv6_2_subnet_slaac_mode(self):"},{"line_number":1496,"context_line":"        res \u003d self._create_network(fmt\u003dself.fmt, name\u003d\u0027net\u0027,"},{"line_number":1497,"context_line":"                                   admin_state_up\u003dTrue)"},{"line_number":1498,"context_line":"        network \u003d self.deserialize(self.fmt, res)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_4324c5c5","line":1495,"updated":"2015-01-14 17:04:03.000000000","message":"Your code change looks good but can you please clarify this for me:\nThe code change is in method _allocate_ips_for_port(...) whereas the unit test here doesn\u0027t directly invoke the method _allocate_ips_for_port. Does there need to be a unit test for _allocate_ips_for_port(...) ?","commit_id":"dcd49a697d9919a24d3c893e2c83399dfd951173"},{"author":{"_account_id":7183,"name":"Xu Han Peng","email":"xuhanp@linux.vnet.ibm.com","username":"xuhanp"},"change_message_id":"cc56f20be0c2b415cd5c4f4d5e738ba8cdd165a0","unresolved":false,"context_lines":[{"line_number":1492,"context_line":"                                                         port_mac))"},{"line_number":1493,"context_line":"        self.assertEqual(port[\u0027port\u0027][\u0027fixed_ips\u0027][0][\u0027ip_address\u0027], eui_addr)"},{"line_number":1494,"context_line":""},{"line_number":1495,"context_line":"    def test_ip_allocation_for_ipv6_2_subnet_slaac_mode(self):"},{"line_number":1496,"context_line":"        res \u003d self._create_network(fmt\u003dself.fmt, name\u003d\u0027net\u0027,"},{"line_number":1497,"context_line":"                                   admin_state_up\u003dTrue)"},{"line_number":1498,"context_line":"        network \u003d self.deserialize(self.fmt, res)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_5ab73085","line":1495,"in_reply_to":"3a961159_4324c5c5","updated":"2015-01-15 06:30:28.000000000","message":"Sure. I will add a unit test in next patch.","commit_id":"dcd49a697d9919a24d3c893e2c83399dfd951173"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"e9b8d1ab7de9e305e7334b017f4156b175aa9ddb","unresolved":false,"context_lines":[{"line_number":4181,"context_line":"                               \u0027get_subnets\u0027) as get_subnets:"},{"line_number":4182,"context_line":"            with mock.patch.object(db_base_plugin_v2.NeutronDbPluginV2,"},{"line_number":4183,"context_line":"                                   \u0027_check_unique_ip\u0027) as check_unique:"},{"line_number":4184,"context_line":"                context \u003d mock.Mock()"},{"line_number":4185,"context_line":"                get_subnets.return_value \u003d subnets"},{"line_number":4186,"context_line":"                check_unique.return_value \u003d True"},{"line_number":4187,"context_line":"                actual \u003d plugin._allocate_ips_for_port(context, port)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_e8cf1a55","line":4184,"updated":"2015-01-15 20:13:21.000000000","message":"(No action needed) This variable shadows the import, but it\u0027s not a problem in the code below, for now.","commit_id":"dba8c0d184d7652bbe4c45a4f051b3161015632c"}]}
