我得到了以下简化配置:
file {
'/etc/foo.conf':
ensure => file,
content => epp('my_module/etc/foo.conf.epp'),
;
}
service {
'foo':
ensure => running,
enable => true,
subscribe => File['/etc/foo.conf'],
;
}
Run Code Online (Sandbox Code Playgroud)
当我更新模板时,傀儡覆盖/etc/foo.conf然后重新启动服务。
我的问题是,我需要在覆盖文件之前停止服务,因为当服务停止时,它将内存中的配置写回到文件中。
有没有办法用木偶来做?
看一下转换模块。这样,您可以执行以下操作:
transition { 'stop foo service':
resource => Service['foo'],
attributes => { ensure => stopped },
prior_to => File['/etc/foo.conf'],
}
file { '/etc/foo.conf':
ensure => file,
content => epp('my_module/etc/foo.conf.epp'),
}
service { 'foo':
ensure => running,
enable => true,
subscribe => File['/etc/foo.conf'],
}
Run Code Online (Sandbox Code Playgroud)
不需要exec。