运行厨师脚本时出现403错误

时间:2016-06-01 17:13:13

标签: chef chef-recipe

我正在目标节点上的chef服务器上运行chef bootstrap命令。脚本运行正常的初始食谱,但随着它的进展,我们看到403禁止并退出。只有在尝试从模板文件夹中复制文件时才会发生此403。当我执行另一个食谱时,我也看到了同样的问题。

配方没有问题,因为同一个食谱在不同目标节点上运行时出现问题。

任何人都知道如何解决这个问题?

Error executing action `create` on resource 'template[/tmp/rsp_files/WebGate_Installation_response_file.rsp]'
     ================================================================================

     Net::HTTPServerException
     ------------------------
     403 "Forbidden"

     Resource Declaration:
     ---------------------
     # In /var/chef/cache/cookbooks/ohs/recipes/install_webgate.rb

      59: template "#{node['OHS']['RSP_FILE']}/WebGate_Installation_response_file.rsp" do
      60:   source 'WebGate_Installation_response_file.rsp.erb'
      61:   owner node['OHS']['USER']
      62:   group node['OHS']['GROUP']
      63:   mode '0644'
      64:   not_if do ::File.exists?("#{node['OHS']['RSP_FILE']}/WebGate_Installation_response_file.rsp") end
      65: end
      66:

     Compiled Resource:
     ------------------
     # Declared in /var/chef/cache/cookbooks/ohs/recipes/install_webgate.rb:59:in `from_file'

     template("/tmp/rsp_files/WebGate_Installation_response_file.rsp") do
       provider Chef::Provider::Template
       action "create"
       retries 0
       retry_delay 2
       guard_interpreter :default
       path "/tmp/rsp_files/WebGate_Installation_response_file.rsp"
       backup 5
       atomic_update true
       source "WebGate_Installation_response_file.rsp.erb"
       cookbook_name "ohs"
       recipe_name "install_webgate"
       owner "oracle"
       group "oinstall"
       mode "0644"
       not_if { #code block }
     end


 Running handlers:
 [2016-05-31T17:21:45-04:00] ERROR: Running exception handlers
 Running handlers complete
 [2016-05-31T17:21:45-04:00] ERROR: Exception handlers complete
 [2016-05-31T17:21:45-04:00] FATAL: Stacktrace dumped to /var/chef/cache/chef-stacktrace.out
 Chef Client failed. 23 resources updated in 929.166495413 seconds
 [2016-05-31T17:21:45-04:00] ERROR: template[/tmp/rsp_files/WebGate_Installation_response_file.rsp] (ohs::install_webgate line 59) had an error: Net::HTTPServerException: 403 "Forbidden"
 [2016-05-31T17:21:45-04:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)

2 个答案:

答案 0 :(得分:1)

no_lazy_load true添加到/etc/chef/client.rb。或者升级到更新的Chef版本,我们通过将该配置选项设置为默认值来修复此问题。

答案 1 :(得分:0)

根据Chef Docs中的建议,可以通过其他方式解决此错误。

尝试添加下面提到的Chef服务器配置值(在chef-server.rb或private-chef.rb文件中)

opscode_erchef['s3_url_ttl'] = 3600

Chef Docs说明如下,

  

opscode_erchef [' s3_url_ttl']

     

连接到服务器之前的时间量(以秒为单位)   到期。如果厨师 - 客户端运行超时,请将此设置增加到   3600,然后在必要时再次调整。默认值:900。

如果在不久的将来无法切换到更新版本的Chef,此解决方案非常有用。

OR

如果由于服务器数量较大而难以添加client.rb选项。

注意:在配置文件中添加选项,需要在Chef服务器中执行重新配置。