2017-03-16 6 views
-1

私は人形を使ってrcファイルを管理したいと思っています(仕事と家庭の設定ファイルを共有しています)。 rcファイルをSubversionリポジトリに保存します。いくつかのマシンは、私はsudoの特権を持って、私はしていない。また、同じネットワーク上にあるマシンはありません。Squelch puppet state chown

私はシンプルな人形のファイルがあります。

[main] 
report=false 

私は人形を実行すると、私は迷惑を取得する:私はいくつかのエラーをスケルチするために使用しています簡単な設定ファイルを持っている

class bashResources ($home, $svn) { 
    file { "$home/.bash" : 
     ensure => 'directory', 
    } 

    file { "$home/.bash/bashrc.d" : 
     ensure => 'directory', 
    } 

    file { "$home/.bash/bashrc.d/bashrc" : 
     ensure => present, 
     target => "$home/$svn/rc/bashrc", 
    } 
} 

node 'ubuntuwgu290' { 
    class { 'bashResources': 
     home => '/home/dshaw', 
     svn => 'mysvn', 
    } 
} 

をchownを実行できないというエラー:

[email protected]:~/mysvn/rc$ puppet apply rc.pp --config ./puppet.conf 
Notice: Compiled catalog for ubuntuwgu290.maplesoft.com in environment production in 0.12 seconds 
Error: Failed to apply catalog: Operation not permitted @ rb_file_chown - /home/dshaw/.puppet/var/state/state.yaml20170316-894-rzkggd 
Error: Could not save last run local report: Operation not permitted @ rb_file_chown - /home/dshaw/.puppet/var/state/last_run_summary.yaml20170316-894-l9embs 

私はを追加してエラーをスケルチしようとしましたを自分の設定ファイルに追加しましたが、それは有効ではありません。

これらのエラーをどのようにスケルチできますか?あるいは、rcファイルを管理するためのlightwieghtツールがありますか?

おかげで、 デレク

+0

ホームディレクトリへの書き込み権限がないのはなぜですか? –

+0

ホームディレクトリへの書き込み権限があります。出力から推測すると、それは失敗しているchownです。 – user1024203

答えて

0

エラーは、/home/dshaw/.puppetに独自のメタデータを管理しようとしている人形にない関係している管理のための人形のカタログに登録ファイルのいずれか。通常のユーザーとしてPuppetを実行しても、これは通常問題ではありません。実際、このようなことをサポートすることは、ユーザーごとのパペットメタデータが存在する理由の1つです。人形はchownしようとしている

ファイルが既に(他の人形がchownにそれらをしようとされない)、あなたに属していないが、彼らはは、「あなたは」人形のプロセスの(e)を意味し、あなたに属している必要がありますUIDおよび(e)GID。 Puppetの状態ディレクトリを削除し、次回の実行時にその状態ディレクトリを再構築するだけで、この問題を解決できる場合があります。また、Puppetが実行しようとしているようなマニュアルchownを実行または手配することもできます。

一方、このような状況が最初にどのように発生したかは不明で、私が想像することのできるメカニズムのいくつかは、これらの提案を効果的にしません。

+0

私はエラーの理由を発見したと思います。私のホームディレクトリはnfs上にあります。 'dshaw @ ubuntuwgu290:〜$ sudo chown dshaw .bashrc \ chown: '.bashrc'の所有権を変更すると、操作が許可されません。 '〜/ .puttet'を削除し、'/usr/local/dshaw/.puppet/'を作成し、それを'〜/ .puttet/'にシンボリックリンクすると問題が解決されます。 – user1024203