2014-01-30 3 views
0

Я пытаюсь узнать о шеф-поваре (я использую wok с CFengine). Так что я хотел установить chef-сервер на моем ubuntu 12.10.Chef server: ошибка «ArgumentError» при добавлении /etc/chef-server/chef-server.rb

меня следовать этой документации: http://docs.opscode.com/install_server.html

Все работает отлично, за исключением того, у меня уже есть веб-сервер на порту 80. Поэтому я хотел Nginx (от шеф-сервера), чтобы слушать на 8080. Чтобы сделать это, я добавил "/etc/chef-server/chef-server.rb" с:

default['chef_server']['api_version'] = "11.0.2" 
default['chef_server']['flavor'] = "osc" # Open Source Chef 

default['chef_server']['notification_email'] = "[email protected]" 
default['chef_server']['bootstrap']['enable'] = true 

#### 
# The Chef User that services run as 
#### 
# The username for the chef services user 
default['chef_server']['user']['username'] = "chef_server" 
# The shell for the chef services user 
default['chef_server']['user']['shell'] = "/bin/sh" 
# The home directory for the chef services user 
default['chef_server']['user']['home'] = "/opt/chef-server/embedded" 


#### 
# Nginx 
#### 
default['chef_server']['nginx']['enable'] = true 
default['chef_server']['nginx']['ha'] = false 
default['chef_server']['nginx']['dir'] = "/var/opt/chef-server/nginx" 
default['chef_server']['nginx']['log_directory'] = "/var/log/chef-server/nginx" 
default['chef_server']['nginx']['ssl_port'] = 443 
default['chef_server']['nginx']['enable_non_ssl'] = false 
default['chef_server']['nginx']['non_ssl_port'] = 8080 
default['chef_server']['nginx']['server_name'] = node['fqdn'] 
default['chef_server']['nginx']['url'] = "https://#{node['fqdn']}" 

И когда я пытаюсь: повар-сервер-CTL переконфигурируйте

я получил:

[email protected]:/etc/chef-server# chef-server-ctl reconfigure 
Starting Chef Client, version 11.6.0 
Compiling Cookbooks... 
Recipe: chef-server::default 
    * directory[/etc/chef-server] action create (up to date) 

================================================================================ 
Recipe Compile Error in /opt/chef-server/embedded/cookbooks/chef-server/recipes/default.rb 
================================================================================ 


ArgumentError 
------------- 
wrong number of arguments (0 for 1) 


Cookbook Trace: 
--------------- 
    /opt/chef-server/embedded/cookbooks/chef-server/recipes/default.rb:34:in `from_file' 


Relevant File Content: 
---------------------- 
/opt/chef-server/embedded/cookbooks/chef-server/recipes/default.rb: 

27: end.run_action(:create) 
28: 
29: if File.exists?("/etc/chef-server/chef-server.json") 
30: Chef::Log.warn("Please move to /etc/chef-server/chef-server.rb for configuration - /etc/chef-server/chef-server.json is deprecated.") 
31: else 
32: ChefServer[:node] = node 
33: if File.exists?("/etc/chef-server/chef-server.rb") 
34>>  ChefServer.from_file("/etc/chef-server/chef-server.rb") 
35: end 
36: node.consume_attributes(ChefServer.generate_config(node['fqdn'])) 
37: end 
38: 
39: if File.exists?("/var/opt/chef-server/bootstrapped") 
40: node.set['chef_server']['bootstrap']['enable'] = false 
41: end 
42: 
43: # Create the Chef User 



[2014-01-30T17:09:54+01:00] ERROR: Running exception handlers 
[2014-01-30T17:09:54+01:00] ERROR: Exception handlers complete 
[2014-01-30T17:09:54+01:00] FATAL: Stacktrace dumped to /opt/chef-server/embedded/cookbooks/cache/chef-stacktrace.out 
Chef Client failed. 0 resources updated 
[2014-01-30T17:09:54+01:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1) 

ответ

1

Хорошо ответить на вопрос, плохой синтаксис в chef-server.rb. Не нужно использовать префикс default ['chef_server']. Например:

nginx['non_ssl_port'] = 8080 
+1

Да, это конфигурационный файл, а не рецепт :-) – StephenKing

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