From 965e5a12f367ff79def9c9f7aaa5cc785ec84aee Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Thu, 8 Apr 2010 21:07:24 -0700 Subject: [PATCH] Chef server client.rb uses new templates --- lib/vagrant/provisioners/chef_server.rb | 25 ++++++------------- templates/chef_server_client.erb | 16 ++++++++++++ test/vagrant/provisioners/chef_server_test.rb | 1 + 3 files changed, 24 insertions(+), 18 deletions(-) create mode 100644 templates/chef_server_client.erb diff --git a/lib/vagrant/provisioners/chef_server.rb b/lib/vagrant/provisioners/chef_server.rb index 9d93bf392..595b8e55d 100644 --- a/lib/vagrant/provisioners/chef_server.rb +++ b/lib/vagrant/provisioners/chef_server.rb @@ -39,24 +39,13 @@ module Vagrant end def setup_config - solo_file = <<-solo -log_level :info -log_location STDOUT -node_name "#{env.config.chef.node_name}" -ssl_verify_mode :verify_none -chef_server_url "#{env.config.chef.chef_server_url}" - -validation_client_name "#{env.config.chef.validation_client_name}" -validation_key "#{guest_validation_key_path}" -client_key "#{env.config.chef.client_key_path}" - -file_store_path "/srv/chef/file_store" -file_cache_path "/srv/chef/cache" - -pid_file "/var/run/chef/chef-client.pid" - -Mixlib::Log::Formatter.show_time = true -solo + solo_file = TemplateRenderer.render("chef_server_client", { + :node_name => env.config.chef.node_name, + :chef_server_url => env.config.chef.chef_server_url, + :validation_client_name => env.config.chef.validation_client_name, + :validation_key => guest_validation_key_path, + :client_key => env.config.chef.client_key_path + }) logger.info "Uploading chef-client configuration script..." env.ssh.upload!(StringIO.new(solo_file), File.join(env.config.chef.provisioning_path, "client.rb")) diff --git a/templates/chef_server_client.erb b/templates/chef_server_client.erb new file mode 100644 index 000000000..0c5f12b94 --- /dev/null +++ b/templates/chef_server_client.erb @@ -0,0 +1,16 @@ +log_level :info +log_location STDOUT +node_name "<%= node_name %>" +ssl_verify_mode :verify_none +chef_server_url "<%= chef_server_url %>" + +validation_client_name "<%= validation_client_name %>" +validation_key "<%= validation_key %>" +client_key "<%= client_key %>" + +file_store_path "/srv/chef/file_store" +file_cache_path "/srv/chef/cache" + +pid_file "/var/run/chef/chef-client.pid" + +Mixlib::Log::Formatter.show_time = true diff --git a/test/vagrant/provisioners/chef_server_test.rb b/test/vagrant/provisioners/chef_server_test.rb index 7ff73dd0d..940a404a0 100644 --- a/test/vagrant/provisioners/chef_server_test.rb +++ b/test/vagrant/provisioners/chef_server_test.rb @@ -170,6 +170,7 @@ config end should "upload this file as client.rb to the provisioning folder" do + Vagrant::Util::TemplateRenderer.expects(:render).returns("foo") StringIO.expects(:new).returns("foo") File.expects(:join).with(@env.config.chef.provisioning_path, "client.rb").once.returns("bar") @env.ssh.expects(:upload!).with("foo", "bar").once