10. Database ConnectivityΒΆ

Kea servers (kea-dhcp4 and kea-dhcp6) can be configured to use a variety of database back ends for leases, hosts and configuration. All of them may be configured to support automatic recovery when connectivity is lost (see max-reconnect-tries and reconnect-wait-time).

It is important to understand how and when automatic recovery comes into play. Automatic recovery, when configured, only operates after a successful start up or reconfiguration during which connectivity to all back ends has been successfully established.

During server start up the inability to connect to any of the configured back ends is always considered fatal. A fatal error will be logged and the server will exit. This is done based on the idea that configuration should be valid at start up. Exiting to the operating system allows nanny scripts to detect the problem.

During dynamic reconfiguration, all back ends are disconnected and then reconnected using the new configuration. If connectivity to any of the back ends cannot be established, the server will log a fatal error but remain up. It will be able to process commands but will not serve clients. This allows the configuration to be corrected via command, if required.

During normal operations, if connectivity to any of the back ends is lost and automatic recovery for that back end is enabled, the server will disconnect from all back ends, and then attempt to reconnect them. During the recovery process the server will cease serving clients but continue to respond to commands. If connectivity to all back ends is restored the server will return to normal operations. If connectivity cannot be restored after max-reconnect-tries, the server will issue a fatal error and exit.