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

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

我正在 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

相关内容