puppet apply 正在工作但 puppet agent --test 不工作?

puppet apply is working but puppet agent --test is not working?

我写了一个简单的清单test.pp

node'c-d'{ user{'abc': ensure=>absent, }

notify{'Notifying to client':}

}

但是当我试图在代理节点上运行它时,它的配置没有得到应用,输出如下。节点 c-d

[output] Info: Retrieving plugin Info: Caching catalog for <c-d.domain.com> Info: Applying configuration version '1420702685' Notice: Finished catalog run in 0.03 seconds

注:puppetmaster 和 agent 版本为 3.4.3

主控使用配置的中央清单,参见

puppet master --configprint manifest

此文件将用于搜索 node 定义。

具体来说你不能

  1. 为您的清单使用任意名称和位置,也不
  2. 将清单放到代理机器上(这将是puppet apply的使用方式)。

首先你需要确保puppet master和agent之间的设置没有问题,所以这意味着当你运行 puppet agent -t很多次,没有问题。

然后,如果您需要通过 puppet agent -t 在 agent 上应用更改,则需要将 test.pp 放到路径 $mondulepath 下的 puppet master 上。但是从你的描述来看,你是直接复制文件到agent的。

所以在这种情况下,如果您想直接在代理上应用它,运行 命令:

puppet apply --modulepath=/path/to/modules test.pp

正如@FelixFrank 所说,您可以使用'config print' 来打印您放置人偶代码的位置。我这里用的是,print 'environmentpath',说的是环境的路径,默认环境是'production'.

所以,默认的 init.pp 路径是 $environmentpath/production/manifests/init.pp