Skip to content

Test failures from upstream systemd v261-rc1 DHCP relay refactor #440

@SJrX

Description

@SJrX

Problem

CI test suite started failing after upstream systemd commit cb2bba6b04 (2026-05-04, part of v261-rc1), which deprecated three DHCP relay agent settings in the [DHCPServer] section of .network files:

  • RelayTarget
  • RelayAgentCircuitId
  • RelayAgentRemoteId

These keys remain in the gperf file marked /* deprecated */, but upstream:

  • Removed them from the systemd.network(5) man page
  • Removed the C parser function config_parse_dhcp_server_relay_agent_suboption entirely
  • Re-pointed the gperf entries at config_parse_in_addr_non_null(AF_INET) (RelayTarget) and config_parse_dhcp_option(/* check_length= */ true) (the other two)
  • Added a new replacement [DHCPRelay] section (1a75eb7d8b) — only available in v261-rc1+

Failing tests

  1. SemanticDataRepositoryTest.testAllRegisteredValidatorsExistInGperfFilesconfig_parse_dhcp_server_relay_agent_suboption(0) is registered in AiGenerated.kt but no longer referenced by any gperf entry.
  2. SemanticDataDocumentationCompletionTest.testAllOptionsHaveDocumentation — the three keys are in the gperf but no longer in any man page, so they fail the code/doc parity check.
  3. ConfigParseDhcpServerRelayAgentSuboptionOptionValueTest.testInvalidValues — the validator no longer runs (since its function name isn't in gperf), so no error highlights are produced.
  4. OptionValueTest.testThatAllOptionsHaveValidator — the time-based burn-down (612 - days_since_2025-10-27) caught up to the missing-validator count of 405 (allowed=404 today).

Notes

  • The deprecated keys are real and well-established (added 2021-03 and 2021-04, ~5 years old) — not upstream churn.
  • The replacement [DHCPRelay] section only exists in v261-rc1 (tagged 2026-05-22). The current stable is v260.1, which has no migration path, so any deprecation messaging should not aggressively steer v260 users toward the new section.
  • The OptionValueTest burn-down naturally needs a buffer reset; upstream changes also bring new missing functions (config_parse_dhcp_option(true), config_parse_dhcp_option_tlv(0), config_parse_dhcp_relay_interface_mode(0), config_parse_int(0)) but no new unique function names — the count climb is from existing missing functions gaining additional keys.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions