【发布时间】: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