TL;DR: in case you’re using Custom Variable Overrides (as probably most of you do), then you’ll face a problem with v1.5.0, an upgrade to v1.5.1 is necessary. Sorry for the noise.
In Director v1.5.0 we added Startup Log warning that triggers when get_host() fails for one of your services. Now, the problem was that we completely broke this feature when adding that log notice.
The get_host() method is used by Director to get properties from a Host related to a Service. We’re currently investigating a behavior change in Icinga 2.9 related to object activation order in combination with this method. This breaks Custom Variable Overrides wherever you’re overriding values for Service Objects. Please note that there is no issue when doing so for Apply Rules.
We tracked down two use-cases where this can bite you:
- You’re adding Service Sets to single Hosts. With Director you can tweak Custom Variables from single Services in such a set. They will have no effect in Icinga 2.9.0 and 2.9.1, the workaround is to instead Apply those Sets to your hosts.
- You’re using the use_var_overrides Flag on Sync. That’s a not-so-well-known feature, used by people who want to Sync single Services from external Sources, allowing users to tweak thresholds in the Director while still being able to change the defaults in their external source. If that’s what you’re doing you should better stay on 2.8.4 unless we addressed the original issue.
We merge two other fixes. One of them addresses a very rare problem when Syncing from Import Sources with very specific binary check-sums. The other one fixes a UI issue related to Custom Variable Overrides. Custom Fields have not been offered for being overridden when your Apply Rule name matched the name of the Template providing those fields.