安装tomcat 6模块的puppet错误

时间:2012-12-17 09:11:16

标签: puppet

我正在尝试将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

3 个答案:

答案 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