)]}'
{"neutron/agent/linux/dhcp.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"7e1d41d68c44c22b1fea7e97aca37cca82c91998","unresolved":true,"context_lines":[{"line_number":349,"context_line":"    def _get_process_manager(self, cmd_callback\u003dNone):"},{"line_number":350,"context_line":"        return external_process.ProcessManager("},{"line_number":351,"context_line":"            conf\u003dself.conf,"},{"line_number":352,"context_line":"            uuid\u003dself.get_process_uuid(),"},{"line_number":353,"context_line":"            namespace\u003dself.network.namespace,"},{"line_number":354,"context_line":"            service\u003dDNSMASQ_SERVICE_NAME,"},{"line_number":355,"context_line":"            default_cmd_callback\u003dcmd_callback,"}],"source_content_type":"text/x-python","patch_set":1,"id":"c8a482d0_9195f9bc","line":352,"range":{"start_line":352,"start_character":12,"end_line":352,"end_character":41},"updated":"2024-01-30 11:01:49.000000000","message":"Why that was changed in [1]? I don\u0027t see the rationale for that. In any other process manager, we use the object UUID, not the process ID.\n\n[1]https://review.opendev.org/c/openstack/neutron/+/840421/46/neutron/agent/linux/dhcp.py","commit_id":"af2a792fc5cef194a6cbc6ba4e9a0318545b6dc1"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"fa23e9027020398f8ca19f90b186a84f096b623f","unresolved":true,"context_lines":[{"line_number":349,"context_line":"    def _get_process_manager(self, cmd_callback\u003dNone):"},{"line_number":350,"context_line":"        return external_process.ProcessManager("},{"line_number":351,"context_line":"            conf\u003dself.conf,"},{"line_number":352,"context_line":"            uuid\u003dself.get_process_uuid(),"},{"line_number":353,"context_line":"            namespace\u003dself.network.namespace,"},{"line_number":354,"context_line":"            service\u003dDNSMASQ_SERVICE_NAME,"},{"line_number":355,"context_line":"            default_cmd_callback\u003dcmd_callback,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a43d2be_423812b6","line":352,"range":{"start_line":352,"start_character":12,"end_line":352,"end_character":41},"in_reply_to":"c8a482d0_9195f9bc","updated":"2024-01-30 13:32:14.000000000","message":"It\u0027s well indicated in the spec: https://specs.openstack.org/openstack/neutron-specs/specs/zed/multiple-routed-provider-network-per-compute.html\n\nThere is a need of a dnsmask process for each segment.","commit_id":"af2a792fc5cef194a6cbc6ba4e9a0318545b6dc1"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"64c6e9a0d5120f2b81032ab818536a5a145d01bb","unresolved":true,"context_lines":[{"line_number":296,"context_line":"        \"\"\"Returns the file name for a given kind of config file.\"\"\""},{"line_number":297,"context_line":"        return os.path.join(self.network_conf_dir, kind)"},{"line_number":298,"context_line":""},{"line_number":299,"context_line":"    def get_process_uuid(self):"},{"line_number":300,"context_line":"        if self.segment:"},{"line_number":301,"context_line":"            # NOTE(sahid): Keep the order to match directory path. This is used"},{"line_number":302,"context_line":"            # by external_process.ProcessManager to check whether the process"}],"source_content_type":"text/x-python","patch_set":3,"id":"ce6ed65e_ba682bcf","line":299,"range":{"start_line":299,"start_character":8,"end_line":299,"end_character":24},"updated":"2024-01-30 22:09:01.000000000","message":"This could probably be _get_process_uuid() as well, as it isn\u0027t used outside here if you use my suggestions below.","commit_id":"f54a6353e4f62181f6cdb19d87c3ea3abd61a41e"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"9950e9844a1cc144019ee8f7acb60b0685aba9f5","unresolved":false,"context_lines":[{"line_number":296,"context_line":"        \"\"\"Returns the file name for a given kind of config file.\"\"\""},{"line_number":297,"context_line":"        return os.path.join(self.network_conf_dir, kind)"},{"line_number":298,"context_line":""},{"line_number":299,"context_line":"    def get_process_uuid(self):"},{"line_number":300,"context_line":"        if self.segment:"},{"line_number":301,"context_line":"            # NOTE(sahid): Keep the order to match directory path. This is used"},{"line_number":302,"context_line":"            # by external_process.ProcessManager to check whether the process"}],"source_content_type":"text/x-python","patch_set":3,"id":"8e88e226_4efb5d26","line":299,"range":{"start_line":299,"start_character":8,"end_line":299,"end_character":24},"in_reply_to":"ce6ed65e_ba682bcf","updated":"2024-01-31 07:54:58.000000000","message":"Sure I will provide an other change for that clean.","commit_id":"f54a6353e4f62181f6cdb19d87c3ea3abd61a41e"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"64c6e9a0d5120f2b81032ab818536a5a145d01bb","unresolved":true,"context_lines":[{"line_number":359,"context_line":"    def disable(self, retain_port\u003dFalse, block\u003dFalse, **kwargs):"},{"line_number":360,"context_line":"        \"\"\"Disable DHCP for this network by killing the local process.\"\"\""},{"line_number":361,"context_line":"        self.process_monitor.unregister("},{"line_number":362,"context_line":"            self.get_process_uuid(), DNSMASQ_SERVICE_NAME)"},{"line_number":363,"context_line":"        pm \u003d self._get_process_manager()"},{"line_number":364,"context_line":"        pm.disable(sig\u003dstr(int(signal.SIGTERM)))"},{"line_number":365,"context_line":"        if block:"}],"source_content_type":"text/x-python","patch_set":3,"id":"fb4071e2_8d8ebef6","line":362,"range":{"start_line":362,"start_character":12,"end_line":362,"end_character":35},"updated":"2024-01-30 22:09:01.000000000","message":"You should be able to use pm.uuid here, right? Assuming you move the assignment below before this","commit_id":"f54a6353e4f62181f6cdb19d87c3ea3abd61a41e"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"9950e9844a1cc144019ee8f7acb60b0685aba9f5","unresolved":false,"context_lines":[{"line_number":359,"context_line":"    def disable(self, retain_port\u003dFalse, block\u003dFalse, **kwargs):"},{"line_number":360,"context_line":"        \"\"\"Disable DHCP for this network by killing the local process.\"\"\""},{"line_number":361,"context_line":"        self.process_monitor.unregister("},{"line_number":362,"context_line":"            self.get_process_uuid(), DNSMASQ_SERVICE_NAME)"},{"line_number":363,"context_line":"        pm \u003d self._get_process_manager()"},{"line_number":364,"context_line":"        pm.disable(sig\u003dstr(int(signal.SIGTERM)))"},{"line_number":365,"context_line":"        if block:"}],"source_content_type":"text/x-python","patch_set":3,"id":"2e1eaec0_0a8efd94","line":362,"range":{"start_line":362,"start_character":12,"end_line":362,"end_character":35},"in_reply_to":"fb4071e2_8d8ebef6","updated":"2024-01-31 07:54:58.000000000","message":"Done","commit_id":"f54a6353e4f62181f6cdb19d87c3ea3abd61a41e"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"64c6e9a0d5120f2b81032ab818536a5a145d01bb","unresolved":true,"context_lines":[{"line_number":603,"context_line":""},{"line_number":604,"context_line":"        pm.enable(reload_cfg\u003dreload_with_HUP, ensure_active\u003dTrue)"},{"line_number":605,"context_line":""},{"line_number":606,"context_line":"        self.process_monitor.register(uuid\u003dself.get_process_uuid(),"},{"line_number":607,"context_line":"                                      service_name\u003dDNSMASQ_SERVICE_NAME,"},{"line_number":608,"context_line":"                                      monitored_process\u003dpm)"},{"line_number":609,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"831f3384_f2f32719","line":606,"range":{"start_line":606,"start_character":43,"end_line":606,"end_character":66},"updated":"2024-01-30 22:09:01.000000000","message":"You can use it here as well","commit_id":"f54a6353e4f62181f6cdb19d87c3ea3abd61a41e"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"9950e9844a1cc144019ee8f7acb60b0685aba9f5","unresolved":false,"context_lines":[{"line_number":603,"context_line":""},{"line_number":604,"context_line":"        pm.enable(reload_cfg\u003dreload_with_HUP, ensure_active\u003dTrue)"},{"line_number":605,"context_line":""},{"line_number":606,"context_line":"        self.process_monitor.register(uuid\u003dself.get_process_uuid(),"},{"line_number":607,"context_line":"                                      service_name\u003dDNSMASQ_SERVICE_NAME,"},{"line_number":608,"context_line":"                                      monitored_process\u003dpm)"},{"line_number":609,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"6462e2ce_16e3b02c","line":606,"range":{"start_line":606,"start_character":43,"end_line":606,"end_character":66},"in_reply_to":"831f3384_f2f32719","updated":"2024-01-31 07:54:58.000000000","message":"Done","commit_id":"f54a6353e4f62181f6cdb19d87c3ea3abd61a41e"}]}
