rvagrant 0.8.7.dev

Sign up to get free protection for your applications and to get access to all the features.
Files changed (251) hide show
  1. data/.gitignore +25 -0
  2. data/.yardopts +1 -0
  3. data/CHANGELOG.md +386 -0
  4. data/Gemfile +21 -0
  5. data/LICENSE +21 -0
  6. data/README.md +61 -0
  7. data/Rakefile +11 -0
  8. data/bin/vagrant +28 -0
  9. data/config/default.rb +38 -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 +44 -0
  18. data/lib/vagrant/action.rb +138 -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 +108 -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 +113 -0
  32. data/lib/vagrant/action/general/validate.rb +19 -0
  33. data/lib/vagrant/action/vm.rb +34 -0
  34. data/lib/vagrant/action/vm/boot.rb +48 -0
  35. data/lib/vagrant/action/vm/check_accessible.rb +23 -0
  36. data/lib/vagrant/action/vm/check_box.rb +28 -0
  37. data/lib/vagrant/action/vm/check_guest_additions.rb +35 -0
  38. data/lib/vagrant/action/vm/clean_machine_folder.rb +43 -0
  39. data/lib/vagrant/action/vm/clear_forwarded_ports.rb +26 -0
  40. data/lib/vagrant/action/vm/clear_nfs_exports.rb +20 -0
  41. data/lib/vagrant/action/vm/clear_shared_folders.rb +27 -0
  42. data/lib/vagrant/action/vm/customize.rb +26 -0
  43. data/lib/vagrant/action/vm/destroy.rb +19 -0
  44. data/lib/vagrant/action/vm/destroy_unused_network_interfaces.rb +30 -0
  45. data/lib/vagrant/action/vm/discard_state.rb +22 -0
  46. data/lib/vagrant/action/vm/export.rb +52 -0
  47. data/lib/vagrant/action/vm/forward_ports.rb +133 -0
  48. data/lib/vagrant/action/vm/forward_ports_helpers.rb +28 -0
  49. data/lib/vagrant/action/vm/halt.rb +29 -0
  50. data/lib/vagrant/action/vm/host_name.rb +21 -0
  51. data/lib/vagrant/action/vm/import.rb +40 -0
  52. data/lib/vagrant/action/vm/match_mac_address.rb +26 -0
  53. data/lib/vagrant/action/vm/modify.rb +37 -0
  54. data/lib/vagrant/action/vm/network.rb +146 -0
  55. data/lib/vagrant/action/vm/nfs.rb +160 -0
  56. data/lib/vagrant/action/vm/nfs_helpers.rb +11 -0
  57. data/lib/vagrant/action/vm/package.rb +23 -0
  58. data/lib/vagrant/action/vm/package_vagrantfile.rb +33 -0
  59. data/lib/vagrant/action/vm/provision.rb +34 -0
  60. data/lib/vagrant/action/vm/provisioner_cleanup.rb +26 -0
  61. data/lib/vagrant/action/vm/resume.rb +20 -0
  62. data/lib/vagrant/action/vm/share_folders.rb +78 -0
  63. data/lib/vagrant/action/vm/suspend.rb +20 -0
  64. data/lib/vagrant/action/warden.rb +85 -0
  65. data/lib/vagrant/box.rb +90 -0
  66. data/lib/vagrant/box_collection.rb +53 -0
  67. data/lib/vagrant/cli.rb +55 -0
  68. data/lib/vagrant/command.rb +25 -0
  69. data/lib/vagrant/command/base.rb +106 -0
  70. data/lib/vagrant/command/box.rb +33 -0
  71. data/lib/vagrant/command/destroy.rb +17 -0
  72. data/lib/vagrant/command/group_base.rb +107 -0
  73. data/lib/vagrant/command/halt.rb +18 -0
  74. data/lib/vagrant/command/helpers.rb +33 -0
  75. data/lib/vagrant/command/init.rb +14 -0
  76. data/lib/vagrant/command/named_base.rb +14 -0
  77. data/lib/vagrant/command/package.rb +41 -0
  78. data/lib/vagrant/command/provision.rb +23 -0
  79. data/lib/vagrant/command/reload.rb +17 -0
  80. data/lib/vagrant/command/resume.rb +17 -0
  81. data/lib/vagrant/command/ssh.rb +49 -0
  82. data/lib/vagrant/command/ssh_config.rb +29 -0
  83. data/lib/vagrant/command/status.rb +31 -0
  84. data/lib/vagrant/command/suspend.rb +17 -0
  85. data/lib/vagrant/command/up.rb +19 -0
  86. data/lib/vagrant/command/upgrade_to_060.rb +45 -0
  87. data/lib/vagrant/command/version.rb +13 -0
  88. data/lib/vagrant/config.rb +123 -0
  89. data/lib/vagrant/config/base.rb +85 -0
  90. data/lib/vagrant/config/error_recorder.rb +19 -0
  91. data/lib/vagrant/config/nfs.rb +10 -0
  92. data/lib/vagrant/config/package.rb +9 -0
  93. data/lib/vagrant/config/ssh.rb +38 -0
  94. data/lib/vagrant/config/top.rb +61 -0
  95. data/lib/vagrant/config/vagrant.rb +17 -0
  96. data/lib/vagrant/config/vm.rb +148 -0
  97. data/lib/vagrant/config/vm/provisioner.rb +56 -0
  98. data/lib/vagrant/config/vm/sub_vm.rb +17 -0
  99. data/lib/vagrant/data_store.rb +70 -0
  100. data/lib/vagrant/downloaders.rb +7 -0
  101. data/lib/vagrant/downloaders/base.rb +23 -0
  102. data/lib/vagrant/downloaders/file.rb +22 -0
  103. data/lib/vagrant/downloaders/http.rb +70 -0
  104. data/lib/vagrant/environment.rb +516 -0
  105. data/lib/vagrant/errors.rb +352 -0
  106. data/lib/vagrant/hosts.rb +9 -0
  107. data/lib/vagrant/hosts/arch.rb +27 -0
  108. data/lib/vagrant/hosts/base.rb +76 -0
  109. data/lib/vagrant/hosts/bsd.rb +58 -0
  110. data/lib/vagrant/hosts/fedora.rb +11 -0
  111. data/lib/vagrant/hosts/linux.rb +69 -0
  112. data/lib/vagrant/plugin.rb +79 -0
  113. data/lib/vagrant/provisioners.rb +9 -0
  114. data/lib/vagrant/provisioners/base.rb +67 -0
  115. data/lib/vagrant/provisioners/chef.rb +155 -0
  116. data/lib/vagrant/provisioners/chef_client.rb +120 -0
  117. data/lib/vagrant/provisioners/chef_solo.rb +135 -0
  118. data/lib/vagrant/provisioners/puppet.rb +137 -0
  119. data/lib/vagrant/provisioners/puppet_server.rb +55 -0
  120. data/lib/vagrant/provisioners/shell.rb +96 -0
  121. data/lib/vagrant/ssh.rb +224 -0
  122. data/lib/vagrant/ssh/session.rb +136 -0
  123. data/lib/vagrant/systems.rb +13 -0
  124. data/lib/vagrant/systems/arch.rb +34 -0
  125. data/lib/vagrant/systems/base.rb +87 -0
  126. data/lib/vagrant/systems/debian.rb +36 -0
  127. data/lib/vagrant/systems/freebsd.rb +84 -0
  128. data/lib/vagrant/systems/gentoo.rb +27 -0
  129. data/lib/vagrant/systems/linux.rb +82 -0
  130. data/lib/vagrant/systems/linux/config.rb +21 -0
  131. data/lib/vagrant/systems/linux/error.rb +9 -0
  132. data/lib/vagrant/systems/redhat.rb +48 -0
  133. data/lib/vagrant/systems/solaris.rb +67 -0
  134. data/lib/vagrant/systems/suse.rb +9 -0
  135. data/lib/vagrant/systems/ubuntu.rb +17 -0
  136. data/lib/vagrant/test_helpers.rb +128 -0
  137. data/lib/vagrant/ui.rb +81 -0
  138. data/lib/vagrant/util.rb +13 -0
  139. data/lib/vagrant/util/busy.rb +59 -0
  140. data/lib/vagrant/util/counter.rb +24 -0
  141. data/lib/vagrant/util/hash_with_indifferent_access.rb +63 -0
  142. data/lib/vagrant/util/platform.rb +57 -0
  143. data/lib/vagrant/util/retryable.rb +25 -0
  144. data/lib/vagrant/util/safe_exec.rb +35 -0
  145. data/lib/vagrant/util/stacked_proc_runner.rb +35 -0
  146. data/lib/vagrant/util/template_renderer.rb +83 -0
  147. data/lib/vagrant/version.rb +6 -0
  148. data/lib/vagrant/vm.rb +181 -0
  149. data/templates/chef_server_client.erb +32 -0
  150. data/templates/chef_solo_solo.erb +23 -0
  151. data/templates/commands/init/Vagrantfile.erb +86 -0
  152. data/templates/config/validation_failed.erb +7 -0
  153. data/templates/locales/en.yml +556 -0
  154. data/templates/network_entry_arch.erb +9 -0
  155. data/templates/network_entry_debian.erb +8 -0
  156. data/templates/network_entry_gentoo.erb +5 -0
  157. data/templates/network_entry_redhat.erb +9 -0
  158. data/templates/nfs/exports.erb +5 -0
  159. data/templates/nfs/exports_linux.erb +5 -0
  160. data/templates/package_Vagrantfile.erb +11 -0
  161. data/templates/ssh_config.erb +15 -0
  162. data/test/unit/locales/en.yml +8 -0
  163. data/test/unit/test_helper.rb +28 -0
  164. data/test/unit/vagrant/action/box/destroy_test.rb +18 -0
  165. data/test/unit/vagrant/action/box/download_test.rb +125 -0
  166. data/test/unit/vagrant/action/box/package_test.rb +25 -0
  167. data/test/unit/vagrant/action/box/unpackage_test.rb +84 -0
  168. data/test/unit/vagrant/action/box/verify_test.rb +30 -0
  169. data/test/unit/vagrant/action/builder_test.rb +207 -0
  170. data/test/unit/vagrant/action/env/set_test.rb +24 -0
  171. data/test/unit/vagrant/action/environment_test.rb +27 -0
  172. data/test/unit/vagrant/action/general/package_test.rb +268 -0
  173. data/test/unit/vagrant/action/general/validate_test.rb +31 -0
  174. data/test/unit/vagrant/action/vm/boot_test.rb +66 -0
  175. data/test/unit/vagrant/action/vm/check_accessible_test.rb +61 -0
  176. data/test/unit/vagrant/action/vm/check_box_test.rb +56 -0
  177. data/test/unit/vagrant/action/vm/check_guest_additions_test.rb +9 -0
  178. data/test/unit/vagrant/action/vm/clean_machine_folder_test.rb +84 -0
  179. data/test/unit/vagrant/action/vm/clear_forwarded_ports_test.rb +52 -0
  180. data/test/unit/vagrant/action/vm/clear_nfs_exports_test.rb +22 -0
  181. data/test/unit/vagrant/action/vm/clear_shared_folders_test.rb +40 -0
  182. data/test/unit/vagrant/action/vm/customize_test.rb +37 -0
  183. data/test/unit/vagrant/action/vm/destroy_test.rb +25 -0
  184. data/test/unit/vagrant/action/vm/destroy_unused_network_interfaces_test.rb +49 -0
  185. data/test/unit/vagrant/action/vm/discard_state_test.rb +45 -0
  186. data/test/unit/vagrant/action/vm/export_test.rb +107 -0
  187. data/test/unit/vagrant/action/vm/forward_ports_helpers_test.rb +77 -0
  188. data/test/unit/vagrant/action/vm/forward_ports_test.rb +213 -0
  189. data/test/unit/vagrant/action/vm/halt_test.rb +79 -0
  190. data/test/unit/vagrant/action/vm/host_name_test.rb +36 -0
  191. data/test/unit/vagrant/action/vm/import_test.rb +66 -0
  192. data/test/unit/vagrant/action/vm/match_mac_address_test.rb +40 -0
  193. data/test/unit/vagrant/action/vm/modify_test.rb +38 -0
  194. data/test/unit/vagrant/action/vm/network_test.rb +286 -0
  195. data/test/unit/vagrant/action/vm/nfs_helpers_test.rb +26 -0
  196. data/test/unit/vagrant/action/vm/nfs_test.rb +260 -0
  197. data/test/unit/vagrant/action/vm/package_test.rb +25 -0
  198. data/test/unit/vagrant/action/vm/package_vagrantfile_test.rb +46 -0
  199. data/test/unit/vagrant/action/vm/provision_test.rb +65 -0
  200. data/test/unit/vagrant/action/vm/provisioner_cleanup_test.rb +56 -0
  201. data/test/unit/vagrant/action/vm/resume_test.rb +35 -0
  202. data/test/unit/vagrant/action/vm/share_folders_test.rb +144 -0
  203. data/test/unit/vagrant/action/vm/suspend_test.rb +35 -0
  204. data/test/unit/vagrant/action/warden_test.rb +125 -0
  205. data/test/unit/vagrant/action_test.rb +89 -0
  206. data/test/unit/vagrant/box_collection_test.rb +45 -0
  207. data/test/unit/vagrant/box_test.rb +74 -0
  208. data/test/unit/vagrant/cli_test.rb +35 -0
  209. data/test/unit/vagrant/command/base_test.rb +23 -0
  210. data/test/unit/vagrant/command/group_base_test.rb +15 -0
  211. data/test/unit/vagrant/command/helpers_test.rb +88 -0
  212. data/test/unit/vagrant/command/package_test.rb +27 -0
  213. data/test/unit/vagrant/config/base_test.rb +52 -0
  214. data/test/unit/vagrant/config/error_recorder_test.rb +18 -0
  215. data/test/unit/vagrant/config/ssh_test.rb +12 -0
  216. data/test/unit/vagrant/config/vagrant_test.rb +35 -0
  217. data/test/unit/vagrant/config/vm/provisioner_test.rb +92 -0
  218. data/test/unit/vagrant/config/vm_test.rb +56 -0
  219. data/test/unit/vagrant/config_test.rb +162 -0
  220. data/test/unit/vagrant/data_store_test.rb +77 -0
  221. data/test/unit/vagrant/downloaders/base_test.rb +28 -0
  222. data/test/unit/vagrant/downloaders/file_test.rb +48 -0
  223. data/test/unit/vagrant/downloaders/http_test.rb +82 -0
  224. data/test/unit/vagrant/environment_test.rb +598 -0
  225. data/test/unit/vagrant/errors_test.rb +42 -0
  226. data/test/unit/vagrant/hosts/base_test.rb +46 -0
  227. data/test/unit/vagrant/hosts/bsd_test.rb +53 -0
  228. data/test/unit/vagrant/hosts/linux_test.rb +54 -0
  229. data/test/unit/vagrant/plugin_test.rb +9 -0
  230. data/test/unit/vagrant/provisioners/base_test.rb +63 -0
  231. data/test/unit/vagrant/provisioners/chef_client_test.rb +190 -0
  232. data/test/unit/vagrant/provisioners/chef_solo_test.rb +114 -0
  233. data/test/unit/vagrant/provisioners/chef_test.rb +202 -0
  234. data/test/unit/vagrant/provisioners/puppet_server_test.rb +68 -0
  235. data/test/unit/vagrant/provisioners/puppet_test.rb +182 -0
  236. data/test/unit/vagrant/provisioners/shell_test.rb +79 -0
  237. data/test/unit/vagrant/ssh/session_test.rb +40 -0
  238. data/test/unit/vagrant/ssh_test.rb +307 -0
  239. data/test/unit/vagrant/systems/base_test.rb +18 -0
  240. data/test/unit/vagrant/systems/linux_test.rb +104 -0
  241. data/test/unit/vagrant/ui_test.rb +29 -0
  242. data/test/unit/vagrant/util/busy_test.rb +106 -0
  243. data/test/unit/vagrant/util/counter_test.rb +29 -0
  244. data/test/unit/vagrant/util/hash_with_indifferent_access_test.rb +39 -0
  245. data/test/unit/vagrant/util/platform_test.rb +18 -0
  246. data/test/unit/vagrant/util/retryable_test.rb +50 -0
  247. data/test/unit/vagrant/util/stacked_proc_runner_test.rb +43 -0
  248. data/test/unit/vagrant/util/template_renderer_test.rb +145 -0
  249. data/test/unit/vagrant/vm_test.rb +300 -0
  250. data/vagrant.gemspec +35 -0
  251. metadata +431 -0
