)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"309ba0069c8cc89a5af796bee2bf8481cf3d7186","unresolved":true,"context_lines":[{"line_number":9,"context_line":"The service name is hard coded in the parent class DhcpLocalProcess,"},{"line_number":10,"context_line":"because it uses DNSMASQ_SERVICE_NAME."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"When trying to write a replacement for Dnsmasq this requires to"},{"line_number":13,"context_line":"re-implement more methods than neccessary from the parent."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"This adds a class variable, so when implementing it can be modified."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"5b9986da_b648dd2a","line":12,"range":{"start_line":12,"start_character":23,"end_line":12,"end_character":46},"updated":"2026-07-30 08:14:43.000000000","message":"do you plan to add a new driver like Kea?","commit_id":"f1a9975f71803c33d6dfc9138de2ece0328904b9"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"23bcb9f744e035f6e2f2042bf7bd9f6eb48dd408","unresolved":false,"context_lines":[{"line_number":9,"context_line":"The service name is hard coded in the parent class DhcpLocalProcess,"},{"line_number":10,"context_line":"because it uses DNSMASQ_SERVICE_NAME."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"When trying to write a replacement for Dnsmasq this requires to"},{"line_number":13,"context_line":"re-implement more methods than neccessary from the parent."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"This adds a class variable, so when implementing it can be modified."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"baff9282_5baa78d1","line":12,"range":{"start_line":12,"start_character":23,"end_line":12,"end_character":46},"in_reply_to":"2d4aff71_7412fae9","updated":"2026-08-05 07:34:08.000000000","message":"thanks, if you push patches I am happy to follow them up and review. long time ago we discussed on one of the PTGs that dnsmasq is practically unmaintained.","commit_id":"f1a9975f71803c33d6dfc9138de2ece0328904b9"},{"author":{"_account_id":36266,"name":"Florian Streibelt","display_name":"Florian Streibelt","email":"florian.streibelt@sap.com","username":"fstreibelt","status":"working at SAP SE"},"change_message_id":"6a75cae6b46ca2f759c85d0115c2736fea752628","unresolved":true,"context_lines":[{"line_number":9,"context_line":"The service name is hard coded in the parent class DhcpLocalProcess,"},{"line_number":10,"context_line":"because it uses DNSMASQ_SERVICE_NAME."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"When trying to write a replacement for Dnsmasq this requires to"},{"line_number":13,"context_line":"re-implement more methods than neccessary from the parent."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"This adds a class variable, so when implementing it can be modified."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"2d4aff71_7412fae9","line":12,"range":{"start_line":12,"start_character":23,"end_line":12,"end_character":46},"in_reply_to":"5b9986da_b648dd2a","updated":"2026-08-04 09:51:47.000000000","message":"On the long run we most likely want to replace dnsmasq completely.\n\nThe most pressing issue for us currently is DNS resolution. I currently have a proof of concept running that is using dnsmasq for DHCP but unbound for DNS. Including resolving the names set on ports as well as forwarding to upstream resolvers.","commit_id":"f1a9975f71803c33d6dfc9138de2ece0328904b9"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"97ea1a35b8b34c38c20942dcee00b1673f914526","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"864b13a4_a4554d88","updated":"2026-07-29 10:17:19.000000000","message":"Please, a launchpad bug (https://bugs.launchpad.net/neutron) providing purpose of this patch.\n\nIt makes sense as long as the `dhcp_driver` is configurable. Are you going to create another config option?","commit_id":"42db085c87b24b6d2c171b2330a5e461fdcc891a"},{"author":{"_account_id":36266,"name":"Florian Streibelt","display_name":"Florian Streibelt","email":"florian.streibelt@sap.com","username":"fstreibelt","status":"working at SAP SE"},"change_message_id":"c4b8e74297162eb151ccfc96c62776cf1e826178","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"e1ebdfc1_ca112be4","in_reply_to":"864b13a4_a4554d88","updated":"2026-07-29 10:48:20.000000000","message":"dhcp_driver is already configurable, so no option needed for that.\n\nI want to implement a custom dhcp_driver that uses DhcpLocalProcess as parent/implements it and while doing so I noticed that the service_name was hardcoded.\n\nFiled a bug at https://bugs.launchpad.net/neutron/+bug/2162056","commit_id":"42db085c87b24b6d2c171b2330a5e461fdcc891a"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"109e63913c34b8fcf57144d24e09878c30326139","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"8dbcc854_b3541a11","updated":"2026-07-29 11:05:34.000000000","message":"Comment in PS1","commit_id":"9594b4a3c266b4192efc218b0efcd08861a81ece"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"29e8363cd9c551202b8f40122aa9b038419b8aaa","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"d473d34b_7eca8e29","updated":"2026-08-14 12:46:11.000000000","message":"recheck\nrally failure is fixed I think with this: https://review.opendev.org/c/openstack/rally-openstack/+/1000835\n\nand the other failure in tempest jobs seems to be not related","commit_id":"8b2e5159ae0cc3f925c2417874a2b7736a697984"}],"neutron/agent/linux/dhcp.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"06b9e0f27b22e39d4510d313eab4c16af6ab2fb9","unresolved":false,"context_lines":[{"line_number":412,"context_line":"    @property"},{"line_number":413,"context_line":"    def service_name(self):"},{"line_number":414,"context_line":"        if not self._SERVICE_NAME:"},{"line_number":415,"context_line":"            raise AttributeError(\u0027SERVICE_NAME is not set\u0027)"},{"line_number":416,"context_line":"        return self._SERVICE_NAME"},{"line_number":417,"context_line":""},{"line_number":418,"context_line":"    @abc.abstractmethod"}],"source_content_type":"text/x-python","patch_set":2,"id":"6c27c4e4_1db8d977","line":415,"updated":"2026-07-29 12:17:24.000000000","message":"pep8: N534: Untranslated exception message.","commit_id":"9594b4a3c266b4192efc218b0efcd08861a81ece"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"309ba0069c8cc89a5af796bee2bf8481cf3d7186","unresolved":true,"context_lines":[{"line_number":237,"context_line":"    # Track running interfaces, indexed by network ID, for example,"},{"line_number":238,"context_line":"    # {net-id-1: set(intf_1, intf_2), net-id-2: set(intf_3, intf_4), ...}"},{"line_number":239,"context_line":"    _interfaces \u003d collections.defaultdict(set)"},{"line_number":240,"context_line":"    _SERVICE_NAME \u003d None"},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"    def __init__(self, conf, network, process_monitor, version\u003dNone,"},{"line_number":243,"context_line":"                 plugin\u003dNone, segment\u003dNone):"}],"source_content_type":"text/x-python","patch_set":3,"id":"8167b11b_3870e4c7","line":240,"range":{"start_line":240,"start_character":20,"end_line":240,"end_character":24},"updated":"2026-07-30 08:14:43.000000000","message":"None -\u003e \u0027\u0027 to make typing happy I think, and perhaps move this to around l57. to have all these constant like strings in one place","commit_id":"f1a9975f71803c33d6dfc9138de2ece0328904b9"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"23bcb9f744e035f6e2f2042bf7bd9f6eb48dd408","unresolved":true,"context_lines":[{"line_number":237,"context_line":"    # Track running interfaces, indexed by network ID, for example,"},{"line_number":238,"context_line":"    # {net-id-1: set(intf_1, intf_2), net-id-2: set(intf_3, intf_4), ...}"},{"line_number":239,"context_line":"    _interfaces \u003d collections.defaultdict(set)"},{"line_number":240,"context_line":"    _SERVICE_NAME \u003d None"},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"    def __init__(self, conf, network, process_monitor, version\u003dNone,"},{"line_number":243,"context_line":"                 plugin\u003dNone, segment\u003dNone):"}],"source_content_type":"text/x-python","patch_set":3,"id":"24854e01_26963591","line":240,"range":{"start_line":240,"start_character":20,"end_line":240,"end_character":24},"in_reply_to":"26cfcf75_01308278","updated":"2026-08-05 07:34:08.000000000","message":"around line 57 you can find the other similar common variable names like DNSMASQ_SERVICE_NAME.\n\nTyping want to force us to not assign string value to a variable that previously was used to store None (_SERVICE_NAME \u003d DNSMASQ_SERVICE_NAME), so to make typing happy you have to initialize _SERVICE_NAME to empty string","commit_id":"f1a9975f71803c33d6dfc9138de2ece0328904b9"},{"author":{"_account_id":36266,"name":"Florian Streibelt","display_name":"Florian Streibelt","email":"florian.streibelt@sap.com","username":"fstreibelt","status":"working at SAP SE"},"change_message_id":"6a75cae6b46ca2f759c85d0115c2736fea752628","unresolved":true,"context_lines":[{"line_number":237,"context_line":"    # Track running interfaces, indexed by network ID, for example,"},{"line_number":238,"context_line":"    # {net-id-1: set(intf_1, intf_2), net-id-2: set(intf_3, intf_4), ...}"},{"line_number":239,"context_line":"    _interfaces \u003d collections.defaultdict(set)"},{"line_number":240,"context_line":"    _SERVICE_NAME \u003d None"},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"    def __init__(self, conf, network, process_monitor, version\u003dNone,"},{"line_number":243,"context_line":"                 plugin\u003dNone, segment\u003dNone):"}],"source_content_type":"text/x-python","patch_set":3,"id":"26cfcf75_01308278","line":240,"range":{"start_line":240,"start_character":20,"end_line":240,"end_character":24},"in_reply_to":"8167b11b_3870e4c7","updated":"2026-08-04 09:51:47.000000000","message":"could you elaborate more?\nIn an actual instance the class variable should never be None or empty, not sure how I feel about using an empty string, but I agree there is no nice way in python to force a child class setting a value besides raising something in __init__\n\n\nBut what do you mean by moving to 57?","commit_id":"f1a9975f71803c33d6dfc9138de2ece0328904b9"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"fd1758e71d67ad0a0758d43fc604bff0343076b6","unresolved":false,"context_lines":[{"line_number":426,"context_line":""},{"line_number":427,"context_line":""},{"line_number":428,"context_line":"class Dnsmasq(DhcpLocalProcess):"},{"line_number":429,"context_line":"    _SERVICE_NAME \u003d DNSMASQ_SERVICE_NAME"},{"line_number":430,"context_line":"    _SUBNET_TAG_PREFIX \u003d \u0027subnet-%s\u0027"},{"line_number":431,"context_line":"    _PORT_TAG_PREFIX \u003d \u0027port-%s\u0027"},{"line_number":432,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"700fbe26_8837f7f1","line":429,"updated":"2026-07-29 16:06:05.000000000","message":"pep8: error: Incompatible types in assignment","commit_id":"f1a9975f71803c33d6dfc9138de2ece0328904b9"}]}
