From 4bc4317607ed51b3d7d642fbec8ee1a52f8cb952 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Sun, 24 Nov 2013 16:38:32 -0800 Subject: [PATCH] core: fix exception case regression from yesterday --- lib/vagrant/action/builtin/mixin_provisioners.rb | 4 ++-- lib/vagrant/action/builtin/provision.rb | 5 +++-- lib/vagrant/action/builtin/provisioner_cleanup.rb | 4 +++- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/lib/vagrant/action/builtin/mixin_provisioners.rb b/lib/vagrant/action/builtin/mixin_provisioners.rb index 052a23262..c4b760537 100644 --- a/lib/vagrant/action/builtin/mixin_provisioners.rb +++ b/lib/vagrant/action/builtin/mixin_provisioners.rb @@ -30,9 +30,9 @@ module Vagrant # This will return a mapping of a provisioner instance to its # type. - def provisioner_type_map + def provisioner_type_map(env) # Call this in order to initial the map if it hasn't been already - provisioner_instances + provisioner_instances(env) # Return the type map @_provisioner_types diff --git a/lib/vagrant/action/builtin/provision.rb b/lib/vagrant/action/builtin/provision.rb index aefd2332d..007625510 100644 --- a/lib/vagrant/action/builtin/provision.rb +++ b/lib/vagrant/action/builtin/provision.rb @@ -60,11 +60,12 @@ module Vagrant # Actually provision if we enabled it if enabled + type_map = provisioner_type_map(env) provisioner_instances(env).each do |p| next if env[:provision_types] && \ - !env[:provision_types].include?(provisioner_type_map[p]) + !env[:provision_types].include?(type_map[p]) - run_provisioner(env, provisioner_type_map[p].to_s, p) + run_provisioner(env, type_map[p].to_s, p) end end end diff --git a/lib/vagrant/action/builtin/provisioner_cleanup.rb b/lib/vagrant/action/builtin/provisioner_cleanup.rb index e9eec5c87..2fe727d1f 100644 --- a/lib/vagrant/action/builtin/provisioner_cleanup.rb +++ b/lib/vagrant/action/builtin/provisioner_cleanup.rb @@ -27,11 +27,13 @@ module Vagrant end def do_cleanup(env) + type_map = provisioner_type_map(env) + # Ask the provisioners to modify the configuration if needed provisioner_instances(env).each do |p| env[:ui].info(I18n.t( "vagrant.provisioner_cleanup", - name: provisioner_type_map[p].to_s)) + name: type_map[p].to_s)) p.cleanup end end