gpt4 book ai didi

namespaces - Puppet:stdlib 已安装但在命名空间中不可用?

转载 作者:行者123 更新时间:2023-12-04 20:42:05 27 4
gpt4 key购买 nike

作为一个 puppet 新手,我有一个问题,包括 stdlib 插件

我想使用 stdlib 的 file_line,因此我尝试包含 stdlib 并调用它

class service_mon
{
include stdlib
file_line
{
"${name}_services": path=> ...
}
}

但是,我收到一条错误消息,即找不到 stdlib

err: Could not retrieve catalog from remote server: Error 400 on SERVER: Could not find class stdlib for my.node.name at /etc/puppet/workspace/dev/src/modules/mymanifest/manifests/deploy.pp:87 on node my.node.name



这让我想知道,因为应该安装stdlib(?)......或者?
puppet module install puppetlabs-stdli

puppet module list
/etc/puppet/modules
└── puppetlabs-stdlib (v4.2.2)
/usr/share/puppet/modules (no modules installed)

puppet config print modulepath
/etc/puppet/modules:/usr/share/puppet/modules

所以,我想原则上所有必要的文件都“在那里”,但我怎样才能说服 Puppet 也包含 stdlib?

最佳答案

Puppet 模块不像 java 模块那样工作 - include stdlib只有在实际存在 class stdlib 时才有意义在模块中做了一些有用的事情,但事实并非如此。

注意:许多 Puppet 模块 有这样一个作为中心入口点的类,但是 stdlib是一个明显的异常(exception)。

您可以通过调用 stdlib 中的解析器函数来使用它们。至于类型,那些只是对 Puppet 可用,如果

  • 该模块安装在您的$modulepath
  • 你有 pluginsync在您的代理上启用

  • 您可以使用 file_line毫不费力。

    关于namespaces - Puppet:stdlib 已安装但在命名空间中不可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24430955/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com