人偶清单文件中资源/类的执行顺序

Kir*_*ran 1 puppet puppetmaster puppet-agent

我致力于在 vagrant 管理的虚拟机上配置 CQ5。配置是使用 puppet 完成的。我对人偶清单文件中类/资源的执行顺序有疑问。

请在下面找到清单文件 cqsite.pp

include java
include apache
cq::instance {myauthor:
      installation_type => author,
    }

cq::instance {mypublish:
      installation_type => publish,
    }
Run Code Online (Sandbox Code Playgroud)

在供应期间,puppet 最初选择 cq 资源(cq::instance)而不是 java。但是必须先安装 java 才能执行 cq::instance.pp 文件中的几个命令。所以它抛出一个错误。请帮我找到解决方案

bod*_*git 10

您没有指定任何资源依赖项,因此 Puppet 将以看似随机的顺序应用更改。

如果java该类应该在您的cq::instance定义之前安装,那么您应该添加一个显式依赖项,如下所示:

cq::instance { myauthor:
  installation_type => author,
  require           => Class['java']
}
Run Code Online (Sandbox Code Playgroud)

甚至:

Class['java'] -> Cq::Instance <| |>
Run Code Online (Sandbox Code Playgroud)

请参阅https://docs.puppetlabs.com/puppet/latest/reference/lang_relationships.html