【发布时间】:2013-10-06 17:04:37
【问题描述】:
我遇到了一个问题,我的 Vagrantfile 中的 chef.json 属性似乎被忽略/覆盖了。
环境: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 的端口。
我尝试在 Jetty 食谱的 attributes/default.rb 中更改这些属性,但这也无济于事。
我错过了什么?
【问题讨论】: