Hello,

I'm currently in the process of migrating our DHCP servers from ISC-DHCP to Kea, there is an use-case regarding script execution I can't seems to replicate.

To add a bit of context, I am using DHCP to power network device deployment using ZTP. The process is a bit different for each network operating system, while most of the customization can be done via the DHCP Response options, some operating systems need preliminary setup on our side. This setup process is launched from the ISC-DHCP server using the `execute` instruction, after the device is identified:

```
    set clip = binary-to-ascii(10, 8, ".", leased-address);
    set clhw = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));

    if substring ( option dhcp-client-identifier, 1,7 ) = "deviceA" {
        default-lease-time 60;
        max-lease-time 90;
        option bootfile-name "myConfig";
        on commit {
            execute("preparation_script.sh", "commit", clip, clhw, "deviceA");
        }
    }
    elsif substring ( option dhcp-client-identifier, 1,7 ) = "deviceB" {
        option bootfile-name "anotherConfig";
        option tftp-server-name "myIp";
    }
```

In this example, the preparation script only needs to be executed for `deviceA`.

However, on Kea, execution of scripts is done using the run_script [1] hook, which launch the script basically every time something happens.

This means that the decision to choose which operating system needs to launch the preparation process is moved from the DHCP config to the script itself. However, this seems complicated with the information available to the script (via environment variables) as the DHCP options used to identify the devices are not available (mainly options 60 and 61).


I have seen the issue #2622 [2] which could help, another alternative could be to just expose the DHCP options 60 and 61.

Do you have any other idea on how to resolve this issue ?


Thanks.


Louis Declerfayt


[1] https://kea.readthedocs.io/en/kea-2.0.1/arm/hooks.html#run-script-support
[2] https://gitlab.isc.org/isc-projects/kea/-/issues/2622

--
ISC funds the development of this software with paid support subscriptions. 
Contact us at https://www.isc.org/contact/ for more information.

To unsubscribe visit https://lists.isc.org/mailman/listinfo/kea-users.

Kea-users mailing list
[email protected]
https://lists.isc.org/mailman/listinfo/kea-users

Reply via email to