class Kitchen::Provisioner::ChefZeroCapture
expected to be available for chef-zero to provide to the client.
or cookbook artifacts + policy data as captured from the live node and are
resolution and will not pull in external cookbooks. All cookbooks
This provisioner does not do any cookbook dependency
chef-zero provisioner intended for use with ‘chef capture`.
def create_sandbox
def create_sandbox # We have to invoke the the true Base create_sandbox because it does setup that # we want. However, we do not want to invoke the create_sandbox inherited from # ChefZero/ChefBase - those will create and populate a ChefCommonSandbox instead # of a ChefZeroCaptureSandbox. m = Base.instance_method(:create_sandbox).bind(self) m.call # These behaviors from super we _do_ want, so we need to copy them here. prepare_validation_pem prepare_config_rb ChefZeroCaptureSandbox.new(config, sandbox_path, instance).populate end
def default_config_rb
to be able to locate our policies/, policy groups, and cookbook artifacts
so that we can add additional configuration required for chef-zero
Overriding the private ProviderChefZero#default_config_rb
def default_config_rb cfg = super # Need to tell chef-zero about our additional config. root = config[:root_path].gsub("$env:TEMP", "\#{ENV['TEMP']\}") cfg[:policies_path] = remote_path_join(root, config[:policies_path]) cfg[:policy_groups_path] = remote_path_join(root, config[:policy_groups_path]) cfg[:cookbook_artifacts_path] = remote_path_join(root, config[:cookbook_artifacts_path]) cfg end
def load_needed_dependencies!; end
This will load policyfile/berkshelf. We don't want either - the client resolves all
def load_needed_dependencies!; end