对于我来说,我目前对Puppet有些不直观的行为 - 很可能是因为我还没有完全理解Puppet的精神。如何在出现错误时停止Puppet应用配置?
好吧我有一个简单的puppetsimple.sh
运行在木偶代理,这是应用puppet master配置。这一切都运行顺利,并如预期。
直观的(对我来说)然而,当我作为设立主的一部分,创建一个错误,然后在代理运行puppetsimple.sh
,它会罢工的错误,通知我的话,并继续所有的应用该配置的其他更改。
这有效地使代理处于故障状态,因为即使出现错误,代理也会前进。
有没有设置的地方说:“嘿,如果你打一个错误,停止,恢复到你怎么样,并进行你的快乐的方式”?
给出下面的例子。我故意启用一个无效的conf文件(.confX) - 我收到错误通知,但它继续用“Hello World 3”填充“index.html”。
define a2ensite {
exec { 'a2ensite':
path => [ '/bin', '/usr/bin', '/usr/sbin' ],
command => "a2ensite ${title}",
notify => Service['apache2'],
}
}
class mysite {
include apache
file { '/etc/apache2/sites-available/mysite.example.org.conf':
owner => root,
group => root,
mode => 0644,
source => "puppet:///files/mysite/mysite_apache.conf",
notify => Service['apache2'],
}
a2ensite { 'mysite.example.org.confX': }
file { ['/home/', '/home/www/', '/home/www/mysite.example.org']:
ensure => directory,
owner => root,
group => root,
mode => 0755,
}
file { '/home/www/mysite.example.org/index.html':
owner => www-data,
group => www-data,
mode => 755,
content => "Hello World 3",
}
}