我正在 Vagrant 管理的虚拟机上配置 CQ5。配置是使用 Puppet 完成的。我对 Puppet 清单文件中类/资源的执行顺序有疑问。
请参阅以下清单文件 cqsite.pp
include java
include apache
cq::instance {myauthor:
installation_type => author,
}
cq::instance {mypublish:
installation_type => publish,
}
在配置过程中,puppet 最初选择的是 cq 资源 (cq::instance ) 而不是 java。但必须先安装 java 才能执行 cq::instance.pp 文件中的几个命令。因此它会抛出一个错误。请帮我找到解决方案
答案1
您没有指定任何资源依赖关系,因此 Puppet 将以看似随机的顺序应用更改。
如果java
该类应该在定义之前安装cq::instance
,那么您应该添加一个明确的依赖关系,如下所示:
cq::instance { myauthor:
installation_type => author,
require => Class['java']
}
甚至:
Class['java'] -> Cq::Instance <| |>
看https://docs.puppetlabs.com/puppet/latest/reference/lang_relationships.html