我正在尝试将tomcat6模块安装到agent.i已经从puppetlab下载模块。并尝试连接到服务器我收到以下错误。
Error: Could not retrieve catalog from remote server: Error 400 on
SERVER: No matching value for selector param 'undef' at
/etc/puppet/modules/yum_priorities/manifests/init.pp:19..
init.pp文件包含yum_priorities
14 class yum_priorities { 15 16 $yum_priorities = $lsbmajdistrelease ? { 17 /4|6/ => 'yum-plugin-priorities', 18 '5' => 'yum-priorities', 19 } 20 21 package {$yum_priorities : 22 ensure => installed, 23 }
清单中的site.pp文件
27 node 'puppet_client' 28 { 29 include tomcat6 30 }
tomcat依赖于yum_priorities
答案 0 :(得分:2)
我无法添加评论所以我必须“回答”:)。无论如何,正如Ger Apeldoorn facter所回答的那样,lsbmajdistrelease
无法获得价值。
在Redhat / CentOS上找到你缺少的软件包:
yum whatprovides lsb_release
或者只是安装它:
yum install redhat-lsb-core
这将解决它。
答案 1 :(得分:0)
在类yum_priorities内的第20行打印一个notify语句。类似的东西:
notify {"I AM SEEING THIS ... ${yum_priorities}" :}
以及模块tomcat6内的某个地方。
并检查你运行木偶代理时得到的结果。如果它为空则表示它没有正确传播。
另一个评论是,对于类和变量具有相同的名称(即yum_priorities)可能不是一个好的编码示例。
答案 2 :(得分:0)
看起来没有定义$lsbmajdistrelease
。
尝试添加适当的范围(全局):$::lsbmajdistrelease
Facter应该给你那个全局变量,你可以手动运行facter并查看是否有错误。
facter lsbmajdistrelease