2013-04-10 14 views
5

私は、Amazon Linux 2012.09でパペット3を使用しています。私のマニフェストの1つは、いくつかのディレクトリを設定し再構成します。タスクの1つは、フォルダの所有者とグループrecursiveltを別のユーザーに変更することですが、これは完了までに60秒以上かかり、ディレクトリには何もありません - ターミナルのchuser myuser:myuser/var/lib/jenkins 1秒未満を取る。パペット3ファイルの再帰がひどく遅い

私の質問です:Puppetでディレクトリの所有権を再帰的に変更する方法がありますか?たくさんのファイルがありますので、時間がかかる

おかげ

file {'/var/lib/jenkins': 
    ensure => 'directory', 
    owner => myuser, 
    group => myuser, 
    recurse => true, 
    require => Package['jenkins'], 
} 

答えて

4

私もこの遅さを見て、正しい所有者権限を持っていることを確認するために、個別に/var/lib/jenkins下の各ファイルを確認するパペットによるものと思われ、 $JENKINS_HOME

私はトップレベルのディレクトリが希望するユーザーが所有していないときの代わりに(exec付き)シンプルchown -Rコマンドを実行することにより、当社のジェンキンスサーバー上でその周りに働いた:

define modify_owner() { 
    exec { "modify_owner_${title}" : 
    command => "/bin/chown -R ${user}:${user} '${title}'", 
    onlyif => "/usr/bin/stat -c %U '${title}' | grep '^${default_user}$'" 
    } 
} 

modify_owner { ['/var/lib/jenkins', '/var/log/jenkins', '/var/cache/jenkins']: } 

$user/$userは、所有者であります/ group combo I これらのディレクトリが所有するが必要です。これは私の人形劇の時間を通常のレベルに戻しました。

:。。私はstat -c %Uを使用していますが、あなたのOSに応じて、正確な書式設定オプションを微調整する必要があるかもしれません。このコマンドは、所有者のテキスト名を印刷し、Linux上で私のために働いた)

関連する問題