【发布时间】:2014-07-13 20:02:29
【问题描述】:
我目前正在 CentOS VM 上学习 Chef + Test Kitchen,似乎每次运行 kitchen converge 时,一些包都会失败并抛出相同的错误:
Chef::Exceptions::Exec
----------------------
returned 1, expected 0
所有错误都位于package 资源中。例如:
Compiled Resource:
------------------
# Declared in /tmp/kitchen/cookbooks/nginx/recipes/package.rb:39:in `from_file'
package("nginx") do
action :install
retries 0
retry_delay 2
guard_interpreter :default
package_name "nginx"
version "1.0.15-5.el6"
cookbook_name :nginx
recipe_name "package"
end
但是,当我使用kitchen login 登录虚拟机并手动运行时
yum install nginx
它运行正常。此外,有时当我第二次运行kitchen converge 时它安装得很好。
我的食谱文件是:
# create vtapp user
user node.default['railsapp']['user'] do
supports :manage_home => true
system true
home "/home/#{node.default['railsapp']['user']}"
shell '/bin/bash'
end
# install git
package 'git'
# install mysql and run the service
mysql_service 'default'
# install redis and run the service
include_recipe 'redis::server'
# install rbenv to vtapp user, and install ruby 2.1.0 along with bundler
include_recipe "ruby_build"
node.default['rbenv']['user_installs'] = [
{
'user' => node.default['railsapp']['user'],
'rubies' => ['2.1.0'],
'gems' => {
'2.1.0' => [
{ 'name' => 'bundler' }
]
}
}
]
include_recipe "rbenv::user"
# install monit
include_recipe "monit"
# install nginx
include_recipe "nginx"
我错过了什么吗?
【问题讨论】:
-
1.除了 ` # Declared in /tmp/kitchen/cookbooks/nginx/recipes/package.rb:39:39:in
from_file'2. 当你评论include_recipe "nginx"时,它是否工作? -
1.是的,我有,但是在我增加内存分配 (o_O) 2 后错误消失了。如果我评论该行,其他配方在编译到各自的
package资源时偶尔会失败。
标签: nginx chef-infra vagrant test-kitchen