我对木偶有疑问。
我需要使用“ensure=>running”定义一个服务,但其配置文件只能在服务停止时更改。默认行为似乎是在配置文件更改后重新启动服务(通过notification连接)。
这可以用木偶来代表吗?如果是这样,怎么办?
问候简
这是一个带有 exec 的丑陋方法。可能有更好的解决方案。
# push file system, but don't replace 'real' config file
file { '/etc/service/config.staging':
ensure => present,
source => 'puppet:///modules/service/config',
notify => Exec['reload-service']
}
# stop service, update config, start service
exec { 'reload-service':
command => '/etc/init.d/service stop; cp /etc/service/config.staging /etc/service/config; /etc/init.d/service start',
refreshonly => true,
path => ["/usr/sbin", "/usr/bin", "/sbin", "/bin/"],
logoutput => false,
}
Run Code Online (Sandbox Code Playgroud)