Page MenuHomeVyOS Platform

DHCP server op-mode sometimes does not show leases
Closed, ResolvedPublicBUG

Description

DHCP server op-mode sometimes does not show leases
To reproduce:

set interfaces bridge br0 enable-vlan
set interfaces bridge br0 member interface eth1 allowed-vlan '3'
set interfaces bridge br0 member interface eth1 allowed-vlan '4'
set interfaces bridge br0 vif 3 address '10.3.0.4/16'
set interfaces bridge br0 vif 3 description 'guest network'
set interfaces bridge br0 vif 4 address '10.1.0.4/16'
set service dhcp-server high-availability name 'ha'
set service dhcp-server high-availability remote '10.1.0.3'
set service dhcp-server high-availability source-address '10.1.0.4'
set service dhcp-server high-availability status 'secondary'
set service dhcp-server listen-address '10.3.0.4'
set service dhcp-server shared-network-name 3_guest authoritative
set service dhcp-server shared-network-name 3_guest description 'guest'
set service dhcp-server shared-network-name 3_guest name-server '192.0.2.1'
set service dhcp-server shared-network-name 3_guest name-server '192.0.2.2'
set service dhcp-server shared-network-name 3_guest subnet 10.3.0.0/16 default-router '10.3.0.1'
set service dhcp-server shared-network-name 3_guest subnet 10.3.0.0/16 enable-failover
set service dhcp-server shared-network-name 3_guest subnet 10.3.0.0/16 range 1 start '10.3.10.1'
set service dhcp-server shared-network-name 3_guest subnet 10.3.0.0/16 range 1 stop '10.3.200.254'

Drop all leases except this one from dhcp.leases file, to avoid waiting forever for show command output:

vyos@r15# cat /config/dhcpd.leases
# The format of this file is documented in the dhcpd.leases(5) manual page.
# This lease file was written by isc-dhcp-4.4.3-P1

# authoring-byte-order entry is generated, DO NOT DELETE
authoring-byte-order little-endian;


failover peer "ha" state {
  my state normal at 5 2024/11/01 08:43:12;
  partner state normal at 5 2024/11/01 08:43:12;
  mclt 1800;
}

lease 10.3.141.37 {
  tstp 2 2024/04/23 06:39:28;
  tsfp 2 2024/04/23 06:39:28;
  atsfp 2 2024/04/23 06:39:28;
  cltt 1 2024/04/22 06:39:28;
  binding state free;
  hardware ethernet xx:xx:xx:0b:09:d5;
  uid "\001<\246\366\013\011\325";
  set shared-networkname = "3_guest";
}

check

vyos@r15# run show dhcp server leases 
Traceback (most recent call last):
  File "/usr/libexec/vyos/op_mode/dhcp.py", line 438, in <module>
    res = vyos.opmode.run(sys.modules[__name__])
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/vyos/opmode.py", line 263, in run
    res = func(**args)
          ^^^^^^^^^^^^
  File "/usr/libexec/vyos/op_mode/dhcp.py", line 265, in _wrapper
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/libexec/vyos/op_mode/dhcp.py", line 318, in show_server_leases
    lease_data = _get_raw_server_leases(family=family, pool=pool, sorted=sorted, state=state, origin=origin)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/libexec/vyos/op_mode/dhcp.py", line 104, in _get_raw_server_leases
    data_lease['start'] = lease.start.timestamp()
                          ^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'timestamp'
[edit]
vyos@r15#

Details

Version
1.4.0
Is it a breaking change?
Unspecified (possibly destroys the router)
Issue type
Bug (incorrect behavior)

Related Objects

Mentioned In
1.4.1

Event Timeline

Viacheslav triaged this task as Normal priority.
Viacheslav changed the task status from Open to In progress.Nov 12 2024, 12:52 PM
Viacheslav claimed this task.
Viacheslav moved this task from Backlog to Finished on the VyOS 1.4 Sagitta (1.4.1) board.