Возможно ли, чтобы служба уведомила другой ресурс в Puppet? - PullRequest
0 голосов
/ 12 марта 2020

Я пытаюсь получить службу для уведомления другого ресурса, т.е.

service { 'x': 
  notify    => Exec['y'],
}

Кто-нибудь знает, что происходит в сценарии, когда это уведомление будет срабатывать? Кажется, что запуск / остановка уведомляет exe c, но я не могу найти какую-либо документацию об этом.

1 Ответ

1 голос
/ 13 марта 2020

Кто-нибудь знает, что происходит в сценарии, где это уведомление будет срабатывать?

Это конкретное уведомление должно никогда не срабатывать, потому что нет никаких свойств Service[x] будучи управляемым.

В ресурсах Сервиса нет ничего особенного в отношении сигнализации о событиях. Как и ресурсы любого другого типа, ресурсы Service уведомляют слушателей, если хотя бы одно из их управляемых свойств успешно изменено на syn c.

Кажется, что запуск / остановка уведомляет exe c, но я не могу найти какую-либо документацию по этому вопросу.

Если служба изначально остановлена, но она указана с помощью ensure => running, то ее свойство ensure изначально несинхронно c. Puppet вводит это свойство в syn c, запуская сервис. Это представляет собой изменение управляемого свойства, поэтому оно генерирует событие. Общие правила для этого описаны в разделе « Отношения и порядок » документации по языку Puppet.

Однако не все атрибуты данного объявления ресурса соответствуют управляемым свойствам. notify нет, например. Атрибуты, которые не имеют постоянного представления в целевой системе, называются параметры . Поскольку они не имеют постоянного представления о цели, параметры не могут быть не синхронизированы c и не могут быть приведены в синхронизацию c, поэтому с ними не связано уведомление о событии. Puppet Справочник типов ресурсов документ, который атрибуты каждого встроенного типа являются свойствами. Например, свойства ресурсов службы (только)

  • ensure
  • enable
  • flags

Однако если вы понимаете различие между свойствами и параметрами, то, как правило, очевидно, к какой категории относится данный атрибут любого данного типа.

...