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.
Files changed (242) hide show
  1. data/.gitignore +15 -0
  2. data/.yardopts +1 -0
  3. data/CHANGELOG.md +272 -0
  4. data/Gemfile +21 -0
  5. data/LICENSE +21 -0
  6. data/README.md +75 -0
  7. data/Rakefile +22 -0
  8. data/bin/vagrant +22 -0
  9. data/config/default.rb +39 -0
  10. data/contrib/README.md +12 -0
  11. data/contrib/emacs/vagrant.el +8 -0
  12. data/contrib/vim/vagrantfile.vim +9 -0
  13. data/keys/README.md +17 -0
  14. data/keys/vagrant +27 -0
  15. data/keys/vagrant.ppk +26 -0
  16. data/keys/vagrant.pub +1 -0
  17. data/lib/vagrant.rb +42 -0
  18. data/lib/vagrant/action.rb +134 -0
  19. data/lib/vagrant/action/box.rb +11 -0
  20. data/lib/vagrant/action/box/destroy.rb +21 -0
  21. data/lib/vagrant/action/box/download.rb +72 -0
  22. data/lib/vagrant/action/box/package.rb +19 -0
  23. data/lib/vagrant/action/box/unpackage.rb +55 -0
  24. data/lib/vagrant/action/box/verify.rb +23 -0
  25. data/lib/vagrant/action/builder.rb +124 -0
  26. data/lib/vagrant/action/builtin.rb +104 -0
  27. data/lib/vagrant/action/env.rb +7 -0
  28. data/lib/vagrant/action/env/set.rb +18 -0
  29. data/lib/vagrant/action/environment.rb +50 -0
  30. data/lib/vagrant/action/general.rb +8 -0
  31. data/lib/vagrant/action/general/package.rb +109 -0
  32. data/lib/vagrant/action/general/validate.rb +19 -0
  33. data/lib/vagrant/action/vm.rb +31 -0
  34. data/lib/vagrant/action/vm/boot.rb +48 -0
  35. data/lib/vagrant/action/vm/check_box.rb +28 -0
  36. data/lib/vagrant/action/vm/check_guest_additions.rb +30 -0
  37. data/lib/vagrant/action/vm/clean_machine_folder.rb +43 -0
  38. data/lib/vagrant/action/vm/clear_forwarded_ports.rb +39 -0
  39. data/lib/vagrant/action/vm/clear_nfs_exports.rb +20 -0
  40. data/lib/vagrant/action/vm/clear_shared_folders.rb +32 -0
  41. data/lib/vagrant/action/vm/customize.rb +21 -0
  42. data/lib/vagrant/action/vm/destroy.rb +19 -0
  43. data/lib/vagrant/action/vm/destroy_unused_network_interfaces.rb +30 -0
  44. data/lib/vagrant/action/vm/discard_state.rb +22 -0
  45. data/lib/vagrant/action/vm/export.rb +52 -0
  46. data/lib/vagrant/action/vm/forward_ports.rb +134 -0
  47. data/lib/vagrant/action/vm/forward_ports_helpers.rb +28 -0
  48. data/lib/vagrant/action/vm/halt.rb +29 -0
  49. data/lib/vagrant/action/vm/host_name.rb +21 -0
  50. data/lib/vagrant/action/vm/import.rb +35 -0
  51. data/lib/vagrant/action/vm/match_mac_address.rb +21 -0
  52. data/lib/vagrant/action/vm/network.rb +139 -0
  53. data/lib/vagrant/action/vm/nfs.rb +159 -0
  54. data/lib/vagrant/action/vm/nfs_helpers.rb +11 -0
  55. data/lib/vagrant/action/vm/package.rb +23 -0
  56. data/lib/vagrant/action/vm/package_vagrantfile.rb +33 -0
  57. data/lib/vagrant/action/vm/provision.rb +41 -0
  58. data/lib/vagrant/action/vm/resume.rb +20 -0
  59. data/lib/vagrant/action/vm/share_folders.rb +70 -0
  60. data/lib/vagrant/action/vm/suspend.rb +20 -0
  61. data/lib/vagrant/action/warden.rb +79 -0
  62. data/lib/vagrant/box.rb +90 -0
  63. data/lib/vagrant/box_collection.rb +53 -0
  64. data/lib/vagrant/cli.rb +55 -0
  65. data/lib/vagrant/command.rb +25 -0
  66. data/lib/vagrant/command/base.rb +106 -0
  67. data/lib/vagrant/command/box.rb +33 -0
  68. data/lib/vagrant/command/destroy.rb +17 -0
  69. data/lib/vagrant/command/group_base.rb +107 -0
  70. data/lib/vagrant/command/halt.rb +18 -0
  71. data/lib/vagrant/command/helpers.rb +33 -0
  72. data/lib/vagrant/command/init.rb +14 -0
  73. data/lib/vagrant/command/named_base.rb +14 -0
  74. data/lib/vagrant/command/package.rb +41 -0
  75. data/lib/vagrant/command/provision.rb +17 -0
  76. data/lib/vagrant/command/reload.rb +17 -0
  77. data/lib/vagrant/command/resume.rb +17 -0
  78. data/lib/vagrant/command/ssh.rb +42 -0
  79. data/lib/vagrant/command/ssh_config.rb +26 -0
  80. data/lib/vagrant/command/status.rb +22 -0
  81. data/lib/vagrant/command/suspend.rb +17 -0
  82. data/lib/vagrant/command/up.rb +19 -0
  83. data/lib/vagrant/command/upgrade_to_060.rb +45 -0
  84. data/lib/vagrant/command/version.rb +13 -0
  85. data/lib/vagrant/config.rb +123 -0
  86. data/lib/vagrant/config/base.rb +85 -0
  87. data/lib/vagrant/config/error_recorder.rb +19 -0
  88. data/lib/vagrant/config/nfs.rb +10 -0
  89. data/lib/vagrant/config/package.rb +9 -0
  90. data/lib/vagrant/config/ssh.rb +33 -0
  91. data/lib/vagrant/config/top.rb +61 -0
  92. data/lib/vagrant/config/vagrant.rb +16 -0
  93. data/lib/vagrant/config/vm.rb +137 -0
  94. data/lib/vagrant/config/vm/provisioner.rb +56 -0
  95. data/lib/vagrant/config/vm/sub_vm.rb +17 -0
  96. data/lib/vagrant/data_store.rb +70 -0
  97. data/lib/vagrant/downloaders.rb +7 -0
  98. data/lib/vagrant/downloaders/base.rb +23 -0
  99. data/lib/vagrant/downloaders/file.rb +22 -0
  100. data/lib/vagrant/downloaders/http.rb +64 -0
  101. data/lib/vagrant/environment.rb +392 -0
  102. data/lib/vagrant/errors.rb +332 -0
  103. data/lib/vagrant/hosts.rb +8 -0
  104. data/lib/vagrant/hosts/arch.rb +27 -0
  105. data/lib/vagrant/hosts/base.rb +78 -0
  106. data/lib/vagrant/hosts/bsd.rb +52 -0
  107. data/lib/vagrant/hosts/linux.rb +47 -0
  108. data/lib/vagrant/plugin.rb +57 -0
  109. data/lib/vagrant/provisioners.rb +9 -0
  110. data/lib/vagrant/provisioners/base.rb +63 -0
  111. data/lib/vagrant/provisioners/chef.rb +130 -0
  112. data/lib/vagrant/provisioners/chef_server.rb +103 -0
  113. data/lib/vagrant/provisioners/chef_solo.rb +142 -0
  114. data/lib/vagrant/provisioners/puppet.rb +137 -0
  115. data/lib/vagrant/provisioners/puppet_server.rb +55 -0
  116. data/lib/vagrant/provisioners/shell.rb +52 -0
  117. data/lib/vagrant/ssh.rb +173 -0
  118. data/lib/vagrant/ssh/session.rb +125 -0
  119. data/lib/vagrant/systems.rb +11 -0
  120. data/lib/vagrant/systems/base.rb +87 -0
  121. data/lib/vagrant/systems/debian.rb +36 -0
  122. data/lib/vagrant/systems/freebsd.rb +84 -0
  123. data/lib/vagrant/systems/gentoo.rb +27 -0
  124. data/lib/vagrant/systems/linux.rb +83 -0
  125. data/lib/vagrant/systems/linux/config.rb +21 -0
  126. data/lib/vagrant/systems/linux/error.rb +9 -0
  127. data/lib/vagrant/systems/redhat.rb +39 -0
  128. data/lib/vagrant/systems/solaris.rb +62 -0
  129. data/lib/vagrant/systems/ubuntu.rb +17 -0
  130. data/lib/vagrant/test_helpers.rb +128 -0
  131. data/lib/vagrant/ui.rb +69 -0
  132. data/lib/vagrant/util.rb +13 -0
  133. data/lib/vagrant/util/busy.rb +59 -0
  134. data/lib/vagrant/util/hash_with_indifferent_access.rb +63 -0
  135. data/lib/vagrant/util/plain_logger.rb +25 -0
  136. data/lib/vagrant/util/platform.rb +65 -0
  137. data/lib/vagrant/util/resource_logger.rb +63 -0
  138. data/lib/vagrant/util/retryable.rb +25 -0
  139. data/lib/vagrant/util/stacked_proc_runner.rb +35 -0
  140. data/lib/vagrant/util/template_renderer.rb +83 -0
  141. data/lib/vagrant/version.rb +6 -0
  142. data/lib/vagrant/vm.rb +177 -0
  143. data/templates/chef_server_client.erb +18 -0
  144. data/templates/chef_solo_solo.erb +19 -0
  145. data/templates/commands/init/Vagrantfile.erb +82 -0
  146. data/templates/config/validation_failed.erb +7 -0
  147. data/templates/locales/en.yml +535 -0
  148. data/templates/network_entry_debian.erb +8 -0
  149. data/templates/network_entry_gentoo.erb +5 -0
  150. data/templates/network_entry_redhat.erb +8 -0
  151. data/templates/nfs/exports.erb +5 -0
  152. data/templates/nfs/exports_linux.erb +5 -0
  153. data/templates/package_Vagrantfile.erb +11 -0
  154. data/templates/ssh_config.erb +9 -0
  155. data/test/locales/en.yml +8 -0
  156. data/test/test_helper.rb +26 -0
  157. data/test/vagrant/action/box/destroy_test.rb +18 -0
  158. data/test/vagrant/action/box/download_test.rb +125 -0
  159. data/test/vagrant/action/box/package_test.rb +25 -0
  160. data/test/vagrant/action/box/unpackage_test.rb +84 -0
  161. data/test/vagrant/action/box/verify_test.rb +30 -0
  162. data/test/vagrant/action/builder_test.rb +203 -0
  163. data/test/vagrant/action/env/set_test.rb +24 -0
  164. data/test/vagrant/action/environment_test.rb +27 -0
  165. data/test/vagrant/action/general/package_test.rb +268 -0
  166. data/test/vagrant/action/general/validate_test.rb +31 -0
  167. data/test/vagrant/action/vm/boot_test.rb +66 -0
  168. data/test/vagrant/action/vm/check_box_test.rb +56 -0
  169. data/test/vagrant/action/vm/check_guest_additions_test.rb +9 -0
  170. data/test/vagrant/action/vm/clean_machine_folder_test.rb +84 -0
  171. data/test/vagrant/action/vm/clear_forwarded_ports_test.rb +72 -0
  172. data/test/vagrant/action/vm/clear_nfs_exports_test.rb +22 -0
  173. data/test/vagrant/action/vm/clear_shared_folders_test.rb +49 -0
  174. data/test/vagrant/action/vm/customize_test.rb +30 -0
  175. data/test/vagrant/action/vm/destroy_test.rb +25 -0
  176. data/test/vagrant/action/vm/destroy_unused_network_interfaces_test.rb +49 -0
  177. data/test/vagrant/action/vm/discard_state_test.rb +45 -0
  178. data/test/vagrant/action/vm/export_test.rb +107 -0
  179. data/test/vagrant/action/vm/forward_ports_helpers_test.rb +70 -0
  180. data/test/vagrant/action/vm/forward_ports_test.rb +194 -0
  181. data/test/vagrant/action/vm/halt_test.rb +79 -0
  182. data/test/vagrant/action/vm/host_name_test.rb +36 -0
  183. data/test/vagrant/action/vm/import_test.rb +66 -0
  184. data/test/vagrant/action/vm/match_mac_address_test.rb +36 -0
  185. data/test/vagrant/action/vm/network_test.rb +286 -0
  186. data/test/vagrant/action/vm/nfs_helpers_test.rb +26 -0
  187. data/test/vagrant/action/vm/nfs_test.rb +260 -0
  188. data/test/vagrant/action/vm/package_test.rb +25 -0
  189. data/test/vagrant/action/vm/package_vagrantfile_test.rb +46 -0
  190. data/test/vagrant/action/vm/provision_test.rb +90 -0
  191. data/test/vagrant/action/vm/resume_test.rb +35 -0
  192. data/test/vagrant/action/vm/share_folders_test.rb +139 -0
  193. data/test/vagrant/action/vm/suspend_test.rb +35 -0
  194. data/test/vagrant/action/warden_test.rb +119 -0
  195. data/test/vagrant/action_test.rb +89 -0
  196. data/test/vagrant/box_collection_test.rb +45 -0
  197. data/test/vagrant/box_test.rb +74 -0
  198. data/test/vagrant/cli_test.rb +35 -0
  199. data/test/vagrant/command/base_test.rb +23 -0
  200. data/test/vagrant/command/group_base_test.rb +15 -0
  201. data/test/vagrant/command/helpers_test.rb +88 -0
  202. data/test/vagrant/command/package_test.rb +27 -0
  203. data/test/vagrant/config/base_test.rb +52 -0
  204. data/test/vagrant/config/error_recorder_test.rb +18 -0
  205. data/test/vagrant/config/ssh_test.rb +12 -0
  206. data/test/vagrant/config/vagrant_test.rb +35 -0
  207. data/test/vagrant/config/vm/provisioner_test.rb +92 -0
  208. data/test/vagrant/config/vm_test.rb +86 -0
  209. data/test/vagrant/config_test.rb +162 -0
  210. data/test/vagrant/data_store_test.rb +77 -0
  211. data/test/vagrant/downloaders/base_test.rb +28 -0
  212. data/test/vagrant/downloaders/file_test.rb +48 -0
  213. data/test/vagrant/downloaders/http_test.rb +80 -0
  214. data/test/vagrant/environment_test.rb +508 -0
  215. data/test/vagrant/errors_test.rb +42 -0
  216. data/test/vagrant/hosts/base_test.rb +46 -0
  217. data/test/vagrant/hosts/bsd_test.rb +53 -0
  218. data/test/vagrant/hosts/linux_test.rb +54 -0
  219. data/test/vagrant/plugin_test.rb +9 -0
  220. data/test/vagrant/provisioners/base_test.rb +63 -0
  221. data/test/vagrant/provisioners/chef_server_test.rb +188 -0
  222. data/test/vagrant/provisioners/chef_solo_test.rb +219 -0
  223. data/test/vagrant/provisioners/chef_test.rb +179 -0
  224. data/test/vagrant/provisioners/puppet_server_test.rb +68 -0
  225. data/test/vagrant/provisioners/puppet_test.rb +182 -0
  226. data/test/vagrant/provisioners/shell_test.rb +68 -0
  227. data/test/vagrant/ssh/session_test.rb +40 -0
  228. data/test/vagrant/ssh_test.rb +342 -0
  229. data/test/vagrant/systems/base_test.rb +18 -0
  230. data/test/vagrant/systems/linux_test.rb +114 -0
  231. data/test/vagrant/ui_test.rb +29 -0
  232. data/test/vagrant/util/busy_test.rb +106 -0
  233. data/test/vagrant/util/hash_with_indifferent_access_test.rb +39 -0
  234. data/test/vagrant/util/plain_logger_test.rb +17 -0
  235. data/test/vagrant/util/platform_test.rb +18 -0
  236. data/test/vagrant/util/resource_logger_test.rb +78 -0
  237. data/test/vagrant/util/retryable_test.rb +50 -0
  238. data/test/vagrant/util/stacked_proc_runner_test.rb +43 -0
  239. data/test/vagrant/util/template_renderer_test.rb +145 -0
  240. data/test/vagrant/vm_test.rb +291 -0
  241. data/vagrant.gemspec +36 -0
  242. metadata +514 -0
@@ -0,0 +1,15 @@
1
+ .DS_Store
2
+ pkg/*
3
+ Vagrantfile
4
+ .vagrant
5
+ .bundle
6
+ cookbooks/*
7
+ _site/*
8
+ !templates/*
9
+ *.org
10
+ .yardoc/
11
+ doc/
12
+ tags
13
+ Gemfile.lock
14
+ .idea/*
15
+ *.iml
@@ -0,0 +1 @@
1
+ -m markdown
@@ -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.
@@ -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
@@ -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
@@ -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