2016-07-06 8 views
0

PuppetからAugeasを使用してcarbon.confファイルの内容を管理したいと思います。私はXMLファイルを管理するためにPuppetで以前はAugeasを使用していました。人形の中のaugeasはファイルを変更しません

ただし、今回は人形カタログが適用されていますが、carbon.confファイルには何も起こりません。ログにもエラーはありません。 ここに私のコードは人形マニフェストファイルにあります:

augeas { 'cache config': 
    notify => Service[carbon-cache], 
    incl => '/opt/graphite/conf/carbon.conf', 
    context => '/cache', 
    lens => 'Carbon.lns', 
    changes => [ 
    "set UDP_RECEIVER_PORT 2013", 
    "set LINE_RECEIVER_PORT 2013", 
    "set PICKLE_RECEIVER_PORT 2014", 
    ]; 
} 

そしてデバッグログに、私は次のように見ることができます:

Debug: Augeas[cache config](provider=augeas): Opening augeas with root /, lens path /var/lib/puppet/lib/augeas/lenses, flags 64 
Debug: Augeas[cache config](provider=augeas): Augeas version 1.0.0 is installed 
Debug: Augeas[cache config](provider=augeas): Will attempt to save and only run if files changed 
Debug: Augeas[cache config](provider=augeas): sending command 'set' with params ["/cache/UDP_RECEIVER_PORT", "2013"] 
Debug: Augeas[cache config](provider=augeas): sending command 'set' with params ["/cache/LINE_RECEIVER_PORT", "2013"] 
Debug: Augeas[cache config](provider=augeas): sending command 'set' with params ["/cache/PICKLE_RECEIVER_PORT", "2014"] 
Debug: Augeas[cache config](provider=augeas): Skipping because no files were changed 
Debug: Augeas[cache config](provider=augeas): Closed the augeas connection 

私はここで何をしないのですか?

私はまた、コマンドラインからls /files/コマンドをaugtoolを使用している場合のみ、次のフォルダに

augtool> ls /files/ 
etc/ = (none) 
usr/ = (none) 
boot/ = (none) 

を示しています私もここに/optを見ることを期待する...

答えて

1

コンテキストが含まれている必要がありますことに気づきました相対パスに必要な基本ノードへのフルパス。あなたのケースでは、私は文脈が欲しいと推測しています/files/opt/graphite/conf/carbon.conf/cache

+0

ありがとう、私は文脈パラメータのための人形参照文書を正しく理解していなかったと思います。パスが相対パスの場合、この値はすべての変更のパスの先頭に追加されます。 inclパラメータが設定されている場合、デフォルトは/ files + inclです。それ以外の場合、空文字列にデフォルト設定されます。 ' –

+0

一般に、Augeasでは、 '/'で始まるパスは絶対パスであるため、 '/ cache'はあなたが使いたいものではありません。 –

関連する問題