fixed-vagrant 0.7.4.dev
Sign up to get free protection for your applications and to get access to all the features.
- 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
|