事象
- puppetでアカウント作成したらアカウントがロックされた状態で作成された。
- アカウントを作成するモジュールでパスワードは設定してる。
対応
以下のサイトを参照
This means the ruby language support that puppet needs to manage a users password is missing and requires additional software to be installed. If you're running on CentOS / Fedora this can be fixed by installing the ruby-shadow package, and on Debian / Ubuntu libshadow-ruby will fulfil the requirement. This is most often seen in gem or source based installs as your package manager should handle this dependency when installing puppet via a package.
ruby-shadowを入れる必要あり!?
# rpm -qa | grep ruby-shadow ruby-shadow-2.2.0-2.el6.x86_64
既に入ってる。
puppetのパッケージを確認。
# rpm -qa | grep puppet puppet-3.8.7-1.el6.noarch puppetlabs-release-6-11.noarch
updateある??
# yum list updates | grep puppet facter.x86_64 1:2.4.6-1.el6 puppetlabs-products hiera.noarch 1.3.4-1.el6 puppetlabs-products puppetlabs-release.noarch 22.0-2 puppetlabs-products
動いてる他の環境だと
$ rpm -qa | grep puppet puppetlabs-release-22.0-2.noarch puppet-3.8.7-1.el6.noarch
puppetlabs-release
をupdateしてみる
yum update puppetlabs-release
再度疎通を実施
puppet agent -t -d
まだ出る。
Provider useradd does not support features manages_passwords; not managing attribute password
puppetlabs-productsリポジトリの他のupdateも上げてみる。
# yum update hiera # yum update facter
再度疎通を実施
puppet agent -t -d
解消せず。。
パッケージ入れなおしたし、とりあえずpuppet再起動してみる。
# /etc/init.d/puppet restart
再度shadowを確認
# cat /etc/passwd
パスワード設定された!!
どのパッケージだったかは不明。。
とりあえず ruby-shadow
があるのにエラー出る時はパッケージアップデートして再起動。