Chefでがーっとインストールしていると,yumでyum-dump Locking Error!
というのがでる.
Chef::Exceptions::Package: Yum failed - #<Process::Status: pid 5261 exit 200> - returns: ["yum-dump Locking Error! Couldn't obtain an exclusive yum lock in 10 seconds. Giving up.\n"]
要はChefがyumを実行している時にタイムアウトしてしまうらしい.
タイムアウトに設定されている時間は,エラーログに書いてあるように10秒.
ちょっと,これは短いのでなんとか変更する方法はないかと,いろいろ探してたが情報があんまりなかった.
こういうissue(CHEF-3193)があって,
最終的にはattributeとかで設定出来るようにするべきだよねって話がされてた.
が,今(2013/11/06)の状態はConfirmed.
最終的には,
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/provider/package/yum-dump.py
に記述されている,
# Seconds to wait for exclusive access to yum
LOCK_TIMEOUT = 10
の値を30くらいに変更した.
追記(2015/12/17)
現在は設定値に timeout
を設定できるようになっているっぽい。
yum_package 'name' do
allow_downgrade TrueClass, FalseClass
arch String, Array
flush_cache Array
notifies # see description
options String
package_name String, Array # defaults to 'name' if not specified
provider Chef::Provider::Package::Yum
source String
subscribes # see description
timeout String, Integer
version String, Array
action Symbol # defaults to :install if not specified
end
- [Chef doc: resource_yum](https://docs.chef.io/resource_yum.html)