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        }

マニフェストのmysite.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

クラスyum_priorities内の20行目に通知ステートメントを出力します。何かのようなもの :

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

また、モジュールtomcat6内のどこかにあります。

puppetagentを実行したときに何が得られるかを確認します。空の場合は、適切に伝播されていないことを意味します。

もう1つのコメントは、クラスと変数に同じ名前、つまりyum_prioritiesを使用することは、適切なコーディング例ではない可能性があるということです。

于 2012-12-17T19:00:55.440 に答える
0

$lsbmajdistreleaseそれは定義されていないようです。

適切なスコープ(グローバル)を追加してみてください。$::lsbmajdistrelease

Facterはそのグローバル変数を提供する必要があります。Facterを手動で実行して、エラーがあるかどうかを確認できます。

facter lsbmajdistrelease
于 2012-12-18T05:50:39.090 に答える