在 Puppet 代理上应用清单时出错
Error while applying manifest on puppet agent
我使用以下命令在 puppet master 上安装了 docker 模块:
puppet module install garethr-docker --version 5.3.0
之后我将其包含在 site.pp 文件中:
node 'test02.edureka.com'
{
include 'docker'
docker::image
{
'ubuntu':
image_tag => 'precise'
}
}
但是当我在代理机器上应用它时,出现错误:
我的 Puppet 版本是 3.8.7。
您的错误消息将问题归因于文件 /etc/modules/puppet/apt/manifests/init.pp
,它属于 'apt' 模块,大概是 'puppetlabs-apt'。问题的本质围绕模块的 DSL 代码中单词 Variant
的出现。这是Puppet 4中引入的与数据类型系统相关的关键字,但在Puppet中3.x是一个普通的标识符,没有特殊意义。这往往表明问题是你在服务器上 运行 Puppet 3.x (此时最新是 5.3.3),以及你安装的 puppetlabs-apt 版本(v3 .0.0) 不兼容。
确实,the docs for puppetlabs-apt v3.0.0 表明它至少需要 Puppet 4.7.0 版。版本 2.4.0 是声称与 Puppet 3 兼容的最后一个版本,因此您应该尝试降级到该版本。
我不确定为什么模块工具为您选择了 puppetlabs-apt v3.0.0,尽管它不兼容。您可以考虑将此作为针对 Puppet 的问题提出,但由于 Puppet 3 不再积极开发,因此可能不值得为此付出努力。事实上,这个问题很可能已经在更新的版本中得到解决。
我使用以下命令在 puppet master 上安装了 docker 模块:
puppet module install garethr-docker --version 5.3.0
之后我将其包含在 site.pp 文件中:
node 'test02.edureka.com'
{
include 'docker'
docker::image
{
'ubuntu':
image_tag => 'precise'
}
}
但是当我在代理机器上应用它时,出现错误:
我的 Puppet 版本是 3.8.7。
您的错误消息将问题归因于文件 /etc/modules/puppet/apt/manifests/init.pp
,它属于 'apt' 模块,大概是 'puppetlabs-apt'。问题的本质围绕模块的 DSL 代码中单词 Variant
的出现。这是Puppet 4中引入的与数据类型系统相关的关键字,但在Puppet中3.x是一个普通的标识符,没有特殊意义。这往往表明问题是你在服务器上 运行 Puppet 3.x (此时最新是 5.3.3),以及你安装的 puppetlabs-apt 版本(v3 .0.0) 不兼容。
确实,the docs for puppetlabs-apt v3.0.0 表明它至少需要 Puppet 4.7.0 版。版本 2.4.0 是声称与 Puppet 3 兼容的最后一个版本,因此您应该尝试降级到该版本。
我不确定为什么模块工具为您选择了 puppetlabs-apt v3.0.0,尽管它不兼容。您可以考虑将此作为针对 Puppet 的问题提出,但由于 Puppet 3 不再积极开发,因此可能不值得为此付出努力。事实上,这个问题很可能已经在更新的版本中得到解决。