2013-06-11 19:43:42 +00:00
|
|
|
module VagrantPlugins
|
|
|
|
module Cachier
|
|
|
|
module Cap
|
|
|
|
module Linux
|
|
|
|
module ChefFileCachePath
|
|
|
|
def self.chef_provisioner?(machine)
|
|
|
|
provisioners = machine.config.vm.provisioners
|
2015-06-03 17:45:22 +00:00
|
|
|
chef_provisioners = [:chef_solo, :chef_client, :chef_zero]
|
2015-01-15 01:04:32 +00:00
|
|
|
compat_provisioners = provisioners.select { |p| chef_provisioners.include? p.name || p.type }
|
2013-06-11 19:43:42 +00:00
|
|
|
|
|
|
|
if compat_provisioners.size > 1
|
|
|
|
raise "One machine is using multiple chef provisioners, which is unsupported."
|
|
|
|
end
|
|
|
|
|
|
|
|
using_chef = compat_provisioners.empty? ? false : true
|
|
|
|
|
|
|
|
using_chef
|
|
|
|
end
|
|
|
|
|
|
|
|
def self.chef_file_cache_path(machine)
|
|
|
|
chef_file_cache_path = nil
|
|
|
|
chef_file_cache_path = '/var/chef/cache' if chef_provisioner?(machine)
|
|
|
|
|
|
|
|
return chef_file_cache_path
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|