Merge branch 'pr/1267'

Conflicts:
	plugins/provisioners/chef/provisioner/chef_client.rb
This commit is contained in:
Mitchell Hashimoto 2013-08-29 10:50:50 -07:00
commit 93c98aad01
3 changed files with 17 additions and 0 deletions

View File

@ -6,6 +6,8 @@ module VagrantPlugins
class ChefClient < Base
attr_accessor :chef_server_url
attr_accessor :client_key_path
attr_accessor :delete_client
attr_accessor :delete_node
attr_accessor :encrypted_data_bag_secret_key_path
attr_accessor :encrypted_data_bag_secret
attr_accessor :environment
@ -17,6 +19,8 @@ module VagrantPlugins
@chef_server_url = UNSET_VALUE
@client_key_path = UNSET_VALUE
@delete_client = UNSET_VALUE
@delete_node = UNSET_VALUE
@encrypted_data_bag_secret_key_path = UNSET_VALUE
@encrypted_data_bag_secret = UNSET_VALUE
@environment = UNSET_VALUE

View File

@ -97,6 +97,18 @@ module VagrantPlugins
def guest_validation_key_path
File.join(@config.provisioning_path, "validation.pem")
end
def cleanup
delete_from_chef_server('client') if config.delete_client
delete_from_chef_server('node') if config.delete_node
end
def delete_from_chef_server(deletable)
node_name = (config.node_name || env[:vm].config.vm.host_name)
env[:ui].info I18n.t("vagrant.provisioners.chef.deleting_from_server",
:deletable => deletable, :name => node_name)
Kernel.system("knife #{deletable} delete --yes #{node_name} > /dev/null 2>&1")
end
end
end
end

View File

@ -1145,6 +1145,7 @@ en:
server_validation_key_doesnt_exist: |-
The validation key set for `config.chef.validation_key_path` does not exist! This
file needs to exist so it can be uploaded to the virtual machine.
deleting_from_server: "Deleting %{deletable} \"%{name}\" from Chef server..."
puppet:
not_detected: |-