我使用此命令在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。
答案 0 :(得分:2)
您的错误消息将问题归因于文件/etc/modules/puppet/apt/manifests/init.pp
,该文件属于' apt'模块,大概是&pupartlabs-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表明它至少需要4.7.0版本的Puppet。版本2.4.0是声称与Puppet 3兼容的最后一个版本,所以你应该尝试降级到它。
我不确定为什么模块工具为你选择v3.0.0的puppetlabs-apt,尽管它不兼容。您可以考虑将此作为对抗Puppet的问题,但由于Puppet 3不再积极开发,它可能不值得努力。实际上,问题可能已经在更新的版本中得到修复。