gpt4 book ai didi

puppet - 通知如何遍历 Puppet 资源链?

转载 作者:行者123 更新时间:2023-12-05 03:13:46 31 4
gpt4 key购买 nike

鉴于这个简化的 Puppet 示例,很明显,由于 ~> 链接运算符,对 my_file 的任何更改都会触发 my_service 刷新:

package { 'my_package': }
->
file { 'my_file': }
~>
service { 'my_service': }

my_package 的更改是否也会导致 my_service 刷新? (也就是说,状态变化会通过一个非通知的 -> 链运算符传播吗?)

我知道如果所有运算符(operator)都通知运算符(operator),刷新事件将通过链传播,但文档并不清楚它在混合链中的工作方式。

最佳答案

通知从不通过另一个资源传播,即使它们在设置为通知的资源链中也是如此。

当一个资源被“改变”时,它会通知任何订阅它自己改变的资源。这些资源有一个调用它们的 refresh 方法,可以执行该类型所需的任何操作。之后没有其他事情发生。

如果通知的资源自身发生了变化,那么它也会通知订阅变化的任何人。这不是传播通知,它实际上是传播通过 list 的更改

例如,如果 /tmp/markerfile 已经存在,则此 list 将不会应用 exec 资源:

notify { 'test': }
~>
file { '/tmp/markerfile':
ensure => present
}
~>
exec { '/bin/date':
refreshonly => true
}

关于puppet - 通知如何遍历 Puppet 资源链?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28841153/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com