【问题标题】:Error executing action install on resource package[nginx]在资源包上执行操作安装时出错 [nginx]
【发布时间】:2014-12-16 02:27:49
【问题描述】:

我正在尝试使用 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)

【问题讨论】:

  • 您介意对文本进行一些格式化以使其可读吗?
  • 您没有使用社区 nginx 食谱的任何特殊原因?它做得非常好。
  • @TejayCardon 我正在寻找配置我自己的测试配方,而不需要社区 nginx 食谱中列出的复杂配置。我现在只想创建两个模板文件。
  • @StephenKing 是的,我很想先生,您能否突出显示您不清楚的部分?
  • 感谢@coderanger formatting

标签: nginx amazon-ec2 chef-infra cookbook


【解决方案1】:

根据这行:

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 进行测试,看看它是否真的是与厨师相关的问题(在这种情况下更新问题),或者它是否只是您的系统没有正确注册/配置 rhn。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多