我有一本食谱,该书通过使用package
Chef资源来安装几个RPM软件包:
%w(
nfs-utils
autofs
# etc.
# etc.
# etc.
).each do |pkg|
package pkg
由于网络故障,我经常无法从服务器下载文件。我看到这些软件包被编译为yum_package
:
Resource Declaration:
---------------------
# In /downloads/chef/cache/cookbooks/my_cookbook/recipes/default.rb
65: package pkg
66:
Compiled Resource:
------------------
# Declared in /downloads/chef/cache/cookbooks/my_cookbook/recipes/default.rb:65:in `block in from_file'
yum_package("nfs-utils") do
package_name "nfs-utils"
action [:install]
retries 0
retry_delay 2
default_guard_interpreter :default
declared_type :package
cookbook_name "my_cookbook"
recipe_name "default"
flush_cache {:before=>false, :after=>false}
end
Platform:
---------
x86_64-linux
我想使用retries
可用的yum_package
选项,但不能通过通用package
资源使用。那可能吗? (不过,我无法从package
显式更改为yum_package
。)
答案 0 :(得分:1)
在package
资源文档中,属性retries
和retry_delay
存在...
重试:
Ruby类型:整数|默认值:0
捕获异常并重试资源的尝试次数。
retry_delay :
Ruby类型:整数|默认值:2
重试延迟(以秒为单位)。