Comment 2 for bug 1863100

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

Hm, this may pose a problem.

These sockets are created by each daemon, and their path is specified
in the respective configuration files:

kea-dhcp-ddns-server: /etc/kea/kea-dhcp-ddns.conf
kea-dhcp4-server: /etc/kea/kea-dhcp4.conf
kea-dhcp6-server: /etc/kea/kea-dhcp6.conf

At first I thought I just update the shipped config, user may get a
dpkg conf prompt, decides to apply it or not, things keep working
either way.

But there is another server, a control agent:
kea-ctrl-agent: /etc/kea/kea-ctrl-agent.conf

This guy doesn't create unix sockets, but it needs to know where the
unix sockets for the 3 other services are. This is specified in its
own configuration file.

In other words, the 4 config files need to agree about where the sockets are.

Example of a broken upgrade:
It's very likely that the dhcp server config file, be it ipv4 or ipv6,
will be changed by the admin to specify networks, pools, etc. So when
he gets a prompt, he will, for example, refuse the new file. So the
socket stays in /tmp.
But then kea-ctrl-agent.conf comes along, and that file was not
changed by the admin. pkg then installs the new copy, which will have
the new socket location. When kea-ctrl-agent starts, it won't find the
dhcp4 socket in the new location, and fail.

I can try to add smarts to postinst, but I'm asking around first to see if that's even allowed, as config files would be changed by postinst.