From: Francis Dupont Date: Tue, 16 Jun 2026 13:19:20 +0000 (+0200) Subject: [#4415] Updated DB reconnect logs X-Git-Tag: Kea-3.3.0~122 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e982ea6dff07a937b1e9527d762f9e0ef3db4f90;p=thirdparty%2Fkea.git [#4415] Updated DB reconnect logs --- diff --git a/ChangeLog b/ChangeLog index 2e392a3f4e..2780b36f7a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,9 +1,20 @@ -2498. [func] razvan +2499. [func] razvan Kea daemons now exit when a critical failure is detected when issuing "config-reload", "config-set" and "interface-add" - commands. + commands. Changed database reconnect disabled and failed + log messages from info to either ERROR or FATAL as + appropriate in kea-dhcp4 and kea-dhcp6. (Gitlab #4415) +2488. [func] razvan + Updated yang modules: added 'ssl-mode' to database connection + parameters, added 'adaptive-lease-time-threshold', removed + 'consistency', 'serial-consistency', 'request-timeout', + 'tcp-keepalive', 'tcp-nodelay' from to database connection + parameters, added 'allow-address-registration' to the + kea-dhcp6 model. + (Gitlab #4461) + Kea 3.2.0 (stable) released on June 24, 2026 2497. [build] andrei @@ -79,14 +90,12 @@ Kea 3.2.0 (stable) released on June 24, 2026 options to fix options with bad flags. (Gitlab #4443) -2486. [func] razvan - Updated yang modules: added 'ssl-mode' to database connection - parameters, added 'adaptive-lease-time-threshold', removed - 'consistency', 'serial-consistency', 'request-timeout', - 'tcp-keepalive', 'tcp-nodelay' from to database connection - parameters, added 'allow-address-registration' to the - kea-dhcp6 model. - (Gitlab #4461) +2486. [func] fdupont + Reconfigure commands that trigger fatal a error that leads + to server shutdown now return an error response. Changed + socket open failure log messages from INFO to either ERROR + or FATAL as appropriate. Applies to kea-dhcp4 and kea-dhcp6. + (Gitlab #4507) 2485. [doc] sanua356, razvan Added documentation about internal type of option 121 diff --git a/src/bin/dhcp4/ctrl_dhcp4_srv.cc b/src/bin/dhcp4/ctrl_dhcp4_srv.cc index 3d8014663b..c23c5dd32f 100644 --- a/src/bin/dhcp4/ctrl_dhcp4_srv.cc +++ b/src/bin/dhcp4/ctrl_dhcp4_srv.cc @@ -253,9 +253,9 @@ ControlledDhcpv4Srv::commandConfigReloadHandler(const string&, LOG_INFO(dhcp4_logger, DHCP4_DYNAMIC_RECONFIGURATION_SUCCESS).arg(file); return (result); } catch (const FatalException& ex) { - shutdownServer(EXIT_FAILURE); - LOG_FATAL(dhcp4_logger, DHCP4_DYNAMIC_RECONFIGURATION_FAIL_FATAL_ERROR) + LOG_FATAL(dhcp4_logger, DHCP4_FATAL_DYNAMIC_RECONFIGURATION_FAIL) .arg(file); + shutdownServer(EXIT_FAILURE); return (createAnswer(CONTROL_RESULT_FATAL_ERROR, "Config reload failed: " + string(ex.what()))); } catch (const std::exception& ex) { @@ -1895,14 +1895,20 @@ ControlledDhcpv4Srv::dbLostCallback(ReconnectCtlPtr db_reconnect_ctl) { // return false. if (!db_reconnect_ctl->retriesLeft() || !db_reconnect_ctl->retryInterval()) { - LOG_INFO(dhcp4_logger, DHCP4_DB_RECONNECT_DISABLED) - .arg(db_reconnect_ctl->retriesLeft()) - .arg(db_reconnect_ctl->retryInterval()) - .arg(db_reconnect_ctl->id()) - .arg(db_reconnect_ctl->timerName()); if (db_reconnect_ctl->exitOnFailure()) { + LOG_FATAL(dhcp4_logger, DHCP4_FATAL_DB_RECONNECT_DISABLED) + .arg(db_reconnect_ctl->retriesLeft()) + .arg(db_reconnect_ctl->retryInterval()) + .arg(db_reconnect_ctl->id()) + .arg(db_reconnect_ctl->timerName()); shutdownServer(EXIT_FAILURE); - } + } else { + LOG_ERROR(dhcp4_logger, DHCP4_DB_RECONNECT_DISABLED) + .arg(db_reconnect_ctl->retriesLeft()) + .arg(db_reconnect_ctl->retryInterval()) + .arg(db_reconnect_ctl->id()) + .arg(db_reconnect_ctl->timerName()); + } return (false); } @@ -1940,13 +1946,17 @@ ControlledDhcpv4Srv::dbFailedCallback(ReconnectCtlPtr db_reconnect_ctl) { return (false); } - LOG_INFO(dhcp4_logger, DHCP4_DB_RECONNECT_FAILED) - .arg(db_reconnect_ctl->maxRetries()) - .arg(db_reconnect_ctl->id()) - .arg(db_reconnect_ctl->timerName()); - if (db_reconnect_ctl->exitOnFailure()) { + LOG_FATAL(dhcp4_logger, DHCP4_FATAL_DB_RECONNECT_FAILED) + .arg(db_reconnect_ctl->maxRetries()) + .arg(db_reconnect_ctl->id()) + .arg(db_reconnect_ctl->timerName()); shutdownServer(EXIT_FAILURE); + } else { + LOG_ERROR(dhcp4_logger, DHCP4_DB_RECONNECT_FAILED) + .arg(db_reconnect_ctl->maxRetries()) + .arg(db_reconnect_ctl->id()) + .arg(db_reconnect_ctl->timerName()); } return (true); diff --git a/src/bin/dhcp4/dhcp4_messages.cc b/src/bin/dhcp4/dhcp4_messages.cc index 5c69b6a163..54cf029d2e 100644 --- a/src/bin/dhcp4/dhcp4_messages.cc +++ b/src/bin/dhcp4/dhcp4_messages.cc @@ -68,9 +68,11 @@ extern const isc::log::MessageID DHCP4_DHCP4O6_SUBNET_SELECTION_FAILED = "DHCP4_ extern const isc::log::MessageID DHCP4_DISCOVER = "DHCP4_DISCOVER"; extern const isc::log::MessageID DHCP4_DYNAMIC_RECONFIGURATION = "DHCP4_DYNAMIC_RECONFIGURATION"; extern const isc::log::MessageID DHCP4_DYNAMIC_RECONFIGURATION_FAIL = "DHCP4_DYNAMIC_RECONFIGURATION_FAIL"; -extern const isc::log::MessageID DHCP4_DYNAMIC_RECONFIGURATION_FAIL_FATAL_ERROR = "DHCP4_DYNAMIC_RECONFIGURATION_FAIL_FATAL_ERROR"; extern const isc::log::MessageID DHCP4_DYNAMIC_RECONFIGURATION_SUCCESS = "DHCP4_DYNAMIC_RECONFIGURATION_SUCCESS"; extern const isc::log::MessageID DHCP4_EMPTY_HOSTNAME = "DHCP4_EMPTY_HOSTNAME"; +extern const isc::log::MessageID DHCP4_FATAL_DB_RECONNECT_DISABLED = "DHCP4_FATAL_DB_RECONNECT_DISABLED"; +extern const isc::log::MessageID DHCP4_FATAL_DB_RECONNECT_FAILED = "DHCP4_FATAL_DB_RECONNECT_FAILED"; +extern const isc::log::MessageID DHCP4_FATAL_DYNAMIC_RECONFIGURATION_FAIL = "DHCP4_FATAL_DYNAMIC_RECONFIGURATION_FAIL"; extern const isc::log::MessageID DHCP4_FATAL_OPEN_SOCKETS_FAILED = "DHCP4_FATAL_OPEN_SOCKETS_FAILED"; extern const isc::log::MessageID DHCP4_FLEX_ID = "DHCP4_FLEX_ID"; extern const isc::log::MessageID DHCP4_GENERATE_FQDN = "DHCP4_GENERATE_FQDN"; @@ -254,9 +256,11 @@ const char* values[] = { "DHCP4_DISCOVER", "%1: server is processing DHCPDISCOVER with hint=%2", "DHCP4_DYNAMIC_RECONFIGURATION", "initiate server reconfiguration using file: %1, after receiving SIGHUP signal or config-reload command", "DHCP4_DYNAMIC_RECONFIGURATION_FAIL", "dynamic server reconfiguration failed with file: %1", - "DHCP4_DYNAMIC_RECONFIGURATION_FAIL_FATAL_ERROR", "dynamic server reconfiguration failed with file: %1", "DHCP4_DYNAMIC_RECONFIGURATION_SUCCESS", "dynamic server reconfiguration succeeded with file: %1", "DHCP4_EMPTY_HOSTNAME", "%1: received empty hostname from the client, skipping processing of this option", + "DHCP4_FATAL_DB_RECONNECT_DISABLED", "database reconnect is disabled: retries left: %1, reconnect wait time: %2, manager ID: %3, timer: %4", + "DHCP4_FATAL_DB_RECONNECT_FAILED", "maximum number of database reconnect attempts: %1, has been exhausted without success, manager ID: %2, timer: %3", + "DHCP4_FATAL_DYNAMIC_RECONFIGURATION_FAIL", "dynamic server reconfiguration failed with file: %1", "DHCP4_FATAL_OPEN_SOCKETS_FAILED", "maximum number of open service sockets attempts: %1, has been exhausted without success", "DHCP4_FLEX_ID", "%1: flexible identifier generated for incoming packet: %2", "DHCP4_GENERATE_FQDN", "%1: client did not send a FQDN or hostname; FQDN will be generated for the client", diff --git a/src/bin/dhcp4/dhcp4_messages.h b/src/bin/dhcp4/dhcp4_messages.h index 7299a89563..d9142d7a9d 100644 --- a/src/bin/dhcp4/dhcp4_messages.h +++ b/src/bin/dhcp4/dhcp4_messages.h @@ -69,9 +69,11 @@ extern const isc::log::MessageID DHCP4_DHCP4O6_SUBNET_SELECTION_FAILED; extern const isc::log::MessageID DHCP4_DISCOVER; extern const isc::log::MessageID DHCP4_DYNAMIC_RECONFIGURATION; extern const isc::log::MessageID DHCP4_DYNAMIC_RECONFIGURATION_FAIL; -extern const isc::log::MessageID DHCP4_DYNAMIC_RECONFIGURATION_FAIL_FATAL_ERROR; extern const isc::log::MessageID DHCP4_DYNAMIC_RECONFIGURATION_SUCCESS; extern const isc::log::MessageID DHCP4_EMPTY_HOSTNAME; +extern const isc::log::MessageID DHCP4_FATAL_DB_RECONNECT_DISABLED; +extern const isc::log::MessageID DHCP4_FATAL_DB_RECONNECT_FAILED; +extern const isc::log::MessageID DHCP4_FATAL_DYNAMIC_RECONFIGURATION_FAIL; extern const isc::log::MessageID DHCP4_FATAL_OPEN_SOCKETS_FAILED; extern const isc::log::MessageID DHCP4_FLEX_ID; extern const isc::log::MessageID DHCP4_GENERATE_FQDN; diff --git a/src/bin/dhcp4/dhcp4_messages.mes b/src/bin/dhcp4/dhcp4_messages.mes index 94b7187264..359d8d9545 100644 --- a/src/bin/dhcp4/dhcp4_messages.mes +++ b/src/bin/dhcp4/dhcp4_messages.mes @@ -233,14 +233,15 @@ This error message is issued when the configuration includes an unsupported object (i.e. a top level element). % DHCP4_DB_RECONNECT_DISABLED database reconnect is disabled: retries left: %1, reconnect wait time: %2, manager ID: %3, timer: %4 -This is an informational message indicating that connectivity to either the -lease or host database or both and that automatic reconnect is not enabled. +This is an error message indicating that connectivity to either the +lease or host database or both was lost and that automatic reconnect is +not enabled. Loss of connectivity is typically a network or database server +issue. % DHCP4_DB_RECONNECT_FAILED maximum number of database reconnect attempts: %1, has been exhausted without success, manager ID: %2, timer: %3 This error indicates that the server failed to reconnect to the lease and/or host database(s) after making the maximum configured number of reconnect -attempts. This might cause the server to shut down as specified in the -configuration. Loss of connectivity is typically a network or database server +attempts. Loss of connectivity is typically a network or database server issue. % DHCP4_DB_RECONNECT_LOST_CONNECTION database connection lost: manager ID: %1, timer: %2. @@ -410,10 +411,6 @@ as a result of receiving SIGHUP signal or config-reload command. This is an error message logged when the dynamic reconfiguration of the DHCP server failed. -% DHCP4_DYNAMIC_RECONFIGURATION_FAIL_FATAL_ERROR dynamic server reconfiguration failed with file: %1 -This is a fatal error message logged when the dynamic reconfiguration of the -DHCP server failed. - % DHCP4_DYNAMIC_RECONFIGURATION_SUCCESS dynamic server reconfiguration succeeded with file: %1 This is info message logged when the dynamic reconfiguration of the DHCP server succeeded. @@ -425,6 +422,24 @@ from a client. Server does not process empty Hostname options and therefore option is skipped. The argument holds the client and transaction identification information. +% DHCP4_FATAL_DB_RECONNECT_DISABLED database reconnect is disabled: retries left: %1, reconnect wait time: %2, manager ID: %3, timer: %4 +This is an error message indicating that connectivity to either the +lease or host database or both was lost and that automatic reconnect is +ot enabled. This causes the server to shut down as specified in the +configuration. Loss of connectivity is typically a network or database server +issue. + +% DHCP4_FATAL_DB_RECONNECT_FAILED maximum number of database reconnect attempts: %1, has been exhausted without success, manager ID: %2, timer: %3 +This error indicates that the server failed to reconnect to the lease and/or +host database(s) after making the maximum configured number of reconnect +attempts. This causes the server to shut down as specified in the +configuration. Loss of connectivity is typically a network or database server +issue. + +% DHCP4_FATAL_DYNAMIC_RECONFIGURATION_FAIL dynamic server reconfiguration failed with file: %1 +This is a fatal error message logged when the dynamic reconfiguration of the +DHCP server failed. + % DHCP4_FATAL_OPEN_SOCKETS_FAILED maximum number of open service sockets attempts: %1, has been exhausted without success This error indicates that the server failed to bind service sockets after making the maximum configured number of open attempts. This causes the server diff --git a/src/bin/dhcp6/ctrl_dhcp6_srv.cc b/src/bin/dhcp6/ctrl_dhcp6_srv.cc index d3de2112a6..3a6b9d93a6 100644 --- a/src/bin/dhcp6/ctrl_dhcp6_srv.cc +++ b/src/bin/dhcp6/ctrl_dhcp6_srv.cc @@ -256,9 +256,9 @@ ControlledDhcpv6Srv::commandConfigReloadHandler(const string&, LOG_INFO(dhcp6_logger, DHCP6_DYNAMIC_RECONFIGURATION_SUCCESS).arg(file); return (result); } catch (const FatalException& ex) { - shutdownServer(EXIT_FAILURE); - LOG_FATAL(dhcp6_logger, DHCP6_DYNAMIC_RECONFIGURATION_FAIL_FATAL_ERROR) + LOG_FATAL(dhcp6_logger, DHCP6_FATAL_DYNAMIC_RECONFIGURATION_FAIL) .arg(file); + shutdownServer(EXIT_FAILURE); return (createAnswer(CONTROL_RESULT_FATAL_ERROR, "Config reload failed: " + string(ex.what()))); } catch (const std::exception& ex) { @@ -1681,13 +1681,19 @@ ControlledDhcpv6Srv::dbLostCallback(ReconnectCtlPtr db_reconnect_ctl) { // return false. if (!db_reconnect_ctl->retriesLeft() || !db_reconnect_ctl->retryInterval()) { - LOG_INFO(dhcp6_logger, DHCP6_DB_RECONNECT_DISABLED) - .arg(db_reconnect_ctl->retriesLeft()) - .arg(db_reconnect_ctl->retryInterval()) - .arg(db_reconnect_ctl->id()) - .arg(db_reconnect_ctl->timerName()); if (db_reconnect_ctl->exitOnFailure()) { + LOG_FATAL(dhcp6_logger, DHCP6_FATAL_DB_RECONNECT_DISABLED) + .arg(db_reconnect_ctl->retriesLeft()) + .arg(db_reconnect_ctl->retryInterval()) + .arg(db_reconnect_ctl->id()) + .arg(db_reconnect_ctl->timerName()); shutdownServer(EXIT_FAILURE); + } else { + LOG_ERROR(dhcp6_logger, DHCP6_DB_RECONNECT_DISABLED) + .arg(db_reconnect_ctl->retriesLeft()) + .arg(db_reconnect_ctl->retryInterval()) + .arg(db_reconnect_ctl->id()) + .arg(db_reconnect_ctl->timerName()); } return (false); } @@ -1726,15 +1732,18 @@ ControlledDhcpv6Srv::dbFailedCallback(ReconnectCtlPtr db_reconnect_ctl) { return (false); } - LOG_INFO(dhcp6_logger, DHCP6_DB_RECONNECT_FAILED) - .arg(db_reconnect_ctl->maxRetries()) - .arg(db_reconnect_ctl->id()) - .arg(db_reconnect_ctl->timerName()); - if (db_reconnect_ctl->exitOnFailure()) { + LOG_FATAL(dhcp6_logger, DHCP6_FATAL_DB_RECONNECT_FAILED) + .arg(db_reconnect_ctl->maxRetries()) + .arg(db_reconnect_ctl->id()) + .arg(db_reconnect_ctl->timerName()); shutdownServer(EXIT_FAILURE); + } else { + LOG_ERROR(dhcp6_logger, DHCP6_DB_RECONNECT_FAILED) + .arg(db_reconnect_ctl->maxRetries()) + .arg(db_reconnect_ctl->id()) + .arg(db_reconnect_ctl->timerName()); } - return (true); } diff --git a/src/bin/dhcp6/dhcp6_messages.cc b/src/bin/dhcp6/dhcp6_messages.cc index 8255857f32..679b2e6021 100644 --- a/src/bin/dhcp6/dhcp6_messages.cc +++ b/src/bin/dhcp6/dhcp6_messages.cc @@ -67,8 +67,10 @@ extern const isc::log::MessageID DHCP6_DHCP4O6_RESPONSE_DATA = "DHCP6_DHCP4O6_RE extern const isc::log::MessageID DHCP6_DHCP4O6_SEND_FAIL = "DHCP6_DHCP4O6_SEND_FAIL"; extern const isc::log::MessageID DHCP6_DYNAMIC_RECONFIGURATION = "DHCP6_DYNAMIC_RECONFIGURATION"; extern const isc::log::MessageID DHCP6_DYNAMIC_RECONFIGURATION_FAIL = "DHCP6_DYNAMIC_RECONFIGURATION_FAIL"; -extern const isc::log::MessageID DHCP6_DYNAMIC_RECONFIGURATION_FAIL_FATAL_ERROR = "DHCP6_DYNAMIC_RECONFIGURATION_FAIL_FATAL_ERROR"; extern const isc::log::MessageID DHCP6_DYNAMIC_RECONFIGURATION_SUCCESS = "DHCP6_DYNAMIC_RECONFIGURATION_SUCCESS"; +extern const isc::log::MessageID DHCP6_FATAL_DB_RECONNECT_DISABLED = "DHCP6_FATAL_DB_RECONNECT_DISABLED"; +extern const isc::log::MessageID DHCP6_FATAL_DB_RECONNECT_FAILED = "DHCP6_FATAL_DB_RECONNECT_FAILED"; +extern const isc::log::MessageID DHCP6_FATAL_DYNAMIC_RECONFIGURATION_FAIL = "DHCP6_FATAL_DYNAMIC_RECONFIGURATION_FAIL"; extern const isc::log::MessageID DHCP6_FATAL_OPEN_SOCKETS_FAILED = "DHCP6_FATAL_OPEN_SOCKETS_FAILED"; extern const isc::log::MessageID DHCP6_FLEX_ID = "DHCP6_FLEX_ID"; extern const isc::log::MessageID DHCP6_HOOK_ADDR6_REGISTER_DROP = "DHCP6_HOOK_ADDR6_REGISTER_DROP"; @@ -250,8 +252,10 @@ const char* values[] = { "DHCP6_DHCP4O6_SEND_FAIL", "%1: failed to send DHCPv4o6 packet: %2", "DHCP6_DYNAMIC_RECONFIGURATION", "initiate server reconfiguration using file: %1, after receiving SIGHUP signal or config-reload command", "DHCP6_DYNAMIC_RECONFIGURATION_FAIL", "dynamic server reconfiguration failed with file: %1", - "DHCP6_DYNAMIC_RECONFIGURATION_FAIL_FATAL_ERROR", "dynamic server reconfiguration failed with file: %1", "DHCP6_DYNAMIC_RECONFIGURATION_SUCCESS", "dynamic server reconfiguration succeeded with file: %1", + "DHCP6_FATAL_DB_RECONNECT_DISABLED", "database reconnect is disabled: retries left: %1, reconnect wait time: %2, manager ID: %3, timer: %4", + "DHCP6_FATAL_DB_RECONNECT_FAILED", "maximum number of database reconnect attempts: %1, has been exhausted without success, manager ID: %2, timer: %3", + "DHCP6_FATAL_DYNAMIC_RECONFIGURATION_FAIL", "dynamic server reconfiguration failed with file: %1", "DHCP6_FATAL_OPEN_SOCKETS_FAILED", "maximum number of open service sockets attempts: %1, has been exhausted without success", "DHCP6_FLEX_ID", "%1: flexible identifier generated for incoming packet: %2", "DHCP6_HOOK_ADDR6_REGISTER_DROP", "%1: ADDR-REG-INFORM for %2 is dropped, because a callout set the next step to DROP", diff --git a/src/bin/dhcp6/dhcp6_messages.h b/src/bin/dhcp6/dhcp6_messages.h index 64871957d8..75b569b020 100644 --- a/src/bin/dhcp6/dhcp6_messages.h +++ b/src/bin/dhcp6/dhcp6_messages.h @@ -68,8 +68,10 @@ extern const isc::log::MessageID DHCP6_DHCP4O6_RESPONSE_DATA; extern const isc::log::MessageID DHCP6_DHCP4O6_SEND_FAIL; extern const isc::log::MessageID DHCP6_DYNAMIC_RECONFIGURATION; extern const isc::log::MessageID DHCP6_DYNAMIC_RECONFIGURATION_FAIL; -extern const isc::log::MessageID DHCP6_DYNAMIC_RECONFIGURATION_FAIL_FATAL_ERROR; extern const isc::log::MessageID DHCP6_DYNAMIC_RECONFIGURATION_SUCCESS; +extern const isc::log::MessageID DHCP6_FATAL_DB_RECONNECT_DISABLED; +extern const isc::log::MessageID DHCP6_FATAL_DB_RECONNECT_FAILED; +extern const isc::log::MessageID DHCP6_FATAL_DYNAMIC_RECONFIGURATION_FAIL; extern const isc::log::MessageID DHCP6_FATAL_OPEN_SOCKETS_FAILED; extern const isc::log::MessageID DHCP6_FLEX_ID; extern const isc::log::MessageID DHCP6_HOOK_ADDR6_REGISTER_DROP; diff --git a/src/bin/dhcp6/dhcp6_messages.mes b/src/bin/dhcp6/dhcp6_messages.mes index 757565be8f..18e9c78dc0 100644 --- a/src/bin/dhcp6/dhcp6_messages.mes +++ b/src/bin/dhcp6/dhcp6_messages.mes @@ -215,14 +215,15 @@ may be overridden at runtime by setting the environment variable 'KEA_DHCP_DATA_DIR'. % DHCP6_DB_RECONNECT_DISABLED database reconnect is disabled: retries left: %1, reconnect wait time: %2, manager ID: %3, timer: %4 -This is an informational message indicating that connectivity to either the -lease or host database or both and that automatic reconnect is not enabled. +This is an error message indicating that connectivity to either the +lease or host database or both was lost and that automatic reconnect is +not enabled. Loss of connectivity is typically a network or database server +issue. % DHCP6_DB_RECONNECT_FAILED maximum number of database reconnect attempts: %1, has been exhausted without success, manager ID: %2, timer: %3 This error indicates that the server failed to reconnect to the lease and/or host database(s) after making the maximum configured number of reconnect -attempts. This might cause the server to shut down as specified in the -configuration. Loss of connectivity is typically a network or database server +attempts. Loss of connectivity is typically a network or database server issue. % DHCP6_DB_RECONNECT_LOST_CONNECTION database connection lost: manager ID: %1, timer: %2. @@ -393,14 +394,28 @@ as a result of receiving SIGHUP signal or config-reload command. This is an error message logged when the dynamic reconfiguration of the DHCP server failed. -% DHCP6_DYNAMIC_RECONFIGURATION_FAIL_FATAL_ERROR dynamic server reconfiguration failed with file: %1 -This is a fatal error message logged when the dynamic reconfiguration of the -DHCP server failed. - % DHCP6_DYNAMIC_RECONFIGURATION_SUCCESS dynamic server reconfiguration succeeded with file: %1 This is info message logged when the dynamic reconfiguration of the DHCP server succeeded. +% DHCP6_FATAL_DB_RECONNECT_DISABLED database reconnect is disabled: retries left: %1, reconnect wait time: %2, manager ID: %3, timer: %4 +This is an error message indicating that connectivity to either the +lease or host database or both was lost and that automatic reconnect is +not enabled. This causes the server to shut down as specified in the +configuration. Loss of connectivity is typically a network or database server +issue. + +% DHCP6_FATAL_DB_RECONNECT_FAILED maximum number of database reconnect attempts: %1, has been exhausted without success, manager ID: %2, timer: %3 +This error indicates that the server failed to reconnect to the lease and/or +host database(s) after making the maximum configured number of reconnect +attempts. This causes the server to shut down as specified in the +configuration. Loss of connectivity is typically a network or database server +issue. + +% DHCP6_FATAL_DYNAMIC_RECONFIGURATION_FAIL dynamic server reconfiguration failed with file: %1 +This is a fatal error message logged when the dynamic reconfiguration of the +DHCP server failed. + % DHCP6_FATAL_OPEN_SOCKETS_FAILED maximum number of open service sockets attempts: %1, has been exhausted without success This error indicates that the server failed to bind service sockets after making the maximum configured number of open attempts. This causes the server