fixed-vagrant 0.7.4.dev
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 +15 -0
- data/.yardopts +1 -0
- data/CHANGELOG.md +272 -0
- data/Gemfile +21 -0
- data/LICENSE +21 -0
- data/README.md +75 -0
- data/Rakefile +22 -0
- data/bin/vagrant +22 -0
- data/config/default.rb +39 -0
- data/contrib/README.md +12 -0
- data/contrib/emacs/vagrant.el +8 -0
- data/contrib/vim/vagrantfile.vim +9 -0
- data/keys/README.md +17 -0
- data/keys/vagrant +27 -0
- data/keys/vagrant.ppk +26 -0
- data/keys/vagrant.pub +1 -0
- data/lib/vagrant.rb +42 -0
- data/lib/vagrant/action.rb +134 -0
- data/lib/vagrant/action/box.rb +11 -0
- data/lib/vagrant/action/box/destroy.rb +21 -0
- data/lib/vagrant/action/box/download.rb +72 -0
- data/lib/vagrant/action/box/package.rb +19 -0
- data/lib/vagrant/action/box/unpackage.rb +55 -0
- data/lib/vagrant/action/box/verify.rb +23 -0
- data/lib/vagrant/action/builder.rb +124 -0
- data/lib/vagrant/action/builtin.rb +104 -0
- data/lib/vagrant/action/env.rb +7 -0
- data/lib/vagrant/action/env/set.rb +18 -0
- data/lib/vagrant/action/environment.rb +50 -0
- data/lib/vagrant/action/general.rb +8 -0
- data/lib/vagrant/action/general/package.rb +109 -0
- data/lib/vagrant/action/general/validate.rb +19 -0
- data/lib/vagrant/action/vm.rb +31 -0
- data/lib/vagrant/action/vm/boot.rb +48 -0
- data/lib/vagrant/action/vm/check_box.rb +28 -0
- data/lib/vagrant/action/vm/check_guest_additions.rb +30 -0
- data/lib/vagrant/action/vm/clean_machine_folder.rb +43 -0
- data/lib/vagrant/action/vm/clear_forwarded_ports.rb +39 -0
- data/lib/vagrant/action/vm/clear_nfs_exports.rb +20 -0
- data/lib/vagrant/action/vm/clear_shared_folders.rb +32 -0
- data/lib/vagrant/action/vm/customize.rb +21 -0
- data/lib/vagrant/action/vm/destroy.rb +19 -0
- data/lib/vagrant/action/vm/destroy_unused_network_interfaces.rb +30 -0
- data/lib/vagrant/action/vm/discard_state.rb +22 -0
- data/lib/vagrant/action/vm/export.rb +52 -0
- data/lib/vagrant/action/vm/forward_ports.rb +134 -0
- data/lib/vagrant/action/vm/forward_ports_helpers.rb +28 -0
- data/lib/vagrant/action/vm/halt.rb +29 -0
- data/lib/vagrant/action/vm/host_name.rb +21 -0
- data/lib/vagrant/action/vm/import.rb +35 -0
- data/lib/vagrant/action/vm/match_mac_address.rb +21 -0
- data/lib/vagrant/action/vm/network.rb +139 -0
- data/lib/vagrant/action/vm/nfs.rb +159 -0
- data/lib/vagrant/action/vm/nfs_helpers.rb +11 -0
- data/lib/vagrant/action/vm/package.rb +23 -0
- data/lib/vagrant/action/vm/package_vagrantfile.rb +33 -0
- data/lib/vagrant/action/vm/provision.rb +41 -0
- data/lib/vagrant/action/vm/resume.rb +20 -0
- data/lib/vagrant/action/vm/share_folders.rb +70 -0
- data/lib/vagrant/action/vm/suspend.rb +20 -0
- data/lib/vagrant/action/warden.rb +79 -0
- data/lib/vagrant/box.rb +90 -0
- data/lib/vagrant/box_collection.rb +53 -0
- data/lib/vagrant/cli.rb +55 -0
- data/lib/vagrant/command.rb +25 -0
- data/lib/vagrant/command/base.rb +106 -0
- data/lib/vagrant/command/box.rb +33 -0
- data/lib/vagrant/command/destroy.rb +17 -0
- data/lib/vagrant/command/group_base.rb +107 -0
- data/lib/vagrant/command/halt.rb +18 -0
- data/lib/vagrant/command/helpers.rb +33 -0
- data/lib/vagrant/command/init.rb +14 -0
- data/lib/vagrant/command/named_base.rb +14 -0
- data/lib/vagrant/command/package.rb +41 -0
- data/lib/vagrant/command/provision.rb +17 -0
- data/lib/vagrant/command/reload.rb +17 -0
- data/lib/vagrant/command/resume.rb +17 -0
- data/lib/vagrant/command/ssh.rb +42 -0
- data/lib/vagrant/command/ssh_config.rb +26 -0
- data/lib/vagrant/command/status.rb +22 -0
- data/lib/vagrant/command/suspend.rb +17 -0
- data/lib/vagrant/command/up.rb +19 -0
- data/lib/vagrant/command/upgrade_to_060.rb +45 -0
- data/lib/vagrant/command/version.rb +13 -0
- data/lib/vagrant/config.rb +123 -0
- data/lib/vagrant/config/base.rb +85 -0
- data/lib/vagrant/config/error_recorder.rb +19 -0
- data/lib/vagrant/config/nfs.rb +10 -0
- data/lib/vagrant/config/package.rb +9 -0
- data/lib/vagrant/config/ssh.rb +33 -0
- data/lib/vagrant/config/top.rb +61 -0
- data/lib/vagrant/config/vagrant.rb +16 -0
- data/lib/vagrant/config/vm.rb +137 -0
- data/lib/vagrant/config/vm/provisioner.rb +56 -0
- data/lib/vagrant/config/vm/sub_vm.rb +17 -0
- data/lib/vagrant/data_store.rb +70 -0
- data/lib/vagrant/downloaders.rb +7 -0
- data/lib/vagrant/downloaders/base.rb +23 -0
- data/lib/vagrant/downloaders/file.rb +22 -0
- data/lib/vagrant/downloaders/http.rb +64 -0
- data/lib/vagrant/environment.rb +392 -0
- data/lib/vagrant/errors.rb +332 -0
- data/lib/vagrant/hosts.rb +8 -0
- data/lib/vagrant/hosts/arch.rb +27 -0
- data/lib/vagrant/hosts/base.rb +78 -0
- data/lib/vagrant/hosts/bsd.rb +52 -0
- data/lib/vagrant/hosts/linux.rb +47 -0
- data/lib/vagrant/plugin.rb +57 -0
- data/lib/vagrant/provisioners.rb +9 -0
- data/lib/vagrant/provisioners/base.rb +63 -0
- data/lib/vagrant/provisioners/chef.rb +130 -0
- data/lib/vagrant/provisioners/chef_server.rb +103 -0
- data/lib/vagrant/provisioners/chef_solo.rb +142 -0
- data/lib/vagrant/provisioners/puppet.rb +137 -0
- data/lib/vagrant/provisioners/puppet_server.rb +55 -0
- data/lib/vagrant/provisioners/shell.rb +52 -0
- data/lib/vagrant/ssh.rb +173 -0
- data/lib/vagrant/ssh/session.rb +125 -0
- data/lib/vagrant/systems.rb +11 -0
- data/lib/vagrant/systems/base.rb +87 -0
- data/lib/vagrant/systems/debian.rb +36 -0
- data/lib/vagrant/systems/freebsd.rb +84 -0
- data/lib/vagrant/systems/gentoo.rb +27 -0
- data/lib/vagrant/systems/linux.rb +83 -0
- data/lib/vagrant/systems/linux/config.rb +21 -0
- data/lib/vagrant/systems/linux/error.rb +9 -0
- data/lib/vagrant/systems/redhat.rb +39 -0
- data/lib/vagrant/systems/solaris.rb +62 -0
- data/lib/vagrant/systems/ubuntu.rb +17 -0
- data/lib/vagrant/test_helpers.rb +128 -0
- data/lib/vagrant/ui.rb +69 -0
- data/lib/vagrant/util.rb +13 -0
- data/lib/vagrant/util/busy.rb +59 -0
- data/lib/vagrant/util/hash_with_indifferent_access.rb +63 -0
- data/lib/vagrant/util/plain_logger.rb +25 -0
- data/lib/vagrant/util/platform.rb +65 -0
- data/lib/vagrant/util/resource_logger.rb +63 -0
- data/lib/vagrant/util/retryable.rb +25 -0
- data/lib/vagrant/util/stacked_proc_runner.rb +35 -0
- data/lib/vagrant/util/template_renderer.rb +83 -0
- data/lib/vagrant/version.rb +6 -0
- data/lib/vagrant/vm.rb +177 -0
- data/templates/chef_server_client.erb +18 -0
- data/templates/chef_solo_solo.erb +19 -0
- data/templates/commands/init/Vagrantfile.erb +82 -0
- data/templates/config/validation_failed.erb +7 -0
- data/templates/locales/en.yml +535 -0
- data/templates/network_entry_debian.erb +8 -0
- data/templates/network_entry_gentoo.erb +5 -0
- data/templates/network_entry_redhat.erb +8 -0
- data/templates/nfs/exports.erb +5 -0
- data/templates/nfs/exports_linux.erb +5 -0
- data/templates/package_Vagrantfile.erb +11 -0
- data/templates/ssh_config.erb +9 -0
- data/test/locales/en.yml +8 -0
- data/test/test_helper.rb +26 -0
- data/test/vagrant/action/box/destroy_test.rb +18 -0
- data/test/vagrant/action/box/download_test.rb +125 -0
- data/test/vagrant/action/box/package_test.rb +25 -0
- data/test/vagrant/action/box/unpackage_test.rb +84 -0
- data/test/vagrant/action/box/verify_test.rb +30 -0
- data/test/vagrant/action/builder_test.rb +203 -0
- data/test/vagrant/action/env/set_test.rb +24 -0
- data/test/vagrant/action/environment_test.rb +27 -0
- data/test/vagrant/action/general/package_test.rb +268 -0
- data/test/vagrant/action/general/validate_test.rb +31 -0
- data/test/vagrant/action/vm/boot_test.rb +66 -0
- data/test/vagrant/action/vm/check_box_test.rb +56 -0
- data/test/vagrant/action/vm/check_guest_additions_test.rb +9 -0
- data/test/vagrant/action/vm/clean_machine_folder_test.rb +84 -0
- data/test/vagrant/action/vm/clear_forwarded_ports_test.rb +72 -0
- data/test/vagrant/action/vm/clear_nfs_exports_test.rb +22 -0
- data/test/vagrant/action/vm/clear_shared_folders_test.rb +49 -0
- data/test/vagrant/action/vm/customize_test.rb +30 -0
- data/test/vagrant/action/vm/destroy_test.rb +25 -0
- data/test/vagrant/action/vm/destroy_unused_network_interfaces_test.rb +49 -0
- data/test/vagrant/action/vm/discard_state_test.rb +45 -0
- data/test/vagrant/action/vm/export_test.rb +107 -0
- data/test/vagrant/action/vm/forward_ports_helpers_test.rb +70 -0
- data/test/vagrant/action/vm/forward_ports_test.rb +194 -0
- data/test/vagrant/action/vm/halt_test.rb +79 -0
- data/test/vagrant/action/vm/host_name_test.rb +36 -0
- data/test/vagrant/action/vm/import_test.rb +66 -0
- data/test/vagrant/action/vm/match_mac_address_test.rb +36 -0
- data/test/vagrant/action/vm/network_test.rb +286 -0
- data/test/vagrant/action/vm/nfs_helpers_test.rb +26 -0
- data/test/vagrant/action/vm/nfs_test.rb +260 -0
- data/test/vagrant/action/vm/package_test.rb +25 -0
- data/test/vagrant/action/vm/package_vagrantfile_test.rb +46 -0
- data/test/vagrant/action/vm/provision_test.rb +90 -0
- data/test/vagrant/action/vm/resume_test.rb +35 -0
- data/test/vagrant/action/vm/share_folders_test.rb +139 -0
- data/test/vagrant/action/vm/suspend_test.rb +35 -0
- data/test/vagrant/action/warden_test.rb +119 -0
- data/test/vagrant/action_test.rb +89 -0
- data/test/vagrant/box_collection_test.rb +45 -0
- data/test/vagrant/box_test.rb +74 -0
- data/test/vagrant/cli_test.rb +35 -0
- data/test/vagrant/command/base_test.rb +23 -0
- data/test/vagrant/command/group_base_test.rb +15 -0
- data/test/vagrant/command/helpers_test.rb +88 -0
- data/test/vagrant/command/package_test.rb +27 -0
- data/test/vagrant/config/base_test.rb +52 -0
- data/test/vagrant/config/error_recorder_test.rb +18 -0
- data/test/vagrant/config/ssh_test.rb +12 -0
- data/test/vagrant/config/vagrant_test.rb +35 -0
- data/test/vagrant/config/vm/provisioner_test.rb +92 -0
- data/test/vagrant/config/vm_test.rb +86 -0
- data/test/vagrant/config_test.rb +162 -0
- data/test/vagrant/data_store_test.rb +77 -0
- data/test/vagrant/downloaders/base_test.rb +28 -0
- data/test/vagrant/downloaders/file_test.rb +48 -0
- data/test/vagrant/downloaders/http_test.rb +80 -0
- data/test/vagrant/environment_test.rb +508 -0
- data/test/vagrant/errors_test.rb +42 -0
- data/test/vagrant/hosts/base_test.rb +46 -0
- data/test/vagrant/hosts/bsd_test.rb +53 -0
- data/test/vagrant/hosts/linux_test.rb +54 -0
- data/test/vagrant/plugin_test.rb +9 -0
- data/test/vagrant/provisioners/base_test.rb +63 -0
- data/test/vagrant/provisioners/chef_server_test.rb +188 -0
- data/test/vagrant/provisioners/chef_solo_test.rb +219 -0
- data/test/vagrant/provisioners/chef_test.rb +179 -0
- data/test/vagrant/provisioners/puppet_server_test.rb +68 -0
- data/test/vagrant/provisioners/puppet_test.rb +182 -0
- data/test/vagrant/provisioners/shell_test.rb +68 -0
- data/test/vagrant/ssh/session_test.rb +40 -0
- data/test/vagrant/ssh_test.rb +342 -0
- data/test/vagrant/systems/base_test.rb +18 -0
- data/test/vagrant/systems/linux_test.rb +114 -0
- data/test/vagrant/ui_test.rb +29 -0
- data/test/vagrant/util/busy_test.rb +106 -0
- data/test/vagrant/util/hash_with_indifferent_access_test.rb +39 -0
- data/test/vagrant/util/plain_logger_test.rb +17 -0
- data/test/vagrant/util/platform_test.rb +18 -0
- data/test/vagrant/util/resource_logger_test.rb +78 -0
- data/test/vagrant/util/retryable_test.rb +50 -0
- data/test/vagrant/util/stacked_proc_runner_test.rb +43 -0
- data/test/vagrant/util/template_renderer_test.rb +145 -0
- data/test/vagrant/vm_test.rb +291 -0
- data/vagrant.gemspec +36 -0
- metadata +514 -0
data/.gitignore
ADDED
data/.yardopts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
-m markdown
|
data/CHANGELOG.md
ADDED
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
## 0.7.4 (unreleased)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
## 0.7.3 (April 19, 2011)
|
|
6
|
+
|
|
7
|
+
- Retry all SSH on Net::SSH::Disconnect in case SSH is just restarting. [GH-313]
|
|
8
|
+
- Add NFS shared folder support for Arch linux. [GH-346]
|
|
9
|
+
- Fix issue with unknown terminal type output for sudo commands.
|
|
10
|
+
- Forwarded port protocol can now be set as UDP. [GH-311]
|
|
11
|
+
- Chef server file cache path and file backup path can be configured. [GH-310]
|
|
12
|
+
- Setting hostname should work on Debian now. [GH-307]
|
|
13
|
+
|
|
14
|
+
## 0.7.2 (February 8, 2011)
|
|
15
|
+
|
|
16
|
+
- Update JSON dependency to 1.5.1, which works with Ruby 1.9 on
|
|
17
|
+
Windows.
|
|
18
|
+
- Fix sudo issues on sudo < 1.7.0 (again).
|
|
19
|
+
- Fix race condition in SSH, which specifically manifested itself in
|
|
20
|
+
the chef server provisioner. [GH-295]
|
|
21
|
+
- Change sudo shell to use `bash` (configurable). [GH-301]
|
|
22
|
+
- Can now set mac address of host only network. [GH-294]
|
|
23
|
+
- NFS shared folders with spaces now work properly. [GH-293]
|
|
24
|
+
- Failed SSH commands now show output in error message. [GH-285]
|
|
25
|
+
|
|
26
|
+
## 0.7.1 (January 28, 2011)
|
|
27
|
+
|
|
28
|
+
- Change error output with references to VirtualBox 3.2 to 4.0.
|
|
29
|
+
- Internal SSH through net-ssh now uses `IdentitiesOnly` thanks to
|
|
30
|
+
upstream net-ssh fix.
|
|
31
|
+
- Fix issue causing warnings to show with `forwardx11` enabled for SSH. [GH-279]
|
|
32
|
+
- FreeBSD support for host only networks, NFS, halting, etc. [GH-275]
|
|
33
|
+
- Make SSH commands which use sudo compatible with sudo < 1.7.0. [GH-278]
|
|
34
|
+
- Fix broken puppet server provisioner which called a nonexistent
|
|
35
|
+
method.
|
|
36
|
+
- Default SSH host changed from `localhost` to `127.0.0.1` since
|
|
37
|
+
`localhost` is not always loopback.
|
|
38
|
+
- New `shell` provisioner which simply uploads and executes a script as
|
|
39
|
+
root on the VM.
|
|
40
|
+
- Gentoo host only networking no longer fails if alrady setup. [GH-286]
|
|
41
|
+
- Set the host name of your guest OS with `config.vm.host_name` [GH-273]
|
|
42
|
+
- `vagrant ssh-config` now outputs the configured `config.ssh.host`
|
|
43
|
+
|
|
44
|
+
## 0.7.0 (January 19, 2011)
|
|
45
|
+
|
|
46
|
+
- VirtualBox 4.0 support. Support for VirtualBox 3.2 is _dropped_, since
|
|
47
|
+
the API is so different. Stay with the 0.6.x series if you have VirtualBox
|
|
48
|
+
3.2.x.
|
|
49
|
+
- Puppet server provisioner. [GH-262]
|
|
50
|
+
- Use numeric uid/gid in mounting shared folders to increase portability. [GH-252]
|
|
51
|
+
- HTTP downloading follows redirects. [GH-163]
|
|
52
|
+
- Downloaders have clearer output to note what they're doing.
|
|
53
|
+
- Shared folders with no guest path are not automounted. [GH-184]
|
|
54
|
+
- Boxes downloaded during `vagrant up` reload the Vagrantfile config, which
|
|
55
|
+
fixes a problem with box settings not being properly loaded. [GH-231]
|
|
56
|
+
- `config.ssh.forward_x11` to enable the ForwardX11 SSH option. [GH-255]
|
|
57
|
+
- Vagrant source now has a `contrib` directory where contributions of miscellaneous
|
|
58
|
+
addons for Vagrant will be added.
|
|
59
|
+
- Vagrantfiles are now loaded only once (instead of 4+ times) [GH-238]
|
|
60
|
+
- Ability to move home vagrant dir (~/.vagrant) by setting VAGRANT_HOME
|
|
61
|
+
environmental variable.
|
|
62
|
+
- Removed check and error for the "OSE" version of VirtualBox, since with
|
|
63
|
+
VirtualBox 4 this distinction no longer exists.
|
|
64
|
+
- Ability to specify proxy settings for chef. [GH-169]
|
|
65
|
+
- Helpful error message shown if NFS mounting fails. [GH-135]
|
|
66
|
+
- Gentoo guests now support host only networks. [GH-240]
|
|
67
|
+
- RedHat (CentOS included) guests now support host only networks. [GH-260]
|
|
68
|
+
- New Vagrantfile syntax for enabling and configuring provisioners. This
|
|
69
|
+
change is not backwards compatible. [GH-265]
|
|
70
|
+
- Provisioners are now RVM-friendly, meaning if you installed chef or puppet
|
|
71
|
+
with an RVM managed Ruby, Vagrant now finds then. [GH-254]
|
|
72
|
+
- Changed the unused host only network destroy mechanism to check for
|
|
73
|
+
uselessness after the VM is destroyed. This should result in more accurate
|
|
74
|
+
checks.
|
|
75
|
+
- Networks are no longer disabled upon halt/destroy. With the above
|
|
76
|
+
change, its unnecessary.
|
|
77
|
+
- Puppet supports `module_path` configuration to mount local modules directory
|
|
78
|
+
as a shared folder and configure puppet with it. [GH-270]
|
|
79
|
+
- `ssh-config` now outputs `127.0.0.1` as the host instead of `localhost`.
|
|
80
|
+
|
|
81
|
+
## 0.6.9 (December 21, 2010)
|
|
82
|
+
|
|
83
|
+
- Puppet provisioner. [GH-223]
|
|
84
|
+
- Solaris system configurable to use `sudo`.
|
|
85
|
+
- Solaris system registered, so it can be set with `:solaris`.
|
|
86
|
+
- `vagrant package` include can be a directory name, which will cause the
|
|
87
|
+
contents to be recursively copied into the package. [GH-241]
|
|
88
|
+
- Arbitrary options to puppet binary can be set with `config.puppet.options`. [GH-242]
|
|
89
|
+
- BSD hosts use proper GNU sed syntax for clearing NFS shares. [GH-243]
|
|
90
|
+
- Enumerate VMs in a multi-VM environment in order they were defined. [GH-244]
|
|
91
|
+
- Check for VM boot changed to use `timeout` library, which works better with Windows.
|
|
92
|
+
- Show special error if VirtualBox not detected on 64-bit Windows.
|
|
93
|
+
- Show error to Windows users attempting to use host only networking since
|
|
94
|
+
it doesn't work yet.
|
|
95
|
+
|
|
96
|
+
## 0.6.8 (November 30, 2010)
|
|
97
|
+
|
|
98
|
+
- Network interfaces are now up/down in distinct commands instead of just
|
|
99
|
+
restarting "networking." [GH-192]
|
|
100
|
+
- Add missing translation for chef binary missing. [GH-203]
|
|
101
|
+
- Fix default settings for Opscode platform and comments. [GH-213]
|
|
102
|
+
- Blank client name for chef server now uses FQDN by default, instead of "client" [GH-214]
|
|
103
|
+
- Run list can now be nil, which will cause it to sync with chef server (when
|
|
104
|
+
chef server is enabled). [GH-214]
|
|
105
|
+
- Multiple NFS folders now work on linux. [GH-215]
|
|
106
|
+
- Add translation for state "stuck" which is very rare. [GH-218]
|
|
107
|
+
- virtualbox gem dependency minimum raised to 0.7.6 to verify FFI < 1.0.0 is used.
|
|
108
|
+
- Fix issue where box downloading from `vagrant up` didn't reload the box collection. [GH-229]
|
|
109
|
+
|
|
110
|
+
## 0.6.7 (November 3, 2010)
|
|
111
|
+
|
|
112
|
+
- Added validation to verify that a box is specified.
|
|
113
|
+
- Proper error message when box is not found for `config.vm.box`. [GH-195]
|
|
114
|
+
- Fix output of `vagrant status` with multi-vm to be correct. [GH-196]
|
|
115
|
+
|
|
116
|
+
## 0.6.6 (October 14, 2010)
|
|
117
|
+
|
|
118
|
+
- `vagrant status NAME` works once again. [GH-191]
|
|
119
|
+
- Conditional validation of Vagrantfile so that some commands don't validate. [GH-188]
|
|
120
|
+
- Fix "junk" output for ssh-config. [GH-189]
|
|
121
|
+
- Fix port collision handling with greater than two VMs. [GH-185]
|
|
122
|
+
- Fix potential infinite loop with root path if bad CWD is given to environment.
|
|
123
|
+
|
|
124
|
+
## 0.6.5 (October 8, 2010)
|
|
125
|
+
|
|
126
|
+
- Validations on base MAC address to avoid situation described in GH-166, GH-181
|
|
127
|
+
from ever happening again.
|
|
128
|
+
- Properly load sub-VM configuration on first-pass of config loading. Solves
|
|
129
|
+
a LOT of problems with multi-VM. [GH-166] [GH-181]
|
|
130
|
+
- Configuration now only validates on final Vagrantfile proc, so multi-VM
|
|
131
|
+
validates correctly.
|
|
132
|
+
- A nice error message is given if ".vagrant" is a directory and therefore
|
|
133
|
+
can't be accessed. [GH-172]
|
|
134
|
+
- Fix plugin loading in a Rails 2.3.x project. [GH-176]
|
|
135
|
+
|
|
136
|
+
## 0.6.4 (October 4, 2010)
|
|
137
|
+
|
|
138
|
+
- Default VM name is now properly the parent folder of the working directory
|
|
139
|
+
of the environment.
|
|
140
|
+
- Added method to `TestHelpers` to assist with testing new downloaders.
|
|
141
|
+
- `up --no-provision` works again. This disables provisioning during the
|
|
142
|
+
boot process.
|
|
143
|
+
- Action warden doesn't do recovery process on `SystemExit` exceptions,
|
|
144
|
+
allowing the double ctrl-C to work properly again. [related to GH-166]
|
|
145
|
+
- Initial Vagrantfile is now heavily commented with various available
|
|
146
|
+
options. [GH-171]
|
|
147
|
+
- Box add checks if a box already exists before the download. [GH-170]
|
|
148
|
+
- NFS no longer attempts to clean exports file if VM is not created,
|
|
149
|
+
which was causing a stack trace during recovery. [related to GH-166]
|
|
150
|
+
- Basic validation added for Chef configuration (both solo and server).
|
|
151
|
+
- Top config class is now available in all `Vagrant::Config::Base`
|
|
152
|
+
subclasses, which is useful for config validation.
|
|
153
|
+
- Subcommand help shows proper full command in task listing. [GH-168]
|
|
154
|
+
- SSH gives error message if `ssh` binary is not found. [GH-161]
|
|
155
|
+
- SSH gives proper error message if VM is not running. [GH-167]
|
|
156
|
+
- Fix some issues with undefined constants in command errors.
|
|
157
|
+
|
|
158
|
+
## 0.6.1, 0.6.2, 0.6.3 (September 27, 2010)
|
|
159
|
+
|
|
160
|
+
A lot of quick releases which all were to fix issues with Ruby 1.8.7
|
|
161
|
+
compatibility.
|
|
162
|
+
|
|
163
|
+
## 0.6.0 (September 27, 2010)
|
|
164
|
+
|
|
165
|
+
- VM name now defaults to the name of the containing folder, plus a timestamp.
|
|
166
|
+
This should make it easier to identify VMs in the VirtualBox GUI.
|
|
167
|
+
- Exposed Vagrant test helpers in `Vagrant::TestHelpers` for plugins to easily
|
|
168
|
+
test themselves against Vagrant environments.
|
|
169
|
+
- **Plugins** have landed. Plugins are simply gems which have a `vagrant_init.rb`
|
|
170
|
+
file somewhere in their load path. Please read the documentation on
|
|
171
|
+
vagrantup.com before attempting to create a plugin (which is very easy)
|
|
172
|
+
for more information on how it all works and also some guidelines.
|
|
173
|
+
- `vagrant package` now takes a `--vagrantfile` option to specify a
|
|
174
|
+
Vagrantfile to package. The `--include` approach for including a Vagrantfile
|
|
175
|
+
no longer works (previously built boxes will continue to work).
|
|
176
|
+
- `vagrant package` has new logic with regards to the `--include` option
|
|
177
|
+
depending on if the file path is relative or absolute (they can be
|
|
178
|
+
intermixed):
|
|
179
|
+
* _Relative_ paths are copied directly into the box, preserving
|
|
180
|
+
their path. So `--include lib/foo` would be in the box as "lib/foo"
|
|
181
|
+
* _Absolute_ paths are simply copied files into the root of the
|
|
182
|
+
box. So `--include /lib/foo` would be in the box as "foo"
|
|
183
|
+
- "vagrant_main" is no longer the default run list. Instead, chef
|
|
184
|
+
run list starts empty. It is up to you to specify all recipes in
|
|
185
|
+
the Vagrantfile now.
|
|
186
|
+
- Fixed various issues with certain action middleware not working if
|
|
187
|
+
the VM was not created.
|
|
188
|
+
- SSH connection is retried 5 times if there is a connection refused.
|
|
189
|
+
Related to GH-140.
|
|
190
|
+
- If `http_proxy` environmental variable is set, it will be used as the proxy
|
|
191
|
+
box adding via http.
|
|
192
|
+
- Remove `config.ssh.password`. It hasn't been used for a few versions
|
|
193
|
+
now and was only kept around to avoid exceptions in Vagrantfiles.
|
|
194
|
+
- Configuration is now validated so improper input can be found in
|
|
195
|
+
Vagrantfiles.
|
|
196
|
+
- Fixed issue with not detecting Vagrantfile at root directory ("/").
|
|
197
|
+
- Vagrant now gives a nice error message if there is a syntax error
|
|
198
|
+
in any Vagrantfile. [GH-154]
|
|
199
|
+
- The format of the ".vagrant" file which stores persisted VMs has
|
|
200
|
+
changed. This is **backwards incompatible**. Will provide an upgrade
|
|
201
|
+
utility prior to 0.6 launch.
|
|
202
|
+
- Every [expected] Vagrant error now exits with a clean error message
|
|
203
|
+
and a unique exit status, and raises a unique exception (if you're
|
|
204
|
+
scripting Vagrant).
|
|
205
|
+
- Added I18n gem dependency for pulling strings into clean YML files.
|
|
206
|
+
Vagrant is now localizable as a side effect! Translations welcome.
|
|
207
|
+
- Fixed issue with "Waiting for cleanup" message appearing twice in
|
|
208
|
+
some cases. [GH-145]
|
|
209
|
+
- Converted CLI to use Thor. As a tradeoff, there are some backwards
|
|
210
|
+
incompatibilities:
|
|
211
|
+
* `vagrant package` - The `--include` flag now separates filenames
|
|
212
|
+
by spaces, instead of by commas. e.g. `vagrant package --include x y z`
|
|
213
|
+
* `vagrant ssh` - If you specify a command to execute using the `--execute`
|
|
214
|
+
flag, you may now only specify one command (before you were able to
|
|
215
|
+
specify an arbitrary amount). e.g. `vagrant ssh -e "echo hello"`
|
|
216
|
+
* `vagrant ssh-config` has become `vagrant ssh_config` due to a limitation
|
|
217
|
+
in Thor.
|
|
218
|
+
|
|
219
|
+
## 0.5.4 (September 7, 2010)
|
|
220
|
+
|
|
221
|
+
- Fix issue with the "exec failed" by running on Tiger as well.
|
|
222
|
+
- Give an error when downloading a box which already exists prior
|
|
223
|
+
to actually downloading the box.
|
|
224
|
+
|
|
225
|
+
## 0.5.3 (August 23, 2010)
|
|
226
|
+
|
|
227
|
+
- Add erubis as a dependency since its rendering of `erb` is sane.
|
|
228
|
+
- Fixed poorly formatted Vagrantfile after `vagrant init`. [GH-142]
|
|
229
|
+
- Fixed NFS not working properly with multiple NFS folders.
|
|
230
|
+
- Fixed chef solo provision to work on Windows. It was expanding a linux
|
|
231
|
+
path which prepended a drive letter onto it.
|
|
232
|
+
|
|
233
|
+
## 0.5.2 (August 3, 2010)
|
|
234
|
+
|
|
235
|
+
- `vagrant up` can be used as a way to resume the VM as well (same as
|
|
236
|
+
`vagrant resume`). [GH-134]
|
|
237
|
+
- Sudo uses "-E" flag to preserve environment for chef provisioners.
|
|
238
|
+
This fixes issues with CentOS. [GH-133]
|
|
239
|
+
- Added "IdentitiesOnly yes" to options when `vagrant ssh` is run to
|
|
240
|
+
avoid "Too Many Authentication Failures" error. [GH-131]
|
|
241
|
+
- Fix regression with `package` not working. [GH-132]
|
|
242
|
+
- Added ability to specify box url in `init`, which populates the
|
|
243
|
+
Vagrantfile with the proper `config.vm.box_url`.
|
|
244
|
+
|
|
245
|
+
## 0.5.1 (July 31, 2010)
|
|
246
|
+
|
|
247
|
+
- Allow specifying cookbook paths which exist only on the VM in `config.chef.cookbooks_path`.
|
|
248
|
+
This is used for specifying cookbook paths when `config.chef.recipe_url` is used. [GH-130]
|
|
249
|
+
See updated chef solo documentation for more information on this.
|
|
250
|
+
- No longer show "Disabling host only networks..." if no host only networks
|
|
251
|
+
are destroyed. Quiets `destroy`, `halt`, etc output a bit.
|
|
252
|
+
- Updated getting started guide to be more up to date and generic. [GH-125]
|
|
253
|
+
- Fixed error with doing a `vagrant up` when no Vagrantfile existed. [GH-128]
|
|
254
|
+
- Fixed NFS erroring when NFS wasn't even enabled if `/etc/exports` doesn't
|
|
255
|
+
exist. [GH-126]
|
|
256
|
+
- Fixed `vagrant resume` to properly resume a suspended VM. [GH-122]
|
|
257
|
+
- Fixed `halt`, `destroy`, `reload` to where they failed if the VM was
|
|
258
|
+
in a saved state. [GH-123]
|
|
259
|
+
- Added `config.chef.recipe_url` which allows you to specify a URL to
|
|
260
|
+
a gzipped tar file for chef solo to download cookbooks. See the
|
|
261
|
+
[chef-solo docs](http://wiki.opscode.com/display/chef/Chef+Solo#ChefSolo-RunningfromaURL) for more information.
|
|
262
|
+
[GH-121]
|
|
263
|
+
- Added `vagrant box repackage` which repackages boxes which have
|
|
264
|
+
been added. This is useful in case you want to redistribute a base
|
|
265
|
+
box you have but may have lost the actual "box" file. [GH-120]
|
|
266
|
+
|
|
267
|
+
## Previous
|
|
268
|
+
|
|
269
|
+
The changelog began with version 0.5.1 so any changes prior to that
|
|
270
|
+
can be seen by checking the tagged releases and reading git commit
|
|
271
|
+
messages.
|
|
272
|
+
|
data/Gemfile
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
source "http://rubygems.org"
|
|
2
|
+
|
|
3
|
+
#gem "vagrant", :path => '.'
|
|
4
|
+
|
|
5
|
+
# Use the following gems straight from git, since Vagrant dev
|
|
6
|
+
# typically coincides with it
|
|
7
|
+
gem "virtualbox", :git => "git://github.com/mitchellh/virtualbox.git"
|
|
8
|
+
|
|
9
|
+
# Gems required for testing only. To install run
|
|
10
|
+
# gem bundle test
|
|
11
|
+
group :test do
|
|
12
|
+
gem "rake"
|
|
13
|
+
gem "contest", ">= 0.1.2"
|
|
14
|
+
gem "mocha"
|
|
15
|
+
|
|
16
|
+
# For documentation
|
|
17
|
+
platforms :ruby do
|
|
18
|
+
gem "yard", "~> 0.6.1"
|
|
19
|
+
gem "bluecloth"
|
|
20
|
+
end
|
|
21
|
+
end
|
data/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
The MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2010 Mitchell Hashimoto and John Bender
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
|
13
|
+
all copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
21
|
+
THE SOFTWARE.
|
data/README.md
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Vagrant
|
|
2
|
+
|
|
3
|
+
## This version of vagrant fixes the issue when running 'vagrant up' for the first time.
|
|
4
|
+
|
|
5
|
+
The local file Vagrant uses to store data ".vagrant" already exists
|
|
6
|
+
and is a directory! If you are in your home directory, then please run
|
|
7
|
+
this command in another directory. If you aren't in a home directory,
|
|
8
|
+
then please rename ".vagrant" to something else, or configure Vagrant
|
|
9
|
+
|
|
10
|
+
I will attempt to keep this branch as updated as possible with the vagrant source.
|
|
11
|
+
|
|
12
|
+
I implore the vagrant developers to either merge in my fix, or fix the issue on their own, as currently any new installations of vagrant are completely broken, which I believe is stifling this otherwise excellent project.
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
Now on to your regularly scheduled program...
|
|
16
|
+
|
|
17
|
+
* Website: [http://vagrantup.com](http://vagrantup.com)
|
|
18
|
+
* Source: [http://github.com/mitchellh/vagrant](http://github.com/mitchellh/vagrant)
|
|
19
|
+
* IRC: `#vagrant` on Freenode
|
|
20
|
+
* Mailing list: [Google Groups](http://groups.google.com/group/vagrant-up)
|
|
21
|
+
|
|
22
|
+
Vagrant is a tool for building and distributing virtualized development environments.
|
|
23
|
+
|
|
24
|
+
By providing automated creation and provisioning of virtual machines using [Oracle’s VirtualBox](http://www.virtualbox.org),
|
|
25
|
+
Vagrant provides the tools to create and configure lightweight, reproducible, and portable
|
|
26
|
+
virtual environments. For more information, see the part of the getting started guide
|
|
27
|
+
on “[Why Vagrant?](http://vagrantup.com/docs/getting-started/index.html)”
|
|
28
|
+
|
|
29
|
+
## Quick Start
|
|
30
|
+
|
|
31
|
+
First, make sure your development machine has [VirtualBox](http://www.virtualbox.org)
|
|
32
|
+
installed. The setup from that point forward is very easy, since Vagrant is simply
|
|
33
|
+
a rubygem.
|
|
34
|
+
|
|
35
|
+
gem install vagrant
|
|
36
|
+
|
|
37
|
+
To build your first virtual environment:
|
|
38
|
+
|
|
39
|
+
vagrant init lucid32 http://files.vagrantup.com/lucid32.box
|
|
40
|
+
vagrant up
|
|
41
|
+
|
|
42
|
+
Note: The above `vagrant up` command will also trigger Vagrant to download the
|
|
43
|
+
`lucid32` box via the specified URL. Vagrant only does this if it detects that
|
|
44
|
+
the box doesn't already exist on your system.
|
|
45
|
+
|
|
46
|
+
## Getting Started Guide and Video
|
|
47
|
+
|
|
48
|
+
To learn how to build a fully functional rails development environment, view the
|
|
49
|
+
[getting started guide](http://vagrantup.com/docs/getting-started/index.html).
|
|
50
|
+
|
|
51
|
+
There is also a fairly short (12 minute) [getting started video](http://vimeo.com/9976342) which
|
|
52
|
+
explains how to build a fully functional LAMP development environment, which
|
|
53
|
+
covers a few parts of Vagrant in more detail than the website guide.
|
|
54
|
+
|
|
55
|
+
## Installing the Gem from Git
|
|
56
|
+
|
|
57
|
+
If you want the bleeding edge version of Vagrant, we try to keep master pretty stable
|
|
58
|
+
and you're welcome to give it a shot. The following is an example showing how to do this:
|
|
59
|
+
|
|
60
|
+
rake install
|
|
61
|
+
|
|
62
|
+
## Contributing to Vagrant
|
|
63
|
+
|
|
64
|
+
To hack on vagrant, you'll need [bundler](http://github.com/carlhuda/bundler) which can
|
|
65
|
+
be installed with a simple `gem install bundler --pre`. Afterwords, do the following:
|
|
66
|
+
|
|
67
|
+
bundle install
|
|
68
|
+
rake
|
|
69
|
+
|
|
70
|
+
This will run the test suite, which should come back all green! Then you're good to go!
|
|
71
|
+
|
|
72
|
+
If you want to run Vagrant without having to install the gem, you may use `bundle exec`,
|
|
73
|
+
like so:
|
|
74
|
+
|
|
75
|
+
bundle exec bin/vagrant help
|
data/Rakefile
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
require 'rubygems'
|
|
2
|
+
require 'bundler/setup'
|
|
3
|
+
require 'rake/testtask'
|
|
4
|
+
Bundler::GemHelper.install_tasks
|
|
5
|
+
|
|
6
|
+
task :default => :test
|
|
7
|
+
|
|
8
|
+
Rake::TestTask.new do |t|
|
|
9
|
+
t.libs << "test"
|
|
10
|
+
t.pattern = 'test/**/*_test.rb'
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
begin
|
|
14
|
+
require 'yard'
|
|
15
|
+
YARD::Rake::YardocTask.new do |t|
|
|
16
|
+
t.options = ['--main', 'README.md', '--markup', 'markdown']
|
|
17
|
+
t.options += ['--title', 'Vagrant Developer Documentation']
|
|
18
|
+
end
|
|
19
|
+
rescue LoadError
|
|
20
|
+
puts "Yard not available. Install it with: gem install yard"
|
|
21
|
+
puts "if you wish to be able to generate developer documentation."
|
|
22
|
+
end
|
data/bin/vagrant
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
require 'vagrant'
|
|
3
|
+
require 'vagrant/cli'
|
|
4
|
+
|
|
5
|
+
env = Vagrant::Environment.new
|
|
6
|
+
|
|
7
|
+
begin
|
|
8
|
+
# Set the UI early in case any errors are raised, and load
|
|
9
|
+
# the config immediately, so we gather any new commands from
|
|
10
|
+
# plugins
|
|
11
|
+
env.ui = Vagrant::UI::Shell.new(env, Thor::Base.shell.new)
|
|
12
|
+
env.load!
|
|
13
|
+
|
|
14
|
+
# Kick start the CLI
|
|
15
|
+
Vagrant::CLI.start(ARGV, :env => env)
|
|
16
|
+
rescue Vagrant::Errors::VagrantError => e
|
|
17
|
+
opts = { :prefix => false }
|
|
18
|
+
env.ui.error e.message, opts if e.message
|
|
19
|
+
env.ui.error e.backtrace.join("\n"), opts if ENV["VAGRANT_DEBUG"]
|
|
20
|
+
exit e.status_code if e.respond_to?(:status_code)
|
|
21
|
+
exit 999 # An error occurred with no status code defined
|
|
22
|
+
end
|