Назад | Перейти на главную страницу

Puppet: уведомлять exec только один раз для нескольких объявлений файловых ресурсов

У меня есть сценарий, в котором у меня есть 5 файлов шаблонов, которые нужно скопировать на машину марионеточного агента. И я хочу уведомить ресурс exec, если есть изменение в любом из файлов шаблона. Но ресурс exec нужно вызывать только один раз. То есть, если есть изменение в 2 или более файлах, то ресурс exec должен быть вызван только один раз. Я пробовал гуглить, но не смог найти способ добиться того же. Любые идеи?

Это нормальное поведение.
Каждый ресурс выполняется только один раз.

Например здесь:

exec { 'foo':
  command     => '/bin/echo x >> /tmp/foo',
  refreshonly => true,
}

file { '/tmp/a':
  ensure => file,
  notify => Exec['foo'],
}

file { '/tmp/b':
  ensure => file,
  notify => Exec['foo'],
}

В exec будет запускаться только один раз, даже если оба /tmp/a и /tmp/b не существует.

Но также обратите внимание, что здесь exec не будет запускаться, если оба /tmp/a и /tmp/b делать существуют (из-за refreshonly => true параметр).