2016-06-27 12 views
0

ich ein Wrapper-Kochbuch für die redisio community cookbook erstellt und ich möchte zu überschreiben download_dir Attribut von resources/install.rb:ein Attribut in Koch Ressource

attribute :download_dir, :kind_of => String, :default => Chef::Config[:file_cache_path] 

Wegen file_cache_path es den Weg nehmen, wo Koch-Client ausgeführt wird (/ var/Koch/Cache). Das Problem ist, dass in attributes/default.rb (das redisio Kochbuch), da es nur install_dir ist, die einen sind in meinem angegebenen Ordner wie dies schafft:

node.override['redisio']['install_dir'] = '/redis-setup' -> rediswrapper cookbook 

Antwort

2

Statt die install recipe die Art, könnten Sie nehmen nur die wichtigen Teile und rufen Sie den redisio_install-Anbieter selbst und die download_dir Option, z mit

include_recipe 'redisio::_install_prereqs' 
include_recipe 'build-essential::default' 

redis = node['redisio'] 
location = "#{redis['mirror']}/#{redis['base_name']}#{redis['version']}.#{redis['artifact_type']}" 

redisio_install "redis-installation" do 
    version redis['version'] if redis['version'] 
    download_url location 
    safe_install redis['safe_install'] 
    install_dir redis['install_dir'] if redis['install_dir'] 
    download_dir "/tmp" 
end 
+0

große ideea, danke viel arbeitet. –