@@ -0,0 +1,25 @@
1
+ # OS-specific
2
+ .DS_Store
3
+
4
+ # Vagrant stuff
5
+ Vagrantfile
6
+ .vagrant
7
+
8
+ # Bundler/Rubygems
9
+ .bundle
10
+ pkg/*
11
+ tags
12
+ Gemfile.lock
13
+ test/tmp/
14
+
15
+ # Documentation
16
+ _site/*
17
+ .yardoc/
18
+ doc/
19
+
20
+ # Rubinius
21
+ *.rbc
22
+
23
+ # IDE junk
24
+ .idea/*
25
+ *.iml
@@ -0,0 +1 @@
1
+ -m markdown
@@ -0,0 +1,386 @@
1
+ ## 0.8.7 (unreleased)
2
+
3
+ - Fix regression with remote paths from chef-solo. [GH-431]
4
+
5
+ ## 0.8.6 (August 28, 2011)
6
+
7
+ - Fix issue with download progress not properly clearing the line. [GH-476]
8
+ - NFS should work properly on Fedora. [GH-450]
9
+ - Arguments can be specified to the `shell` provisioner via the `args` option. [GH-475]
10
+ - Vagrant behaves much better when there are "inaccessible" VMs. [GH-453]
11
+
12
+ ## 0.8.5 (August 15, 2011)
13
+
14
+ Note: 0.8.3 and 0.8.4 was yanked due to RubyGems encoding issue.
15
+
16
+ - Fix SSH `exec!` to inherit proper `$PATH`. [GH-426]
17
+ - Chef client now accepts an empty (`nil`) run list again. [GH-429]
18
+ - Fix incorrect error message when running `provision` on halted VM. [GH-447]
19
+ - Checking guest addition versions now ignores OSE. [GH-438]
20
+ - Chef solo from a remote URL fixed. [GH-431]
21
+ - Arch linux support: host only networks and changing the host name. [GH-439] [GH-448]
22
+ - Chef solo `roles_path` and `data_bags_path` can only be be single paths. [GH-446]
23
+ - Fix `virtualbox_not_detected` error message to require 4.1.x. [GH-458]
24
+ - Add shortname (`hostname -s`) for hostname setting on RHEL systems. [GH-456]
25
+ - `vagrant ssh -c` output no longer has a prefix and respects newlines
26
+ from the output. [GH-462]
27
+
28
+ ## 0.8.2 (July 22, 2011)
29
+
30
+ - Fix issue with SSH disconnects not reconnecting.
31
+ - Fix chef solo simply not working with roles/data bags. [GH-425]
32
+ - Multiple chef solo provisioners now work together.
33
+ - Update Puppet provisioner so no deprecation warning is shown. [GH-421]
34
+ - Removed error on "provisioner=" in config, as this has not existed
35
+ for some time now.
36
+ - Add better validation for networking.
37
+
38
+ ## 0.8.1 (July 20, 2011)
39
+
40
+ - Repush of 0.8.0 to fix a Ruby 1.9.2 RubyGems issue.
41
+
42
+ ## 0.8.0 (July 20, 2011)
43
+
44
+ - VirtualBox 4.1 support _only_. Previous versions of VirtualBox
45
+ are supported by earlier versions of Vagrant.
46
+ - Performance optimizations in `virtualbox` gem. Huge speed gains.
47
+ - `:chef_server` provisioner is now `:chef_client`. [GH-359]
48
+ - SSH connection is now cached after first access internally,
49
+ speeding up `vagrant up`, `reload`, etc. quite a bit.
50
+ - Actions which modify the VM now occur much more quickly,
51
+ greatly speeding up `vagrant up`, `reload`, etc.
52
+ - SUSE host only networking support. [GH-369]
53
+ - Show nice error message for invalid HTTP responses for HTTP
54
+ downloader. [GH-403]
55
+ - New `:inline` option for shell provisioner to provide inline
56
+ scripts as a string. [GH-395]
57
+ - Host only network now properly works on multiple adapters. [GH-365]
58
+ - Can now specify owner/group for regular shared folders. [GH-350]
59
+ - `ssh_config` host name will use VM name if given. [GH-332]
60
+ - `ssh` `-e` flag changed to `-c` to align with `ssh` standard
61
+ behavior. [GH-323]
62
+ - Forward agent and forward X11 settings properly appear in
63
+ `ssh_config` output. [GH-105]
64
+ - Chef JSON can now be set with `chef.json =` instead of the old
65
+ `merge` technique. [GH-314]
66
+ - Provisioner configuration is no longer cleared when the box
67
+ needs to be downloaded during an `up`. [GH-308]
68
+ - Multiple Chef provisioners no longer overwrite cookbook folders. [GH-407]
69
+ - `package` won't delete previously existing file. [GH-408]
70
+ - Vagrantfile can be lowercase now. [GH-399]
71
+ - Only one copy of Vagrant may be running at any given time. [GH-364]
72
+ - Default home directory for Vagrant moved to `~/.vagrant.d` [GH-333]
73
+ - Specify a `forwarded_port_destination` for SSH configuration and
74
+ SSH port searching will fall back to that if it can't find any
75
+ other port. [GH-375]
76
+
77
+ ## 0.7.8 (July 19, 2011)
78
+
79
+ - Make sure VirtualBox version check verifies that it is 4.0.x.
80
+
81
+ ## 0.7.7 (July 12, 2011)
82
+
83
+ - Fix crashing bug with Psych and Ruby 1.9.2. [GH-411]
84
+
85
+ ## 0.7.6 (July 2, 2011)
86
+
87
+ - Run Chef commands in a single command. [GH-390]
88
+ - Add `nfs` option for Chef to mount Chef folders via NFS. [GH-378]
89
+ - Add translation for `aborted` state in VM. [GH-371]
90
+ - Use full paths with the Chef provisioner so that restart cookbook will
91
+ work. [GH-374]
92
+ - Add "--no-color" as an argument and no colorized output will be used. [GH-379]
93
+ - Added DEVICE option to the RedHat host only networking entry, which allows
94
+ host only networking to work even if the VM has multiple NICs. [GH-382]
95
+ - Touch the network configuration file for RedHat so that the `sed` works
96
+ with host only networking. [GH-381]
97
+ - Load prerelease versions of plugins if available.
98
+ - Do not load a plugin if it depends on an invalid version of Vagrant.
99
+ - Encrypted data bag support in Chef server provisioner. [GH-398]
100
+ - Use the `-H` flag to set the proper home directory for `sudo`. [GH-370]
101
+
102
+ ## 0.7.5 (May 16, 2011)
103
+
104
+ - `config.ssh.port` can be specified and takes highest precedence if specified.
105
+ Otherwise, Vagrant will still attempt to auto-detect the port. [GH-363]
106
+ - Get rid of RubyGems deprecations introduced with RubyGems 1.8.x
107
+ - Search in pre-release gems for plugins as well as release gems.
108
+ - Support for Chef-solo `data_bags_path` [GH-362]
109
+ - Can specify path to Chef binary using `binary_path` [GH-342]
110
+ - Can specify additional environment data for Chef using `binary_env` [GH-342]
111
+
112
+ ## 0.7.4 (May 12, 2011)
113
+
114
+ - Chef environments support (for Chef 0.10) [GH-358]
115
+ - Suppress the "added to known hosts" message for SSH [GH-354]
116
+ - Ruby 1.8.6 support [GH-352]
117
+ - Chef proxy settings now work for chef server [GH-335]
118
+
119
+ ## 0.7.3 (April 19, 2011)
120
+
121
+ - Retry all SSH on Net::SSH::Disconnect in case SSH is just restarting. [GH-313]
122
+ - Add NFS shared folder support for Arch linux. [GH-346]
123
+ - Fix issue with unknown terminal type output for sudo commands.
124
+ - Forwarded port protocol can now be set as UDP. [GH-311]
125
+ - Chef server file cache path and file backup path can be configured. [GH-310]
126
+ - Setting hostname should work on Debian now. [GH-307]
127
+
128
+ ## 0.7.2 (February 8, 2011)
129
+
130
+ - Update JSON dependency to 1.5.1, which works with Ruby 1.9 on
131
+ Windows.
132
+ - Fix sudo issues on sudo < 1.7.0 (again).
133
+ - Fix race condition in SSH, which specifically manifested itself in
134
+ the chef server provisioner. [GH-295]
135
+ - Change sudo shell to use `bash` (configurable). [GH-301]
136
+ - Can now set mac address of host only network. [GH-294]
137
+ - NFS shared folders with spaces now work properly. [GH-293]
138
+ - Failed SSH commands now show output in error message. [GH-285]
139
+
140
+ ## 0.7.1 (January 28, 2011)
141
+
142
+ - Change error output with references to VirtualBox 3.2 to 4.0.
143
+ - Internal SSH through net-ssh now uses `IdentitiesOnly` thanks to
144
+ upstream net-ssh fix.
145
+ - Fix issue causing warnings to show with `forwardx11` enabled for SSH. [GH-279]
146
+ - FreeBSD support for host only networks, NFS, halting, etc. [GH-275]
147
+ - Make SSH commands which use sudo compatible with sudo < 1.7.0. [GH-278]
148
+ - Fix broken puppet server provisioner which called a nonexistent
149
+ method.
150
+ - Default SSH host changed from `localhost` to `127.0.0.1` since
151
+ `localhost` is not always loopback.
152
+ - New `shell` provisioner which simply uploads and executes a script as
153
+ root on the VM.
154
+ - Gentoo host only networking no longer fails if alrady setup. [GH-286]
155
+ - Set the host name of your guest OS with `config.vm.host_name` [GH-273]
156
+ - `vagrant ssh-config` now outputs the configured `config.ssh.host`
157
+
158
+ ## 0.7.0 (January 19, 2011)
159
+
160
+ - VirtualBox 4.0 support. Support for VirtualBox 3.2 is _dropped_, since
161
+ the API is so different. Stay with the 0.6.x series if you have VirtualBox
162
+ 3.2.x.
163
+ - Puppet server provisioner. [GH-262]
164
+ - Use numeric uid/gid in mounting shared folders to increase portability. [GH-252]
165
+ - HTTP downloading follows redirects. [GH-163]
166
+ - Downloaders have clearer output to note what they're doing.
167
+ - Shared folders with no guest path are not automounted. [GH-184]
168
+ - Boxes downloaded during `vagrant up` reload the Vagrantfile config, which
169
+ fixes a problem with box settings not being properly loaded. [GH-231]
170
+ - `config.ssh.forward_x11` to enable the ForwardX11 SSH option. [GH-255]
171
+ - Vagrant source now has a `contrib` directory where contributions of miscellaneous
172
+ addons for Vagrant will be added.
173
+ - Vagrantfiles are now loaded only once (instead of 4+ times) [GH-238]
174
+ - Ability to move home vagrant dir (~/.vagrant) by setting VAGRANT_HOME
175
+ environmental variable.
176
+ - Removed check and error for the "OSE" version of VirtualBox, since with
177
+ VirtualBox 4 this distinction no longer exists.
178
+ - Ability to specify proxy settings for chef. [GH-169]
179
+ - Helpful error message shown if NFS mounting fails. [GH-135]
180
+ - Gentoo guests now support host only networks. [GH-240]
181
+ - RedHat (CentOS included) guests now support host only networks. [GH-260]
182
+ - New Vagrantfile syntax for enabling and configuring provisioners. This
183
+ change is not backwards compatible. [GH-265]
184
+ - Provisioners are now RVM-friendly, meaning if you installed chef or puppet
185
+ with an RVM managed Ruby, Vagrant now finds then. [GH-254]
186
+ - Changed the unused host only network destroy mechanism to check for
187
+ uselessness after the VM is destroyed. This should result in more accurate
188
+ checks.
189
+ - Networks are no longer disabled upon halt/destroy. With the above
190
+ change, its unnecessary.
191
+ - Puppet supports `module_path` configuration to mount local modules directory
192
+ as a shared folder and configure puppet with it. [GH-270]
193
+ - `ssh-config` now outputs `127.0.0.1` as the host instead of `localhost`.
194
+
195
+ ## 0.6.9 (December 21, 2010)
196
+
197
+ - Puppet provisioner. [GH-223]
198
+ - Solaris system configurable to use `sudo`.
199
+ - Solaris system registered, so it can be set with `:solaris`.
200
+ - `vagrant package` include can be a directory name, which will cause the
201
+ contents to be recursively copied into the package. [GH-241]
202
+ - Arbitrary options to puppet binary can be set with `config.puppet.options`. [GH-242]
203
+ - BSD hosts use proper GNU sed syntax for clearing NFS shares. [GH-243]
204
+ - Enumerate VMs in a multi-VM environment in order they were defined. [GH-244]
205
+ - Check for VM boot changed to use `timeout` library, which works better with Windows.
206
+ - Show special error if VirtualBox not detected on 64-bit Windows.
207
+ - Show error to Windows users attempting to use host only networking since
208
+ it doesn't work yet.
209
+
210
+ ## 0.6.8 (November 30, 2010)
211
+
212
+ - Network interfaces are now up/down in distinct commands instead of just
213
+ restarting "networking." [GH-192]
214
+ - Add missing translation for chef binary missing. [GH-203]
215
+ - Fix default settings for Opscode platform and comments. [GH-213]
216
+ - Blank client name for chef server now uses FQDN by default, instead of "client" [GH-214]
217
+ - Run list can now be nil, which will cause it to sync with chef server (when
218
+ chef server is enabled). [GH-214]
219
+ - Multiple NFS folders now work on linux. [GH-215]
220
+ - Add translation for state "stuck" which is very rare. [GH-218]
221
+ - virtualbox gem dependency minimum raised to 0.7.6 to verify FFI < 1.0.0 is used.
222
+ - Fix issue where box downloading from `vagrant up` didn't reload the box collection. [GH-229]
223
+
224
+ ## 0.6.7 (November 3, 2010)
225
+
226
+ - Added validation to verify that a box is specified.
227
+ - Proper error message when box is not found for `config.vm.box`. [GH-195]
228
+ - Fix output of `vagrant status` with multi-vm to be correct. [GH-196]
229
+
230
+ ## 0.6.6 (October 14, 2010)
231
+
232
+ - `vagrant status NAME` works once again. [GH-191]
233
+ - Conditional validation of Vagrantfile so that some commands don't validate. [GH-188]
234
+ - Fix "junk" output for ssh-config. [GH-189]
235
+ - Fix port collision handling with greater than two VMs. [GH-185]
236
+ - Fix potential infinite loop with root path if bad CWD is given to environment.
237
+
238
+ ## 0.6.5 (October 8, 2010)
239
+
240
+ - Validations on base MAC address to avoid situation described in GH-166, GH-181
241
+ from ever happening again.
242
+ - Properly load sub-VM configuration on first-pass of config loading. Solves
243
+ a LOT of problems with multi-VM. [GH-166] [GH-181]
244
+ - Configuration now only validates on final Vagrantfile proc, so multi-VM
245
+ validates correctly.
246
+ - A nice error message is given if ".vagrant" is a directory and therefore
247
+ can't be accessed. [GH-172]
248
+ - Fix plugin loading in a Rails 2.3.x project. [GH-176]
249
+
250
+ ## 0.6.4 (October 4, 2010)
251
+
252
+ - Default VM name is now properly the parent folder of the working directory
253
+ of the environment.
254
+ - Added method to `TestHelpers` to assist with testing new downloaders.
255
+ - `up --no-provision` works again. This disables provisioning during the
256
+ boot process.
257
+ - Action warden doesn't do recovery process on `SystemExit` exceptions,
258
+ allowing the double ctrl-C to work properly again. [related to GH-166]
259
+ - Initial Vagrantfile is now heavily commented with various available
260
+ options. [GH-171]
261
+ - Box add checks if a box already exists before the download. [GH-170]
262
+ - NFS no longer attempts to clean exports file if VM is not created,
263
+ which was causing a stack trace during recovery. [related to GH-166]
264
+ - Basic validation added for Chef configuration (both solo and server).
265
+ - Top config class is now available in all `Vagrant::Config::Base`
266
+ subclasses, which is useful for config validation.
267
+ - Subcommand help shows proper full command in task listing. [GH-168]
268
+ - SSH gives error message if `ssh` binary is not found. [GH-161]
269
+ - SSH gives proper error message if VM is not running. [GH-167]
270
+ - Fix some issues with undefined constants in command errors.
271
+
272
+ ## 0.6.1, 0.6.2, 0.6.3 (September 27, 2010)
273
+
274
+ A lot of quick releases which all were to fix issues with Ruby 1.8.7
275
+ compatibility.
276
+
277
+ ## 0.6.0 (September 27, 2010)
278
+
279
+ - VM name now defaults to the name of the containing folder, plus a timestamp.
280
+ This should make it easier to identify VMs in the VirtualBox GUI.
281
+ - Exposed Vagrant test helpers in `Vagrant::TestHelpers` for plugins to easily
282
+ test themselves against Vagrant environments.
283
+ - **Plugins** have landed. Plugins are simply gems which have a `vagrant_init.rb`
284
+ file somewhere in their load path. Please read the documentation on
285
+ vagrantup.com before attempting to create a plugin (which is very easy)
286
+ for more information on how it all works and also some guidelines.
287
+ - `vagrant package` now takes a `--vagrantfile` option to specify a
288
+ Vagrantfile to package. The `--include` approach for including a Vagrantfile
289
+ no longer works (previously built boxes will continue to work).
290
+ - `vagrant package` has new logic with regards to the `--include` option
291
+ depending on if the file path is relative or absolute (they can be
292
+ intermixed):
293
+ * _Relative_ paths are copied directly into the box, preserving
294
+ their path. So `--include lib/foo` would be in the box as "lib/foo"
295
+ * _Absolute_ paths are simply copied files into the root of the
296
+ box. So `--include /lib/foo` would be in the box as "foo"
297
+ - "vagrant_main" is no longer the default run list. Instead, chef
298
+ run list starts empty. It is up to you to specify all recipes in
299
+ the Vagrantfile now.
300
+ - Fixed various issues with certain action middleware not working if
301
+ the VM was not created.
302
+ - SSH connection is retried 5 times if there is a connection refused.
303
+ Related to GH-140.
304
+ - If `http_proxy` environmental variable is set, it will be used as the proxy
305
+ box adding via http.
306
+ - Remove `config.ssh.password`. It hasn't been used for a few versions
307
+ now and was only kept around to avoid exceptions in Vagrantfiles.
308
+ - Configuration is now validated so improper input can be found in
309
+ Vagrantfiles.
310
+ - Fixed issue with not detecting Vagrantfile at root directory ("/").
311
+ - Vagrant now gives a nice error message if there is a syntax error
312
+ in any Vagrantfile. [GH-154]
313
+ - The format of the ".vagrant" file which stores persisted VMs has
314
+ changed. This is **backwards incompatible**. Will provide an upgrade
315
+ utility prior to 0.6 launch.
316
+ - Every [expected] Vagrant error now exits with a clean error message
317
+ and a unique exit status, and raises a unique exception (if you're
318
+ scripting Vagrant).
319
+ - Added I18n gem dependency for pulling strings into clean YML files.
320
+ Vagrant is now localizable as a side effect! Translations welcome.
321
+ - Fixed issue with "Waiting for cleanup" message appearing twice in
322
+ some cases. [GH-145]
323
+ - Converted CLI to use Thor. As a tradeoff, there are some backwards
324
+ incompatibilities:
325
+ * `vagrant package` - The `--include` flag now separates filenames
326
+ by spaces, instead of by commas. e.g. `vagrant package --include x y z`
327
+ * `vagrant ssh` - If you specify a command to execute using the `--execute`
328
+ flag, you may now only specify one command (before you were able to
329
+ specify an arbitrary amount). e.g. `vagrant ssh -e "echo hello"`
330
+ * `vagrant ssh-config` has become `vagrant ssh_config` due to a limitation
331
+ in Thor.
332
+
333
+ ## 0.5.4 (September 7, 2010)
334
+
335
+ - Fix issue with the "exec failed" by running on Tiger as well.
336
+ - Give an error when downloading a box which already exists prior
337
+ to actually downloading the box.
338
+
339
+ ## 0.5.3 (August 23, 2010)
340
+
341
+ - Add erubis as a dependency since its rendering of `erb` is sane.
342
+ - Fixed poorly formatted Vagrantfile after `vagrant init`. [GH-142]
343
+ - Fixed NFS not working properly with multiple NFS folders.
344
+ - Fixed chef solo provision to work on Windows. It was expanding a linux
345
+ path which prepended a drive letter onto it.
346
+
347
+ ## 0.5.2 (August 3, 2010)
348
+
349
+ - `vagrant up` can be used as a way to resume the VM as well (same as
350
+ `vagrant resume`). [GH-134]
351
+ - Sudo uses "-E" flag to preserve environment for chef provisioners.
352
+ This fixes issues with CentOS. [GH-133]
353
+ - Added "IdentitiesOnly yes" to options when `vagrant ssh` is run to
354
+ avoid "Too Many Authentication Failures" error. [GH-131]
355
+ - Fix regression with `package` not working. [GH-132]
356
+ - Added ability to specify box url in `init`, which populates the
357
+ Vagrantfile with the proper `config.vm.box_url`.
358
+
359
+ ## 0.5.1 (July 31, 2010)
360
+
361
+ - Allow specifying cookbook paths which exist only on the VM in `config.chef.cookbooks_path`.
362
+ This is used for specifying cookbook paths when `config.chef.recipe_url` is used. [GH-130]
363
+ See updated chef solo documentation for more information on this.
364
+ - No longer show "Disabling host only networks..." if no host only networks
365
+ are destroyed. Quiets `destroy`, `halt`, etc output a bit.
366
+ - Updated getting started guide to be more up to date and generic. [GH-125]
367
+ - Fixed error with doing a `vagrant up` when no Vagrantfile existed. [GH-128]
368
+ - Fixed NFS erroring when NFS wasn't even enabled if `/etc/exports` doesn't
369
+ exist. [GH-126]
370
+ - Fixed `vagrant resume` to properly resume a suspended VM. [GH-122]
371
+ - Fixed `halt`, `destroy`, `reload` to where they failed if the VM was
372
+ in a saved state. [GH-123]
373
+ - Added `config.chef.recipe_url` which allows you to specify a URL to
374
+ a gzipped tar file for chef solo to download cookbooks. See the
375
+ [chef-solo docs](http://wiki.opscode.com/display/chef/Chef+Solo#ChefSolo-RunningfromaURL) for more information.
376
+ [GH-121]
377
+ - Added `vagrant box repackage` which repackages boxes which have
378
+ been added. This is useful in case you want to redistribute a base
379
+ box you have but may have lost the actual "box" file. [GH-120]
380
+
381
+ ## Previous
382
+
383
+ The changelog began with version 0.5.1 so any changes prior to that
384
+ can be seen by checking the tagged releases and reading git commit
385
+ messages.
386
+
data/Gemfile ADDED
@@ -0,0 +1,21 @@
1
+ require "rbconfig"
2
+ platform = RbConfig::CONFIG["host_os"].downcase
3
+
4
+ source "http://rubygems.org"
5
+
6
+ gem "vagrant", :path => '.'
7
+
8
+ # Use the following gems straight from git, since Vagrant dev
9
+ # typically coincides with it
10
+ gem "virtualbox", :git => "git://github.com/mitchellh/virtualbox.git"
11
+
12
+ if platform.include?("mingw") || platform.include?("mswin")
13
+ gem "jruby-openssl", "~> 0.7.4", :platforms => :jruby
14
+ gem "jruby-win32ole", "~> 0.8.5", :platforms => :jruby
15
+ end
16
+
17
+ group :test do
18
+ gem "rake"
19
+ gem "contest", ">= 0.1.2"
20
+ gem "mocha"
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.