目录未由 puppetmaster 创建

目录未由 puppetmaster 创建

我正在努力从 puppetmaster 在客户端上创建一个目录。
我正在使用名为 push_file 的 mine 模块并获得了此结构

 /etc/puppet/modules/create_dir/
└── manifests
    ├── init.pp
    └── site.pp

在 init.pp 中我有

class push_file {
  file { "/tmp/puppet_dir":
    ensure => "directory",
  }
}

相反,在 site.pp 中我有这个

node default {
}

node apply_module {
  include push_file
}

node 'my_node' inherits apply_module {
}

从我运行的客户端

puppet agent   --server=my_puppet_master  --debug  --onetime

日志告诉我事务已经应用于客户端,结果如下

Finishing transaction 70182904491460
Using cached certificate for ca
Using cached certificate for puppet_client_server
Ignoring --listen on onetime run
Finishing transaction 70182903618660
Loaded state in 0.00 seconds
Using cached certificate for ca
Using cached certificate for puppet_client_server
Using cached certificate_revocation_list for ca
catalog supports formats: b64_zlib_yaml dot pson raw yaml; using pson
Caching catalog for puppet_client_server
Creating default schedules
Loaded state in 0.00 seconds
Applying configuration version '1365504714'
Finishing transaction 70182902275900
Storing state
Stored state in 0.00 seconds
Finished catalog run in 0.01 seconds

但目录尚未创建。客户端上的 puppet 版本是 2.6.2-5,而节点主节点上的版本是 2.6.2-5
两台机器都是 debian 6。有什么想法吗?

答案1

您可能必须通过其完全限定域名来定义节点。在您的节点上,尝试:$ hostname -f

使用输出代替我的节点在您的节点 site.pp 中。

答案2

好的,我知道了问题是
文件

  • 网站.pp

  • 节点.pp

需要接受傀儡大师的显现 目录和不是在模块的清单目录下。 以下解释仅对我和其他在将文件推送到客户端时可能会遇到问题的人来说是一个提醒。
如果源指令中的三斜杠不是从 puppet 扩展而来的,我的意思是这个,

source => 'puppet:///blahblah/bla',

你会得到这种错误在 Puppet 客户端上

无法评估:无法从源 puppet:///files/another_test at /etc/puppet/modules/push_file/manifests/init.pp:11 检索信息

可以意味着你的 fileserver.conf 得到了错误的文件目录,所以 检查 puppet 文件夹下的 fileserver.conf这里有一个例子

$cat /etc/puppet/fileserver.conf
[files]
path /etc/puppet/modules/files
allow *

如果最后一行(在我的情况下)allow *被注释,请小心。如果是,则可能存在权限问题,并且不允许 puppet 代理从主服务器获取文件。您可能会收到类似这样的错误

无法评估:服务器上出现错误 400:未授权调用 find on/file_metadata/files/another_test 无法检索 puppet:///files/another_test 的文件元数据:服务器上出现错误 400:未授权调用 find on/file_metadata/files/another_test 位于 /etc/puppet/modules/push_file/manifests/init.pp:11

与上一个错误相关的最重要的事情是用粗体突出显示的事情。另一个取决于您配置系统的方式。

相关内容