)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"5b3f696107d09b8baca1cb9470c56d59796cff90","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"a5b83b71_c1d1e607","updated":"2025-11-19 01:04:08.000000000","message":"Looking at the functional tests in this area, we don\u0027t have any really dealing with lease duration, so I guess I\u0027m Ok with what\u0027s here. And looking at the dhcp_lease_configuration config option, there\u0027s not much use for it IMO, I\u0027ll add it to my list to see if we can deprecate it in the future.","commit_id":"92c7032f76709730ea0c9f9fdaeb63b3633fc467"}],"neutron/agent/dhcp/agent.py":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"fd67fb582665ab27d5ab5be70a407a23253ca9e3","unresolved":true,"context_lines":[{"line_number":1085,"context_line":"            \u0027topic\u0027: topics.DHCP_AGENT,"},{"line_number":1086,"context_line":"            \u0027configurations\u0027: {"},{"line_number":1087,"context_line":"                \u0027dhcp_driver\u0027: self.conf.dhcp_driver,"},{"line_number":1088,"context_line":"                \u0027dhcp_lease_duration\u0027: self.conf.dhcp_lease_duration,"},{"line_number":1089,"context_line":"                \u0027log_agent_heartbeats\u0027: self.conf.AGENT.log_agent_heartbeats},"},{"line_number":1090,"context_line":"            \u0027start_flag\u0027: True,"},{"line_number":1091,"context_line":"            \u0027agent_type\u0027: constants.AGENT_TYPE_DHCP}"}],"source_content_type":"text/x-python","patch_set":1,"id":"9e4908df_8905306b","line":1088,"range":{"start_line":1088,"start_character":16,"end_line":1088,"end_character":69},"updated":"2025-11-21 09:02:20.000000000","message":"and in the agent state which is reported back the the neutron-api we report back the cfg option dhcp_lease_duration but in effect 0 is written to the lease file.","commit_id":"92c7032f76709730ea0c9f9fdaeb63b3633fc467"}],"neutron/agent/linux/dhcp.py":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"fd67fb582665ab27d5ab5be70a407a23253ca9e3","unresolved":true,"context_lines":[{"line_number":494,"context_line":""},{"line_number":495,"context_line":"            cidr \u003d netaddr.IPNetwork(subnet.cidr)"},{"line_number":496,"context_line":""},{"line_number":497,"context_line":"            if self.conf.dhcp_lease_duration \u003d\u003d -1:"},{"line_number":498,"context_line":"                lease \u003d \u0027infinite\u0027"},{"line_number":499,"context_line":"            else:"},{"line_number":500,"context_line":"                lease \u003d \u0027%ss\u0027 % self.conf.dhcp_lease_duration"},{"line_number":501,"context_line":""},{"line_number":502,"context_line":"            # mode is optional and is not set - skip it"},{"line_number":503,"context_line":"            if mode:"}],"source_content_type":"text/x-python","patch_set":1,"id":"d9b6609e_d829cbe9","line":500,"range":{"start_line":497,"start_character":12,"end_line":500,"end_character":61},"updated":"2025-11-21 09:02:20.000000000","message":"question: won\u0027t be in conflict this value with the 0 in the lease file?","commit_id":"92c7032f76709730ea0c9f9fdaeb63b3633fc467"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e5ad71206500d4f5fb7becd4634a79fd5d4b288f","unresolved":true,"context_lines":[{"line_number":494,"context_line":""},{"line_number":495,"context_line":"            cidr \u003d netaddr.IPNetwork(subnet.cidr)"},{"line_number":496,"context_line":""},{"line_number":497,"context_line":"            if self.conf.dhcp_lease_duration \u003d\u003d -1:"},{"line_number":498,"context_line":"                lease \u003d \u0027infinite\u0027"},{"line_number":499,"context_line":"            else:"},{"line_number":500,"context_line":"                lease \u003d \u0027%ss\u0027 % self.conf.dhcp_lease_duration"},{"line_number":501,"context_line":""},{"line_number":502,"context_line":"            # mode is optional and is not set - skip it"},{"line_number":503,"context_line":"            if mode:"}],"source_content_type":"text/x-python","patch_set":1,"id":"db28dd4e_941f07ac","line":500,"range":{"start_line":497,"start_character":12,"end_line":500,"end_character":61},"in_reply_to":"b4ff76de_bdfa25f8","updated":"2025-11-24 14:33:32.000000000","message":"In a follow-up, I can send it out.","commit_id":"92c7032f76709730ea0c9f9fdaeb63b3633fc467"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"ef5b46b4627a1c5f00c495ddd7abfc8483a12822","unresolved":true,"context_lines":[{"line_number":494,"context_line":""},{"line_number":495,"context_line":"            cidr \u003d netaddr.IPNetwork(subnet.cidr)"},{"line_number":496,"context_line":""},{"line_number":497,"context_line":"            if self.conf.dhcp_lease_duration \u003d\u003d -1:"},{"line_number":498,"context_line":"                lease \u003d \u0027infinite\u0027"},{"line_number":499,"context_line":"            else:"},{"line_number":500,"context_line":"                lease \u003d \u0027%ss\u0027 % self.conf.dhcp_lease_duration"},{"line_number":501,"context_line":""},{"line_number":502,"context_line":"            # mode is optional and is not set - skip it"},{"line_number":503,"context_line":"            if mode:"}],"source_content_type":"text/x-python","patch_set":1,"id":"b4ff76de_bdfa25f8","line":500,"range":{"start_line":497,"start_character":12,"end_line":500,"end_character":61},"in_reply_to":"d6418832_94cc5093","updated":"2025-11-24 08:31:54.000000000","message":"deprecate as a follow-up or in this patch?","commit_id":"92c7032f76709730ea0c9f9fdaeb63b3633fc467"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"9901466c6648f6d9fabf06362a741e86b2c1f01d","unresolved":true,"context_lines":[{"line_number":494,"context_line":""},{"line_number":495,"context_line":"            cidr \u003d netaddr.IPNetwork(subnet.cidr)"},{"line_number":496,"context_line":""},{"line_number":497,"context_line":"            if self.conf.dhcp_lease_duration \u003d\u003d -1:"},{"line_number":498,"context_line":"                lease \u003d \u0027infinite\u0027"},{"line_number":499,"context_line":"            else:"},{"line_number":500,"context_line":"                lease \u003d \u0027%ss\u0027 % self.conf.dhcp_lease_duration"},{"line_number":501,"context_line":""},{"line_number":502,"context_line":"            # mode is optional and is not set - skip it"},{"line_number":503,"context_line":"            if mode:"}],"source_content_type":"text/x-python","patch_set":1,"id":"d6418832_94cc5093","line":500,"range":{"start_line":497,"start_character":12,"end_line":500,"end_character":61},"in_reply_to":"d9b6609e_d829cbe9","updated":"2025-11-21 19:49:58.000000000","message":"I\u0027ll answer, but Curt can correct me if I\u0027m wrong.\n\nThis will tell the VM that the lease duration is some value, so it will still renew the lease properly. But in reality the leases file won\u0027t time it out (below) so even if the VM is over the limit it will get the same response (Ack not Nack).\n\nWe can maybe think of deprecating the option, since as long as the port is in the DB we\u0027ll allow DHCP for it.","commit_id":"92c7032f76709730ea0c9f9fdaeb63b3633fc467"},{"author":{"_account_id":28397,"name":"Curt Moore","email":"curt.moore@gmail.com","username":"jcmoore"},"change_message_id":"6c9eb2349d9318ce850f3adc30ac6b3f6bd34f97","unresolved":true,"context_lines":[{"line_number":494,"context_line":""},{"line_number":495,"context_line":"            cidr \u003d netaddr.IPNetwork(subnet.cidr)"},{"line_number":496,"context_line":""},{"line_number":497,"context_line":"            if self.conf.dhcp_lease_duration \u003d\u003d -1:"},{"line_number":498,"context_line":"                lease \u003d \u0027infinite\u0027"},{"line_number":499,"context_line":"            else:"},{"line_number":500,"context_line":"                lease \u003d \u0027%ss\u0027 % self.conf.dhcp_lease_duration"},{"line_number":501,"context_line":""},{"line_number":502,"context_line":"            # mode is optional and is not set - skip it"},{"line_number":503,"context_line":"            if mode:"}],"source_content_type":"text/x-python","patch_set":1,"id":"e3c2c481_103c702c","line":500,"range":{"start_line":497,"start_character":12,"end_line":500,"end_character":61},"in_reply_to":"db28dd4e_941f07ac","updated":"2025-11-25 14:31:56.000000000","message":"I think this dhcp_lease_duration value is still required. It tells dnsmasq the desired length of a lease when issuing/renewing a lease. Initializing the lease for the purpose of dnsmasq itself is a different case than issuing or renewing the lease when requested by the client. By initializing the lease duration to 0 for all valid ports in Neutron\u0027s DB, we ensure that dnsmasq knows about the port (won\u0027t expire a lease after the default lease duration has passed) and will be able to respond with an ACK instead of NACK upon a request from the client.","commit_id":"92c7032f76709730ea0c9f9fdaeb63b3633fc467"}]}
