ユーザーと承認済みの SSH キーを作成するためのパペット スクリプトを以下に示しますが、これは 50% の確率で失敗します。/home/$username はバックグラウンドで作成され、.ssh および認証キーの作成が試行されると常に存在するとは限りません。/home/$username が存在しないため、Puppet が失敗します。しかし、1 秒後に見ると、実際に作成されています。
ホームディレクトリが実際に完全に作成されるまで、パペットを続行しないようにするにはどうすればよいですか?
user { $username:
name => $username,
managehome => true,
shell => "/bin/bash",
groups => [ 'dip', 'admin' ];
}
file { "/home/${username}/.ssh":
ensure => 'directory';
}
file { "/home/${username}/.ssh/authorized_keys":
owner => "${username}",
group => "${username}",
mode => '0664',
content => "${ssh_public_key}"
}
Puppet 3.3.1 および Ubuntu 12.04.3 LTS。