我有以下两个木偶代码:
x.pp
class x (
Hash $something = undef,
)
{
if ($something) {
create_resources("profile::aem::install_packages", $sources, $defaults)
}
}
y.pp
define x::y(
String $xx = undef,
)
{
file { "$name" :
ensure => $ensure,
....
} ~>
service['some-service']
}
'y'定义,由'x'类调用3次,因为$ something变量是一个散列。我的通知的目标是在文件/包存在后重新启动服务。但是由于木偶的行为,它会累积所有的通知并重新启动服务一次,但在我的情况下,我需要它在每次发生的更改后重新启动服务。有没有办法阻止木偶行为累积通知并重启服务例如3次而不是1?
非常感谢您的时间。
亲切的问候!
答案 0 :(得分:3)
Puppet是关于写出一个声明状态,你的系统应该在其中,而不是一个势在必行的'做到这一点' ..
Ben Ford的博客文章中描述了这一点的本质 - https://puppet.com/blog/puppet%E2%80%99s-declarative-language-modeling-instead-of-scripting
没有一种方法可以让多个服务重新启动'由于puppet的模型是信号管理每个资源并收集通知,因此在单个木偶运行中提供相同的服务。
通过指定不同的服务资源标题可能会有一些方法,同时指定要在不同参数中管理的实际服务,但我不推荐它。
似乎有类似的答案