2015-12-03 3 views
2

Я использую chef-solo и поддерживаю кулинарные книги сообщества, используя berkshelf. Устанавливается iptables кулинарная книга с использованием berkshelf в последнее время, и она бросила следующую ошибку, как только я побежал поваром-соло.Невозможно найти шаблон поваренной книги при использовании Berkshelf

RuntimeError 
------------ 
File templates/default/rebuild-iptables.erb does not exist for cookbook iptables 

Resource Declaration: 
--------------------- 
# In /home/directfn/.berkshelf/cookbooks/iptables-2.0.1/recipes/default.rb 

35: template '/usr/sbin/rebuild-iptables' do 
36: source 'rebuild-iptables.erb' 
37: mode '0755' 
38: variables(
39:  hashbang: ::File.exist?('/usr/bin/ruby') ? '/usr/bin/ruby' : '/opt/chef/embedded/bin/ruby' 
40: ) 
41: end 
42: 

Но я могу видеть источник шаблона.

[[email protected] chef-repo]# ls /home/directfn/.berkshelf/cookbooks/iptables-2.0.1/templates/default/rebuild-iptables.erb 
/home/directfn/.berkshelf/cookbooks/iptables-2.0.1/templates/default/rebuild-iptables.erb 

Но если я скопировать Iptables поваренную книгу, где я есть остаток своих кулинарных книг есть, он работает как шарм. И я использую более 30 других кулинарных книг сообщества, используя berkshelf без каких-либо проблем.

Есть ли у кого-нибудь идеи, что здесь происходит?

Заранее спасибо

solo.rb файл

file_cache_path "/home/directfn/devops/chef-solo" 
cookbook_path [ 
    "/home/directfn/devops/chef-repo/cookbooks", 
    "/home/directfn/.berkshelf/cookbooks" 
    ] 
data_bag_path "/home/directfn/devops/chef-repo/data_bags" 
environment "development" 
environment_path "/home/directfn/devops/chef-repo/environments" 

Json атрибуты файла:

{ 
    "name": "phoenix_new", 
    "description": "", 
    "java": { 
     "install_flavor": "oracle", 
     "jdk_version": 7, 
     "oracle": { 
       "accept_oracle_download_terms": true 
     } 
    }, 
    "phoenix": { 
     "tag": "dbfs_release_0" 
    }, 
    "run_list": [ 
       "recipe[phoenix::simple]" 
    ], 
    "env_run_lists": { 

    } 
} 
+0

Как именно вы работаете соло? Вы не должны видеть исходные пути из папки '.berkshelf'. – coderanger

+0

Я запускаю следующую команду из каталога chef-repo. 'chef-solo -c solo.rb -j phoenix_new.json'. Я отредактировал команду с содержимым файла solo.rb и json attributes. Благодарю. –

ответ

3

chef-solo не может использовать поваренные книги под .berkshelf/ непосредственно. Вы должны использовать berks vendor, чтобы переформатировать их в структуру, с которой шеф-повар может иметь дело лучше.

Смежные вопросы