Notifications sent during scheduled downtime

HI all! I would appreciate any pointers on the below.

I have two hosts configured identically, with downtime scheduled every morning from 04:00 - 04:45 to allow backups to take place.

For one host, this works fine. For the other, notifications are sent despite being in scheduled downtime. What are the conditions that might cause this?

I forgot, I’m running r2.12.0-1 on Ubuntu 16.04.

vars.backup_downtime = "04:00-04:45"

apply ScheduledDowntime "backup-downtime" to Service {
  author = "icingaadmin"
  comment = "Scheduled downtime for backup"

  ranges = {
    monday = service.vars.backup_downtime
    tuesday = service.vars.backup_downtime
    wednesday = service.vars.backup_downtime
    thursday = service.vars.backup_downtime
    friday = service.vars.backup_downtime
    saturday = service.vars.backup_downtime
    sunday = service.vars.backup_downtime
  }
  assign where service.vars.backup_downtime != ""
}

Hi,
could you show us also the host definition of the two hosts and the notification rule?

After a bit more searching, I suspect this might be the cause: Scheduled downtime in with HA masters

We have a HA solution, with accept_config = false on primary master.

Service config:

object Host "XX" {
  check_command = "dummy"
  vars.public = true

  vars.ooh_sme = "systems"
  vars.sidebar = "e-services"
}

object Service "XX YY" {
  import "generic-satellite-service"
  host_name = "XX"
  check_command = "check_login"
...
  vars.backup_downtime = "04:00-04:45"
}

Notification config:

apply Notification "sms-service-systems" to Service {
  import "sms-service-notification"

  users = [ "systems-sme-user" ]
  period = "systems-rota-timeperiod"

  types = [ Problem, Recovery ]
  states = [ OK, Warning, Critical, Unknown ]
  interval = 0 # disable re-notification

  assign where "systems-sme" in service.host.groups || "systems-sme" in service.groups
}

object User "systems-sme-user" {
  import "generic-user"
  enable_notifications = true

  display_name = "Systems SME"
  email = ZZ
  # pager number represents flag given to sms-gateway
  pager = "-s"
}

object TimePeriod "systems-rota-timeperiod" {
  import "legacy-timeperiod"

  display_name = "Systems SME rota notifications"
  ranges = {
    "monday"    = "00:00-09:00,17:30-24:00"
    "tuesday"   = "00:00-09:00,17:30-24:00"
    "wednesday" = "00:00-09:00,17:30-24:00"
    "thursday"  = "00:00-09:00,17:30-24:00"
    "friday"    = "00:00-09:00,17:30-24:00"
    "saturday"  = "00:00-24:00"
    "sunday"    = "00:00-24:00"
  }
}

Hmm… my idea would be that a assign rule for the host or service group is wrong or at the second host is a variable missing. What I mean that one host is in the group and one not. The result would be doesn’t work correctly:

assign where "systems-sme" in service.host.groups || "systems-sme" in service.groups

It’s a good idea, but the definitions are identical, which leads me to believe it’s a problem with the icinga load-sharing at some level.

I installed and configured the system at v2.10, with accept-config=false on primary master. The recommendation now seems to be that this should be true, so I’ll try that.