【问题标题】:How to use Berkshelf with Chef-solo?如何将 Berkshelf 与 Chef-solo 一起使用?
【发布时间】:2013-02-09 17:01:32
【问题描述】:
我正在尝试与 Berkshelf 一起管理食谱。以下是步骤
$ berks init # and use a custom Vagrant box image
$ vim Berksfile # and put cookbook 'git'
$ berks install
$ vagrant up
我希望最后一步是使用 git 食谱配置 VM,但是我得到了:
$ bin/vagrant up
/Users/pmu/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/hashie-2.0.0/lib/hashie/mash.rb:80:警告:重新定义“object_id”可能会导致严重的问题
[默认] 导入基础框 'Ubuntu-11.04'...
[默认] NAT 网络的匹配 MAC 地址...
[默认] 清除任何以前设置的转发端口...
[默认] 转发端口...
[默认] -- 22 => 2222(适配器 1)
[Berkshelf] 安装食谱...
[Berkshelf] 使用 git (2.3.0)
[Berkshelf] 使用 dmg (1.1.0)
[Berkshelf] 使用 build-essential (1.3.4)
[Berkshelf] 使用 yum (2.1.0)
[Berkshelf] 使用 windows (1.8.4)
[Berkshelf] 使用 chef_handler (1.1.4)
[Berkshelf] 使用 runit (1.0.6)
[默认] 创建共享文件夹元数据...
[默认] 清除任何以前设置的网络接口...
[默认] 根据配置准备网络接口...
[默认] 正在启动虚拟机...
[默认] 等待虚拟机启动。这可能需要几分钟。
[默认] VM 已启动并可以使用!
[默认] 配置和启用网络接口...
[默认] 设置主机名...
[默认] 正在装载共享文件夹...
[默认] -- v-root: /vagrant
[默认] -- v-csc-1: /tmp/vagrant-chef-1/chef-solo-1/cookbooks
[默认] 运行供应商:Vagrant::Provisioners::ChefSolo...
[默认] 生成厨师 JSON 并上传...
[默认] 运行厨师独奏...
标准输入:不是 tty
[2013-02-24T12:51:04+00:00] 信息:***厨师 10.18.2 ***
[2013-02-24T12:51:05+00:00] 信息:从 JSON 将 run_list 设置为 ["recipe[berkshelf-test::default]"]
[2013-02-24T12:51:05+00:00] 信息:运行列表是 [recipe [berkshelf-test::default]]
[2013-02-24T12:51:05+00:00] 信息:运行列表扩展为 [berkshelf-test::default]
[2013-02-24T12:51:05+00:00] 信息:为 ubuntu-11.04 启动 Chef Run
[2013-02-24T12:51:05+00:00] 信息:运行启动处理程序
[2013-02-24T12:51:05+00:00] 信息:启动处理程序完成。
[2013-02-24T12:51:05+00:00] 错误:运行异常处理程序
[2013-02-24T12:51:05+00:00] 错误:异常处理程序完成
[2013-02-24T12:51:05+00:00] 致命:Stacktrace 转储到 /tmp/vagrant-chef-1/chef-stacktrace.out
[2013-02-24T12:51:05+00:00] 致命:Chef::Exceptions::CookbookNotFound:Cookbook berkshelf-test 未找到。如果您从另一本食谱加载 berkshelf-test,请确保在元数据中配置依赖项
厨师从未成功完成!任何错误都应该在
上面的输出。请修复您的食谱,以便它们正确完成。
Vagrantfile 中的主厨独奏部分:
config.vm.provision :chef_solo 做 |chef|
厨师.json = {
:mysql => {
:server_root_password => 'rootpass',
:server_debian_password => 'debpass',
:server_repl_password => 'replpass'
}
}
chef.run_list = [
“配方 [berkshelf-test::default]”
]
结尾
【问题讨论】:
标签:
chef-infra
vagrant