)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"632b45222871908d873b0750f4dbbbd54aeb256b","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add enable_dhcp filter in get_network_info rpc"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add enabe_dhcp to make a more critical filter avoid needless"},{"line_number":10,"context_line":"net_info data transfer through rpc."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Ibcef366f5b1f4b7da4f47f1f538a17111da0faa1"},{"line_number":13,"context_line":"Closes-Bug: #1552614"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"ba0121b8_de1a477c","line":10,"updated":"2016-04-01 13:58:53.000000000","message":"What does \u0027more critical filter\u0027 mean? How about \"Ensure to send network_info only for DHCP enabled subnets to avoid unnecessary data transfer through RPC\"?\n\n- typo: enable_dhcp\n- needless -\u003e unnecessary","commit_id":"eb910cb6ec5dcd15b87d9d46500ad67d4270b400"}],"neutron/agent/linux/dhcp.py":[{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"4793edf5af09224e845f79b7ec01e8c3424d9ae6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"5aef4532_3cf00d67","updated":"2016-03-09 10:53:28.000000000","message":"checks here are needed for backward compatibility","commit_id":"70457572fee7ac746f5b79ab15f2ba91d7200204"},{"author":{"_account_id":17523,"name":"yaowei","email":"yaowei@unitedstack.com","username":"yaowei"},"change_message_id":"12d8248a9c30daaecf98e9a2a6f71fb66ac62397","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"5aef4532_e4e559dc","in_reply_to":"5aef4532_3cf00d67","updated":"2016-03-09 15:09:08.000000000","message":"Done","commit_id":"70457572fee7ac746f5b79ab15f2ba91d7200204"}],"neutron/api/rpc/handlers/dhcp_rpc.py":[{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"4793edf5af09224e845f79b7ec01e8c3424d9ae6","unresolved":false,"context_lines":[{"line_number":159,"context_line":"            LOG.warn(_LW(\"Network %s could not be found, it might have \""},{"line_number":160,"context_line":"                         \"been deleted concurrently.\"), network_id)"},{"line_number":161,"context_line":"            return"},{"line_number":162,"context_line":"        filters \u003d {\u0027network_id\u0027: [network_id], \u0027enable_dhcp\u0027: [True]}"},{"line_number":163,"context_line":"        network[\u0027subnets\u0027] \u003d plugin.get_subnets(context, filters\u003dfilters)"},{"line_number":164,"context_line":"        filters \u003d dict(network_id\u003d[network_id])"},{"line_number":165,"context_line":"        network[\u0027ports\u0027] \u003d plugin.get_ports(context, filters\u003dfilters)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5aef4532_7c6bb5f1","line":162,"range":{"start_line":162,"start_character":8,"end_line":162,"end_character":15},"updated":"2016-03-09 10:53:28.000000000","message":"nit: subnet filters","commit_id":"70457572fee7ac746f5b79ab15f2ba91d7200204"},{"author":{"_account_id":17523,"name":"yaowei","email":"yaowei@unitedstack.com","username":"yaowei"},"change_message_id":"12d8248a9c30daaecf98e9a2a6f71fb66ac62397","unresolved":false,"context_lines":[{"line_number":159,"context_line":"            LOG.warn(_LW(\"Network %s could not be found, it might have \""},{"line_number":160,"context_line":"                         \"been deleted concurrently.\"), network_id)"},{"line_number":161,"context_line":"            return"},{"line_number":162,"context_line":"        filters \u003d {\u0027network_id\u0027: [network_id], \u0027enable_dhcp\u0027: [True]}"},{"line_number":163,"context_line":"        network[\u0027subnets\u0027] \u003d plugin.get_subnets(context, filters\u003dfilters)"},{"line_number":164,"context_line":"        filters \u003d dict(network_id\u003d[network_id])"},{"line_number":165,"context_line":"        network[\u0027ports\u0027] \u003d plugin.get_ports(context, filters\u003dfilters)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5aef4532_84bd75b9","line":162,"range":{"start_line":162,"start_character":8,"end_line":162,"end_character":15},"in_reply_to":"5aef4532_7c6bb5f1","updated":"2016-03-09 15:09:08.000000000","message":"Done","commit_id":"70457572fee7ac746f5b79ab15f2ba91d7200204"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"4793edf5af09224e845f79b7ec01e8c3424d9ae6","unresolved":false,"context_lines":[{"line_number":161,"context_line":"            return"},{"line_number":162,"context_line":"        filters \u003d {\u0027network_id\u0027: [network_id], \u0027enable_dhcp\u0027: [True]}"},{"line_number":163,"context_line":"        network[\u0027subnets\u0027] \u003d plugin.get_subnets(context, filters\u003dfilters)"},{"line_number":164,"context_line":"        filters \u003d dict(network_id\u003d[network_id])"},{"line_number":165,"context_line":"        network[\u0027ports\u0027] \u003d plugin.get_ports(context, filters\u003dfilters)"},{"line_number":166,"context_line":"        return network"},{"line_number":167,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5aef4532_3c33ed15","line":164,"range":{"start_line":164,"start_character":8,"end_line":164,"end_character":15},"updated":"2016-03-09 10:53:28.000000000","message":"nit: port_filters","commit_id":"70457572fee7ac746f5b79ab15f2ba91d7200204"},{"author":{"_account_id":17523,"name":"yaowei","email":"yaowei@unitedstack.com","username":"yaowei"},"change_message_id":"12d8248a9c30daaecf98e9a2a6f71fb66ac62397","unresolved":false,"context_lines":[{"line_number":161,"context_line":"            return"},{"line_number":162,"context_line":"        filters \u003d {\u0027network_id\u0027: [network_id], \u0027enable_dhcp\u0027: [True]}"},{"line_number":163,"context_line":"        network[\u0027subnets\u0027] \u003d plugin.get_subnets(context, filters\u003dfilters)"},{"line_number":164,"context_line":"        filters \u003d dict(network_id\u003d[network_id])"},{"line_number":165,"context_line":"        network[\u0027ports\u0027] \u003d plugin.get_ports(context, filters\u003dfilters)"},{"line_number":166,"context_line":"        return network"},{"line_number":167,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5aef4532_64c30939","line":164,"range":{"start_line":164,"start_character":8,"end_line":164,"end_character":15},"in_reply_to":"5aef4532_3c33ed15","updated":"2016-03-09 15:09:08.000000000","message":"Done","commit_id":"70457572fee7ac746f5b79ab15f2ba91d7200204"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"f7dbf409389077938c9edd0ebeff12e726fc7f96","unresolved":false,"context_lines":[{"line_number":162,"context_line":"        subnet_filters \u003d {\u0027network_id\u0027: [network_id], \u0027enable_dhcp\u0027: [True]}"},{"line_number":163,"context_line":"        network[\u0027subnets\u0027] \u003d plugin.get_subnets(context,"},{"line_number":164,"context_line":"                                                filters\u003dsubnet_filters)"},{"line_number":165,"context_line":"        port_filters \u003d dict(network_id\u003d[network_id])"},{"line_number":166,"context_line":"        network[\u0027ports\u0027] \u003d plugin.get_ports(context, filters\u003dport_filters)"},{"line_number":167,"context_line":"        return network"},{"line_number":168,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"ba0121b8_0818d31c","line":165,"updated":"2016-03-29 09:10:29.000000000","message":"please be consistant with above and use {}","commit_id":"eb910cb6ec5dcd15b87d9d46500ad67d4270b400"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"3db4cee09de4e1e0b979c83766454d68fb4f51ec","unresolved":true,"context_lines":[{"line_number":208,"context_line":""},{"line_number":209,"context_line":"    def get_network_info(self, context, **kwargs):"},{"line_number":210,"context_line":"        \"\"\"Retrieve and return extended information about a network.\"\"\""},{"line_number":211,"context_line":"        network_id \u003d kwargs.get(\u0027network_id\u0027)"},{"line_number":212,"context_line":"        host \u003d kwargs.get(\u0027host\u0027)"},{"line_number":213,"context_line":"        LOG.debug(\u0027Network %(network_id)s requested from \u0027"},{"line_number":214,"context_line":"                  \u0027%(host)s\u0027, {\u0027network_id\u0027: network_id,"}],"source_content_type":"text/x-python","patch_set":7,"id":"0fa28db6_0bf56239","line":211,"updated":"2021-04-09 09:27:00.000000000","message":"This change should be reflected in the method documentation here. You should inform that we are returning only DHCP enabled subnets in the network info.","commit_id":"077663373ace4782869a651e1aded89d795e5ed3"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"2e926b600a3cb9fea56acf7567170d69d5ea7673","unresolved":true,"context_lines":[{"line_number":208,"context_line":""},{"line_number":209,"context_line":"    def get_network_info(self, context, **kwargs):"},{"line_number":210,"context_line":"        \"\"\"Retrieve and return extended information about a network.\"\"\""},{"line_number":211,"context_line":"        network_id \u003d kwargs.get(\u0027network_id\u0027)"},{"line_number":212,"context_line":"        host \u003d kwargs.get(\u0027host\u0027)"},{"line_number":213,"context_line":"        LOG.debug(\u0027Network %(network_id)s requested from \u0027"},{"line_number":214,"context_line":"                  \u0027%(host)s\u0027, {\u0027network_id\u0027: network_id,"}],"source_content_type":"text/x-python","patch_set":7,"id":"4c2df6d3_8ada7f40","line":211,"in_reply_to":"0fa28db6_0bf56239","updated":"2021-04-09 11:28:04.000000000","message":"Done.","commit_id":"077663373ace4782869a651e1aded89d795e5ed3"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"452a9681f7b58e652b3f5acae2f7882569170c77","unresolved":true,"context_lines":[{"line_number":208,"context_line":""},{"line_number":209,"context_line":"    def get_network_info(self, context, **kwargs):"},{"line_number":210,"context_line":"        \"\"\"Retrieve and return extended information about a network with"},{"line_number":211,"context_line":"        only DHCP enabled subnets."},{"line_number":212,"context_line":"        \"\"\""},{"line_number":213,"context_line":"        network_id \u003d kwargs.get(\u0027network_id\u0027)"},{"line_number":214,"context_line":"        host \u003d kwargs.get(\u0027host\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"265d0f33_b8e6bf1c","line":211,"updated":"2021-04-10 09:22:23.000000000","message":"nitty nit: documentation titles should fit in one single line.","commit_id":"840e3bc6f185166312db824ed9d2ea67825f0b3c"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"bde90a52285a60de292c5288a7de6c69caa4c620","unresolved":true,"context_lines":[{"line_number":208,"context_line":""},{"line_number":209,"context_line":"    def get_network_info(self, context, **kwargs):"},{"line_number":210,"context_line":"        \"\"\"Retrieve and return extended information about a network with"},{"line_number":211,"context_line":"        only DHCP enabled subnets."},{"line_number":212,"context_line":"        \"\"\""},{"line_number":213,"context_line":"        network_id \u003d kwargs.get(\u0027network_id\u0027)"},{"line_number":214,"context_line":"        host \u003d kwargs.get(\u0027host\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"a08d38b1_1e6e783e","line":211,"in_reply_to":"265d0f33_b8e6bf1c","updated":"2021-04-10 16:55:20.000000000","message":"Done.","commit_id":"840e3bc6f185166312db824ed9d2ea67825f0b3c"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"90536ae36f5a7a9db4871491eecbac0e4dffe095","unresolved":true,"context_lines":[{"line_number":72,"context_line":"    #           DHCP agent since Havana, so similar rationale for not bumping"},{"line_number":73,"context_line":"    #           the major version as above applies here too."},{"line_number":74,"context_line":"    #     1.7 - Add get_networks"},{"line_number":75,"context_line":"    #     1.8 - Add get_dhcp_port"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    target \u003d oslo_messaging.Target("},{"line_number":78,"context_line":"        namespace\u003dconstants.RPC_NAMESPACE_DHCP_PLUGIN,"}],"source_content_type":"text/x-python","patch_set":9,"id":"52197f76_9d1dfc09","line":75,"updated":"2021-04-13 10:37:54.000000000","message":"shouldn\u0027t we bump rpc version? IMO it isn\u0027t necessary here but I wanted to ask what others things about it.","commit_id":"16b5349c5b7f812e1e5da887e78d279691ec1e3d"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"7fb43ab91aca1196c83b11f742a2350fe8255b22","unresolved":true,"context_lines":[{"line_number":72,"context_line":"    #           DHCP agent since Havana, so similar rationale for not bumping"},{"line_number":73,"context_line":"    #           the major version as above applies here too."},{"line_number":74,"context_line":"    #     1.7 - Add get_networks"},{"line_number":75,"context_line":"    #     1.8 - Add get_dhcp_port"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    target \u003d oslo_messaging.Target("},{"line_number":78,"context_line":"        namespace\u003dconstants.RPC_NAMESPACE_DHCP_PLUGIN,"}],"source_content_type":"text/x-python","patch_set":9,"id":"f59111cb_904c1172","line":75,"in_reply_to":"3be644d7_7dcffb23","updated":"2021-04-15 14:36:59.000000000","message":"Done","commit_id":"16b5349c5b7f812e1e5da887e78d279691ec1e3d"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"99e161fbd9ccf7b5fa9af2df76e555c36850ba39","unresolved":true,"context_lines":[{"line_number":72,"context_line":"    #           DHCP agent since Havana, so similar rationale for not bumping"},{"line_number":73,"context_line":"    #           the major version as above applies here too."},{"line_number":74,"context_line":"    #     1.7 - Add get_networks"},{"line_number":75,"context_line":"    #     1.8 - Add get_dhcp_port"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    target \u003d oslo_messaging.Target("},{"line_number":78,"context_line":"        namespace\u003dconstants.RPC_NAMESPACE_DHCP_PLUGIN,"}],"source_content_type":"text/x-python","patch_set":9,"id":"3be644d7_7dcffb23","line":75,"in_reply_to":"52197f76_9d1dfc09","updated":"2021-04-14 13:25:07.000000000","message":"There is indeed a change in the API, at least on what we return. Although only DHCP agent is calling this method and filters the subnets (that means this change won\u0027t affect the current agent behaviour), we should reflect it here.","commit_id":"16b5349c5b7f812e1e5da887e78d279691ec1e3d"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"90536ae36f5a7a9db4871491eecbac0e4dffe095","unresolved":true,"context_lines":[{"line_number":225,"context_line":"                      \"been deleted concurrently.\", network_id)"},{"line_number":226,"context_line":"            return"},{"line_number":227,"context_line":"        subnet_filters \u003d {\u0027network_id\u0027: [network_id], \u0027enable_dhcp\u0027: [True]}"},{"line_number":228,"context_line":"        subnets \u003d plugin.get_subnets(context, filters\u003dsubnet_filters)"},{"line_number":229,"context_line":"        seg_plug \u003d directory.get_plugin("},{"line_number":230,"context_line":"            segment_ext.SegmentPluginBase.get_plugin_type())"},{"line_number":231,"context_line":"        nonlocal_subnets \u003d []"}],"source_content_type":"text/x-python","patch_set":9,"id":"fbb711cf_1dfa87f1","line":228,"updated":"2021-04-13 10:37:54.000000000","message":"In such case, \"if\" in https://github.com/openstack/neutron/blob/f4652d6878e8d38c3d93e4dc23112903022007ff/neutron/agent/dhcp/agent.py#L413 isn\u0027t necessary. Or to be strict will not be necessary in next releases when everywhere on server side there will be this filter applied. So maybe You can at least add TODO to remove this \"if\" in the future.","commit_id":"16b5349c5b7f812e1e5da887e78d279691ec1e3d"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"d06d8e633d126a890bf48ce16dc6042c90b97b79","unresolved":true,"context_lines":[{"line_number":225,"context_line":"                      \"been deleted concurrently.\", network_id)"},{"line_number":226,"context_line":"            return"},{"line_number":227,"context_line":"        subnet_filters \u003d {\u0027network_id\u0027: [network_id], \u0027enable_dhcp\u0027: [True]}"},{"line_number":228,"context_line":"        subnets \u003d plugin.get_subnets(context, filters\u003dsubnet_filters)"},{"line_number":229,"context_line":"        seg_plug \u003d directory.get_plugin("},{"line_number":230,"context_line":"            segment_ext.SegmentPluginBase.get_plugin_type())"},{"line_number":231,"context_line":"        nonlocal_subnets \u003d []"}],"source_content_type":"text/x-python","patch_set":9,"id":"7a22e821_ca71985c","line":228,"in_reply_to":"fbb711cf_1dfa87f1","updated":"2021-04-14 11:08:26.000000000","message":"Done","commit_id":"16b5349c5b7f812e1e5da887e78d279691ec1e3d"}],"neutron/tests/unit/api/rpc/handlers/test_dhcp_rpc.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"632b45222871908d873b0750f4dbbbd54aeb256b","unresolved":false,"context_lines":[{"line_number":162,"context_line":"        self.assertEqual(retval, network_retval)"},{"line_number":163,"context_line":"        self.assertEqual(retval[\u0027subnets\u0027], subnet_retval)"},{"line_number":164,"context_line":"        self.assertEqual(retval[\u0027ports\u0027], port_retval)"},{"line_number":165,"context_line":"        filters \u003d {\u0027network_id\u0027: [network_retval[\u0027id\u0027]], \u0027enable_dhcp\u0027: [True]}"},{"line_number":166,"context_line":"        self.plugin.assert_has_calls("},{"line_number":167,"context_line":"            [mock.call.get_network(mock.ANY, \u0027a\u0027),"},{"line_number":168,"context_line":"             mock.call.get_subnets(mock.ANY, filters\u003dfilters),"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba0121b8_21088627","line":165,"range":{"start_line":165,"start_character":8,"end_line":165,"end_character":15},"updated":"2016-04-01 13:58:53.000000000","message":"I prefer to subnet_filters.","commit_id":"eb910cb6ec5dcd15b87d9d46500ad67d4270b400"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"632b45222871908d873b0750f4dbbbd54aeb256b","unresolved":false,"context_lines":[{"line_number":166,"context_line":"        self.plugin.assert_has_calls("},{"line_number":167,"context_line":"            [mock.call.get_network(mock.ANY, \u0027a\u0027),"},{"line_number":168,"context_line":"             mock.call.get_subnets(mock.ANY, filters\u003dfilters),"},{"line_number":169,"context_line":"             mock.call.get_ports(mock.ANY, filters\u003ddict(network_id\u003d[\u0027a\u0027]))])"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"    def test_update_dhcp_port_verify_port_action_port_dict(self):"},{"line_number":172,"context_line":"        port \u003d {\u0027port\u0027: {\u0027network_id\u0027: \u0027foo_network_id\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba0121b8_c12b8a80","line":169,"range":{"start_line":169,"start_character":51,"end_line":169,"end_character":73},"updated":"2016-04-01 13:58:53.000000000","message":"Consider using {}.","commit_id":"eb910cb6ec5dcd15b87d9d46500ad67d4270b400"}]}
