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