Merge pull request #7077 from Icinga/bugfix/no-api

Always update object authority & don't skip notifications in non-API setups
This commit is contained in:
Michael Friedrich 2019-04-03 14:22:56 +02:00 committed by GitHub
commit 7242301fdb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 8 deletions

View File

@ -64,13 +64,17 @@ void NotificationComponent::NotificationTimerHandler()
{
double now = Utility::GetTime();
/* Function already checks whether 'api' feature is enabled. */
Endpoint::Ptr myEndpoint = Endpoint::GetLocalEndpoint();
for (const Notification::Ptr& notification : ConfigType::GetObjectsByType<Notification>()) {
if (!notification->IsActive())
continue;
String notificationName = notification->GetName();
if (notification->IsPaused() && GetEnableHA()) {
/* Skip notification if paused, in a cluster setup & HA feature is enabled. */
if (notification->IsPaused() && myEndpoint && GetEnableHA()) {
Log(LogNotice, "NotificationComponent")
<< "Reminder notification '" << notificationName << "': HA cluster active, this endpoint does not have the authority (paused=true). Skipping.";
continue;

View File

@ -10,13 +10,14 @@ using namespace icinga;
void ApiListener::UpdateObjectAuthority()
{
ApiListener::Ptr instance = ApiListener::GetInstance();
if (!instance)
return;
Log(LogNotice, "ApiListener")
<< "Updating object authority for objects at endpoint '" << instance->GetIdentity() << "'.";
/* Always run this, even if there is no 'api' feature enabled. */
if (auto listener = ApiListener::GetInstance()) {
Log(LogNotice, "ApiListener")
<< "Updating object authority for objects at endpoint '" << listener->GetIdentity() << "'.";
} else {
Log(LogNotice, "ApiListener")
<< "Updating object authority for local objects.";
}
Zone::Ptr my_zone = Zone::GetLocalZone();