在资源包[nginx]上执行操作安装时出错

时间:2014-12-15 07:32:57

标签: nginx amazon-ec2 chef cookbook

我正在尝试使用yum cookbook作为依赖在ec2服务器上安装nginx。

这就是我的nginx / recipe / default.rb的样子,

include_recipe "yum"

package "nginx" do 
version "1.6.2" 
action :install 
end

template "nginx.conf" do 
source "nginx.conf.erb" 
path "#{node['nginx']['dir']}/nginx.conf" 
action :create 
mode 0644 
end

template "default.conf" do 
source "default-site.erb" 
path "#{node['nginx']['dir']}/conf.d/default.conf" 
action :create 
mode 0644 
end

service "nginx" do 
supports :restart => :true 
action [:enable, :start] 
end

另外,我在metadata.rb

中添加了以下行
depends "yum" 

尝试在客户端ec2服务器上运行以下命令时,

sudo chef-client

我收到以下错误:

[2014-12-15T01:38:31-05:00] WARN: 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
SSL validation of HTTPS requests is disabled. HTTPS connections are still
encrypted, but chef is not able to detect forged replies or man in the middle
attacks.

要解决此问题,请在配置文件中添加如下条目:

  # Verify all HTTPS connections (recommended)
  ssl_verify_mode :verify_peer

  # OR, Verify only connections to chef-server
  verify_api_cert true

要检查SSL配置或排除错误,可以使用

像这样的

knife ssl check命令:

knife ssl check -c /etc/chef/client.rb


* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

Starting Chef Client, version 11.16.4
resolving cookbooks for run list: ["yum", "nginx"]
Synchronizing Cookbooks:
  - yum
  - nginx
Compiling Cookbooks...
Converging 5 resources
Recipe: yum::default
  * yum_globalconfig[/etc/yum.conf] action create
    * template[/etc/yum.conf] action create (up to date)
     (up to date)
Recipe: nginx::default
  * package[nginx] action install

    ================================================================================
    Error executing action `install` on resource 'package[nginx]'
    ================================================================================

    Mixlib::ShellOut::ShellCommandFailed
    ------------------------------------
    Expected process to exit with [0], but received '1'
    ---- Begin output of /usr/bin/python /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/provider/package/yum-dump.py --options --installed-provides --yum-lock-timeout 30 ----
    STDOUT: [option installonlypkgs] kernel kernel-bigmem installonlypkg(kernel-module) installonlypkg(vm) kernel-enterprise kernel-smp kernel-debug kernel-unsupported kernel-source kernel-devel kernel-PAE kernel-PAE-debug
    STDERR: yum-dump Repository Error: failure: repodata/repomd.xml from rhui-REGION-rhel-server-releases: [Errno 256] No more mirrors to try.
    https://rhui2-cds01.us-east-1.aws.ce.redhat.com/pulp/repos//content/dist/rhel/rhui/server/7/7.0-1.el7/x86_64/os/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found
    https://rhui2-cds02.us-east-1.aws.ce.redhat.com/pulp/repos//content/dist/rhel/rhui/server/7/7.0-1.el7/x86_64/os/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found
    ---- End output of /usr/bin/python /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/provider/package/yum-dump.py --options --installed-provides --yum-lock-timeout 30 ----
    Ran /usr/bin/python /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/provider/package/yum-dump.py --options --installed-provides --yum-lock-timeout 30 returned 1

    Resource Declaration:
    ---------------------
    # In /var/chef/cache/cookbooks/nginx/recipes/default.rb

     13: package "nginx" do
     14:   version "1.6.2"
     15:   action :install
     16: end
     17: 

    Compiled Resource:
    ------------------
    # Declared in /var/chef/cache/cookbooks/nginx/recipes/default.rb:13:in `from_file'

    package("nginx") do
      action [:install]
      retries 0
      retry_delay 2
      guard_interpreter :default
      package_name "nginx"
      version "1.6.2"
      timeout 900
      cookbook_name "nginx"
      recipe_name "default"
    end


Running handlers:
[2014-12-15T01:38:33-05:00] ERROR: Running exception handlers
Running handlers complete
[2014-12-15T01:38:33-05:00] ERROR: Exception handlers complete
[2014-12-15T01:38:33-05:00] FATAL: Stacktrace dumped to /var/chef/cache/chef-stacktrace.out
Chef Client failed. 0 resources updated in 2.604475896 seconds
[2014-12-15T01:38:33-05:00] ERROR: package[nginx] (nginx::default line 13) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '1'
---- Begin output of /usr/bin/python /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/provider/package/yum-dump.py --options --installed-provides --yum-lock-timeout 30 ----
STDOUT: [option installonlypkgs] kernel kernel-bigmem installonlypkg(kernel-module) installonlypkg(vm) kernel-enterprise kernel-smp kernel-debug kernel-unsupported kernel-source kernel-devel kernel-PAE kernel-PAE-debug
STDERR: yum-dump Repository Error: failure: repodata/repomd.xml from rhui-REGION-rhel-server-releases: [Errno 256] No more mirrors to try.
https://rhui2-cds01.us-east-1.aws.ce.redhat.com/pulp/repos//content/dist/rhel/rhui/server/7/7.0-1.el7/x86_64/os/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found
https://rhui2-cds02.us-east-1.aws.ce.redhat.com/pulp/repos//content/dist/rhel/rhui/server/7/7.0-1.el7/x86_64/os/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found
---- End output of /usr/bin/python /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/provider/package/yum-dump.py --options --installed-provides --yum-lock-timeout 30 ----
Ran /usr/bin/python /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/provider/package/yum-dump.py --options --installed-provides --yum-lock-timeout 30 returned 1
[2014-12-15T01:38:33-05:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)

1 个答案:

答案 0 :(得分:2)

根据这条线:

STDERR: yum-dump Repository Error: failure: repodata/repomd.xml from rhui-REGION-rhel-server-releases: [Errno 256] No more mirrors to try.
    https://rhui2-cds01.us-east-1.aws.ce.redhat.com/pulp/repos//content/dist/rhel/rhui/server/7/7.0-1.el7/x86_64/os/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found
    https://rhui2-cds02.us-east-1.aws.ce.redhat.com/pulp/repos//content/dist/rhel/rhui/server/7/7.0-1.el7/x86_64/os/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found

Yum到达存储库时遇到问题。好像yum配置错了。 您可以使用简单的yum install nginx进行测试,看看它是否真的是与Chef相关的问题(在这种情况下更新了问题),或者只是您的系统没有正确注册/配置rhn。