)]}'
{"neutron/agent/dhcp/agent.py":[{"author":{"_account_id":12860,"name":"Dongcan Ye","email":"yedongcan@yeah.net","username":"yedongcan"},"change_message_id":"484f727c05ec156fce786a4dd229f6fd8efe5f2c","unresolved":false,"context_lines":[{"line_number":273,"context_line":"        else:"},{"line_number":274,"context_line":"            self.disable_dhcp_helper(network.id)"},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"        # Update the metdata proxy after the dhcp driver has been updated"},{"line_number":277,"context_line":"        self.update_isolated_metadata_proxy(network)"},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"    @utils.synchronized(\u0027dhcp-agent\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a122d0e_76d137fb","line":276,"updated":"2016-04-23 09:38:33.000000000","message":"small nit: metdata-\u003e metadata\n\nIMO, we no need to update_isolated_metadata_proxy all the time, in disable_dhcp_helper we had already disabled the metadata proxy.","commit_id":"e1d1572c7838ad9f2b574c56043bdd9d8aed6173"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"f810bd82f515c394451dc65fc7e728a3b08dacce","unresolved":false,"context_lines":[{"line_number":273,"context_line":"        else:"},{"line_number":274,"context_line":"            self.disable_dhcp_helper(network.id)"},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"        # Update the metdata proxy after the dhcp driver has been updated"},{"line_number":277,"context_line":"        self.update_isolated_metadata_proxy(network)"},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"    @utils.synchronized(\u0027dhcp-agent\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1aa78d24_272e45a5","line":276,"in_reply_to":"1a122d0e_76d137fb","updated":"2016-07-06 04:41:34.000000000","message":"Since the based code has been changed, I will rebase and try to find a way to avoid excess execution.","commit_id":"e1d1572c7838ad9f2b574c56043bdd9d8aed6173"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"51db6f4423d65a780355d58c3b3b678c9c9cc039","unresolved":false,"context_lines":[{"line_number":274,"context_line":"            self.disable_dhcp_helper(network.id)"},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"        # Update the metdata proxy after the dhcp driver has been updated"},{"line_number":277,"context_line":"        self.update_isolated_metadata_proxy(network)"},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"    @utils.synchronized(\u0027dhcp-agent\u0027)"},{"line_number":280,"context_line":"    def network_create_end(self, context, payload):"}],"source_content_type":"text/x-python","patch_set":2,"id":"dab17558_0f27d3ca","line":277,"updated":"2016-05-16 09:29:34.000000000","message":"is it intended to re-enable it when force_metadata\u003dTrue?","commit_id":"e1d1572c7838ad9f2b574c56043bdd9d8aed6173"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"f810bd82f515c394451dc65fc7e728a3b08dacce","unresolved":false,"context_lines":[{"line_number":274,"context_line":"            self.disable_dhcp_helper(network.id)"},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"        # Update the metdata proxy after the dhcp driver has been updated"},{"line_number":277,"context_line":"        self.update_isolated_metadata_proxy(network)"},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"    @utils.synchronized(\u0027dhcp-agent\u0027)"},{"line_number":280,"context_line":"    def network_create_end(self, context, payload):"}],"source_content_type":"text/x-python","patch_set":2,"id":"1aa78d24_7a0c603b","line":277,"in_reply_to":"dab17558_0f27d3ca","updated":"2016-07-06 04:41:34.000000000","message":"If force_metadata\u003dTrue, should_enable_metadata at line 355 will always be True, and the metadata proxy will be spawned.","commit_id":"e1d1572c7838ad9f2b574c56043bdd9d8aed6173"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"f949491c8902b173afe5670e57f0c26d55b5916e","unresolved":false,"context_lines":[{"line_number":291,"context_line":"            # In the case that the dhcp agent ran with metadata enabled,"},{"line_number":292,"context_line":"            # and dhcp agent now starts with metadata disabled, check and"},{"line_number":293,"context_line":"            # delete any metadata_proxy."},{"line_number":294,"context_line":"            self.disable_isolated_metadata_proxy(network)"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"    def disable_dhcp_helper(self, network_id):"},{"line_number":297,"context_line":"        \"\"\"Disable DHCP for a network known to the agent.\"\"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"fa6399be_909ca5c1","side":"PARENT","line":294,"updated":"2016-10-14 16:39:40.000000000","message":"How is disable_isolated_metadata called if no subnets have dhcp enabled?","commit_id":"51b34f0729863197481bcb933d34d834147a9d1b"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"6304a9302a726df5a9f2b5edbe6b83fc0afff284","unresolved":false,"context_lines":[{"line_number":291,"context_line":"            # In the case that the dhcp agent ran with metadata enabled,"},{"line_number":292,"context_line":"            # and dhcp agent now starts with metadata disabled, check and"},{"line_number":293,"context_line":"            # delete any metadata_proxy."},{"line_number":294,"context_line":"            self.disable_isolated_metadata_proxy(network)"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"    def disable_dhcp_helper(self, network_id):"},{"line_number":297,"context_line":"        \"\"\"Disable DHCP for a network known to the agent.\"\"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"fa6399be_77d12afb","side":"PARENT","line":294,"in_reply_to":"fa6399be_909ca5c1","updated":"2016-10-19 00:39:53.000000000","message":"Everytime the subnet of network changes, refresh_dhcp_helper will be called, and then update_isolated_metadata_proxy will be called. Inside update_isolated_metadata_proxy, if the should_enable_metadata return false, then disable_isolated_metadata_proxy will be called.","commit_id":"51b34f0729863197481bcb933d34d834147a9d1b"},{"author":{"_account_id":8976,"name":"shihanzhang","email":"ayshihanzhang@gmail.com","username":"shihanzhang"},"change_message_id":"e8eaec865c99a1314b4aefbd27804087ae8c1b12","unresolved":false,"context_lines":[{"line_number":288,"context_line":"                    break"},{"line_number":289,"context_line":"        elif (not self.conf.force_metadata and"},{"line_number":290,"context_line":"              not self.conf.enable_isolated_metadata):"},{"line_number":291,"context_line":"            # In the case that the dhcp agent ran with metadata enabled,"},{"line_number":292,"context_line":"            # and dhcp agent now starts with metadata disabled, check and"},{"line_number":293,"context_line":"            # delete any metadata_proxy."},{"line_number":294,"context_line":"            self.disable_isolated_metadata_proxy(network)"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa6399be_9f5fa974","side":"PARENT","line":291,"updated":"2016-10-19 09:01:48.000000000","message":"do the new codes cover this case?","commit_id":"51b34f0729863197481bcb933d34d834147a9d1b"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"d48e3f5805958f41a508d87ac1708dbc56e1fc08","unresolved":false,"context_lines":[{"line_number":288,"context_line":"                    break"},{"line_number":289,"context_line":"        elif (not self.conf.force_metadata and"},{"line_number":290,"context_line":"              not self.conf.enable_isolated_metadata):"},{"line_number":291,"context_line":"            # In the case that the dhcp agent ran with metadata enabled,"},{"line_number":292,"context_line":"            # and dhcp agent now starts with metadata disabled, check and"},{"line_number":293,"context_line":"            # delete any metadata_proxy."},{"line_number":294,"context_line":"            self.disable_isolated_metadata_proxy(network)"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa6399be_6a585157","side":"PARENT","line":291,"in_reply_to":"fa6399be_9f5fa974","updated":"2016-10-19 09:17:44.000000000","message":"Yes, update_isolated_metadata_proxy should cover it.","commit_id":"51b34f0729863197481bcb933d34d834147a9d1b"}],"neutron/agent/linux/dhcp.py":[{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"7e019c9afaa8a25cb8aa91c7a6a65ce3931270bc","unresolved":false,"context_lines":[{"line_number":1041,"context_line":""},{"line_number":1042,"context_line":"        This method returns True for truly isolated networks (ie: not attached"},{"line_number":1043,"context_line":"        to a router) when enable_isolated_metadata is True, or for all the"},{"line_number":1044,"context_line":"        networks when the force_metadata flags is True."},{"line_number":1045,"context_line":""},{"line_number":1046,"context_line":"        This method also returns True when enable_metadata_network is True,"},{"line_number":1047,"context_line":"        and the network passed as a parameter has a subnet in the link-local"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a8bc5a2_a1eb44af","line":1044,"updated":"2016-09-23 23:19:13.000000000","message":"We should probably add to this line: \u0027and there is at least one ipv4 subnet\u0027","commit_id":"23478e6f3b25b6c3dccefc6eebe911a2c661e9e0"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"39d5bb7332d204f836a6d6408d1c20155f8ef2bc","unresolved":false,"context_lines":[{"line_number":1041,"context_line":""},{"line_number":1042,"context_line":"        This method returns True for truly isolated networks (ie: not attached"},{"line_number":1043,"context_line":"        to a router) when enable_isolated_metadata is True, or for all the"},{"line_number":1044,"context_line":"        networks when the force_metadata flags is True."},{"line_number":1045,"context_line":""},{"line_number":1046,"context_line":"        This method also returns True when enable_metadata_network is True,"},{"line_number":1047,"context_line":"        and the network passed as a parameter has a subnet in the link-local"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a8bc5a2_50308b9e","line":1044,"in_reply_to":"5a8bc5a2_a1eb44af","updated":"2016-09-24 01:35:34.000000000","message":"See my comment below","commit_id":"23478e6f3b25b6c3dccefc6eebe911a2c661e9e0"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"7e019c9afaa8a25cb8aa91c7a6a65ce3931270bc","unresolved":false,"context_lines":[{"line_number":1050,"context_line":"        providing access to the metadata service via logical routers built"},{"line_number":1051,"context_line":"        with 3rd party backends."},{"line_number":1052,"context_line":"        \"\"\""},{"line_number":1053,"context_line":"        if conf.force_metadata:"},{"line_number":1054,"context_line":"            return True"},{"line_number":1055,"context_line":""},{"line_number":1056,"context_line":"        if conf.enable_metadata_network and conf.enable_isolated_metadata:"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a8bc5a2_41b7e0d7","line":1053,"updated":"2016-09-23 23:19:13.000000000","message":"We should check here if we have ipv4 subnets before returning True when conf.force_metadata is True. neutron/agent/dhcp/agent.py is not checking this anymore","commit_id":"23478e6f3b25b6c3dccefc6eebe911a2c661e9e0"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"96f4d8c9c16e7a6cfb1df9df49b9941dde16af54","unresolved":false,"context_lines":[{"line_number":1050,"context_line":"        providing access to the metadata service via logical routers built"},{"line_number":1051,"context_line":"        with 3rd party backends."},{"line_number":1052,"context_line":"        \"\"\""},{"line_number":1053,"context_line":"        if conf.force_metadata:"},{"line_number":1054,"context_line":"            return True"},{"line_number":1055,"context_line":""},{"line_number":1056,"context_line":"        if conf.enable_metadata_network and conf.enable_isolated_metadata:"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a8bc5a2_bf0b0f23","line":1053,"in_reply_to":"5a8bc5a2_10ee03ec","updated":"2016-09-26 21:29:53.000000000","message":"Thank you for taking the time to respond to my comments. The way I understand the code is the following:\n\n1) The difference between force_metadata and enable_isolated_metadata is that when the latter is True, the metadata proxy will be enabled only for networks that have a \"subnet that does not contain any router port\", whereas when the former is True, the \"metadata service will be activated for all the networks\" (https://github.com/openstack/neutron/blob/master/neutron/conf/agent/dhcp.py#L31). In other words, when enable_isolated_metadata is True, we need to call get_isolated_subnets in L1019 above to make the decision, whereas when force_metadata is True, we don\u0027t need to make that call. \n\n2) Following the code currently in master (https://github.com/openstack/neutron/blob/master/neutron/agent/dhcp/agent.py#L273) and assuming that force_metadata is True, I can see local variable enable_metadata will be set to True, because L1054 below returns True without any further checks. We then get to the for loop in https://github.com/openstack/neutron/blob/master/neutron/agent/dhcp/agent.py#L289, which is going to enable the metadata proxy only if there is an ipv4 subnet with dhcp enabled. We are changing this behavior in the proposed code, because the for loop I mention above is removed. Why change this behavior?\n\nOf course, there is always a good possibility that I am missing or misunderstanding something and in that case, please help me see it ;-)","commit_id":"23478e6f3b25b6c3dccefc6eebe911a2c661e9e0"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"39d5bb7332d204f836a6d6408d1c20155f8ef2bc","unresolved":false,"context_lines":[{"line_number":1050,"context_line":"        providing access to the metadata service via logical routers built"},{"line_number":1051,"context_line":"        with 3rd party backends."},{"line_number":1052,"context_line":"        \"\"\""},{"line_number":1053,"context_line":"        if conf.force_metadata:"},{"line_number":1054,"context_line":"            return True"},{"line_number":1055,"context_line":""},{"line_number":1056,"context_line":"        if conf.enable_metadata_network and conf.enable_isolated_metadata:"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a8bc5a2_10ee03ec","line":1053,"in_reply_to":"5a8bc5a2_41b7e0d7","updated":"2016-09-24 01:35:34.000000000","message":"Per my understanding, force_metadata\u003dTrue will always enable metadata proxy. If check ipv4 subnets with this parameter, then this parameter has no difference with enable_isolated_metadata.","commit_id":"23478e6f3b25b6c3dccefc6eebe911a2c661e9e0"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"f949491c8902b173afe5670e57f0c26d55b5916e","unresolved":false,"context_lines":[{"line_number":1052,"context_line":"        \"\"\""},{"line_number":1053,"context_line":"        if conf.force_metadata:"},{"line_number":1054,"context_line":"            # Only ipv4 subnet, with dhcp enabled, will use metadata proxy."},{"line_number":1055,"context_line":"            ipv4_subnet \u003d [s for s in network.subnets"},{"line_number":1056,"context_line":"                           if s.ip_version \u003d\u003d 4 and s.enable_dhcp]"},{"line_number":1057,"context_line":"            return bool(ipv4_subnet)"},{"line_number":1058,"context_line":""},{"line_number":1059,"context_line":"        if conf.enable_metadata_network and conf.enable_isolated_metadata:"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa6399be_ad1872d4","line":1056,"range":{"start_line":1055,"start_character":26,"end_line":1056,"end_character":66},"updated":"2016-10-14 16:39:40.000000000","message":"The built-in \"any\" function does this nicely without having to create a new list.","commit_id":"8b71dea6be80b58dbe0935ee69338161c102b596"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"6304a9302a726df5a9f2b5edbe6b83fc0afff284","unresolved":false,"context_lines":[{"line_number":1052,"context_line":"        \"\"\""},{"line_number":1053,"context_line":"        if conf.force_metadata:"},{"line_number":1054,"context_line":"            # Only ipv4 subnet, with dhcp enabled, will use metadata proxy."},{"line_number":1055,"context_line":"            ipv4_subnet \u003d [s for s in network.subnets"},{"line_number":1056,"context_line":"                           if s.ip_version \u003d\u003d 4 and s.enable_dhcp]"},{"line_number":1057,"context_line":"            return bool(ipv4_subnet)"},{"line_number":1058,"context_line":""},{"line_number":1059,"context_line":"        if conf.enable_metadata_network and conf.enable_isolated_metadata:"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa6399be_570fc687","line":1056,"range":{"start_line":1055,"start_character":26,"end_line":1056,"end_character":66},"in_reply_to":"fa6399be_ad1872d4","updated":"2016-10-19 00:39:53.000000000","message":"Done","commit_id":"8b71dea6be80b58dbe0935ee69338161c102b596"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"f949491c8902b173afe5670e57f0c26d55b5916e","unresolved":false,"context_lines":[{"line_number":1069,"context_line":"        isolated_subnets \u003d cls.get_isolated_subnets(network)"},{"line_number":1070,"context_line":"        # Only ipv4 isolated subnet, which has dhcp enabled, will use"},{"line_number":1071,"context_line":"        # metadata proxy."},{"line_number":1072,"context_line":"        return any(isolated_subnets[s.id] for s in network.subnets"},{"line_number":1073,"context_line":"                   if s.ip_version \u003d\u003d 4 and s.enable_dhcp)"},{"line_number":1074,"context_line":""},{"line_number":1075,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"fa6399be_ed0eea8a","line":1072,"range":{"start_line":1072,"start_character":15,"end_line":1072,"end_character":18},"updated":"2016-10-14 16:39:40.000000000","message":"Oh, there it is. Why not use it consistently? This is the same logic as L1055 - L1057.","commit_id":"8b71dea6be80b58dbe0935ee69338161c102b596"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"6304a9302a726df5a9f2b5edbe6b83fc0afff284","unresolved":false,"context_lines":[{"line_number":1069,"context_line":"        isolated_subnets \u003d cls.get_isolated_subnets(network)"},{"line_number":1070,"context_line":"        # Only ipv4 isolated subnet, which has dhcp enabled, will use"},{"line_number":1071,"context_line":"        # metadata proxy."},{"line_number":1072,"context_line":"        return any(isolated_subnets[s.id] for s in network.subnets"},{"line_number":1073,"context_line":"                   if s.ip_version \u003d\u003d 4 and s.enable_dhcp)"},{"line_number":1074,"context_line":""},{"line_number":1075,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"fa6399be_b74902d3","line":1072,"range":{"start_line":1072,"start_character":15,"end_line":1072,"end_character":18},"in_reply_to":"fa6399be_ed0eea8a","updated":"2016-10-19 00:39:53.000000000","message":"This is a bit different from line 1055-1057. Here the map from get_isolated_subnets is used, while in line 1055, it just checks the ipv4 subnet with dhcp enabled.","commit_id":"8b71dea6be80b58dbe0935ee69338161c102b596"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"b2f8d437f36b1391b69b183b25a7101131cc740a","unresolved":false,"context_lines":[{"line_number":1051,"context_line":"        with 3rd party backends."},{"line_number":1052,"context_line":"        \"\"\""},{"line_number":1053,"context_line":"        if conf.force_metadata:"},{"line_number":1054,"context_line":"            # Only ipv4 subnet, with dhcp enabled, will use metadata proxy."},{"line_number":1055,"context_line":"            return any(s for s in network.subnets"},{"line_number":1056,"context_line":"                       if s.ip_version \u003d\u003d 4 and s.enable_dhcp)"},{"line_number":1057,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"ba5da102_53d497ea","line":1054,"updated":"2016-11-03 15:30:03.000000000","message":"would it make sense to calculate ipv4-DHCP subnets list at the start of the function and 1) return False right away if it\u0027s empty; 2) reuse it in line 1071-1072?","commit_id":"784864d1785bcd32297865cae5a7a243b05ed30d"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"9fbebe0d1f4b1a487b14d809836ed3a8f882eb19","unresolved":false,"context_lines":[{"line_number":1051,"context_line":"        with 3rd party backends."},{"line_number":1052,"context_line":"        \"\"\""},{"line_number":1053,"context_line":"        if conf.force_metadata:"},{"line_number":1054,"context_line":"            # Only ipv4 subnet, with dhcp enabled, will use metadata proxy."},{"line_number":1055,"context_line":"            return any(s for s in network.subnets"},{"line_number":1056,"context_line":"                       if s.ip_version \u003d\u003d 4 and s.enable_dhcp)"},{"line_number":1057,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"ba5da102_8c2e10a3","line":1054,"in_reply_to":"ba5da102_53d497ea","updated":"2016-11-03 16:44:57.000000000","message":"And L1061-1062 since the metadata IP is v4 too.","commit_id":"784864d1785bcd32297865cae5a7a243b05ed30d"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"8873d7d7be6d04652cc3f507d1ea0b574fdcae10","unresolved":false,"context_lines":[{"line_number":1051,"context_line":"        with 3rd party backends."},{"line_number":1052,"context_line":"        \"\"\""},{"line_number":1053,"context_line":"        if conf.force_metadata:"},{"line_number":1054,"context_line":"            # Only ipv4 subnet, with dhcp enabled, will use metadata proxy."},{"line_number":1055,"context_line":"            return any(s for s in network.subnets"},{"line_number":1056,"context_line":"                       if s.ip_version \u003d\u003d 4 and s.enable_dhcp)"},{"line_number":1057,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"9a629dbe_919b2272","line":1054,"in_reply_to":"ba5da102_8c2e10a3","updated":"2016-11-08 17:10:30.000000000","message":"We can do this in a follow-up.","commit_id":"784864d1785bcd32297865cae5a7a243b05ed30d"}],"neutron/tests/functional/agent/test_dhcp_agent.py":[{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"7e019c9afaa8a25cb8aa91c7a6a65ce3931270bc","unresolved":false,"context_lines":[{"line_number":338,"context_line":""},{"line_number":339,"context_line":"        self.mock_plugin_api.get_network_info.return_value \u003d network"},{"line_number":340,"context_line":"        self.agent.refresh_dhcp_helper(network.id)"},{"line_number":341,"context_line":"        # Metadata proxy should be killed because network don\u0027t need it."},{"line_number":342,"context_line":"        common_utils.wait_until_true("},{"line_number":343,"context_line":"            lambda: not pm.active,"},{"line_number":344,"context_line":"            timeout\u003d5,"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a8bc5a2_b1575101","line":341,"range":{"start_line":341,"start_character":58,"end_line":341,"end_character":63},"updated":"2016-09-23 23:19:13.000000000","message":"doesn\u0027t","commit_id":"23478e6f3b25b6c3dccefc6eebe911a2c661e9e0"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"39d5bb7332d204f836a6d6408d1c20155f8ef2bc","unresolved":false,"context_lines":[{"line_number":338,"context_line":""},{"line_number":339,"context_line":"        self.mock_plugin_api.get_network_info.return_value \u003d network"},{"line_number":340,"context_line":"        self.agent.refresh_dhcp_helper(network.id)"},{"line_number":341,"context_line":"        # Metadata proxy should be killed because network don\u0027t need it."},{"line_number":342,"context_line":"        common_utils.wait_until_true("},{"line_number":343,"context_line":"            lambda: not pm.active,"},{"line_number":344,"context_line":"            timeout\u003d5,"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a8bc5a2_70b587ec","line":341,"range":{"start_line":341,"start_character":58,"end_line":341,"end_character":63},"in_reply_to":"5a8bc5a2_b1575101","updated":"2016-09-24 01:35:34.000000000","message":"Done","commit_id":"23478e6f3b25b6c3dccefc6eebe911a2c661e9e0"}],"neutron/tests/unit/agent/dhcp/test_agent.py":[{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"7e019c9afaa8a25cb8aa91c7a6a65ce3931270bc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"5a8bc5a2_21ef34b1","updated":"2016-09-23 23:19:13.000000000","message":"I searched this file for \u0027force_metadata\u0027 and didn\u0027t find it. So we probably need to add a test case to test the behavior when that parameter is True","commit_id":"23478e6f3b25b6c3dccefc6eebe911a2c661e9e0"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"39d5bb7332d204f836a6d6408d1c20155f8ef2bc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"5a8bc5a2_50becbd4","in_reply_to":"5a8bc5a2_21ef34b1","updated":"2016-09-24 01:35:34.000000000","message":"There should be such test, but I don\u0027t want to mix the fix for bug with unrelated code.","commit_id":"23478e6f3b25b6c3dccefc6eebe911a2c661e9e0"}]}
