是否可以在Hiera中定义两个类之间的依赖关系?假设您有一个安装服务的A类和将配置该服务的B类。在此示例中,您如何在这些类之间创建依赖关系?这样的事情行得通吗?---classes:-'B':require:Class[A] 最佳答案 您可以在PuppetDSL中执行此操作。最简单的方法是制作一个包装其他模块的模块,然后将其包含在Hiera中。然后包装器模块可以使用Puppet排序工具,例如require,它:Therequirefunctiondeclaresaclassandcausesittobecomeadependency
那里的任何木偶和希拉专家可以帮助我解决我看到的这种烦人的情况吗?hiera为任何东西都很好common.yaml:catcommon.yaml---resolv_conf::nameserver:-x.x.x.x-x.x.x.xprofile::ntp::servers:-x.x.x.x-x.x.x.x然后对以下工作进行测试:hieraresolv_conf::nameserversenvironment=production["x.x.x.x","x.x.x.x"]因此,上述可以按预期工作。但是,如果我使用nodes内部目录hieradata并添加测试数据:catnodes/fqdn.yam
我必须编写一个函数,该函数将按顺序执行以下操作以读取变量的值:检查是否定义了一个因子变量。如果没有,从Hiera中读取变量的值。如果没有,使用默认值。我已经设法在我的Puppet脚本中使用这个if条件来完成它。#fooisreadfrom(inorderofpreference):facterfact,hierahash,hardcodedvalueif$::foo==undef{$foo=hiera('foo','default_value')}else{$foo=$::foo}但我想避免为我希望以这种方式解析的每个变量重复这个if条件,因此想到编写一个格式为get_args('fo