Sha256: 04f1b0c60b393de50874fb488f2c8978933e169e3677ce0698d1180dd868e140
Contents?: true
Size: 1.58 KB
Versions: 2
Compression:
Stored size: 1.58 KB
Contents
module VagrantPlugins module Chef class Installer def initialize(machine, options = {}) @machine = machine @product = options.fetch(:product) @channel = options.fetch(:channel) @version = options.fetch(:version) @force = options.fetch(:force) @options = options.dup end # This handles verifying the Chef installation, installing it if it was # requested, and so on. This method will raise exceptions if things are # wrong. def ensure_installed # If the guest cannot check if Chef is installed, just exit printing a # warning... if !@machine.guest.capability?(:chef_installed) @machine.ui.warn(I18n.t("vagrant.chef_cant_detect")) return end if !should_install_chef? @machine.ui.info(I18n.t("vagrant.chef_already_installed", version: @version.to_s)) return end @machine.ui.detail(I18n.t("vagrant.chef_installing", version: @version.to_s)) @machine.guest.capability(:chef_install, @product, @version, @channel, @options) if !@machine.guest.capability(:chef_installed, @version) raise Provisioner::Base::ChefError, :install_failed end end # Determine if Chef should be installed. Chef is installed if the "force" # option is given or if the guest does not have Chef installed at the # proper version. def should_install_chef? @force || !@machine.guest.capability(:chef_installed, @version) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
vagrant-unbundled-1.8.1.2 | plugins/provisioners/chef/installer.rb |
vagrant-unbundled-1.8.1.1 | plugins/provisioners/chef/installer.rb |