Opened 3 years ago

Last modified 3 years ago

#5103 new enhancement

Supporting "auto" value in "host-reservation-identifiers" parameter.

Reported by: marcin Owned by:
Priority: medium Milestone: Outstanding Tasks
Component: host-reservations Version: git
Keywords: Cc:
CVSS Scoring: Parent Tickets: #5129
Sensitive: no Defect Severity: N/A
Sub-Project: DHCP Feature Depending on Ticket:
Estimated Difficulty: 0 Add Hours to Ticket: 0
Total Hours: 0 Internal?: no


In Kea 1.1.0 we supported "auto" keyword used in the "host-reservation-identifiers" parameter. It wasn't allowed to use this keyword in conjunction with any other value. When specified meant that the server is responsible for selecting which host identifiers should be used to search for host reservations and in which order. The simple stub implementation in 1.1.0 would use hardcoded ordered list so there was no special logic there. Moreover, it turns out that this feature hadn't been documented so nobody could really use it, unless read the code.

The parser refactoring in Kea 1.2.0 resulted in tossing the "auto" feature (accidentally), so current version doesn't even accept keyword "auto". We discussed with Tomek that we'd like to re-enable it but at the same time to implement some more sophisticated logic to search for the reservation types used with the current setup. The concept is simple: the server only has to gather unique values of host identifiers and use them for searching for reservations. In the case of the SQL database it can be handled by issuing a variation of "select host_identifier_type from hosts" and see what the unique values of ids are.

There are at least two challenges:

  • reservations can be stored in two places simultaneously: configuration file and database. The logic would have to combine the results from both sources.
  • when someone adds a reservation to the database directly Kea doesn't know about this reservation until it queries the database for identifiers again. There is a question what should trigger this query and when?


Change History (4)

comment:1 Changed 3 years ago by hschempf

  • Milestone changed from Kea-proposed to Outstanding Tasks

Per Kea team meeting 5 Jan, move to outstanding

comment:2 Changed 3 years ago by tomek

There's a companion ticket #5129 that covers update of the config parser.

comment:3 Changed 3 years ago by tomek

  • Parent Tickets set to 5129

comment:4 Changed 3 years ago by tomek

flex identifier type has been added. if we ever decide to fix and document 'auto' identifier, the code should be updated to also cover flex.

Note: See TracTickets for help on using tickets.