操作系统安装后,我已经安装了自动运行puppet的皮匠。 它工作正常,除了需要一段时间傀儡安装所有的软件包。 这仍然是一个testing阶段,所以总共只有15个包。 我的网站.pp看起来像这样:
node server1 { include myrepo include bacula include vsftpd }
myrepo只是将存储库文件复制到客户端服务器。 bacula列出了要安装的11个软件包,而vsftpd只有1个软件包。
安装操作系统(Suse)后,版本库文件被复制,安装了vsftpd,但客户端服务器上只安装了2个bacula软件包。 所有的bacula包装都已经安装好了,我只能等了半个小时左右。 木偶日志是空的。
如果我手动运行木偶,软件包的安装将运行平稳和快速。 什么可能是延误的原因?
除非设置明确的依赖关系,否则资源sorting可能是一个问题。
您编写它的方式并不意味着在应用其他类之前会部署回购。
比如这个:
node server1 { class { 'myrepo': } class { 'bacula': require => Class['myrepo'], } class { 'vsftpd': require => Class['myrepo'], } }
会正确地命令它。
你也可以在vsftpd和bacula类中添加一个require myrepo 。
有很多解决scheme。
如果这些是外部模块,那么我总是尽量避免以任何方式更改它们,以便更新。
请参阅: https : //docs.puppetlabs.com/puppet/latest/reference/lang_relationships.html