我遇到了一个问题,我chef.json
的 Vagrantfile 中的属性似乎被忽略/覆盖了。
环境:Mac OS X 10.8 主机,在 VirtualBox 4.18 中虚拟化的 Ubuntu 12.04 来宾。对食谱依赖项使用 Berkshelf,对所有食谱使用 Opscode 食谱。
盒子运转良好,但我试图配置得更像是下载 Jetty 并解压缩存档时的样子,而不是/usr/share/jetty
像默认的那样从文件系统到整个文件系统的一堆符号链接.
这是我的 Vagrantfile 的主厨部分:
config.vm.provision :chef_solo do |chef|
chef.json = { :java => {
:install_flavor => "oracle",
:jdk_version => '7',
:oracle => {
:accept_oracle_license_terms => true
}
},
:jetty => {
:port => '8080',
:home => '/opt/jetty',
:config_dir => '/opt/jetty/conf',
:log_dir => '/opt/jetty/log',
:context_dir => '/opt/jetty/context',
:webapp_dir => '/opt/jetty/webapp'
}
}
chef.add_recipe "apt"
chef.add_recipe "mongodb::default"
chef.add_recipe "java"
chef.add_recipe "jetty"
end
Chef 似乎正在阅读,chef.json
因为我可以在 Vagrantfile 中更改 Jetty 的端口。
我试图在attributes/default.rb
Jetty 食谱中更改这些属性,但这也无济于事。
我错过了什么?