0

我正在尝试将 tomcat6 模块安装到代理中。我已经从 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

4

3 回答 3

2

我无法添加评论,所以我必须“回答”:)。无论如何,正如 Ger Apeldoorn 回答的那样,事实不能得到lsbmajdistrelease.

在 Redhat/CentOS 上找到您缺少的软件包:

yum whatprovides lsb_release

或者简单地安装它:

yum install redhat-lsb-core

这将解决它。

于 2013-07-29T18:26:12.763 回答
0

好像$lsbmajdistrelease没有定义。

尝试添加适当的范围(全局):$::lsbmajdistrelease

Factor 应该给你那个全局变量,你可以手动运行 facter 看看是否有错误。

facter lsbmajdistrelease
于 2012-12-18T05:50:39.090 回答
0

在 yum_priorities 类中的第 20 行打印出通知语句。就像是 :

notify {"I AM SEEING THIS ... ${yum_priorities}" :}

以及模块tomcat6内部的某个地方。

并检查运行 puppet 代理时得到的结果。如果它是空的,则意味着它没有被正确传播。

另一个评论是,为类和变量使用相同的名称(即 yum_priorities)可能不是一个好的编码示例。

于 2012-12-17T19:00:55.440 回答