Merge pull request #6821 from Icinga/bugfix/downtimes-disappear-satellite-6542

Don't delete downtimes in satellite zones
This commit is contained in:
Michael Friedrich 2018-12-18 16:13:36 +01:00 committed by GitHub
commit c4d57afa3d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 1 deletions

View File

@ -215,7 +215,7 @@ bool Downtime::HasValidConfigOwner() const
}
String configOwner = GetConfigOwner();
return configOwner.IsEmpty() || GetObject<ScheduledDowntime>(configOwner);
return configOwner.IsEmpty() || Zone::GetByName(GetAuthoritativeZone()) != Zone::GetLocalZone() || GetObject<ScheduledDowntime>(configOwner);
}
int Downtime::GetNextDowntimeID()
@ -251,6 +251,10 @@ String Downtime::AddDowntime(const Checkable::Ptr& checkable, const String& auth
attrs->Set("config_owner", scheduledDowntime);
attrs->Set("entry_time", Utility::GetTime());
if (!scheduledDowntime.IsEmpty()) {
attrs->Set("authoritative_zone", Zone::GetLocalZone()->GetName());
}
Host::Ptr host;
Service::Ptr service;
tie(host, service) = GetHostService(checkable);

View File

@ -84,6 +84,7 @@ class Downtime : ConfigObject < DowntimeNameComposer
[state] int legacy_id;
[state] bool was_cancelled;
[config] String config_owner;
[config] String authoritative_zone;
};
}