mirror of
https://github.com/CumulusNetworks/ifupdown2.git
synced 2024-05-06 15:54:50 +00:00
addons: dhcp: don't release dhcp lease after timeout
Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
This commit is contained in:
@@ -106,7 +106,6 @@ class dhcp(Addon, moduleBase):
|
|||||||
retry = self.dhclient_check(ifname, family, ip_config_before, retry, handler_kwargs.get("cmd_prefix"))
|
retry = self.dhclient_check(ifname, family, ip_config_before, retry, handler_kwargs.get("cmd_prefix"))
|
||||||
|
|
||||||
def dhclient_check(self, ifname, family, ip_config_before, retry, dhclient_cmd_prefix):
|
def dhclient_check(self, ifname, family, ip_config_before, retry, dhclient_cmd_prefix):
|
||||||
retry -= 1
|
|
||||||
diff = self.get_current_ip_configured(ifname, family).difference(ip_config_before)
|
diff = self.get_current_ip_configured(ifname, family).difference(ip_config_before)
|
||||||
|
|
||||||
if diff:
|
if diff:
|
||||||
@@ -116,18 +115,16 @@ class dhcp(Addon, moduleBase):
|
|||||||
)
|
)
|
||||||
return -1
|
return -1
|
||||||
else:
|
else:
|
||||||
try:
|
|
||||||
if retry > 0:
|
if retry > 0:
|
||||||
self.logger.error(
|
self.logger.error(
|
||||||
"%s: dhclient: couldn't detect new ip address, retrying %s more times..."
|
"%s: dhclient: couldn't detect new ip address, retrying %s more times..."
|
||||||
% (ifname, retry)
|
% (ifname, retry)
|
||||||
)
|
)
|
||||||
|
self.dhclientcmd.stop(ifname)
|
||||||
else:
|
else:
|
||||||
self.logger.error("%s: dhclient: timeout failed to detect new ip addresses" % ifname)
|
self.logger.error("%s: dhclient: timeout failed to detect new ip addresses" % ifname)
|
||||||
return -1
|
return -1
|
||||||
finally:
|
retry -= 1
|
||||||
self.logger.info("%s: releasing expired dhcp lease..." % ifname)
|
|
||||||
self.dhclientcmd.release(ifname, dhclient_cmd_prefix)
|
|
||||||
return retry
|
return retry
|
||||||
|
|
||||||
def _up(self, ifaceobj):
|
def _up(self, ifaceobj):
|
||||||
|
Reference in New Issue
Block a user