2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-08-31 22:15:23 +00:00

[#78,!85] max-period in dhcp-disable set to sync-timeout HA parameter.

This commit is contained in:
Marcin Siodelski
2018-10-25 18:43:52 +02:00
parent 17cd8f9421
commit f6243bae6b

View File

@@ -355,11 +355,18 @@ HAService::syncingStateHandler() {
// so let's temporarily stop it. // so let's temporarily stop it.
communication_state_->stopHeartbeat(); communication_state_->stopHeartbeat();
// Timeout is configured in milliseconds. Need to convert to seconds.
unsigned int dhcp_disable_timeout =
static_cast<unsigned int>(config_->getSyncTimeout() / 1000);
if (dhcp_disable_timeout == 0) {
++dhcp_disable_timeout;
}
// Perform synchronous leases update. // Perform synchronous leases update.
std::string status_message; std::string status_message;
int sync_status = synchronize(status_message, int sync_status = synchronize(status_message,
config_->getFailoverPeerConfig()->getName(), config_->getFailoverPeerConfig()->getName(),
60); dhcp_disable_timeout);
// If the leases synchronization was successful, let's transition // If the leases synchronization was successful, let's transition
// to the ready state. // to the ready state.
@@ -1024,7 +1031,9 @@ HAService::asyncDisable(HttpClient& http_client,
// Create HTTP/1.1 request including our command. // Create HTTP/1.1 request including our command.
PostHttpRequestJsonPtr request = boost::make_shared<PostHttpRequestJson> PostHttpRequestJsonPtr request = boost::make_shared<PostHttpRequestJson>
(HttpRequest::Method::HTTP_POST, "/", HttpVersion::HTTP_11()); (HttpRequest::Method::HTTP_POST, "/", HttpVersion::HTTP_11());
request->setBodyAsJson(CommandCreator::createDHCPDisable(max_period, server_type_));
request->setBodyAsJson(CommandCreator::createDHCPDisable(max_period,
server_type_));
request->finalize(); request->finalize();
// Response object should also be created because the HTTP client needs // Response object should also be created because the HTTP client needs
@@ -1160,8 +1169,16 @@ HAService::localEnable() {
void void
HAService::asyncSyncLeases() { HAService::asyncSyncLeases() {
PostSyncCallback null_action; PostSyncCallback null_action;
// Timeout is configured in milliseconds. Need to convert to seconds.
unsigned int dhcp_disable_timeout =
static_cast<unsigned int>(config_->getSyncTimeout() / 1000);
if (dhcp_disable_timeout == 0) {
++dhcp_disable_timeout;
}
asyncSyncLeases(client_, config_->getFailoverPeerConfig()->getName(), asyncSyncLeases(client_, config_->getFailoverPeerConfig()->getName(),
60, LeasePtr(), null_action); dhcp_disable_timeout, LeasePtr(), null_action);
} }
void void