vagrant 0.7.0.beta → 0.7.0.beta2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +2 -0
- data/CHANGELOG.md +26 -0
- data/Gemfile +0 -8
- data/config/default.rb +1 -2
- data/contrib/README.md +12 -0
- data/contrib/emacs/vagrant.el +8 -0
- data/contrib/vim/vagrantfile.vim +9 -0
- data/lib/vagrant.rb +14 -18
- data/lib/vagrant/action.rb +12 -0
- data/lib/vagrant/action/box.rb +11 -0
- data/lib/vagrant/action/box/download.rb +0 -1
- data/lib/vagrant/action/env.rb +7 -0
- data/lib/vagrant/action/general.rb +8 -0
- data/lib/vagrant/action/vm.rb +30 -0
- data/lib/vagrant/action/vm/boot.rb +3 -2
- data/lib/vagrant/action/vm/check_box.rb +1 -0
- data/lib/vagrant/action/vm/network.rb +1 -1
- data/lib/vagrant/action/vm/nfs.rb +3 -1
- data/lib/vagrant/action/vm/provision.rb +14 -25
- data/lib/vagrant/action/vm/share_folders.rb +11 -4
- data/lib/vagrant/command.rb +25 -0
- data/lib/vagrant/config.rb +78 -128
- data/lib/vagrant/config/base.rb +17 -3
- data/lib/vagrant/config/ssh.rb +1 -0
- data/lib/vagrant/config/top.rb +61 -0
- data/lib/vagrant/config/vagrant.rb +1 -6
- data/lib/vagrant/config/vm.rb +34 -20
- data/lib/vagrant/config/vm/provisioner.rb +56 -0
- data/lib/vagrant/config/vm/sub_vm.rb +17 -0
- data/lib/vagrant/downloaders.rb +7 -0
- data/lib/vagrant/downloaders/file.rb +1 -0
- data/lib/vagrant/downloaders/http.rb +9 -0
- data/lib/vagrant/environment.rb +25 -13
- data/lib/vagrant/errors.rb +0 -15
- data/lib/vagrant/hosts.rb +7 -0
- data/lib/vagrant/provisioners.rb +8 -0
- data/lib/vagrant/provisioners/base.rb +19 -1
- data/lib/vagrant/provisioners/chef.rb +31 -52
- data/lib/vagrant/provisioners/chef_server.rb +34 -10
- data/lib/vagrant/provisioners/chef_solo.rb +31 -9
- data/lib/vagrant/provisioners/puppet.rb +70 -60
- data/lib/vagrant/provisioners/puppet_server.rb +57 -0
- data/lib/vagrant/ssh.rb +3 -72
- data/lib/vagrant/ssh/session.rb +81 -0
- data/lib/vagrant/systems.rb +9 -0
- data/lib/vagrant/systems/base.rb +16 -1
- data/lib/vagrant/systems/debian.rb +26 -0
- data/lib/vagrant/systems/gentoo.rb +27 -0
- data/lib/vagrant/systems/linux.rb +14 -56
- data/lib/vagrant/systems/linux/config.rb +21 -0
- data/lib/vagrant/systems/linux/error.rb +9 -0
- data/lib/vagrant/systems/redhat.rb +31 -0
- data/lib/vagrant/test_helpers.rb +1 -1
- data/lib/vagrant/version.rb +1 -1
- data/lib/vagrant/vm.rb +25 -5
- data/templates/chef_solo_solo.erb +11 -3
- data/templates/locales/en.yml +65 -25
- data/templates/{network_entry.erb → network_entry_debian.erb} +0 -0
- data/templates/network_entry_gentoo.erb +7 -0
- data/templates/network_entry_redhat.erb +8 -0
- data/test/vagrant/action/vm/check_box_test.rb +1 -0
- data/test/vagrant/action/vm/nfs_test.rb +7 -1
- data/test/vagrant/action/vm/provision_test.rb +24 -79
- data/test/vagrant/action/vm/share_folders_test.rb +6 -1
- data/test/vagrant/command/helpers_test.rb +2 -2
- data/test/vagrant/config/base_test.rb +0 -6
- data/test/vagrant/config/vagrant_test.rb +0 -8
- data/test/vagrant/config/vm/provisioner_test.rb +92 -0
- data/test/vagrant/config/vm_test.rb +8 -0
- data/test/vagrant/config_test.rb +49 -89
- data/test/vagrant/downloaders/file_test.rb +18 -4
- data/test/vagrant/environment_test.rb +36 -12
- data/test/vagrant/provisioners/base_test.rb +28 -1
- data/test/vagrant/provisioners/chef_server_test.rb +50 -41
- data/test/vagrant/provisioners/chef_solo_test.rb +39 -16
- data/test/vagrant/provisioners/chef_test.rb +11 -81
- data/test/vagrant/provisioners/puppet_server_test.rb +69 -0
- data/test/vagrant/provisioners/puppet_test.rb +69 -54
- data/test/vagrant/{ssh_session_test.rb → ssh/session_test.rb} +0 -0
- data/test/vagrant/ssh_test.rb +12 -1
- data/test/vagrant/systems/base_test.rb +18 -0
- data/test/vagrant/systems/linux_test.rb +2 -2
- data/test/vagrant/vm_test.rb +33 -5
- data/vagrant.gemspec +6 -5
- metadata +42 -16
- data/lib/vagrant/util/glob_loader.rb +0 -24
data/lib/vagrant/config/base.rb
CHANGED
@@ -4,9 +4,6 @@ module Vagrant
|
|
4
4
|
# basic things such as the environment instance variable which all
|
5
5
|
# config classes need as well as a basic `to_json` implementation.
|
6
6
|
class Base
|
7
|
-
# {Environment} that this config belongs to
|
8
|
-
attr_accessor :env
|
9
|
-
|
10
7
|
# {Top} of this configuration stack
|
11
8
|
attr_accessor :top
|
12
9
|
|
@@ -32,6 +29,23 @@ module Vagrant
|
|
32
29
|
end
|
33
30
|
end
|
34
31
|
|
32
|
+
# A helper to access the environment that this configuration is for.
|
33
|
+
# This is obtained by getting the env from the {Top}.
|
34
|
+
#
|
35
|
+
# @return [Vagrant::Envrionment]
|
36
|
+
def env
|
37
|
+
top.env
|
38
|
+
end
|
39
|
+
|
40
|
+
# Allows setting options from a hash. By default this simply calls
|
41
|
+
# the `#{key}=` method on the config class with the value, which is
|
42
|
+
# the expected behavior most of the time.
|
43
|
+
def set_options(options)
|
44
|
+
options.each do |key, value|
|
45
|
+
send("#{key}=", value)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
35
49
|
# Called by {Top} after the configuration is loaded to validate
|
36
50
|
# the configuaration objects. Subclasses should implement this
|
37
51
|
# method and add any errors to the `errors` object given.
|
data/lib/vagrant/config/ssh.rb
CHANGED
@@ -0,0 +1,61 @@
|
|
1
|
+
module Vagrant
|
2
|
+
class Config
|
3
|
+
# This class is the "top" configure class, which handles registering
|
4
|
+
# other configuration classes as well as validation of all configured
|
5
|
+
# classes. This is the object which is returned by {Environment#config}
|
6
|
+
# and has accessors to all other configuration classes.
|
7
|
+
#
|
8
|
+
# If you're looking to create your own configuration class, see {Base}.
|
9
|
+
class Top < Base
|
10
|
+
@@configures = {} if !defined?(@@configures)
|
11
|
+
|
12
|
+
# The environment that this configuration is for.
|
13
|
+
attr_reader :env
|
14
|
+
|
15
|
+
class << self
|
16
|
+
# The list of registered configuration classes as well as the key
|
17
|
+
# they're registered under.
|
18
|
+
def configures_list
|
19
|
+
@@configures ||= {}
|
20
|
+
end
|
21
|
+
|
22
|
+
# Registers a configuration class with the given key. This method shouldn't
|
23
|
+
# be called. Instead, inherit from {Base} and call {Base.configures}.
|
24
|
+
def configures(key, klass)
|
25
|
+
configures_list[key] = klass
|
26
|
+
attr_reader key.to_sym
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def initialize(env=nil)
|
31
|
+
self.class.configures_list.each do |key, klass|
|
32
|
+
config = klass.new
|
33
|
+
config.top = self
|
34
|
+
instance_variable_set("@#{key}".to_sym, config)
|
35
|
+
end
|
36
|
+
|
37
|
+
@env = env
|
38
|
+
end
|
39
|
+
|
40
|
+
# Validates the configuration classes of this instance and raises an
|
41
|
+
# exception if they are invalid. If you are implementing a custom configuration
|
42
|
+
# class, the method you want to implement is {Base#validate}. This is
|
43
|
+
# the method that checks all the validation, not one which defines
|
44
|
+
# validation rules.
|
45
|
+
def validate!
|
46
|
+
# Validate each of the configured classes and store the results into
|
47
|
+
# a hash.
|
48
|
+
errors = self.class.configures_list.inject({}) do |container, data|
|
49
|
+
key, _ = data
|
50
|
+
recorder = ErrorRecorder.new
|
51
|
+
send(key.to_sym).validate(recorder)
|
52
|
+
container[key.to_sym] = recorder if !recorder.errors.empty?
|
53
|
+
container
|
54
|
+
end
|
55
|
+
|
56
|
+
return if errors.empty?
|
57
|
+
raise Errors::ConfigValidationFailed, :messages => Util::TemplateRenderer.render("config/validation_failed", :errors => errors)
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
@@ -4,15 +4,10 @@ module Vagrant
|
|
4
4
|
configures :vagrant
|
5
5
|
|
6
6
|
attr_accessor :dotfile_name
|
7
|
-
attr_accessor :home
|
8
7
|
attr_accessor :host
|
9
8
|
|
10
|
-
def initialize
|
11
|
-
@home = nil
|
12
|
-
end
|
13
|
-
|
14
9
|
def validate(errors)
|
15
|
-
[:dotfile_name, :
|
10
|
+
[:dotfile_name, :host].each do |field|
|
16
11
|
errors.add(I18n.t("vagrant.config.common.error_empty", :field => field)) if !instance_variable_get("@#{field}".to_sym)
|
17
12
|
end
|
18
13
|
end
|
data/lib/vagrant/config/vm.rb
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
require 'vagrant/config/vm/sub_vm'
|
2
|
+
require 'vagrant/config/vm/provisioner'
|
3
|
+
|
1
4
|
module Vagrant
|
2
5
|
class Config
|
3
6
|
class VMConfig < Base
|
@@ -14,28 +17,17 @@ module Vagrant
|
|
14
17
|
attr_reader :forwarded_ports
|
15
18
|
attr_reader :shared_folders
|
16
19
|
attr_reader :network_options
|
17
|
-
attr_reader :
|
20
|
+
attr_reader :provisioners
|
18
21
|
attr_accessor :disk_image_format
|
19
|
-
attr_accessor :provisioner
|
20
22
|
attr_writer :shared_folder_uid
|
21
23
|
attr_writer :shared_folder_gid
|
22
24
|
attr_accessor :system
|
23
25
|
|
24
|
-
# Represents a SubVM. This class is only used here in the VMs
|
25
|
-
# hash.
|
26
|
-
class SubVM
|
27
|
-
include Util::StackedProcRunner
|
28
|
-
|
29
|
-
def options
|
30
|
-
@options ||= {}
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
26
|
def initialize
|
35
27
|
@forwarded_ports = {}
|
36
28
|
@shared_folders = {}
|
37
|
-
@provisioner = nil
|
38
29
|
@network_options = []
|
30
|
+
@provisioners = []
|
39
31
|
end
|
40
32
|
|
41
33
|
def forward_port(name, guestport, hostport, options=nil)
|
@@ -68,6 +60,17 @@ module Vagrant
|
|
68
60
|
@network_options[options[:adapter]] = options
|
69
61
|
end
|
70
62
|
|
63
|
+
def provision(name, options=nil, &block)
|
64
|
+
@provisioners << Provisioner.new(top, name, options, &block)
|
65
|
+
end
|
66
|
+
|
67
|
+
# This shows an error message to smooth the transition for the
|
68
|
+
# backwards incompatible provisioner syntax change introduced
|
69
|
+
# in Vagrant 0.7.0.
|
70
|
+
def provisioner=(_value)
|
71
|
+
raise Errors::VagrantError, :_key => :provisioner_equals_not_supported
|
72
|
+
end
|
73
|
+
|
71
74
|
def shared_folder_uid
|
72
75
|
@shared_folder_uid || env.config.ssh.username
|
73
76
|
end
|
@@ -95,14 +98,25 @@ module Vagrant
|
|
95
98
|
end
|
96
99
|
|
97
100
|
def define(name, options=nil, &block)
|
101
|
+
name = name.to_sym
|
98
102
|
options ||= {}
|
103
|
+
|
104
|
+
# Add the name to the array of VM keys. This array is used to
|
105
|
+
# preserve the order in which VMs are defined.
|
99
106
|
defined_vm_keys << name
|
100
|
-
|
101
|
-
|
102
|
-
defined_vms[name
|
107
|
+
|
108
|
+
# Add the SubVM to the hash of defined VMs
|
109
|
+
defined_vms[name] ||= SubVM.new
|
110
|
+
defined_vms[name].options.merge!(options)
|
111
|
+
defined_vms[name].push_proc(&block)
|
103
112
|
end
|
104
113
|
|
105
114
|
def validate(errors)
|
115
|
+
errors.add(I18n.t("vagrant.config.vm.box_missing")) if !box
|
116
|
+
errors.add(I18n.t("vagrant.config.vm.box_not_found", :name => box)) if box && !box_url && !env.box
|
117
|
+
errors.add(I18n.t("vagrant.config.vm.boot_mode_invalid")) if ![:vrdp, :gui].include?(boot_mode.to_sym)
|
118
|
+
errors.add(I18n.t("vagrant.config.vm.base_mac_invalid")) if env.box && !base_mac
|
119
|
+
|
106
120
|
shared_folders.each do |name, options|
|
107
121
|
if !File.directory?(File.expand_path(options[:hostpath].to_s, env.root_path))
|
108
122
|
errors.add(I18n.t("vagrant.config.vm.shared_folder_hostpath_missing",
|
@@ -111,10 +125,10 @@ module Vagrant
|
|
111
125
|
end
|
112
126
|
end
|
113
127
|
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
128
|
+
# Each provisioner can validate itself
|
129
|
+
provisioners.each do |prov|
|
130
|
+
prov.validate(errors)
|
131
|
+
end
|
118
132
|
end
|
119
133
|
end
|
120
134
|
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
module Vagrant
|
2
|
+
class Config
|
3
|
+
class VMConfig < Base
|
4
|
+
# Represents a single configured provisioner for a VM.
|
5
|
+
class Provisioner
|
6
|
+
attr_reader :top
|
7
|
+
attr_reader :shortcut
|
8
|
+
attr_reader :provisioner
|
9
|
+
attr_reader :config
|
10
|
+
|
11
|
+
def initialize(top, shortcut, options=nil, &block)
|
12
|
+
@top = top
|
13
|
+
@shortcut = shortcut
|
14
|
+
@provisioner = shortcut
|
15
|
+
@provisioner = Provisioners::Base.registered[shortcut] if shortcut.is_a?(Symbol)
|
16
|
+
@config = nil
|
17
|
+
|
18
|
+
configure(options, &block)
|
19
|
+
end
|
20
|
+
|
21
|
+
# Configures the provisioner if it can (if it is valid).
|
22
|
+
def configure(options=nil, &block)
|
23
|
+
# We don't want ancestors to be searched. This is the default in 1.8,
|
24
|
+
# but not in 1.9, hence this hackery.
|
25
|
+
const_args = ["Config"]
|
26
|
+
const_args << false if RUBY_VERSION >= "1.9"
|
27
|
+
|
28
|
+
# We assume that every provisioner has a `Config` class beneath
|
29
|
+
# it for configuring.
|
30
|
+
return if !@provisioner || !@provisioner.const_defined?(*const_args)
|
31
|
+
|
32
|
+
# Instantiate the config class and configure it
|
33
|
+
@config = @provisioner.const_get(*const_args).new
|
34
|
+
@config.top = top
|
35
|
+
@config.set_options(options) if options
|
36
|
+
block.call(@config) if block
|
37
|
+
end
|
38
|
+
|
39
|
+
def validate(errors)
|
40
|
+
if !provisioner
|
41
|
+
# If we don't have a provisioner then the whole thing is invalid.
|
42
|
+
errors.add(I18n.t("vagrant.config.vm.provisioner_not_found", :shortcut => shortcut))
|
43
|
+
return
|
44
|
+
end
|
45
|
+
|
46
|
+
if !(provisioner <= Provisioners::Base)
|
47
|
+
errors.add(I18n.t("vagrant.config.vm.provisioner_invalid_class", :shortcut => shortcut))
|
48
|
+
end
|
49
|
+
|
50
|
+
# Pass on validation to the provisioner config
|
51
|
+
config.validate(errors) if config
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Vagrant
|
2
|
+
class Config
|
3
|
+
class VMConfig < Base
|
4
|
+
# Represents a single sub-VM in a multi-VM environment.
|
5
|
+
class SubVM
|
6
|
+
include Util::StackedProcRunner
|
7
|
+
|
8
|
+
attr_reader :options
|
9
|
+
|
10
|
+
def initialize
|
11
|
+
@options = {}
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
@@ -25,7 +25,16 @@ module Vagrant
|
|
25
25
|
end
|
26
26
|
|
27
27
|
http.start do |h|
|
28
|
+
env.ui.info I18n.t("vagrant.downloaders.http.download", :url => source_url)
|
29
|
+
|
28
30
|
h.request_get(uri.request_uri) do |response|
|
31
|
+
if response.is_a?(Net::HTTPRedirection)
|
32
|
+
# Follow the HTTP redirect.
|
33
|
+
# TODO: Error on some redirect limit
|
34
|
+
download!(response["Location"], destination_file)
|
35
|
+
return
|
36
|
+
end
|
37
|
+
|
29
38
|
total = response.content_length
|
30
39
|
progress = 0
|
31
40
|
segment_count = 0
|
data/lib/vagrant/environment.rb
CHANGED
@@ -9,6 +9,7 @@ module Vagrant
|
|
9
9
|
ROOTFILE_NAME = "Vagrantfile"
|
10
10
|
HOME_SUBDIRS = ["tmp", "boxes", "logs"]
|
11
11
|
DEFAULT_VM = :default
|
12
|
+
DEFAULT_HOME = "~/.vagrant"
|
12
13
|
|
13
14
|
# Parent environment (in the case of multi-VMs)
|
14
15
|
attr_reader :parent
|
@@ -23,6 +24,9 @@ module Vagrant
|
|
23
24
|
# The {UI} object to communicate with the outside world.
|
24
25
|
attr_writer :ui
|
25
26
|
|
27
|
+
# The {Config} object representing the Vagrantfile loader
|
28
|
+
attr_reader :config_loader
|
29
|
+
|
26
30
|
#---------------------------------------------------------------
|
27
31
|
# Class Methods
|
28
32
|
#---------------------------------------------------------------
|
@@ -33,7 +37,6 @@ module Vagrant
|
|
33
37
|
version = VirtualBox.version
|
34
38
|
raise Errors::VirtualBoxNotDetected if version.nil?
|
35
39
|
raise Errors::VirtualBoxInvalidVersion, :version => version.to_s if version.to_f < 4.0
|
36
|
-
raise Errors::VirtualBoxInvalidOSE, :version => version.to_s if version.to_s.downcase.include?("ose")
|
37
40
|
rescue Errors::VirtualBoxNotDetected
|
38
41
|
# On 64-bit Windows, show a special error. This error is a subclass
|
39
42
|
# of VirtualBoxNotDetected, so libraries which use Vagrant can just
|
@@ -79,12 +82,11 @@ module Vagrant
|
|
79
82
|
root_path.join(config.vagrant.dotfile_name) rescue nil
|
80
83
|
end
|
81
84
|
|
82
|
-
# The path to the home directory
|
83
|
-
# and converted into a Pathname object.
|
85
|
+
# The path to the home directory and converted into a Pathname object.
|
84
86
|
#
|
85
87
|
# @return [Pathname]
|
86
88
|
def home_path
|
87
|
-
@_home_path ||= Pathname.new(File.expand_path(
|
89
|
+
@_home_path ||= Pathname.new(File.expand_path(ENV["VAGRANT_HOME"] || DEFAULT_HOME))
|
88
90
|
end
|
89
91
|
|
90
92
|
# The path to the Vagrant tmp directory
|
@@ -114,7 +116,8 @@ module Vagrant
|
|
114
116
|
#
|
115
117
|
# @return [String]
|
116
118
|
def resource
|
117
|
-
vm.name rescue
|
119
|
+
result = vm.name rescue nil
|
120
|
+
result || "vagrant"
|
118
121
|
end
|
119
122
|
|
120
123
|
# Returns the collection of boxes for the environment.
|
@@ -146,7 +149,7 @@ module Vagrant
|
|
146
149
|
#
|
147
150
|
# @return [Array<VM>]
|
148
151
|
def vms_ordered
|
149
|
-
@vms_enum ||= config.vm.defined_vm_keys.map {|name| @vms[name]}
|
152
|
+
@vms_enum ||= config.vm.defined_vm_keys.map { |name| @vms[name] }
|
150
153
|
end
|
151
154
|
|
152
155
|
# Returns the primary VM associated with this environment. This
|
@@ -305,6 +308,14 @@ module Vagrant
|
|
305
308
|
self
|
306
309
|
end
|
307
310
|
|
311
|
+
# Reloads the configuration of this environment.
|
312
|
+
def reload_config!
|
313
|
+
@config = nil
|
314
|
+
@config_loader = nil
|
315
|
+
load_config!
|
316
|
+
self
|
317
|
+
end
|
318
|
+
|
308
319
|
# Loads this environment's configuration and stores it in the {#config}
|
309
320
|
# variable. The configuration loaded by this method is specified to
|
310
321
|
# this environment, meaning that it will use the given root directory
|
@@ -313,22 +324,23 @@ module Vagrant
|
|
313
324
|
first_run = @config.nil?
|
314
325
|
|
315
326
|
# First load the initial, non config-dependent Vagrantfiles
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
327
|
+
@config_loader ||= Config.new(parent ? parent.config_loader : nil)
|
328
|
+
@config_loader.load_order = [:default, :box, :home, :root, :sub_vm]
|
329
|
+
@config_loader.set(:default, File.expand_path("config/default.rb", Vagrant.source_root))
|
330
|
+
@config_loader.set(:box, File.join(box.directory, ROOTFILE_NAME)) if !first_run && vm && box
|
331
|
+
@config_loader.set(:home, File.join(home_path, ROOTFILE_NAME)) if !first_run && home_path
|
332
|
+
@config_loader.set(:root, File.join(root_path, ROOTFILE_NAME)) if root_path
|
321
333
|
|
322
334
|
# If this environment is representing a sub-VM, then we push that
|
323
335
|
# proc on as the last configuration.
|
324
336
|
if vm
|
325
337
|
subvm = parent.config.vm.defined_vms[vm.name]
|
326
|
-
|
338
|
+
@config_loader.set(:sub_vm, subvm.proc_stack) if subvm
|
327
339
|
end
|
328
340
|
|
329
341
|
# Execute the configuration stack and store the result as the final
|
330
342
|
# value in the config ivar.
|
331
|
-
@config =
|
343
|
+
@config = @config_loader.load(self)
|
332
344
|
|
333
345
|
# (re)load the logger
|
334
346
|
@logger = nil
|
data/lib/vagrant/errors.rb
CHANGED
@@ -230,16 +230,6 @@ module Vagrant
|
|
230
230
|
error_key(:dotfile_error, "vagrant.actions.vm.persist")
|
231
231
|
end
|
232
232
|
|
233
|
-
class ProvisionInvalidClass < VagrantError
|
234
|
-
status_code(35)
|
235
|
-
error_key(:invalid_class, "vagrant.actions.vm.provision")
|
236
|
-
end
|
237
|
-
|
238
|
-
class ProvisionUnknownType < VagrantError
|
239
|
-
status_code(36)
|
240
|
-
error_key(:unknown_type, "vagrant.actions.vm.provision")
|
241
|
-
end
|
242
|
-
|
243
233
|
class SSHAuthenticationFailed < VagrantError
|
244
234
|
status_code(11)
|
245
235
|
error_key(:ssh_authentication_failed)
|
@@ -275,11 +265,6 @@ module Vagrant
|
|
275
265
|
error_key(:vagrantfile_syntax_error)
|
276
266
|
end
|
277
267
|
|
278
|
-
class VirtualBoxInvalidOSE < VagrantError
|
279
|
-
status_code(9)
|
280
|
-
error_key(:virtualbox_invalid_ose)
|
281
|
-
end
|
282
|
-
|
283
268
|
class VirtualBoxInvalidVersion < VagrantError
|
284
269
|
status_code(17)
|
285
270
|
error_key(:virtualbox_invalid_version)
|