lib/vagabond/knife.rb in vagabond-0.2.0 vs lib/vagabond/knife.rb in vagabond-0.2.2

- old
+ new

@@ -12,11 +12,11 @@ include Helpers def initialize(*args) super end - + desc 'knife COMMAND', 'Run knife commands against local Chef server' def knife(command, *args) @options = options.dup @vagabondfile = Vagabondfile.new(options[:vagabond_file]) options[:disable_solo] = true @@ -25,17 +25,20 @@ @internal_config = InternalConfiguration.new(@vagabondfile, nil, options) unless(options[:local_server]) if(@vagabondfile[:local_chef_server] && @vagabondfile[:local_chef_server][:enabled]) srv = Lxc.new(@internal_config[:mappings][:server]) if(srv.running?) - options[:knife_opts] = " -s https://#{srv.container_ip(10, true)}" + proto = @vagabondfile[:local_chef_server][:zero] ? 'http' : 'https' + options[:knife_opts] = " --server-url #{proto}://#{srv.container_ip(10, true)}" else options[:knife_opts] = ' -s https://no-local-server' end end end - exec("knife #{[command, args].flatten.compact.join(' ')} #{options[:knife_opts]}") + command_string = [command, args.map{|s| "'#{s}'"}].flatten.compact.join(' ') + if(ENV['VAGABOND_KNIFE_DEBUG']) + puts "knife #{command_string} #{options[:knife_opts]}" + end + exec("knife #{command_string} #{options[:knife_opts]}") end - - end end