Fix chef validations with new blank run lists

This commit is contained in:
Mitchell Hashimoto 2010-11-15 10:42:52 -08:00
parent 63292fba96
commit e83260662e
2 changed files with 11 additions and 3 deletions

View File

@ -3,6 +3,10 @@
- Network interfaces are now up/down in distinct commands instead of just
restarting "networking." [GH-192]
- Add missing translation for chef binary missing. [GH-203]
- Fix default settings for Opscode platform and comments. [GH-213]
- Blank client name for chef server now uses FQDN by default, instead of "client" [GH-214]
- Run list can now be nil, which will cause it to sync with chef server (when
chef server is enabled). [GH-214]
## 0.6.7 (November 3, 2010)

View File

@ -136,9 +136,13 @@ module Vagrant
errors.add(I18n.t("vagrant.config.chef.validation_key_path")) if !validation_key_path
end
if [:chef_solo, :chef_server].include?(top.vm.provisioner)
# Validations shared by both chef solo and server
errors.add(I18n.t("vagrant.config.chef.run_list_empty")) if !run_list || run_list.empty?
if top.vm.provisioner == :chef_solo
# On chef solo, a run list MUST be specified
errors.add(I18n.t("vagrant.config.chef.run_list_empty")) if !json[:run_list] || run_list.empty?
elsif top.vm.provisioner == :chef_server
# On chef server, the run list is allowed to be nil, which causes it
# to sync with the chef server.
errors.add(I18n.t("vagrant.config.chef.run_list_empty")) if json[:run_list] && run_list.empty?
end
end
end