vagrant 0.8.10 → 0.9.0
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/CHANGELOG.md +77 -1
- data/Gemfile +0 -14
- data/LICENSE +1 -1
- data/bin/vagrant +47 -20
- data/config/default.rb +6 -14
- data/lib/vagrant.rb +132 -5
- data/lib/vagrant/action.rb +45 -123
- data/lib/vagrant/action/box/destroy.rb +7 -3
- data/lib/vagrant/action/box/download.rb +8 -8
- data/lib/vagrant/action/box/package.rb +2 -2
- data/lib/vagrant/action/box/unpackage.rb +13 -7
- data/lib/vagrant/action/box/verify.rb +5 -5
- data/lib/vagrant/action/builder.rb +23 -19
- data/lib/vagrant/action/builtin.rb +117 -79
- data/lib/vagrant/action/env/set.rb +7 -4
- data/lib/vagrant/action/environment.rb +3 -41
- data/lib/vagrant/action/general/package.rb +14 -29
- data/lib/vagrant/action/general/validate.rb +2 -2
- data/lib/vagrant/action/runner.rb +53 -0
- data/lib/vagrant/action/vm/boot.rb +9 -9
- data/lib/vagrant/action/vm/check_accessible.rb +2 -2
- data/lib/vagrant/action/vm/check_box.rb +10 -12
- data/lib/vagrant/action/vm/check_guest_additions.rb +8 -8
- data/lib/vagrant/action/vm/check_port_collisions.rb +85 -0
- data/lib/vagrant/action/vm/clean_machine_folder.rb +4 -4
- data/lib/vagrant/action/vm/clear_forwarded_ports.rb +3 -11
- data/lib/vagrant/action/vm/clear_network_interfaces.rb +31 -0
- data/lib/vagrant/action/vm/clear_shared_folders.rb +2 -11
- data/lib/vagrant/action/vm/customize.rb +19 -9
- data/lib/vagrant/action/vm/destroy.rb +4 -4
- data/lib/vagrant/action/vm/destroy_unused_network_interfaces.rb +2 -12
- data/lib/vagrant/action/vm/discard_state.rb +4 -4
- data/lib/vagrant/action/vm/export.rb +13 -8
- data/lib/vagrant/action/vm/forward_ports.rb +55 -102
- data/lib/vagrant/action/vm/halt.rb +9 -6
- data/lib/vagrant/action/vm/host_name.rb +4 -4
- data/lib/vagrant/action/vm/import.rb +19 -10
- data/lib/vagrant/action/vm/match_mac_address.rb +4 -9
- data/lib/vagrant/action/vm/network.rb +300 -94
- data/lib/vagrant/action/vm/nfs.rb +41 -26
- data/lib/vagrant/action/vm/package.rb +1 -1
- data/lib/vagrant/action/vm/package_vagrantfile.rb +5 -2
- data/lib/vagrant/action/vm/provision.rb +42 -13
- data/lib/vagrant/action/vm/provisioner_cleanup.rb +2 -2
- data/lib/vagrant/action/vm/{clear_nfs_exports.rb → prune_nfs_exports.rb} +7 -7
- data/lib/vagrant/action/vm/resume.rb +4 -4
- data/lib/vagrant/action/vm/setup_package_files.rb +54 -0
- data/lib/vagrant/action/vm/share_folders.rb +63 -39
- data/lib/vagrant/action/vm/suspend.rb +4 -4
- data/lib/vagrant/action/warden.rb +13 -6
- data/lib/vagrant/box.rb +9 -55
- data/lib/vagrant/box_collection.rb +22 -17
- data/lib/vagrant/cli.rb +62 -47
- data/lib/vagrant/command.rb +18 -20
- data/lib/vagrant/command/base.rb +135 -90
- data/lib/vagrant/command/box.rb +46 -21
- data/lib/vagrant/command/box_add.rb +33 -0
- data/lib/vagrant/command/box_list.rb +25 -0
- data/lib/vagrant/command/box_remove.rb +23 -0
- data/lib/vagrant/command/box_repackage.rb +23 -0
- data/lib/vagrant/command/destroy.rb +16 -5
- data/lib/vagrant/command/halt.rb +25 -7
- data/lib/vagrant/command/init.rb +30 -7
- data/lib/vagrant/command/package.rb +49 -18
- data/lib/vagrant/command/provision.rb +22 -9
- data/lib/vagrant/command/reload.rb +18 -5
- data/lib/vagrant/command/resume.rb +18 -5
- data/lib/vagrant/command/ssh.rb +69 -31
- data/lib/vagrant/command/ssh_config.rb +37 -22
- data/lib/vagrant/command/status.rb +22 -20
- data/lib/vagrant/command/suspend.rb +18 -5
- data/lib/vagrant/command/up.rb +41 -8
- data/lib/vagrant/communication.rb +7 -0
- data/lib/vagrant/communication/base.rb +56 -0
- data/lib/vagrant/communication/ssh.rb +200 -0
- data/lib/vagrant/config.rb +29 -103
- data/lib/vagrant/config/base.rb +18 -26
- data/lib/vagrant/config/container.rb +37 -0
- data/lib/vagrant/config/error_recorder.rb +1 -1
- data/lib/vagrant/config/loader.rb +125 -0
- data/lib/vagrant/config/nfs.rb +1 -3
- data/lib/vagrant/config/package.rb +1 -3
- data/lib/vagrant/config/ssh.rb +31 -16
- data/lib/vagrant/config/top.rb +36 -25
- data/lib/vagrant/config/vagrant.rb +2 -5
- data/lib/vagrant/config/vm.rb +115 -56
- data/lib/vagrant/config/vm/provisioner.rb +16 -20
- data/lib/vagrant/config/vm/sub_vm.rb +1 -1
- data/lib/vagrant/data_store.rb +23 -15
- data/lib/vagrant/downloaders/base.rb +7 -5
- data/lib/vagrant/downloaders/file.rb +4 -4
- data/lib/vagrant/downloaders/http.rb +4 -5
- data/lib/vagrant/driver.rb +7 -0
- data/lib/vagrant/driver/virtualbox.rb +121 -0
- data/lib/vagrant/driver/virtualbox_4_0.rb +411 -0
- data/lib/vagrant/driver/virtualbox_4_1.rb +411 -0
- data/lib/vagrant/driver/virtualbox_base.rb +284 -0
- data/lib/vagrant/environment.rb +221 -240
- data/lib/vagrant/errors.rb +74 -25
- data/lib/vagrant/guest.rb +16 -0
- data/lib/vagrant/guest/arch.rb +48 -0
- data/lib/vagrant/{systems → guest}/base.rb +30 -18
- data/lib/vagrant/guest/debian.rb +61 -0
- data/lib/vagrant/{systems → guest}/freebsd.rb +11 -18
- data/lib/vagrant/guest/gentoo.rb +32 -0
- data/lib/vagrant/guest/linux.rb +78 -0
- data/lib/vagrant/{systems → guest}/linux/config.rb +2 -4
- data/lib/vagrant/guest/linux/error.rb +9 -0
- data/lib/vagrant/guest/redhat.rb +66 -0
- data/lib/vagrant/guest/solaris.rb +114 -0
- data/lib/vagrant/{systems → guest}/suse.rb +2 -2
- data/lib/vagrant/guest/ubuntu.rb +23 -0
- data/lib/vagrant/hosts.rb +23 -6
- data/lib/vagrant/hosts/arch.rb +7 -3
- data/lib/vagrant/hosts/base.rb +36 -46
- data/lib/vagrant/hosts/bsd.rb +53 -16
- data/lib/vagrant/hosts/fedora.rb +14 -0
- data/lib/vagrant/hosts/freebsd.rb +6 -36
- data/lib/vagrant/hosts/linux.rb +45 -20
- data/lib/vagrant/hosts/windows.rb +16 -0
- data/lib/vagrant/provisioners.rb +10 -7
- data/lib/vagrant/provisioners/base.rb +11 -34
- data/lib/vagrant/provisioners/chef.rb +30 -26
- data/lib/vagrant/provisioners/chef_client.rb +37 -23
- data/lib/vagrant/provisioners/chef_solo.rb +61 -16
- data/lib/vagrant/provisioners/puppet.rb +70 -38
- data/lib/vagrant/provisioners/puppet_server.rb +12 -13
- data/lib/vagrant/provisioners/shell.rb +24 -24
- data/lib/vagrant/registry.rb +49 -0
- data/lib/vagrant/ssh.rb +82 -153
- data/lib/vagrant/ui.rb +118 -50
- data/lib/vagrant/util/busy.rb +1 -1
- data/lib/vagrant/util/file_mode.rb +12 -0
- data/lib/vagrant/util/network_ip.rb +28 -0
- data/lib/vagrant/util/platform.rb +1 -0
- data/lib/vagrant/util/subprocess.rb +227 -0
- data/lib/vagrant/version.rb +1 -1
- data/lib/vagrant/vm.rb +111 -97
- data/tasks/acceptance.rake +3 -3
- data/tasks/test.rake +7 -2
- data/templates/commands/init/Vagrantfile.erb +11 -4
- data/templates/{ssh_config.erb → commands/ssh_config/config.erb} +0 -0
- data/templates/guests/arch/network_dhcp.erb +7 -0
- data/templates/guests/arch/network_static.erb +7 -0
- data/templates/guests/debian/network_dhcp.erb +6 -0
- data/templates/guests/debian/network_static.erb +7 -0
- data/templates/guests/gentoo/network_dhcp.erb +4 -0
- data/templates/guests/gentoo/network_static.erb +4 -0
- data/templates/guests/redhat/network_dhcp.erb +6 -0
- data/templates/guests/redhat/network_static.erb +7 -0
- data/templates/locales/en.yml +241 -122
- data/templates/{chef_server_client.erb → provisioners/chef_client/client.erb} +0 -0
- data/templates/{chef_solo_solo.erb → provisioners/chef_solo/solo.erb} +0 -0
- data/test/acceptance/base.rb +10 -10
- data/test/acceptance/box_test.rb +28 -6
- data/test/acceptance/destroy_test.rb +1 -1
- data/test/acceptance/halt_test.rb +4 -4
- data/test/acceptance/init_test.rb +3 -3
- data/test/acceptance/networking/host_only_test.rb +37 -0
- data/test/acceptance/networking/port_forward_test.rb +125 -0
- data/test/acceptance/package_test.rb +46 -0
- data/test/acceptance/provisioning/basic_test.rb +61 -0
- data/test/acceptance/provisioning/chef_solo_test.rb +37 -0
- data/test/acceptance/provisioning/shell_test.rb +53 -0
- data/test/acceptance/resume_test.rb +1 -1
- data/test/acceptance/skeletons/chef_solo_basic/README.md +3 -0
- data/test/acceptance/skeletons/chef_solo_basic/cookbooks/basic/recipes/default.rb +5 -0
- data/test/acceptance/skeletons/chef_solo_json/README.md +3 -0
- data/test/acceptance/skeletons/chef_solo_json/cookbooks/basic/recipes/default.rb +6 -0
- data/test/acceptance/skeletons/provisioner_multi/README.md +3 -0
- data/test/acceptance/skeletons/provisioner_multi/cookbooks/basic/recipes/default.rb +5 -0
- data/test/acceptance/ssh_test.rb +7 -2
- data/test/acceptance/support/config.rb +1 -1
- data/test/acceptance/support/isolated_environment.rb +41 -150
- data/test/acceptance/support/matchers/match_output.rb +1 -1
- data/test/acceptance/support/matchers/succeed.rb +14 -0
- data/test/acceptance/support/network_tests.rb +29 -0
- data/test/acceptance/support/output.rb +9 -1
- data/test/acceptance/support/shared/base_context.rb +16 -9
- data/test/acceptance/support/shared/command_examples.rb +4 -4
- data/test/acceptance/suspend_test.rb +1 -1
- data/test/acceptance/up_basic_test.rb +26 -7
- data/test/acceptance/up_with_box_url.rb +1 -1
- data/test/acceptance/vagrant_test.rb +1 -1
- data/test/acceptance/version_test.rb +0 -5
- data/test/support/isolated_environment.rb +46 -0
- data/test/{acceptance/support → support}/tempdir.rb +0 -0
- data/test/unit/base.rb +21 -0
- data/test/unit/support/isolated_environment.rb +39 -0
- data/test/unit/support/shared/base_context.rb +30 -0
- data/test/unit/vagrant/action/builder_test.rb +126 -177
- data/test/unit/vagrant/action/environment_test.rb +10 -21
- data/test/unit/vagrant/action/runner_test.rb +65 -0
- data/test/unit/vagrant/action/warden_test.rb +64 -97
- data/test/unit/vagrant/box_collection_test.rb +44 -33
- data/test/unit/vagrant/box_test.rb +25 -65
- data/test/unit/vagrant/command/base_test.rb +141 -14
- data/test/unit/vagrant/config/base_test.rb +16 -43
- data/test/unit/vagrant/config/loader_test.rb +79 -0
- data/test/unit/vagrant/config/top_test.rb +69 -0
- data/test/unit/vagrant/config/vm_test.rb +62 -47
- data/test/unit/vagrant/config_test.rb +16 -151
- data/test/unit/vagrant/data_store_test.rb +43 -61
- data/test/unit/vagrant/downloaders/base_test.rb +12 -22
- data/test/unit/vagrant/downloaders/file_test.rb +58 -31
- data/test/unit/vagrant/downloaders/http_test.rb +12 -86
- data/test/unit/vagrant/environment_test.rb +107 -536
- data/test/unit/vagrant/hosts_test.rb +36 -0
- data/test/unit/vagrant/registry_test.rb +56 -0
- data/test/unit/vagrant/util/file_checksum_test.rb +23 -0
- data/test/unit/vagrant/util/hash_with_indifferent_access_test.rb +23 -24
- data/test/unit/vagrant/util/network_ip_test.rb +17 -0
- data/test/unit/vagrant/util/retryable_test.rb +90 -34
- data/test/unit/vagrant_test.rb +27 -0
- data/test/{unit → unit_legacy}/locales/en.yml +0 -0
- data/test/{unit → unit_legacy}/test_helper.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/action/box/destroy_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/action/box/download_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/action/box/package_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/action/box/unpackage_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/action/box/verify_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/action/env/set_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/action/general/package_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/action/general/validate_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/action/vm/boot_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/action/vm/check_accessible_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/action/vm/check_box_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/action/vm/check_guest_additions_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/action/vm/clean_machine_folder_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/action/vm/clear_forwarded_ports_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/action/vm/clear_nfs_exports_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/action/vm/clear_shared_folders_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/action/vm/customize_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/action/vm/destroy_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/action/vm/destroy_unused_network_interfaces_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/action/vm/discard_state_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/action/vm/export_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/action/vm/forward_ports_helpers_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/action/vm/forward_ports_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/action/vm/halt_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/action/vm/host_name_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/action/vm/import_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/action/vm/match_mac_address_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/action/vm/modify_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/action/vm/network_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/action/vm/nfs_helpers_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/action/vm/nfs_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/action/vm/package_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/action/vm/package_vagrantfile_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/action/vm/provision_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/action/vm/provisioner_cleanup_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/action/vm/resume_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/action/vm/share_folders_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/action/vm/suspend_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/action_test.rb +0 -0
- data/test/unit_legacy/vagrant/box_collection_test.rb +45 -0
- data/test/unit_legacy/vagrant/box_test.rb +74 -0
- data/test/{unit → unit_legacy}/vagrant/cli_test.rb +0 -0
- data/test/unit_legacy/vagrant/command/base_test.rb +23 -0
- data/test/{unit → unit_legacy}/vagrant/command/group_base_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/command/helpers_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/command/init_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/command/package_test.rb +0 -0
- data/test/unit_legacy/vagrant/config/base_test.rb +52 -0
- data/test/{unit → unit_legacy}/vagrant/config/error_recorder_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/config/ssh_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/config/vagrant_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/config/vm/provisioner_test.rb +0 -0
- data/test/unit_legacy/vagrant/config/vm_test.rb +47 -0
- data/test/unit_legacy/vagrant/config_test.rb +148 -0
- data/test/unit_legacy/vagrant/downloaders/http_test.rb +93 -0
- data/test/unit_legacy/vagrant/environment_test.rb +539 -0
- data/test/{unit → unit_legacy}/vagrant/errors_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/hosts/base_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/hosts/bsd_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/hosts/linux_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/plugin_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/provisioners/base_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/provisioners/chef_client_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/provisioners/chef_solo_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/provisioners/chef_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/provisioners/puppet_server_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/provisioners/puppet_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/provisioners/shell_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/ssh/session_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/ssh_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/systems/base_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/systems/linux_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/util/busy_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/util/counter_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/util/platform_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/util/stacked_proc_runner_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/util/template_renderer_test.rb +0 -0
- data/test/{unit → unit_legacy}/vagrant/vm_test.rb +0 -0
- data/vagrant.gemspec +7 -9
- metadata +214 -216
- data/keys/vagrant.ppk +0 -26
- data/lib/vagrant/action/box.rb +0 -11
- data/lib/vagrant/action/env.rb +0 -7
- data/lib/vagrant/action/general.rb +0 -8
- data/lib/vagrant/action/vm.rb +0 -34
- data/lib/vagrant/action/vm/forward_ports_helpers.rb +0 -28
- data/lib/vagrant/action/vm/modify.rb +0 -37
- data/lib/vagrant/action/vm/nfs_helpers.rb +0 -11
- data/lib/vagrant/command/group_base.rb +0 -107
- data/lib/vagrant/command/helpers.rb +0 -33
- data/lib/vagrant/command/named_base.rb +0 -14
- data/lib/vagrant/command/upgrade_to_060.rb +0 -45
- data/lib/vagrant/command/version.rb +0 -13
- data/lib/vagrant/ssh/session.rb +0 -136
- data/lib/vagrant/systems.rb +0 -13
- data/lib/vagrant/systems/arch.rb +0 -34
- data/lib/vagrant/systems/debian.rb +0 -36
- data/lib/vagrant/systems/gentoo.rb +0 -27
- data/lib/vagrant/systems/linux.rb +0 -82
- data/lib/vagrant/systems/linux/error.rb +0 -9
- data/lib/vagrant/systems/redhat.rb +0 -48
- data/lib/vagrant/systems/solaris.rb +0 -113
- data/lib/vagrant/systems/ubuntu.rb +0 -17
- data/templates/network_entry_arch.erb +0 -9
- data/templates/network_entry_debian.erb +0 -8
- data/templates/network_entry_gentoo.erb +0 -5
- data/templates/network_entry_redhat.erb +0 -9
- data/test/unit/vagrant/ui_test.rb +0 -29
data/lib/vagrant/version.rb
CHANGED
data/lib/vagrant/vm.rb
CHANGED
@@ -1,100 +1,98 @@
|
|
1
|
+
require 'log4r'
|
2
|
+
|
1
3
|
module Vagrant
|
2
4
|
class VM
|
3
5
|
include Vagrant::Util
|
4
6
|
|
7
|
+
attr_reader :uuid
|
5
8
|
attr_reader :env
|
6
9
|
attr_reader :name
|
7
10
|
attr_reader :vm
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
11
|
+
attr_reader :box
|
12
|
+
attr_reader :config
|
13
|
+
attr_reader :driver
|
14
|
+
|
15
|
+
def initialize(name, env, config, opts=nil)
|
16
|
+
@logger = Log4r::Logger.new("vagrant::vm")
|
17
|
+
|
18
|
+
@name = name
|
19
|
+
@vm = nil
|
20
|
+
@env = env
|
21
|
+
@config = config
|
22
|
+
@box = env.boxes.find(config.vm.box)
|
23
|
+
|
24
|
+
opts ||= {}
|
25
|
+
if opts[:base]
|
26
|
+
# The name is the ID we use.
|
27
|
+
@uuid = name
|
28
|
+
else
|
29
|
+
# Load the UUID if its saved.
|
30
|
+
active = env.local_data[:active] || {}
|
31
|
+
@uuid = active[@name.to_s]
|
15
32
|
end
|
16
|
-
end
|
17
|
-
|
18
|
-
def initialize(opts=nil)
|
19
|
-
defaults = {
|
20
|
-
:vm => nil,
|
21
|
-
:env => nil,
|
22
|
-
:name => nil
|
23
|
-
}
|
24
33
|
|
25
|
-
|
34
|
+
# Reload ourselves to get the state
|
35
|
+
reload!
|
26
36
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
if !opts[:env].nil?
|
31
|
-
# We have an environment, so we create a new child environment
|
32
|
-
# specifically for this VM. This step will load any custom
|
33
|
-
# config and such.
|
34
|
-
@env = Vagrant::Environment.new({
|
35
|
-
:cwd => opts[:env].cwd,
|
36
|
-
:parent => opts[:env],
|
37
|
-
:vm => self
|
38
|
-
}).load!
|
39
|
-
|
40
|
-
# Load the associated system.
|
41
|
-
load_system!
|
42
|
-
end
|
43
|
-
|
44
|
-
@loaded_system_distro = false
|
37
|
+
# Load the associated guest.
|
38
|
+
load_guest!
|
39
|
+
@loaded_guest_distro = false
|
45
40
|
end
|
46
41
|
|
47
|
-
# Loads the
|
42
|
+
# Loads the guest associated with the VM. The guest class is
|
48
43
|
# responsible for OS-specific functionality. More information
|
49
|
-
# can be found by reading the documentation on {Vagrant::
|
44
|
+
# can be found by reading the documentation on {Vagrant::Guest::Base}.
|
50
45
|
#
|
51
46
|
# **This method should never be called manually.**
|
52
|
-
def
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
if
|
57
|
-
raise Errors::
|
58
|
-
@
|
59
|
-
elsif
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
:ubuntu => Systems::Ubuntu,
|
64
|
-
:freebsd => Systems::FreeBSD,
|
65
|
-
:gentoo => Systems::Gentoo,
|
66
|
-
:redhat => Systems::Redhat,
|
67
|
-
:suse => Systems::Suse,
|
68
|
-
:linux => Systems::Linux,
|
69
|
-
:solaris => Systems::Solaris,
|
70
|
-
:arch => Systems::Arch
|
71
|
-
}
|
72
|
-
|
73
|
-
raise Errors::VMSystemError, :_key => :unknown_type, :system => system.to_s if !mapping.has_key?(system)
|
74
|
-
@system = mapping[system].new(self)
|
47
|
+
def load_guest!(guest=nil)
|
48
|
+
guest ||= config.vm.guest
|
49
|
+
@logger.info("Loading guest: #{guest}")
|
50
|
+
|
51
|
+
if guest.is_a?(Class)
|
52
|
+
raise Errors::VMGuestError, :_key => :invalid_class, :system => guest.to_s if !(guest <= Systems::Base)
|
53
|
+
@guest = guest.new(self)
|
54
|
+
elsif guest.is_a?(Symbol)
|
55
|
+
guest_klass = Vagrant.guests.get(guest)
|
56
|
+
raise Errors::VMGuestError, :_key => :unknown_type, :system => guest.to_s if !guest_klass
|
57
|
+
@guest = guest_klass.new(self)
|
75
58
|
else
|
76
|
-
raise Errors::
|
59
|
+
raise Errors::VMGuestError, :unspecified
|
77
60
|
end
|
78
61
|
end
|
79
62
|
|
80
|
-
# Returns
|
63
|
+
# Returns a channel object to communicate with the virtual
|
64
|
+
# machine.
|
65
|
+
def channel
|
66
|
+
@channel ||= Communication::SSH.new(self)
|
67
|
+
end
|
68
|
+
|
69
|
+
# Returns the guest for this VM, loading the distro of the system if
|
81
70
|
# we can.
|
82
|
-
def
|
83
|
-
if !@
|
84
|
-
# Load the
|
85
|
-
result = @
|
86
|
-
|
87
|
-
@
|
71
|
+
def guest
|
72
|
+
if !@loaded_guest_distro && state == :running
|
73
|
+
# Load the guest distro for the first time
|
74
|
+
result = @guest.distro_dispatch
|
75
|
+
load_guest!(result)
|
76
|
+
@loaded_guest_distro = true
|
88
77
|
end
|
89
78
|
|
90
|
-
@
|
79
|
+
@guest
|
91
80
|
end
|
92
81
|
|
93
|
-
# Access the {Vagrant::SSH} object associated with this VM
|
94
|
-
#
|
95
|
-
# subsequent calls it will reuse the existing object.
|
82
|
+
# Access the {Vagrant::SSH} object associated with this VM, which
|
83
|
+
# is used to get SSH credentials with the virtual machine.
|
96
84
|
def ssh
|
97
|
-
@ssh ||= SSH.new(
|
85
|
+
@ssh ||= SSH.new(self)
|
86
|
+
end
|
87
|
+
|
88
|
+
# Returns the state of the VM as a symbol.
|
89
|
+
#
|
90
|
+
# @return [Symbol]
|
91
|
+
def state
|
92
|
+
return :not_created if !@uuid
|
93
|
+
state = @driver.read_state
|
94
|
+
return :not_created if !state
|
95
|
+
return state
|
98
96
|
end
|
99
97
|
|
100
98
|
# Returns a boolean true if the VM has been created, otherwise
|
@@ -102,19 +100,17 @@ module Vagrant
|
|
102
100
|
#
|
103
101
|
# @return [Boolean]
|
104
102
|
def created?
|
105
|
-
|
103
|
+
state != :not_created
|
106
104
|
end
|
107
105
|
|
108
106
|
# Sets the currently active VM for this VM. If the VM is a valid,
|
109
107
|
# created virtual machine, then it will also update the local data
|
110
108
|
# to persist the VM. Otherwise, it will remove itself from the
|
111
109
|
# local data (if it exists).
|
112
|
-
def
|
113
|
-
@vm = value
|
110
|
+
def uuid=(value)
|
114
111
|
env.local_data[:active] ||= {}
|
115
|
-
|
116
|
-
|
117
|
-
env.local_data[:active][name.to_s] = value.uuid
|
112
|
+
if value
|
113
|
+
env.local_data[:active][name.to_s] = value
|
118
114
|
else
|
119
115
|
env.local_data[:active].delete(name.to_s)
|
120
116
|
end
|
@@ -122,60 +118,78 @@ module Vagrant
|
|
122
118
|
# Commit the local data so that the next time vagrant is initialized,
|
123
119
|
# it realizes the VM exists
|
124
120
|
env.local_data.commit
|
125
|
-
end
|
126
121
|
|
127
|
-
|
128
|
-
|
122
|
+
# Store the uuid and reload the instance
|
123
|
+
@uuid = value
|
124
|
+
reload!
|
129
125
|
end
|
130
126
|
|
131
127
|
def reload!
|
132
|
-
|
128
|
+
begin
|
129
|
+
@driver = Driver::VirtualBox.new(@uuid)
|
130
|
+
rescue Driver::VirtualBox::VMNotFound
|
131
|
+
# Clear the UUID since this VM doesn't exist. Note that this calls
|
132
|
+
# back into `reload!` but shouldn't ever result in infinite
|
133
|
+
# recursion since `@uuid` will be nil.
|
134
|
+
self.uuid = nil
|
135
|
+
end
|
133
136
|
end
|
134
137
|
|
135
138
|
def package(options=nil)
|
136
|
-
|
139
|
+
run_action(:package, { "validate" => false }.merge(options || {}))
|
137
140
|
end
|
138
141
|
|
139
142
|
def up(options=nil)
|
140
|
-
|
143
|
+
run_action(:up, options)
|
141
144
|
end
|
142
145
|
|
143
146
|
def start(options=nil)
|
144
|
-
|
145
|
-
return if
|
146
|
-
return resume if @vm.saved?
|
147
|
+
return if state == :running
|
148
|
+
return resume if state == :saved
|
147
149
|
|
148
|
-
|
150
|
+
run_action(:start, options)
|
149
151
|
end
|
150
152
|
|
151
153
|
def halt(options=nil)
|
152
|
-
|
154
|
+
run_action(:halt, options)
|
153
155
|
end
|
154
156
|
|
155
157
|
def reload
|
156
|
-
|
158
|
+
run_action(:reload)
|
157
159
|
end
|
158
160
|
|
159
161
|
def provision
|
160
|
-
|
162
|
+
run_action(:provision)
|
161
163
|
end
|
162
164
|
|
163
165
|
def destroy
|
164
|
-
|
166
|
+
run_action(:destroy)
|
165
167
|
end
|
166
168
|
|
167
169
|
def suspend
|
168
|
-
|
170
|
+
run_action(:suspend)
|
169
171
|
end
|
170
172
|
|
171
173
|
def resume
|
172
|
-
|
174
|
+
run_action(:resume)
|
173
175
|
end
|
174
176
|
|
175
|
-
def
|
176
|
-
@
|
177
|
+
def ui
|
178
|
+
return @_ui if defined?(@_ui)
|
179
|
+
@_ui = @env.ui.dup
|
180
|
+
@_ui.resource = @name
|
181
|
+
@_ui
|
177
182
|
end
|
178
183
|
|
179
|
-
|
184
|
+
protected
|
185
|
+
|
186
|
+
def run_action(name, options=nil)
|
187
|
+
options = {
|
188
|
+
:vm => self,
|
189
|
+
:ui => ui
|
190
|
+
}.merge(options || {})
|
191
|
+
|
192
|
+
env.action_runner.run(name, options)
|
193
|
+
end
|
180
194
|
end
|
181
195
|
end
|
data/tasks/acceptance.rake
CHANGED
@@ -12,7 +12,7 @@ namespace :acceptance do
|
|
12
12
|
desc "Downloads the boxes required for running the acceptance tests."
|
13
13
|
task :boxes, :directory do |t, args|
|
14
14
|
# Create the directory where the boxes will be downloaded
|
15
|
-
box_dir = Pathname.new(args[:directory] || File.expand_path("../../
|
15
|
+
box_dir = Pathname.new(args[:directory] || File.expand_path("../../boxes", __FILE__))
|
16
16
|
box_dir.mkpath
|
17
17
|
puts "Boxes will be placed in: #{box_dir}"
|
18
18
|
|
@@ -73,10 +73,10 @@ namespace :acceptance do
|
|
73
73
|
desc "Generates the configuration for acceptance tests from current source."
|
74
74
|
task :config, :box_dir do |t, args|
|
75
75
|
require File.expand_path("../../lib/vagrant/version", __FILE__)
|
76
|
-
require File.expand_path('../../test/
|
76
|
+
require File.expand_path('../../test/support/tempdir', __FILE__)
|
77
77
|
|
78
78
|
# Get the directory for the boxes
|
79
|
-
box_dir = Pathname.new(args[:box_dir] || File.expand_path("../../
|
79
|
+
box_dir = Pathname.new(args[:box_dir] || File.expand_path("../../boxes", __FILE__))
|
80
80
|
|
81
81
|
# Generate the binstubs for the Vagrant binary
|
82
82
|
tempdir = Tempdir.new
|
data/tasks/test.rake
CHANGED
@@ -2,12 +2,17 @@ require 'rake/testtask'
|
|
2
2
|
require 'rspec/core/rake_task'
|
3
3
|
|
4
4
|
namespace :test do
|
5
|
-
|
5
|
+
RSpec::Core::RakeTask.new do |t|
|
6
6
|
t.name = "unit"
|
7
|
-
t.libs << "test/unit"
|
8
7
|
t.pattern = "test/unit/**/*_test.rb"
|
9
8
|
end
|
10
9
|
|
10
|
+
Rake::TestTask.new do |t|
|
11
|
+
t.name = "unit_old"
|
12
|
+
t.libs << "test/unit_legacy"
|
13
|
+
t.pattern = "test/unit_legacy/**/*_test.rb"
|
14
|
+
end
|
15
|
+
|
11
16
|
RSpec::Core::RakeTask.new do |t|
|
12
17
|
t.name = "acceptance"
|
13
18
|
t.pattern = "test/acceptance/**/*_test.rb"
|
@@ -16,13 +16,20 @@ Vagrant::Config.run do |config|
|
|
16
16
|
# Boot with a GUI so you can see the screen. (Default is headless)
|
17
17
|
# config.vm.boot_mode = :gui
|
18
18
|
|
19
|
-
# Assign this VM to a host
|
20
|
-
# via the IP.
|
21
|
-
#
|
19
|
+
# Assign this VM to a host-only network IP, allowing you to access it
|
20
|
+
# via the IP. Host-only networks can talk to the host machine as well as
|
21
|
+
# any other machines on the same network, but cannot be accessed (through this
|
22
|
+
# network interface) by any external networks.
|
23
|
+
# config.vm.network :hostonly, "33.33.33.10"
|
24
|
+
|
25
|
+
# Assign this VM to a bridged network, allowing you to connect directly to a
|
26
|
+
# network using the host's network device. This makes the VM appear as another
|
27
|
+
# physical device on your network.
|
28
|
+
# config.vm.network :bridged
|
22
29
|
|
23
30
|
# Forward a port from the guest to the host, which allows for outside
|
24
31
|
# computers to access the VM, whereas host only networking does not.
|
25
|
-
# config.vm.forward_port
|
32
|
+
# config.vm.forward_port 80, 8080
|
26
33
|
|
27
34
|
# Share an additional folder to the guest VM. The first argument is
|
28
35
|
# an identifier, the second is the path on the guest to mount the
|
File without changes
|
data/templates/locales/en.yml
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
en:
|
2
2
|
vagrant:
|
3
3
|
general:
|
4
|
-
creating_home_dir: "Creating home directory since it doesn't exist: %{directory}"
|
5
4
|
moving_home_dir: "Moving old Vagrant home directory to new location: %{directory}"
|
6
5
|
home_dir_migration_failed: |-
|
7
6
|
Both an old and new Vagrant home directory exist. Only the new one will
|
@@ -27,12 +26,21 @@ en:
|
|
27
26
|
puppetd_not_detected: |-
|
28
27
|
The `puppetd` binary was not found on the VM is required for Puppet Server provisioning.
|
29
28
|
Please verify that Puppet is installed and that the binary is available on the PATH.
|
30
|
-
|
29
|
+
cli_invalid_options: |-
|
30
|
+
An invalid option was specified. The help for this command
|
31
|
+
is available below.
|
32
|
+
|
33
|
+
%{help}
|
31
34
|
config_validation: |-
|
32
35
|
There was a problem with the configuration of Vagrant. The error message(s)
|
33
36
|
are printed below:
|
34
37
|
|
35
38
|
%{messages}
|
39
|
+
deprecation: |-
|
40
|
+
You are using a feature that has been removed in this version. Explanation:
|
41
|
+
|
42
|
+
%{message}
|
43
|
+
Note that this error message will not appear in the next version of Vagrant.
|
36
44
|
dotfile_is_directory: |-
|
37
45
|
The local file Vagrant uses to store data ".vagrant" already exists
|
38
46
|
and is a directory! If you are in your home directory, then please run
|
@@ -44,10 +52,49 @@ en:
|
|
44
52
|
may run at any given time to avoid problems with VirtualBox inconsistencies
|
45
53
|
occurring. Please wait for the other instance of Vagrant to end and then
|
46
54
|
try again.
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
55
|
+
guest:
|
56
|
+
invalid_class: |-
|
57
|
+
The specified guest class does not inherit from `Vagrant::Guest::Base`.
|
58
|
+
The specified guest class must inherit from this class.
|
59
|
+
|
60
|
+
The specified guest class was: %{guest}
|
61
|
+
unknown_type: |-
|
62
|
+
The specified guest type is unknown: %{guest}. Please change this
|
63
|
+
to a proper value.
|
64
|
+
unspecified: |-
|
65
|
+
A VM guest type must be specified! This is done via the `config.vm.guest`
|
66
|
+
configuration value. Please read the documentation online for more information.
|
67
|
+
home_dir_not_accessible: |-
|
68
|
+
The home directory you specified is not accessible. The home
|
69
|
+
directory that Vagrant uses must be both readable and writable.
|
70
|
+
|
71
|
+
You specified: %{home_path}
|
72
|
+
interrupted: |-
|
73
|
+
Vagrant exited after cleanup due to external interrupt.
|
74
|
+
multi_vm_required: |-
|
75
|
+
A multi-vm environment is required for name specification to this command.
|
76
|
+
multi_vm_target_required: |-
|
77
|
+
This command requires a specific VM name to target in a multi-VM environment.
|
78
|
+
no_env: |-
|
79
|
+
A Vagrant environment is required to run this command. Run `vagrant init`
|
80
|
+
to set one up.
|
81
|
+
port_collision_resume: |-
|
82
|
+
This VM cannot be resumed, because the forwarded ports would collide with
|
83
|
+
another running virtual machine. Normally, Vagrant will attempt to fix this
|
84
|
+
for you but VirtualBox only allows forwarded ports to change if the VM is
|
85
|
+
powered off. Therefore, please reload your VM or halt the other running
|
86
|
+
VMs to continue.
|
87
|
+
scp_unavailable: |-
|
88
|
+
SSH server on the guest doesn't support SCP. Please install the necessary
|
89
|
+
software to enable SCP on your guest operating system.
|
90
|
+
shared_folder_create_failed: |-
|
91
|
+
Failed to create the following shared folder on the host system. This is
|
92
|
+
usually because Vagrant does not have sufficient permissions to create
|
93
|
+
the folder.
|
94
|
+
|
95
|
+
%{path}
|
96
|
+
|
97
|
+
Please create the folder manually or specify another path to share.
|
51
98
|
ssh_authentication_failed: |-
|
52
99
|
SSH authentication failed! This is typically caused by the public/private
|
53
100
|
keypair for the SSH user not being properly set on the guest VM. Please
|
@@ -58,10 +105,6 @@ en:
|
|
58
105
|
Vagrant assumes that this means the command failed!
|
59
106
|
|
60
107
|
%{command}
|
61
|
-
|
62
|
-
The output of the command prior to failing is outputted below:
|
63
|
-
|
64
|
-
%{output}
|
65
108
|
ssh_connection_refused: |-
|
66
109
|
SSH connection was refused! This usually happens if the VM failed to
|
67
110
|
boot properly. Some steps to try to fix this: First, try reloading your
|
@@ -77,80 +120,66 @@ en:
|
|
77
120
|
|
78
121
|
%{key_path}
|
79
122
|
ssh_port_not_detected: |-
|
80
|
-
Vagrant couldn't determine the SSH port for your VM!
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
ssh_unavailable_windows: |-
|
85
|
-
`vagrant ssh` isn't available on the Windows platform. The
|
86
|
-
vagrant.ppk file for use with Putty is available at:
|
87
|
-
|
88
|
-
%{key_path}.ppk
|
123
|
+
Vagrant couldn't determine the SSH port for your VM! Vagrant attempts to
|
124
|
+
automatically find a forwarded port that matches your `config.ssh.guest_port`
|
125
|
+
(default: 22) value and uses this for SSH. Alternatively, if `config.ssh.port`
|
126
|
+
is set, it will use this.
|
89
127
|
|
90
|
-
|
91
|
-
|
92
|
-
configuration section navigate to the vagrant.ppk file,
|
93
|
-
select it, save the session for later use, and connect.
|
128
|
+
However, in this case Vagrant was unable to find a forwarded port that matches
|
129
|
+
the guest port and `config.ssh.port` is not set!
|
94
130
|
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
configuration value. Please read the documentation online for more information.
|
131
|
+
Please make sure that you have a forwarded port that goes to the configured
|
132
|
+
guest port value, or specify an explicit SSH port with `config.ssh.port`.
|
133
|
+
ssh_unavailable: "`ssh` binary could not be found. Is an SSH client installed?"
|
134
|
+
ssh_unavailable_windows: |-
|
135
|
+
`vagrant ssh` isn't available on the Windows platform. You are still able
|
136
|
+
to SSH into the virtual machine if you get a Windows SSH client (such as
|
137
|
+
PuTTY). The authentication information is shown below:
|
138
|
+
|
139
|
+
Host: %{host}
|
140
|
+
Port: %{port}
|
141
|
+
Username: %{username}
|
142
|
+
Private key: %{key_path}
|
143
|
+
vagrantfile_exists: |-
|
144
|
+
`Vagrantfile` already exists in this directory. Remove it before
|
145
|
+
running `vagrant init`.
|
111
146
|
vagrantfile_syntax_error: |-
|
112
147
|
There is a syntax error in the following Vagrantfile. The syntax error
|
113
148
|
message is reproduced below for convenience:
|
114
149
|
|
115
150
|
%{file}
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
151
|
+
vboxmanage_error: |-
|
152
|
+
There was an error executing the following command with VBoxManage:
|
153
|
+
|
154
|
+
%{command}
|
120
155
|
|
121
|
-
|
122
|
-
|
123
|
-
|
156
|
+
For more information on the failure, enable detailed logging with
|
157
|
+
VAGRANT_LOG.
|
158
|
+
virtualbox_invalid_version: |-
|
159
|
+
Vagrant has detected that you have a version of VirtualBox installed
|
160
|
+
that is not supported. Please install one of the supported versions
|
161
|
+
listed below to use Vagrant:
|
124
162
|
|
125
|
-
|
126
|
-
for any announcements of newer versions.
|
163
|
+
%{supported_versions}
|
127
164
|
virtualbox_not_detected: |-
|
128
165
|
Vagrant could not detect VirtualBox! Make sure VirtualBox is properly installed.
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
virtualbox_not_detected_win64: |-
|
135
|
-
Vagrant could not detect VirtualBox! Make sure VirtualBox is properly installed
|
136
|
-
with version 4.0.0 or higher.
|
137
|
-
|
138
|
-
Additionally, it appears you're on 64-bit Windows. If this is the case, and
|
139
|
-
VirtualBox is properly installed with the correct version, then please make
|
140
|
-
sure you're running Vagrant via JRuby on a 64-bit Java runtime. For more
|
141
|
-
information on how to set this up and how to verify it is properly setup,
|
142
|
-
please view the guide online at:
|
143
|
-
|
144
|
-
http://vagrantup.com/docs/getting-started/setup/windows_x64.html
|
145
|
-
|
146
|
-
vm_creation_required: "VM must be created before running this command. Run `vagrant up` first."
|
166
|
+
Vagrant uses the `VBoxManage` binary that ships with VirtualBox, and requires
|
167
|
+
this to be available on the PATH. If VirtualBox is installed, please find the
|
168
|
+
`VBoxManage` binary and add it to the PATH environmental variable.
|
169
|
+
vm_creation_required: |-
|
170
|
+
VM must be created before running this command. Run `vagrant up` first.
|
147
171
|
vm_inaccessible: |-
|
148
172
|
Your VM has become "inaccessible." Unfortunately, this is a critical error
|
149
173
|
with VirtualBox that Vagrant can not cleanly recover from. Please open VirtualBox
|
150
174
|
and clear out your inaccessible virtual machines or find a way to fix
|
151
175
|
them.
|
152
|
-
|
153
|
-
|
176
|
+
vm_no_match: |-
|
177
|
+
No virtual machines matched the regular expression given.
|
178
|
+
vm_not_found: |-
|
179
|
+
A VM by the name of %{name} was not found.
|
180
|
+
vm_not_running: |-
|
181
|
+
VM must be running to open SSH connection. Run `vagrant up`
|
182
|
+
to start the virtual machine.
|
154
183
|
|
155
184
|
#-------------------------------------------------------------------------------
|
156
185
|
# Translations for config validation errors
|
@@ -167,17 +196,22 @@ en:
|
|
167
196
|
private_key_missing: "`private_key_path` file must exist: %{path}"
|
168
197
|
vm:
|
169
198
|
base_mac_invalid: "Base MAC address for eth0/NAT must be set. Contact box maintainer for more information."
|
170
|
-
boot_mode_invalid: "Boot mode must be one of:
|
199
|
+
boot_mode_invalid: "Boot mode must be one of: headless or gui"
|
171
200
|
box_missing: "A box must be specified."
|
172
201
|
box_not_found: "The box '%{name}' could not be found."
|
173
|
-
|
202
|
+
network_invalid: |-
|
203
|
+
The network type '%{type}' is not valid. Please use
|
204
|
+
'hostonly' or 'bridged'.
|
205
|
+
network_ip_required: |-
|
206
|
+
Host only networks require an IP as an argument.
|
207
|
+
network_ip_invalid: |-
|
208
|
+
The host only network IP '%{ip}' is invalid.
|
174
209
|
network_ip_ends_one: |-
|
175
210
|
The host only network IP '%{ip}' must not end in a 1, as this
|
176
211
|
is reserved for the host machine.
|
177
212
|
shared_folder_hostpath_missing: "Shared folder host path for '%{name}' doesn't exist: %{path}"
|
178
213
|
shared_folder_nfs_owner_group: |-
|
179
214
|
Shared folder '%{name}': NFS does not support the owner/group settings.
|
180
|
-
provisioner_chef_server_changed: "The provisioner 'chef_server' is now 'chef_client'"
|
181
215
|
provisioner_not_found: "The provisioner '%{shortcut}' doesn't exist."
|
182
216
|
provisioner_invalid_class: "The provisioner '%{shortcut}' must inherit from `Vagrant::Provisioners::Base`."
|
183
217
|
|
@@ -190,6 +224,12 @@ en:
|
|
190
224
|
vm_not_running: "VM is not currently running. Please bring it up to run this command."
|
191
225
|
box:
|
192
226
|
no_installed_boxes: "There are no installed boxes! Use `vagrant box add` to add some."
|
227
|
+
init:
|
228
|
+
success: |-
|
229
|
+
A `Vagrantfile` has been placed in this directory. You are now
|
230
|
+
ready to `vagrant up` your first virtual environment! Please read
|
231
|
+
the comments in the Vagrantfile as well as documentation on
|
232
|
+
`vagrantup.com` for more information on using Vagrant.
|
193
233
|
status:
|
194
234
|
aborted: |-
|
195
235
|
The VM is in an aborted state. This means that it was abruptly
|
@@ -210,13 +250,15 @@ en:
|
|
210
250
|
not_created: |-
|
211
251
|
The environment has not yet been created. Run `vagrant up` to
|
212
252
|
create the environment.
|
213
|
-
|
253
|
+
poweroff: |-
|
254
|
+
The VM is powered off. To restart the VM, simply run `vagrant up`
|
214
255
|
running: |-
|
215
256
|
The VM is running. To stop this VM, you can run `vagrant halt` to
|
216
257
|
shut it down forcefully, or you can run `vagrant suspend` to simply
|
217
258
|
suspend the virtual machine. In either case, to restart it again,
|
218
259
|
simply run `vagrant up`.
|
219
|
-
saved:
|
260
|
+
saved: |-
|
261
|
+
To resume this VM, simply run `vagrant up`.
|
220
262
|
stuck: |-
|
221
263
|
The VM is "stuck!" This is a very rare state which means that
|
222
264
|
VirtualBox is unable to recover the current state of the VM.
|
@@ -228,18 +270,6 @@ en:
|
|
228
270
|
VM, run `vagrant status NAME`.
|
229
271
|
up:
|
230
272
|
vm_created: "VM already created. Booting if it's not already running..."
|
231
|
-
upgrade_to_060:
|
232
|
-
already_done: "Environment appears to already be upgraded to 0.6.0. Doing nothing!"
|
233
|
-
ask: "Are you sure you want to execute this command?"
|
234
|
-
backing_up: "Backing up previous .vagrant file..."
|
235
|
-
complete: "Environment upgraded to 0.6.0 successfully."
|
236
|
-
info: |-
|
237
|
-
This command will upgrade the current environment from a pre-0.6.0
|
238
|
-
environment to a 0.6.x compatible environment. Running this command
|
239
|
-
multiple times should be okay. This command will make a backup file
|
240
|
-
prior to making any changes. Therefore, if anything goes wrong, then
|
241
|
-
restore that file to ".vagrant" in the same directory as the Vagrantfile.
|
242
|
-
quit: "Not executing this command by user request. Quitting..."
|
243
273
|
version:
|
244
274
|
output: "Vagrant version %{version}"
|
245
275
|
|
@@ -259,6 +289,15 @@ en:
|
|
259
289
|
failed_to_boot: |-
|
260
290
|
Failed to connect to VM via SSH. Please verify the VM successfully booted
|
261
291
|
by looking at the VirtualBox GUI.
|
292
|
+
bridged_networking:
|
293
|
+
available: |-
|
294
|
+
Available bridged network interfaces:
|
295
|
+
bridging: |-
|
296
|
+
Bridging adapter #%{adapter} to '%{bridge}'
|
297
|
+
enabling: |-
|
298
|
+
Enabling bridged network...
|
299
|
+
preparing: |-
|
300
|
+
Preparing bridged networking...
|
262
301
|
check_box:
|
263
302
|
not_found: Box %{name} was not found. Fetching box from specified URL...
|
264
303
|
not_specified: |-
|
@@ -290,9 +329,21 @@ en:
|
|
290
329
|
VirtualBox Version: %{virtualbox_version}
|
291
330
|
clear_forward_ports:
|
292
331
|
deleting: Clearing any previously set forwarded ports...
|
332
|
+
clear_network_interfaces:
|
333
|
+
deleting: Clearing any previously set network interfaces...
|
293
334
|
clear_shared_folders:
|
294
335
|
deleting: Cleaning previously set shared folders...
|
295
336
|
customize:
|
337
|
+
failure: |-
|
338
|
+
A customization command failed:
|
339
|
+
|
340
|
+
%{command}
|
341
|
+
|
342
|
+
The following error was experienced:
|
343
|
+
|
344
|
+
%{error}
|
345
|
+
|
346
|
+
Please fix this customization and try again.
|
296
347
|
running: Running any VM customizations...
|
297
348
|
destroy:
|
298
349
|
destroying: Destroying VM and associated drives...
|
@@ -313,24 +364,25 @@ en:
|
|
313
364
|
auto-correction range are all also used.
|
314
365
|
|
315
366
|
VM: %{vm_name}
|
316
|
-
Forwarded port: %{
|
367
|
+
Forwarded port: %{guest_port} => %{host_port}
|
317
368
|
collision_error: |-
|
318
369
|
Vagrant cannot forward the specified ports on this VM, since they
|
319
370
|
would collide with another VirtualBox virtual machine's forwarded
|
320
|
-
ports! The
|
371
|
+
ports! The forwarded port to %{host_port} is already in use on the host
|
321
372
|
machine.
|
322
373
|
|
323
374
|
To fix this, modify your current projects Vagrantfile to use another
|
324
375
|
port. Example, where '1234' would be replaced by a unique host port:
|
325
376
|
|
326
|
-
config.vm.forward_port
|
377
|
+
config.vm.forward_port %{guest_port}, 1234
|
327
378
|
|
328
|
-
fixed_collision:
|
379
|
+
fixed_collision: |-
|
380
|
+
Fixed port collision for %{guest_port} => %{host_port}. Now on port %{new_port}.
|
329
381
|
forwarding: Forwarding ports...
|
330
|
-
forwarding_entry:
|
382
|
+
forwarding_entry: |-
|
383
|
+
-- %{guest_port} => %{host_port} (adapter %{adapter})
|
331
384
|
non_nat: |-
|
332
|
-
VirtualBox adapter #%{adapter} not configured as "NAT"
|
333
|
-
Skipping port forwarding '%{name}'.
|
385
|
+
VirtualBox adapter #%{adapter} not configured as "NAT". Skipping: '%{name}'.
|
334
386
|
privileged_ports: |-
|
335
387
|
You are trying to forward to privileged ports (ports <= 1024). Most
|
336
388
|
operating systems restrict this to only privileged process (typically
|
@@ -338,7 +390,10 @@ en:
|
|
338
390
|
the port forwarding doesn't work. If any problems occur, please try a
|
339
391
|
port higher than 1024.
|
340
392
|
halt:
|
341
|
-
force:
|
393
|
+
force: |-
|
394
|
+
Forcing shutdown of VM...
|
395
|
+
graceful: |-
|
396
|
+
Attempting graceful shutdown of VM...
|
342
397
|
host_name:
|
343
398
|
setting: "Setting host name..."
|
344
399
|
import:
|
@@ -354,6 +409,28 @@ en:
|
|
354
409
|
MAC address is typically up to the box and box maintiner. Please contact
|
355
410
|
the relevant person to solve this issue.
|
356
411
|
network:
|
412
|
+
adapter_collision: |-
|
413
|
+
More than one network have been assigned to the same adapter. Please
|
414
|
+
make sure your networks you've configured in your Vagrantfile do not
|
415
|
+
overlap.
|
416
|
+
configuring: |-
|
417
|
+
Configuring and enabling network interfaces...
|
418
|
+
dhcp_already_attached: |-
|
419
|
+
A host only network interface you're attempting to configure via DHCP
|
420
|
+
already has a conflicting host only adapter with DHCP enabled. The
|
421
|
+
DHCP on this adapter is incompatible with the DHCP settings. Two
|
422
|
+
host only network interfaces are not allowed to overlap, and each
|
423
|
+
host only network interface can have only one DHCP server. Please
|
424
|
+
reconfigure your host only network or remove the virtual machine
|
425
|
+
using the other host only network.
|
426
|
+
no_adapters: |-
|
427
|
+
No available adapters on the virtual machine were found to accomodate
|
428
|
+
for all configured networks. VirtualBox virtual machines have 8
|
429
|
+
network interfaces available usually, so please lower the number of
|
430
|
+
networks to below 8.
|
431
|
+
preparing: |-
|
432
|
+
Preparing network interfaces based on configuration...
|
433
|
+
host_only_network:
|
357
434
|
collides: |-
|
358
435
|
The specified host network collides with a non-hostonly network!
|
359
436
|
This will cause your specified IP to be inaccessible. Please change
|
@@ -367,19 +444,15 @@ en:
|
|
367
444
|
host only network for you. Alternatively, please create the
|
368
445
|
specified network manually.
|
369
446
|
preparing: "Preparing host only network..."
|
370
|
-
windows_not_implemented: |-
|
371
|
-
Host only networking is currently broken on Windows due to a bug
|
372
|
-
in jruby-win32ole. When the bug is fixed, a patch release for Vagrant
|
373
|
-
will be released to remove this error. Until then, please just use
|
374
|
-
forwarded ports.
|
375
447
|
nfs:
|
376
448
|
host_required: |-
|
377
449
|
A host class is required for NFS shared folders. By default, these
|
378
450
|
are auto-detected, but can be overridden with `config.vagrant.host`.
|
379
|
-
There is currently
|
451
|
+
There is currently no host class loaded.
|
380
452
|
no_host_network: |-
|
381
|
-
NFS shared folders requires that host only networking is enabled
|
382
|
-
Please enable host only
|
453
|
+
NFS shared folders requires that host only networking is enabled
|
454
|
+
with a static IP. Please enable host only network and assign a
|
455
|
+
static IP via `config.vm.network`.
|
383
456
|
not_supported: |-
|
384
457
|
The host class is reporting that NFS is not supported by this host,
|
385
458
|
or `nfsd` may not be installed. Please verify that `nfsd` is installed
|
@@ -425,6 +498,10 @@ en:
|
|
425
498
|
A box already exists under the name of '%{name}'. This may or may
|
426
499
|
not be the same box you are trying to add. Please use another name
|
427
500
|
or remove the previous box then try to add it again.
|
501
|
+
untar_failure: |-
|
502
|
+
Failed to untar the box file. This is usually because you're
|
503
|
+
attempting to add a box that isn't a valid box file. Please
|
504
|
+
double check that the box file is properly packaged.
|
428
505
|
verify:
|
429
506
|
verifying: "Verifying box..."
|
430
507
|
failed: |-
|
@@ -464,12 +541,15 @@ en:
|
|
464
541
|
|
465
542
|
hosts:
|
466
543
|
bsd:
|
467
|
-
nfs_export:
|
468
|
-
|
544
|
+
nfs_export: |-
|
545
|
+
Preparing to edit /etc/exports. Administrator privileges will be required...
|
546
|
+
nfs_prune: |-
|
547
|
+
Pruning invalid NFS exports. Administrator privileges will be required...
|
469
548
|
linux:
|
470
|
-
nfs_export:
|
471
|
-
|
472
|
-
|
549
|
+
nfs_export: |-
|
550
|
+
Preparing to edit /etc/exports. Administrator privileges will be required...
|
551
|
+
nfs_prune: |-
|
552
|
+
Pruning invalid NFS exports. Administrator privileges will be required...
|
473
553
|
arch:
|
474
554
|
nfs_export:
|
475
555
|
prepare: "Preparing to edit /etc/exports. Administrator privileges will be required..."
|
@@ -481,8 +561,20 @@ en:
|
|
481
561
|
upload_validation_key: "Uploading chef client validation key..."
|
482
562
|
upload_encrypted_data_bag_secret_key: "Uploading chef encrypted data bag secret key..."
|
483
563
|
running_client: "Running chef-client..."
|
564
|
+
running_client_again: "Running chef-client again (failed to converge)..."
|
484
565
|
running_solo: "Running chef-solo..."
|
485
|
-
|
566
|
+
running_solo_again: "Running chef-solo again (failed to converge)..."
|
567
|
+
invalid_provisioner: |-
|
568
|
+
Vagrant::Provisioners::Chef is not a valid provisioner! Use
|
569
|
+
ChefSolo or ChefClient instead.
|
570
|
+
missing_shared_folders: |-
|
571
|
+
Shared folders that Chef requires are missing on the virtual machine.
|
572
|
+
This is usually due to configuration changing after already booting the
|
573
|
+
machine. The fix is to run a `vagrant reload` so that the proper shared
|
574
|
+
folders will prepared and mounted on the VM.
|
575
|
+
no_convergence: |-
|
576
|
+
Chef never successfully completed! Any errors should be visible in the
|
577
|
+
output above. Please fix your recipes so that they properly complete.
|
486
578
|
not_detected: |-
|
487
579
|
The `%{binary}` binary appears to not be in the PATH of the guest. This
|
488
580
|
could be because the PATH is not properly setup or perhaps chef is not
|
@@ -507,8 +599,17 @@ en:
|
|
507
599
|
installed on this guest. Puppet provisioning can not continue without
|
508
600
|
Puppet properly installed.
|
509
601
|
running_puppet: "Running Puppet with %{manifest}..."
|
510
|
-
manifest_missing:
|
602
|
+
manifest_missing: |-
|
603
|
+
The configured Puppet manifest is missing. Please specify a path to an
|
604
|
+
existing manifest:
|
605
|
+
|
606
|
+
%{manifest}
|
511
607
|
manifests_path_missing: "The manifests path specified for Puppet does not exist: %{path}"
|
608
|
+
missing_shared_folders: |-
|
609
|
+
Shared folders that Puppet requires are missing on the virtual machine.
|
610
|
+
This is usually due to configuration changing after already booting the
|
611
|
+
machine. The fix is to run a `vagrant reload` so that the proper shared
|
612
|
+
folders will prepared and mounted on the VM.
|
512
613
|
module_path_missing: "The configured module path doesn't exist: %{path}"
|
513
614
|
|
514
615
|
puppet_server:
|
@@ -526,22 +627,46 @@ en:
|
|
526
627
|
path_invalid: "`path` for shell provisioner does not exist on the host system: %{path}"
|
527
628
|
upload_path_not_set: "`upload_path` must be set for the shell provisioner."
|
528
629
|
|
529
|
-
|
630
|
+
guest:
|
530
631
|
base:
|
531
|
-
|
532
|
-
|
533
|
-
|
534
|
-
|
632
|
+
unsupported_configure_networks: |-
|
633
|
+
Networking features require support that is dependent on the operating
|
634
|
+
system running within the guest virtual machine. Vagrant has built-in support
|
635
|
+
for many operating systems: Debian, Ubuntu, Gentoo, and RedHat. The distro
|
636
|
+
of your VM couldn't be detected or doesn't support networking features.
|
535
637
|
|
536
638
|
Most of the time this is simply due to the fact that no one has contributed
|
537
|
-
back the
|
538
|
-
|
639
|
+
back the logic necessary to set this up. Please report a bug as well as the
|
640
|
+
box you're using.
|
539
641
|
unsupported_host_name: |-
|
540
642
|
Setting host name is currently only supported on Debian, Ubuntu and RedHat.
|
541
643
|
If you'd like your guest OS to be supported, please open a ticket on the
|
542
644
|
project.
|
645
|
+
unsupported_nfs: |-
|
646
|
+
Vagrant doesn't support mounting NFS shared folders for your specific
|
647
|
+
guest operating system yet, or possibly couldn't properly detect the
|
648
|
+
operating system on the VM.
|
649
|
+
|
650
|
+
Most of the time this is simply due to the fact that no one has contributed
|
651
|
+
back the logic necessary to set this up. Please report a bug as well as the
|
652
|
+
box you're using.
|
653
|
+
unsupported_halt: |-
|
654
|
+
Vagrant doesn't support graceful shutdowns for your specific
|
655
|
+
guest operating system yet, or possibly couldn't properly detect the
|
656
|
+
operating system on the VM.
|
657
|
+
|
658
|
+
Most of the time this is simply due to the fact that no one has contributed
|
659
|
+
back the logic necessary to set this up. Please report a bug as well as the
|
660
|
+
box you're using.
|
661
|
+
unsupported_shared_folder: |-
|
662
|
+
Vagrant doesn't support mounting shared folders for your specific
|
663
|
+
guest operating system yet, or possibly couldn't properly detect the
|
664
|
+
operating system on the VM.
|
665
|
+
|
666
|
+
Most of the time this is simply due to the fact that no one has contributed
|
667
|
+
back the logic necessary to set this up. Please report a bug as well as the
|
668
|
+
box you're using.
|
543
669
|
linux:
|
544
|
-
attempting_halt: "Attempting graceful shutdown of linux..."
|
545
670
|
mount_fail: "Failed to mount shared folders. `vboxsf` was not available."
|
546
671
|
mount_nfs_fail: |-
|
547
672
|
Mounting NFS shared folders failed. This is most often caused by the NFS
|
@@ -549,9 +674,3 @@ en:
|
|
549
674
|
that the NFS client software is properly installed, and consult any resources
|
550
675
|
specific to the linux distro you're using for more information on how to
|
551
676
|
do this.
|
552
|
-
|
553
|
-
solaris:
|
554
|
-
attempting_halt: "Attempting graceful shutdown of solaris..."
|
555
|
-
|
556
|
-
freebsd:
|
557
|
-
attempting_halt: "Attempting graceful shutdown of FreeBSD..."
|