vagrant 0.3.4 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +2 -2
- data/README.md +2 -2
- data/Rakefile +1 -1
- data/VERSION +1 -1
- data/config/default.rb +13 -3
- data/lib/vagrant.rb +10 -13
- data/lib/vagrant/actions/base.rb +14 -2
- data/lib/vagrant/actions/box/download.rb +2 -7
- data/lib/vagrant/actions/box/verify.rb +1 -1
- data/lib/vagrant/actions/runner.rb +0 -1
- data/lib/vagrant/actions/vm/boot.rb +2 -6
- data/lib/vagrant/actions/vm/customize.rb +7 -5
- data/lib/vagrant/actions/vm/destroy.rb +4 -3
- data/lib/vagrant/actions/vm/down.rb +6 -3
- data/lib/vagrant/actions/vm/export.rb +2 -4
- data/lib/vagrant/actions/vm/forward_ports.rb +77 -16
- data/lib/vagrant/actions/vm/halt.rb +10 -2
- data/lib/vagrant/actions/vm/import.rb +2 -4
- data/lib/vagrant/actions/vm/move_hard_drive.rb +2 -2
- data/lib/vagrant/actions/vm/network.rb +120 -0
- data/lib/vagrant/actions/vm/package.rb +11 -7
- data/lib/vagrant/actions/vm/provision.rb +3 -3
- data/lib/vagrant/actions/vm/reload.rb +2 -9
- data/lib/vagrant/actions/vm/shared_folders.rb +19 -39
- data/lib/vagrant/actions/vm/start.rb +10 -2
- data/lib/vagrant/actions/vm/up.rb +5 -6
- data/lib/vagrant/active_list.rb +23 -13
- data/lib/vagrant/box.rb +2 -2
- data/lib/vagrant/busy.rb +3 -3
- data/lib/vagrant/command.rb +2 -2
- data/lib/vagrant/commands/base.rb +40 -20
- data/lib/vagrant/commands/destroy.rb +17 -3
- data/lib/vagrant/commands/halt.rb +23 -3
- data/lib/vagrant/commands/package.rb +54 -14
- data/lib/vagrant/commands/provision.rb +31 -0
- data/lib/vagrant/commands/reload.rb +16 -3
- data/lib/vagrant/commands/resume.rb +16 -3
- data/lib/vagrant/commands/ssh.rb +25 -3
- data/lib/vagrant/commands/ssh_config.rb +20 -5
- data/lib/vagrant/commands/status.rb +107 -40
- data/lib/vagrant/commands/suspend.rb +16 -3
- data/lib/vagrant/commands/up.rb +26 -7
- data/lib/vagrant/config.rb +82 -12
- data/lib/vagrant/downloaders/base.rb +8 -1
- data/lib/vagrant/downloaders/http.rb +31 -19
- data/lib/vagrant/environment.rb +146 -49
- data/lib/vagrant/provisioners/base.rb +19 -5
- data/lib/vagrant/provisioners/chef.rb +12 -4
- data/lib/vagrant/provisioners/chef_server.rb +13 -6
- data/lib/vagrant/provisioners/chef_solo.rb +7 -3
- data/lib/vagrant/resource_logger.rb +126 -0
- data/lib/vagrant/ssh.rb +109 -8
- data/lib/vagrant/systems/base.rb +70 -0
- data/lib/vagrant/systems/linux.rb +137 -0
- data/lib/vagrant/util.rb +1 -45
- data/lib/vagrant/util/error_helper.rb +13 -0
- data/lib/vagrant/util/glob_loader.rb +22 -0
- data/lib/vagrant/util/output_helper.rb +9 -0
- data/lib/vagrant/util/plain_logger.rb +12 -0
- data/lib/vagrant/util/platform.rb +7 -2
- data/lib/vagrant/util/template_renderer.rb +2 -2
- data/lib/vagrant/util/translator.rb +35 -0
- data/lib/vagrant/vm.rb +91 -10
- data/templates/crontab_entry.erb +1 -0
- data/templates/network_entry.erb +8 -0
- data/templates/ssh_config.erb +1 -0
- data/templates/{errors.yml → strings.yml} +111 -3
- data/templates/sync.erb +14 -0
- data/test/test_helper.rb +46 -3
- data/test/vagrant/actions/box/download_test.rb +0 -17
- data/test/vagrant/actions/vm/boot_test.rb +3 -10
- data/test/vagrant/actions/vm/customize_test.rb +6 -0
- data/test/vagrant/actions/vm/destroy_test.rb +6 -5
- data/test/vagrant/actions/vm/down_test.rb +5 -11
- data/test/vagrant/actions/vm/export_test.rb +1 -0
- data/test/vagrant/actions/vm/forward_ports_test.rb +92 -15
- data/test/vagrant/actions/vm/halt_test.rb +36 -4
- data/test/vagrant/actions/vm/import_test.rb +2 -0
- data/test/vagrant/actions/vm/network_test.rb +237 -0
- data/test/vagrant/actions/vm/package_test.rb +35 -5
- data/test/vagrant/actions/vm/provision_test.rb +3 -3
- data/test/vagrant/actions/vm/reload_test.rb +1 -1
- data/test/vagrant/actions/vm/shared_folders_test.rb +41 -74
- data/test/vagrant/actions/vm/start_test.rb +41 -3
- data/test/vagrant/actions/vm/up_test.rb +10 -21
- data/test/vagrant/active_list_test.rb +28 -43
- data/test/vagrant/commands/base_test.rb +25 -4
- data/test/vagrant/commands/destroy_test.rb +24 -12
- data/test/vagrant/commands/halt_test.rb +33 -11
- data/test/vagrant/commands/package_test.rb +77 -57
- data/test/vagrant/commands/provision_test.rb +50 -0
- data/test/vagrant/commands/reload_test.rb +27 -11
- data/test/vagrant/commands/resume_test.rb +25 -14
- data/test/vagrant/commands/ssh_config_test.rb +40 -17
- data/test/vagrant/commands/ssh_test.rb +52 -13
- data/test/vagrant/commands/status_test.rb +21 -1
- data/test/vagrant/commands/suspend_test.rb +25 -14
- data/test/vagrant/commands/up_test.rb +25 -19
- data/test/vagrant/config_test.rb +74 -18
- data/test/vagrant/downloaders/base_test.rb +2 -1
- data/test/vagrant/downloaders/http_test.rb +18 -8
- data/test/vagrant/environment_test.rb +245 -77
- data/test/vagrant/provisioners/base_test.rb +4 -4
- data/test/vagrant/provisioners/chef_server_test.rb +18 -7
- data/test/vagrant/provisioners/chef_solo_test.rb +17 -7
- data/test/vagrant/provisioners/chef_test.rb +22 -9
- data/test/vagrant/resource_logger_test.rb +144 -0
- data/test/vagrant/ssh_session_test.rb +46 -0
- data/test/vagrant/ssh_test.rb +42 -2
- data/test/vagrant/systems/linux_test.rb +174 -0
- data/test/vagrant/util/error_helper_test.rb +5 -0
- data/test/vagrant/util/output_helper_test.rb +5 -0
- data/test/vagrant/util/plain_logger_test.rb +17 -0
- data/test/vagrant/util/platform_test.rb +18 -0
- data/test/vagrant/util/{errors_test.rb → translator_test.rb} +25 -21
- data/test/vagrant/util_test.rb +12 -49
- data/test/vagrant/vm_test.rb +133 -11
- data/vagrant.gemspec +39 -15
- metadata +64 -40
- data/lib/vagrant/commands/down.rb +0 -16
- data/lib/vagrant/util/errors.rb +0 -36
- data/lib/vagrant/util/progress_meter.rb +0 -33
- data/test/vagrant/commands/down_test.rb +0 -17
- data/test/vagrant/util/progress_meter_test.rb +0 -33
data/lib/vagrant/util.rb
CHANGED
@@ -1,51 +1,7 @@
|
|
1
1
|
module Vagrant
|
2
2
|
module Util
|
3
3
|
def self.included(base)
|
4
|
-
base.extend
|
5
|
-
end
|
6
|
-
|
7
|
-
def wrap_output
|
8
|
-
puts "====================================================================="
|
9
|
-
yield
|
10
|
-
puts "====================================================================="
|
11
|
-
end
|
12
|
-
|
13
|
-
def error_and_exit(key, data = {})
|
14
|
-
abort <<-error
|
15
|
-
=====================================================================
|
16
|
-
Vagrant experienced an error!
|
17
|
-
|
18
|
-
#{Errors.error_string(key, data).chomp}
|
19
|
-
=====================================================================
|
20
|
-
error
|
21
|
-
end
|
22
|
-
|
23
|
-
def logger
|
24
|
-
Logger.singleton_logger
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
class Logger < ::Logger
|
29
|
-
@@singleton_logger = nil
|
30
|
-
|
31
|
-
class << self
|
32
|
-
def singleton_logger
|
33
|
-
# TODO: Buffer messages until config is loaded, then output them?
|
34
|
-
if Vagrant.config.loaded?
|
35
|
-
@@singleton_logger ||= Vagrant::Logger.new(Vagrant.config.vagrant.log_output)
|
36
|
-
else
|
37
|
-
Vagrant::Logger.new(nil)
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
def reset_logger!
|
42
|
-
@@singleton_logger = nil
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
def format_message(level, time, progname, msg)
|
47
|
-
"[#{level} #{time.strftime('%m-%d-%Y %X')}] Vagrant: #{msg}\n"
|
4
|
+
base.extend(self)
|
48
5
|
end
|
49
6
|
end
|
50
7
|
end
|
51
|
-
|
@@ -0,0 +1,13 @@
|
|
1
|
+
module Vagrant
|
2
|
+
module Util
|
3
|
+
def error_and_exit(key, data = {})
|
4
|
+
abort <<-error
|
5
|
+
=====================================================================
|
6
|
+
Vagrant experienced an error!
|
7
|
+
|
8
|
+
#{Translator.t(key, data).chomp}
|
9
|
+
=====================================================================
|
10
|
+
error
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Vagrant
|
2
|
+
# Eases the processes of loading specific files then globbing
|
3
|
+
# the rest from a specified directory.
|
4
|
+
module GlobLoader
|
5
|
+
# Glob requires all ruby files in a directory, optionally loading select
|
6
|
+
# files initially (since others may depend on them).
|
7
|
+
#
|
8
|
+
# @param [String] dir The directory to glob
|
9
|
+
# @param [Array<String>] initial_files Initial files (relative to `dir`)
|
10
|
+
# to load
|
11
|
+
def self.glob_require(dir, initial_files=[])
|
12
|
+
initial_files.each do |file|
|
13
|
+
require File.expand_path(file, dir)
|
14
|
+
end
|
15
|
+
|
16
|
+
# Glob require the rest
|
17
|
+
Dir[File.join(dir, "**", "*.rb")].each do |f|
|
18
|
+
require File.expand_path(f)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
module Vagrant
|
2
|
+
module Util
|
3
|
+
# Subclass of the standard library logger which has no format on
|
4
|
+
# its own. The message sent to the logger is outputted as-is.
|
5
|
+
class PlainLogger < ::Logger
|
6
|
+
def format_message(level, time, progname, msg)
|
7
|
+
# We do no formatting, its up to the user
|
8
|
+
"#{msg}\n"
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -2,11 +2,16 @@ module Vagrant
|
|
2
2
|
module Util
|
3
3
|
# This class just contains some platform checking code.
|
4
4
|
class Platform
|
5
|
-
class <<self
|
5
|
+
class << self
|
6
6
|
def leopard?
|
7
7
|
RUBY_PLATFORM.downcase.include?("darwin9")
|
8
8
|
end
|
9
|
+
|
10
|
+
def tar_file_options
|
11
|
+
# create, write only, fail if the file exists, binary if windows
|
12
|
+
File::WRONLY|File::EXCL|File::CREAT|(Mario::Platform.windows? ? File::BINARY : 0)
|
13
|
+
end
|
9
14
|
end
|
10
15
|
end
|
11
16
|
end
|
12
|
-
end
|
17
|
+
end
|
@@ -6,7 +6,7 @@ module Vagrant
|
|
6
6
|
# This class is used to render the ERB templates in the
|
7
7
|
# `GEM_ROOT/templates` directory.
|
8
8
|
class TemplateRenderer < OpenStruct
|
9
|
-
class <<self
|
9
|
+
class << self
|
10
10
|
# Render a given template and return the result. This method optionally
|
11
11
|
# takes a block which will be passed the renderer prior to rendering, which
|
12
12
|
# allows the caller to set any view variables within the renderer itself.
|
@@ -80,4 +80,4 @@ module Vagrant
|
|
80
80
|
end
|
81
81
|
end
|
82
82
|
end
|
83
|
-
end
|
83
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'yaml'
|
2
|
+
|
3
|
+
module Vagrant
|
4
|
+
module Util
|
5
|
+
# This class is responsible for reading static messages from the strings.yml file.
|
6
|
+
class Translator
|
7
|
+
@@strings = nil
|
8
|
+
|
9
|
+
class <<self
|
10
|
+
# Resets the internal strings hash to nil, forcing a reload on the next
|
11
|
+
# access of {strings}.
|
12
|
+
def reset!
|
13
|
+
@@strings = nil
|
14
|
+
end
|
15
|
+
|
16
|
+
# Returns the hash of strings from the error YML files. This only loads once,
|
17
|
+
# then returns a cached value until {reset!} is called.
|
18
|
+
#
|
19
|
+
# @return [Hash]
|
20
|
+
def strings
|
21
|
+
@@strings ||= YAML.load_file(File.join(PROJECT_ROOT, "templates", "strings.yml"))
|
22
|
+
end
|
23
|
+
|
24
|
+
# Renders the string with the given key and data parameters and returns
|
25
|
+
# the rendered result.
|
26
|
+
#
|
27
|
+
# @return [String]
|
28
|
+
def t(key, data = {})
|
29
|
+
template = strings[key] || "Unknown strings key: #{key}"
|
30
|
+
TemplateRenderer.render_string(template, data)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
data/lib/vagrant/vm.rb
CHANGED
@@ -2,22 +2,87 @@ module Vagrant
|
|
2
2
|
class VM < Actions::Runner
|
3
3
|
include Vagrant::Util
|
4
4
|
|
5
|
-
|
5
|
+
attr_reader :env
|
6
|
+
attr_reader :system
|
7
|
+
attr_reader :name
|
6
8
|
attr_accessor :vm
|
7
|
-
attr_accessor :from
|
8
9
|
|
9
10
|
class << self
|
10
11
|
# Finds a virtual machine by a given UUID and either returns
|
11
12
|
# a Vagrant::VM object or returns nil.
|
12
|
-
def find(uuid)
|
13
|
+
def find(uuid, env=nil, vm_name=nil)
|
13
14
|
vm = VirtualBox::VM.find(uuid)
|
14
|
-
|
15
|
-
new(vm)
|
15
|
+
new(:vm => vm, :env => env, :vm_name => vm_name)
|
16
16
|
end
|
17
17
|
end
|
18
18
|
|
19
|
-
def initialize(
|
20
|
-
|
19
|
+
def initialize(opts=nil)
|
20
|
+
defaults = {
|
21
|
+
:vm => nil,
|
22
|
+
:env => nil,
|
23
|
+
:vm_name => nil
|
24
|
+
}
|
25
|
+
|
26
|
+
opts = defaults.merge(opts || {})
|
27
|
+
|
28
|
+
@vm = opts[:vm]
|
29
|
+
@name = opts[:vm_name]
|
30
|
+
|
31
|
+
if !opts[:env].nil?
|
32
|
+
# We have an environment, so we create a new child environment
|
33
|
+
# specifically for this VM. This step will load any custom
|
34
|
+
# config and such.
|
35
|
+
@env = Vagrant::Environment.new({
|
36
|
+
:cwd => opts[:env].cwd,
|
37
|
+
:parent => opts[:env],
|
38
|
+
:vm_name => opts[:vm_name],
|
39
|
+
:vm => self
|
40
|
+
}).load!
|
41
|
+
|
42
|
+
# Load the associated system.
|
43
|
+
load_system!
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
# Loads the system associated with the VM. The system class is
|
48
|
+
# responsible for OS-specific functionality. More information
|
49
|
+
# can be found by reading the documentation on {Vagrant::Systems::Base}.
|
50
|
+
#
|
51
|
+
# **This method should never be called manually.**
|
52
|
+
def load_system!
|
53
|
+
system = env.config.vm.system
|
54
|
+
|
55
|
+
if system.is_a?(Class)
|
56
|
+
@system = system.new(self)
|
57
|
+
error_and_exit(:system_invalid_class, :system => system.to_s) unless @system.is_a?(Systems::Base)
|
58
|
+
elsif system.is_a?(Symbol)
|
59
|
+
# Hard-coded internal systems
|
60
|
+
mapping = { :linux => Systems::Linux }
|
61
|
+
|
62
|
+
if !mapping.has_key?(system)
|
63
|
+
error_and_exit(:system_unknown_type, :system => system.to_s)
|
64
|
+
return # for tests
|
65
|
+
end
|
66
|
+
|
67
|
+
@system = mapping[system].new(self)
|
68
|
+
else
|
69
|
+
error_and_exit(:system_unspecified)
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
# Access the {Vagrant::SSH} object associated with this VM.
|
74
|
+
# On the initial call, this will initialize the object. On
|
75
|
+
# subsequent calls it will reuse the existing object.
|
76
|
+
def ssh
|
77
|
+
@ssh ||= SSH.new(env)
|
78
|
+
end
|
79
|
+
|
80
|
+
# Returns a boolean true if the VM has been created, otherwise
|
81
|
+
# returns false.
|
82
|
+
#
|
83
|
+
# @return [Boolean]
|
84
|
+
def created?
|
85
|
+
!vm.nil?
|
21
86
|
end
|
22
87
|
|
23
88
|
def uuid
|
@@ -28,18 +93,34 @@ module Vagrant
|
|
28
93
|
@vm = VirtualBox::VM.find(@vm.uuid)
|
29
94
|
end
|
30
95
|
|
31
|
-
def package(
|
32
|
-
add_action(Actions::VM::Export)
|
33
|
-
add_action(Actions::VM::Package,
|
96
|
+
def package(options=nil)
|
97
|
+
add_action(Actions::VM::Export, options)
|
98
|
+
add_action(Actions::VM::Package, options)
|
34
99
|
execute!
|
35
100
|
end
|
36
101
|
|
102
|
+
def up(options=nil)
|
103
|
+
execute!(Actions::VM::Up, options)
|
104
|
+
end
|
105
|
+
|
37
106
|
def start
|
38
107
|
return if @vm.running?
|
39
108
|
|
40
109
|
execute!(Actions::VM::Start)
|
41
110
|
end
|
42
111
|
|
112
|
+
def halt(options=nil)
|
113
|
+
execute!(Actions::VM::Halt, options)
|
114
|
+
end
|
115
|
+
|
116
|
+
def reload
|
117
|
+
execute!(Actions::VM::Reload)
|
118
|
+
end
|
119
|
+
|
120
|
+
def provision
|
121
|
+
execute!(Actions::VM::Provision)
|
122
|
+
end
|
123
|
+
|
43
124
|
def destroy
|
44
125
|
execute!(Actions::VM::Down)
|
45
126
|
end
|
@@ -0,0 +1 @@
|
|
1
|
+
* * * * * <%= scriptname %> '<%= syncopts %>' '<%= guestpath %>' '<%= syncpath %>' '-prefer <%= guestpath %>'
|
@@ -0,0 +1,8 @@
|
|
1
|
+
#VAGRANT-BEGIN
|
2
|
+
# The contents below are automatically generated by Vagrant.
|
3
|
+
# Please do not modify any of these contents.
|
4
|
+
auto eth<%= net_options[:adapter] %>
|
5
|
+
iface eth<%= net_options[:adapter] %> inet static
|
6
|
+
address <%= net_options[:ip] %>
|
7
|
+
netmask <%= net_options[:netmask] %>
|
8
|
+
#VAGRANT-END
|
data/templates/ssh_config.erb
CHANGED
@@ -3,6 +3,46 @@
|
|
3
3
|
# In short, | means keep new lines, trim whitespace left and right
|
4
4
|
# The |- does the above, but trims the new line at the end of all text
|
5
5
|
|
6
|
+
#---------------------------------------------------------------------
|
7
|
+
# CATEGORY: Status Messages
|
8
|
+
#---------------------------------------------------------------------
|
9
|
+
:status_listing: |-
|
10
|
+
This environment represents multiple VMs. The VMs will be listed
|
11
|
+
below with a short status. For more detailed information about a
|
12
|
+
VM, run `vagrant status NAME`.
|
13
|
+
:status_no_environment: |-
|
14
|
+
No vagrant environment detected. Run `vagrant init` to setup a Vagrantfile
|
15
|
+
in the current directory to get started with Vagrant.
|
16
|
+
:status_not_created: |-
|
17
|
+
The environment has not yet been created. Run `vagrant up` to create the
|
18
|
+
environment.
|
19
|
+
:status_created: |-
|
20
|
+
The environment has been created. The status of the current environment's
|
21
|
+
virtual machine is: "<%= vm_state %>"
|
22
|
+
|
23
|
+
<%= additional_message %>
|
24
|
+
:status_created_running: |-
|
25
|
+
To stop this VM, you can run `vagrant halt` to shut it down forcefully,
|
26
|
+
or you can run `vagrant suspend` to simply suspend the virtual machine.
|
27
|
+
In either case, to restart it again, simply run a `vagrant up`.
|
28
|
+
:status_created_saved: |-
|
29
|
+
To resume this VM, simply run `vagrant up`.
|
30
|
+
:status_created_powered_off: |-
|
31
|
+
To restart this VM, simply run `vagrant up`.
|
32
|
+
:status_global: |-
|
33
|
+
Below is a list of virtual machines which are currently created and were
|
34
|
+
created by a Vagrant environment. The path listed was the "last known path"
|
35
|
+
of the environment (it may have moved).
|
36
|
+
|
37
|
+
<%= entries.join("\n\n") %>
|
38
|
+
:status_global_entry: |-
|
39
|
+
Name: <%= vm.vm.name %>
|
40
|
+
Path: <%= data["path"] %>
|
41
|
+
Created at: <%= Time.at(data["created_at"]) %>
|
42
|
+
|
43
|
+
#---------------------------------------------------------------------
|
44
|
+
# CATEGORY: Error Messages
|
45
|
+
#---------------------------------------------------------------------
|
6
46
|
:box_already_exists: |-
|
7
47
|
This box appears to already exist! Please call `vagrant box remove <%= box_name %>`
|
8
48
|
and then try to add it again.
|
@@ -38,6 +78,11 @@
|
|
38
78
|
The validation key set for `config.chef.validation_key_path` does not exist! This
|
39
79
|
file needs to exist so it can be uploaded to the virtual machine. It is
|
40
80
|
currently set to "<%= Vagrant.config.chef.validation_key_path %>"
|
81
|
+
:chef_not_detected: |-
|
82
|
+
The `<%= binary %>` binary appears to not be in the PATH of the guest. This
|
83
|
+
could be because the PATH is not properly setup or perhaps chef is not
|
84
|
+
installed on this guest. Chef provisioning can not continue without
|
85
|
+
chef properly installed.
|
41
86
|
:command_box_invalid: |-
|
42
87
|
Please specify a valid action to take on the boxes, either
|
43
88
|
`add` or `remove`. Examples:
|
@@ -45,9 +90,6 @@
|
|
45
90
|
vagrant box add name uri
|
46
91
|
vagrant box remove name
|
47
92
|
vagrant box list
|
48
|
-
:command_deprecation_down: |-
|
49
|
-
`vagrant down` is now `vagrant destroy`. Please use that command instead. This
|
50
|
-
warning will be removed in future versions.
|
51
93
|
:dotfile_error: |-
|
52
94
|
The dotfile which Vagrant uses to store the UUID of the project's
|
53
95
|
virtual machine already exists and is not a file! The dotfile is
|
@@ -69,8 +111,18 @@
|
|
69
111
|
already be created, but unfortunately this vagrant still appears to
|
70
112
|
have no box! You can setup the environment by setting up your
|
71
113
|
<%= Vagrant::Environment::ROOTFILE_NAME %> and running `vagrant up`
|
114
|
+
:network_not_found: |-
|
115
|
+
The specified host network could not be found: <%= name %>.
|
116
|
+
If the name specification is removed, Vagrant will create a new
|
117
|
+
host only network for you. Alternatively, please create the
|
118
|
+
specified network manually.
|
72
119
|
:package_include_file_doesnt_exist: |-
|
73
120
|
File specified to include: '<%= filename %>' does not exist!
|
121
|
+
:package_multivm: |-
|
122
|
+
Because this Vagrant environment represents multiple VMs, a
|
123
|
+
specific VM must be specified. This can be done by calling
|
124
|
+
`vagrant package NAME` where NAME is a valid VM represented by
|
125
|
+
your Vagrantfile.
|
74
126
|
:package_requires_export: |-
|
75
127
|
Package must be used in conjunction with export.
|
76
128
|
:provisioner_invalid_class: |-
|
@@ -92,6 +144,11 @@
|
|
92
144
|
permissions on the following file to 0600 and then try running this command again:
|
93
145
|
|
94
146
|
<%= key_path %>
|
147
|
+
:ssh_bad_exit_status: |-
|
148
|
+
The following SSH command responded with a non-zero exit status.
|
149
|
+
Vagrant assumes that this means the command failed!
|
150
|
+
|
151
|
+
<%= command %>
|
95
152
|
:ssh_unavailable_windows: |-
|
96
153
|
`vagrant ssh` isn't available on the Windows platform. The
|
97
154
|
vagrant.ppk file is available at
|
@@ -106,7 +163,37 @@
|
|
106
163
|
For a more detailed guide please consult:
|
107
164
|
|
108
165
|
http://vagrantup.com/docs/getting-started/windows.html
|
166
|
+
:ssh_multivm: |-
|
167
|
+
Because this Vagrant environment represents multiple VMs, a
|
168
|
+
specific VM must be specified. This can be done by calling
|
169
|
+
`vagrant ssh NAME` where NAME is a valid VM represented by
|
170
|
+
your Vagrantfile.
|
171
|
+
|
172
|
+
Alternatively, if you mark one of your VMs as 'primary,'
|
173
|
+
then Vagrant will default to that VM. This can be done by
|
174
|
+
specifying `:primary => true` when defining the VM. Example:
|
109
175
|
|
176
|
+
config.vm.define(:foo, :primary => true) do |config|
|
177
|
+
...
|
178
|
+
end
|
179
|
+
:ssh_config_multivm: |-
|
180
|
+
Because this Vagrant environment represents multiple VMs, a
|
181
|
+
specific VM must be specified. This can be done by calling
|
182
|
+
`vagrant ssh-config NAME` where NAME is a valid VM represented by
|
183
|
+
your Vagrantfile.
|
184
|
+
:system_invalid_class: |-
|
185
|
+
The specified system does not inherit from `Vagrant::Systems::Base`. The
|
186
|
+
specified system class must inherit from this class.
|
187
|
+
|
188
|
+
The specified system class was: <%= system %>
|
189
|
+
:system_unknown_type: |-
|
190
|
+
The specified system type is unknown: <%= system %>. Please change this
|
191
|
+
to a proper value.
|
192
|
+
:system_unspecified: |-
|
193
|
+
A VM system type must be specified! This is done via the `config.vm.system`
|
194
|
+
configuration value. Please read the documentation online for more information.
|
195
|
+
:unknown_vm: |-
|
196
|
+
The specified VM could not be found: <%= vm %>
|
110
197
|
:virtualbox_import_failure: |-
|
111
198
|
The VM import failed! Try running `VBoxManage import` on the box file
|
112
199
|
manually for more verbose error output.
|
@@ -133,6 +220,13 @@
|
|
133
220
|
The vagrant virtual environment you are trying to suspend must be running to be suspended.
|
134
221
|
:vm_not_suspended: |-
|
135
222
|
The vagrant virtual environment you are trying to resume is not in a suspended state.
|
223
|
+
:vm_port_auto_empty: |-
|
224
|
+
Vagrant found a port collision for the specified port and virtual machine.
|
225
|
+
While this port was marked to be auto-corrected, the ports in the
|
226
|
+
auto-correction range are all also used.
|
227
|
+
|
228
|
+
VM: <%= vm_name %>
|
229
|
+
Forwarded port: <%= name %> (<%= options[:guestport] %> => <%= options[:hostport] %>)
|
136
230
|
:vm_port_collision: |-
|
137
231
|
Vagrant cannot forward the specified ports on this VM, since they
|
138
232
|
would collide with another VirtualBox virtual machine's forwarded
|
@@ -163,3 +257,17 @@
|
|
163
257
|
|
164
258
|
If the box was built for 0.2.x and contains a custom public key, perhaps
|
165
259
|
the path to the private key is incorrect. Check your `config.ssh.private_key_path`.
|
260
|
+
|
261
|
+
#---------------------------------------------------------------------
|
262
|
+
# CATEGORY: Error Messages for Linux System
|
263
|
+
#---------------------------------------------------------------------
|
264
|
+
:network_not_debian: |-
|
265
|
+
Host only networking is only supported for Debian/Ubuntu by the built-in
|
266
|
+
"Linux" system. If you're using some other distro and want to implement
|
267
|
+
host only networking, please subclass the `Vagrant::Systems::Linux` class
|
268
|
+
and implement the `prepare_host_only_network` and `enable_host_only_network`
|
269
|
+
methods.
|
270
|
+
|
271
|
+
Otherwise, please report your distro and how to modify network interfaces
|
272
|
+
to the Vagrant mailing list or IRC and we'll probably be glad to add it
|
273
|
+
to the internal systems.
|