我正在使用资源托管。在我的实验中,如果宿主资源使用的是非标准目标,则资源类型“资源”没有任何影响。
resources { 'host':
purge => true,
}
host { 'localhost.localdomain':
ip => '127.0.0.1',
target => '/chroot/etc/hosts',
}
当我使用目标/ etc / hosts并删除主机资源或将其重命名时,输出为:
Info: Applying configuration version '1560267493'
Notice: /Stage[main]/Profile:abc:Hosts/Host[localhost.localdomain]/ensure: removed
Info: Computing checksum on file /etc/hosts
Notice: /Stage[main]/Profile::abc:Hosts/Host[localhost.localdomain]/ensure: created
当我使用非标准目标时,例如/ chroot / etc / hosts没有任何反应。 (如果我重命名该条目,那么只会创建另一个主机条目)
另一个奇怪的行为是,当代理节点上没有/ etc / hosts文件时,将引发错误:(即使我使用的是其他目标。) 错误:找不到适合主机的提供商
版本:Puppetserver:5.3.8,Puppet代理:4.10.8
答案 0 :(得分:1)
我正在使用资源托管。在我的实验中,如果宿主资源使用的是非标准目标,则资源类型“资源”没有任何影响。
这并不奇怪。 resources
资源类型只能清除指定资源类型“预取”的资源实例。对于Host
资源类型,这是记录在默认主机文件中的主机。这是记录的限制的原因,Resources
无法清除类型ssh_authorized_key
。为此,对于其他目标文件中的主机,Puppet无法识别您要清除的资源。
另一个奇怪的行为是,当没有/ etc / hosts文件时 代理节点抛出错误:(即使我使用的是其他 目标。)错误:找不到适合主机的提供程序
我会认为是一个错误。您可以考虑使用filing a ticket。