vagrant 1.0.7 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (416) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +14 -43
  3. data/Gemfile +2 -1
  4. data/LICENSE.txt +22 -0
  5. data/README.md +3 -90
  6. data/Rakefile +1 -18
  7. data/bin/vagrant +2 -58
  8. data/message.txt +17 -0
  9. data/vagrant.gemspec +20 -69
  10. metadata +43 -655
  11. data/.yardopts +0 -1
  12. data/CHANGELOG.md +0 -723
  13. data/LICENSE +0 -21
  14. data/config/default.rb +0 -30
  15. data/contrib/README.md +0 -12
  16. data/contrib/emacs/vagrant.el +0 -8
  17. data/contrib/vim/vagrantfile.vim +0 -9
  18. data/keys/README.md +0 -17
  19. data/keys/vagrant +0 -27
  20. data/keys/vagrant.pub +0 -1
  21. data/lib/vagrant.rb +0 -197
  22. data/lib/vagrant/action.rb +0 -63
  23. data/lib/vagrant/action/box/destroy.rb +0 -25
  24. data/lib/vagrant/action/box/download.rb +0 -84
  25. data/lib/vagrant/action/box/package.rb +0 -19
  26. data/lib/vagrant/action/box/unpackage.rb +0 -61
  27. data/lib/vagrant/action/box/verify.rb +0 -23
  28. data/lib/vagrant/action/builder.rb +0 -128
  29. data/lib/vagrant/action/builtin.rb +0 -171
  30. data/lib/vagrant/action/env/set.rb +0 -21
  31. data/lib/vagrant/action/environment.rb +0 -12
  32. data/lib/vagrant/action/general/check_virtualbox.rb +0 -28
  33. data/lib/vagrant/action/general/package.rb +0 -101
  34. data/lib/vagrant/action/general/validate.rb +0 -18
  35. data/lib/vagrant/action/runner.rb +0 -53
  36. data/lib/vagrant/action/vm/boot.rb +0 -53
  37. data/lib/vagrant/action/vm/check_accessible.rb +0 -23
  38. data/lib/vagrant/action/vm/check_box.rb +0 -33
  39. data/lib/vagrant/action/vm/check_guest_additions.rb +0 -38
  40. data/lib/vagrant/action/vm/check_port_collisions.rb +0 -89
  41. data/lib/vagrant/action/vm/clean_machine_folder.rb +0 -43
  42. data/lib/vagrant/action/vm/clear_forwarded_ports.rb +0 -18
  43. data/lib/vagrant/action/vm/clear_network_interfaces.rb +0 -31
  44. data/lib/vagrant/action/vm/clear_shared_folders.rb +0 -18
  45. data/lib/vagrant/action/vm/customize.rb +0 -36
  46. data/lib/vagrant/action/vm/default_name.rb +0 -22
  47. data/lib/vagrant/action/vm/destroy.rb +0 -19
  48. data/lib/vagrant/action/vm/destroy_unused_network_interfaces.rb +0 -20
  49. data/lib/vagrant/action/vm/discard_state.rb +0 -22
  50. data/lib/vagrant/action/vm/export.rb +0 -57
  51. data/lib/vagrant/action/vm/forward_ports.rb +0 -92
  52. data/lib/vagrant/action/vm/halt.rb +0 -32
  53. data/lib/vagrant/action/vm/host_name.rb +0 -21
  54. data/lib/vagrant/action/vm/import.rb +0 -48
  55. data/lib/vagrant/action/vm/match_mac_address.rb +0 -21
  56. data/lib/vagrant/action/vm/network.rb +0 -403
  57. data/lib/vagrant/action/vm/nfs.rb +0 -196
  58. data/lib/vagrant/action/vm/package.rb +0 -23
  59. data/lib/vagrant/action/vm/package_vagrantfile.rb +0 -36
  60. data/lib/vagrant/action/vm/provision.rb +0 -61
  61. data/lib/vagrant/action/vm/provisioner_cleanup.rb +0 -26
  62. data/lib/vagrant/action/vm/prune_nfs_exports.rb +0 -20
  63. data/lib/vagrant/action/vm/resume.rb +0 -20
  64. data/lib/vagrant/action/vm/sane_defaults.rb +0 -78
  65. data/lib/vagrant/action/vm/setup_package_files.rb +0 -54
  66. data/lib/vagrant/action/vm/share_folders.rb +0 -114
  67. data/lib/vagrant/action/vm/suspend.rb +0 -20
  68. data/lib/vagrant/action/warden.rb +0 -92
  69. data/lib/vagrant/box.rb +0 -44
  70. data/lib/vagrant/box_collection.rb +0 -58
  71. data/lib/vagrant/cli.rb +0 -76
  72. data/lib/vagrant/command.rb +0 -24
  73. data/lib/vagrant/command/base.rb +0 -167
  74. data/lib/vagrant/command/box.rb +0 -58
  75. data/lib/vagrant/command/box_add.rb +0 -37
  76. data/lib/vagrant/command/box_list.rb +0 -28
  77. data/lib/vagrant/command/box_remove.rb +0 -27
  78. data/lib/vagrant/command/box_repackage.rb +0 -27
  79. data/lib/vagrant/command/destroy.rb +0 -64
  80. data/lib/vagrant/command/gem.rb +0 -39
  81. data/lib/vagrant/command/halt.rb +0 -39
  82. data/lib/vagrant/command/init.rb +0 -40
  83. data/lib/vagrant/command/package.rb +0 -75
  84. data/lib/vagrant/command/provision.rb +0 -40
  85. data/lib/vagrant/command/reload.rb +0 -39
  86. data/lib/vagrant/command/resume.rb +0 -33
  87. data/lib/vagrant/command/ssh.rb +0 -90
  88. data/lib/vagrant/command/ssh_config.rb +0 -51
  89. data/lib/vagrant/command/start_mixins.rb +0 -26
  90. data/lib/vagrant/command/status.rb +0 -36
  91. data/lib/vagrant/command/suspend.rb +0 -33
  92. data/lib/vagrant/command/up.rb +0 -40
  93. data/lib/vagrant/communication.rb +0 -7
  94. data/lib/vagrant/communication/base.rb +0 -56
  95. data/lib/vagrant/communication/ssh.rb +0 -230
  96. data/lib/vagrant/config.rb +0 -49
  97. data/lib/vagrant/config/base.rb +0 -82
  98. data/lib/vagrant/config/container.rb +0 -37
  99. data/lib/vagrant/config/error_recorder.rb +0 -19
  100. data/lib/vagrant/config/loader.rb +0 -127
  101. data/lib/vagrant/config/nfs.rb +0 -8
  102. data/lib/vagrant/config/package.rb +0 -7
  103. data/lib/vagrant/config/ssh.rb +0 -27
  104. data/lib/vagrant/config/top.rb +0 -72
  105. data/lib/vagrant/config/vagrant.rb +0 -14
  106. data/lib/vagrant/config/vm.rb +0 -168
  107. data/lib/vagrant/config/vm/provisioner.rb +0 -52
  108. data/lib/vagrant/config/vm/sub_vm.rb +0 -17
  109. data/lib/vagrant/data_store.rb +0 -92
  110. data/lib/vagrant/downloaders.rb +0 -7
  111. data/lib/vagrant/downloaders/base.rb +0 -25
  112. data/lib/vagrant/downloaders/file.rb +0 -22
  113. data/lib/vagrant/downloaders/http.rb +0 -97
  114. data/lib/vagrant/driver.rb +0 -8
  115. data/lib/vagrant/driver/virtualbox.rb +0 -134
  116. data/lib/vagrant/driver/virtualbox_4_0.rb +0 -459
  117. data/lib/vagrant/driver/virtualbox_4_1.rb +0 -459
  118. data/lib/vagrant/driver/virtualbox_4_2.rb +0 -606
  119. data/lib/vagrant/driver/virtualbox_base.rb +0 -326
  120. data/lib/vagrant/environment.rb +0 -522
  121. data/lib/vagrant/errors.rb +0 -445
  122. data/lib/vagrant/guest.rb +0 -18
  123. data/lib/vagrant/guest/arch.rb +0 -56
  124. data/lib/vagrant/guest/base.rb +0 -99
  125. data/lib/vagrant/guest/debian.rb +0 -64
  126. data/lib/vagrant/guest/fedora.rb +0 -66
  127. data/lib/vagrant/guest/freebsd.rb +0 -86
  128. data/lib/vagrant/guest/gentoo.rb +0 -46
  129. data/lib/vagrant/guest/linux.rb +0 -118
  130. data/lib/vagrant/guest/linux/config.rb +0 -19
  131. data/lib/vagrant/guest/linux/error.rb +0 -9
  132. data/lib/vagrant/guest/openbsd.rb +0 -20
  133. data/lib/vagrant/guest/redhat.rb +0 -67
  134. data/lib/vagrant/guest/solaris.rb +0 -118
  135. data/lib/vagrant/guest/suse.rb +0 -17
  136. data/lib/vagrant/guest/ubuntu.rb +0 -23
  137. data/lib/vagrant/hosts.rb +0 -37
  138. data/lib/vagrant/hosts/arch.rb +0 -55
  139. data/lib/vagrant/hosts/base.rb +0 -66
  140. data/lib/vagrant/hosts/bsd.rb +0 -97
  141. data/lib/vagrant/hosts/fedora.rb +0 -47
  142. data/lib/vagrant/hosts/freebsd.rb +0 -41
  143. data/lib/vagrant/hosts/gentoo.rb +0 -20
  144. data/lib/vagrant/hosts/linux.rb +0 -94
  145. data/lib/vagrant/hosts/opensuse.rb +0 -30
  146. data/lib/vagrant/hosts/windows.rb +0 -16
  147. data/lib/vagrant/plugin.rb +0 -81
  148. data/lib/vagrant/provisioners.rb +0 -12
  149. data/lib/vagrant/provisioners/base.rb +0 -44
  150. data/lib/vagrant/provisioners/chef.rb +0 -168
  151. data/lib/vagrant/provisioners/chef_client.rb +0 -132
  152. data/lib/vagrant/provisioners/chef_solo.rb +0 -234
  153. data/lib/vagrant/provisioners/puppet.rb +0 -176
  154. data/lib/vagrant/provisioners/puppet_server.rb +0 -78
  155. data/lib/vagrant/provisioners/shell.rb +0 -103
  156. data/lib/vagrant/registry.rb +0 -52
  157. data/lib/vagrant/ssh.rb +0 -126
  158. data/lib/vagrant/test_helpers.rb +0 -154
  159. data/lib/vagrant/ui.rb +0 -168
  160. data/lib/vagrant/util.rb +0 -12
  161. data/lib/vagrant/util/ansi_escape_code_remover.rb +0 -34
  162. data/lib/vagrant/util/busy.rb +0 -59
  163. data/lib/vagrant/util/counter.rb +0 -24
  164. data/lib/vagrant/util/file_checksum.rb +0 -38
  165. data/lib/vagrant/util/file_mode.rb +0 -12
  166. data/lib/vagrant/util/hash_with_indifferent_access.rb +0 -63
  167. data/lib/vagrant/util/is_port_open.rb +0 -38
  168. data/lib/vagrant/util/line_ending_helpers.rb +0 -14
  169. data/lib/vagrant/util/network_ip.rb +0 -28
  170. data/lib/vagrant/util/platform.rb +0 -68
  171. data/lib/vagrant/util/retryable.rb +0 -25
  172. data/lib/vagrant/util/safe_exec.rb +0 -36
  173. data/lib/vagrant/util/safe_puts.rb +0 -31
  174. data/lib/vagrant/util/stacked_proc_runner.rb +0 -35
  175. data/lib/vagrant/util/subprocess.rb +0 -247
  176. data/lib/vagrant/util/template_renderer.rb +0 -83
  177. data/lib/vagrant/version.rb +0 -6
  178. data/lib/vagrant/vm.rb +0 -195
  179. data/tasks/acceptance.rake +0 -113
  180. data/tasks/bundler.rake +0 -3
  181. data/tasks/test.rake +0 -20
  182. data/templates/commands/init/Vagrantfile.erb +0 -99
  183. data/templates/commands/ssh_config/config.erb +0 -15
  184. data/templates/config/validation_failed.erb +0 -7
  185. data/templates/guests/arch/network_dhcp.erb +0 -7
  186. data/templates/guests/arch/network_static.erb +0 -7
  187. data/templates/guests/debian/network_dhcp.erb +0 -6
  188. data/templates/guests/debian/network_static.erb +0 -7
  189. data/templates/guests/fedora/network_dhcp.erb +0 -6
  190. data/templates/guests/fedora/network_static.erb +0 -13
  191. data/templates/guests/freebsd/network_dhcp.erb +0 -3
  192. data/templates/guests/freebsd/network_static.erb +0 -3
  193. data/templates/guests/gentoo/network_dhcp.erb +0 -4
  194. data/templates/guests/gentoo/network_static.erb +0 -4
  195. data/templates/guests/redhat/network_dhcp.erb +0 -6
  196. data/templates/guests/redhat/network_static.erb +0 -7
  197. data/templates/locales/en.yml +0 -759
  198. data/templates/nfs/exports.erb +0 -5
  199. data/templates/nfs/exports_freebsd.erb +0 -5
  200. data/templates/nfs/exports_linux.erb +0 -5
  201. data/templates/package_Vagrantfile.erb +0 -11
  202. data/templates/provisioners/chef_client/client.erb +0 -32
  203. data/templates/provisioners/chef_solo/solo.erb +0 -25
  204. data/test/acceptance/base.rb +0 -48
  205. data/test/acceptance/box_test.rb +0 -99
  206. data/test/acceptance/destroy_test.rb +0 -37
  207. data/test/acceptance/halt_test.rb +0 -72
  208. data/test/acceptance/init_test.rb +0 -33
  209. data/test/acceptance/networking/host_only_test.rb +0 -37
  210. data/test/acceptance/networking/port_forward_test.rb +0 -125
  211. data/test/acceptance/package_test.rb +0 -46
  212. data/test/acceptance/provisioning/basic_test.rb +0 -61
  213. data/test/acceptance/provisioning/chef_solo_test.rb +0 -37
  214. data/test/acceptance/provisioning/shell_test.rb +0 -53
  215. data/test/acceptance/resume_test.rb +0 -17
  216. data/test/acceptance/shared_folders_test.rb +0 -84
  217. data/test/acceptance/skeletons/chef_solo_basic/README.md +0 -3
  218. data/test/acceptance/skeletons/chef_solo_basic/cookbooks/basic/recipes/default.rb +0 -5
  219. data/test/acceptance/skeletons/chef_solo_json/README.md +0 -3
  220. data/test/acceptance/skeletons/chef_solo_json/cookbooks/basic/recipes/default.rb +0 -6
  221. data/test/acceptance/skeletons/provisioner_multi/README.md +0 -3
  222. data/test/acceptance/skeletons/provisioner_multi/cookbooks/basic/recipes/default.rb +0 -5
  223. data/test/acceptance/ssh_test.rb +0 -46
  224. data/test/acceptance/support/config.rb +0 -42
  225. data/test/acceptance/support/isolated_environment.rb +0 -117
  226. data/test/acceptance/support/matchers/have_color.rb +0 -9
  227. data/test/acceptance/support/matchers/match_output.rb +0 -14
  228. data/test/acceptance/support/matchers/succeed.rb +0 -14
  229. data/test/acceptance/support/network_tests.rb +0 -29
  230. data/test/acceptance/support/output.rb +0 -95
  231. data/test/acceptance/support/shared/base_context.rb +0 -72
  232. data/test/acceptance/support/shared/command_examples.rb +0 -33
  233. data/test/acceptance/support/virtualbox.rb +0 -36
  234. data/test/acceptance/suspend_test.rb +0 -56
  235. data/test/acceptance/up_basic_test.rb +0 -33
  236. data/test/acceptance/up_with_box_url.rb +0 -40
  237. data/test/acceptance/vagrant_test.rb +0 -47
  238. data/test/acceptance/version_test.rb +0 -15
  239. data/test/buildbot/README.md +0 -72
  240. data/test/buildbot/buildbot_config/__init__.py +0 -0
  241. data/test/buildbot/buildbot_config/config/__init__.py +0 -0
  242. data/test/buildbot/buildbot_config/config/loader.py +0 -24
  243. data/test/buildbot/buildbot_config/config/master.py +0 -24
  244. data/test/buildbot/buildbot_config/config/slave.py +0 -22
  245. data/test/buildbot/buildbot_config/master/__init__.py +0 -6
  246. data/test/buildbot/buildbot_config/master/builders.py +0 -78
  247. data/test/buildbot/buildbot_config/master/buildsteps.py +0 -100
  248. data/test/buildbot/buildbot_config/master/change_sources.py +0 -8
  249. data/test/buildbot/buildbot_config/master/schedulers.py +0 -32
  250. data/test/buildbot/buildbot_config/master/slaves.py +0 -60
  251. data/test/buildbot/buildbot_config/master/status.py +0 -52
  252. data/test/buildbot/master/Makefile.sample +0 -28
  253. data/test/buildbot/master/buildbot.tac +0 -36
  254. data/test/buildbot/master/master.cfg +0 -67
  255. data/test/buildbot/master/public_html/bg_gradient.jpg +0 -0
  256. data/test/buildbot/master/public_html/default.css +0 -545
  257. data/test/buildbot/master/public_html/favicon.ico +0 -0
  258. data/test/buildbot/master/public_html/robots.txt +0 -10
  259. data/test/buildbot/master/public_html/static/css/bootstrap-1.4.0.min.css +0 -356
  260. data/test/buildbot/master/public_html/static/css/prettify.css +0 -97
  261. data/test/buildbot/master/public_html/static/css/syntax.css +0 -60
  262. data/test/buildbot/master/public_html/static/css/vagrant.base.css +0 -205
  263. data/test/buildbot/master/public_html/static/images/base_box_mac.jpg +0 -0
  264. data/test/buildbot/master/public_html/static/images/getting-started/success.jpg +0 -0
  265. data/test/buildbot/master/public_html/static/images/icons/error.png +0 -0
  266. data/test/buildbot/master/public_html/static/images/vagrant_chilling.png +0 -0
  267. data/test/buildbot/master/public_html/static/images/vagrant_holding.png +0 -0
  268. data/test/buildbot/master/public_html/static/images/vagrant_looking.png +0 -0
  269. data/test/buildbot/master/public_html/static/images/windows/alter_path.jpg +0 -0
  270. data/test/buildbot/master/public_html/static/images/windows/edit_path.jpg +0 -0
  271. data/test/buildbot/master/public_html/static/images/windows/environment_variables_button.jpg +0 -0
  272. data/test/buildbot/master/public_html/static/images/windows/port_and_ppk_path.jpg +0 -0
  273. data/test/buildbot/master/public_html/static/images/windows/ppk_selection.jpg +0 -0
  274. data/test/buildbot/master/public_html/static/images/windows/putty_first_screen.jpg +0 -0
  275. data/test/buildbot/master/public_html/static/images/windows/save_result.jpg +0 -0
  276. data/test/buildbot/master/public_html/static/images/windows/vbox_manage_default_location.jpg +0 -0
  277. data/test/buildbot/master/public_html/static/js/bootstrap-tabs.js +0 -80
  278. data/test/buildbot/master/public_html/static/js/jquery-1.7.min.js +0 -4
  279. data/test/buildbot/master/templates/authfail.html +0 -9
  280. data/test/buildbot/master/templates/build.html +0 -205
  281. data/test/buildbot/master/templates/builder.html +0 -118
  282. data/test/buildbot/master/templates/builders.html +0 -33
  283. data/test/buildbot/master/templates/buildslave.html +0 -72
  284. data/test/buildbot/master/templates/buildslaves.html +0 -70
  285. data/test/buildbot/master/templates/change.html +0 -15
  286. data/test/buildbot/master/templates/layouts/base.html +0 -58
  287. data/test/buildbot/master/templates/macros/box.html +0 -37
  288. data/test/buildbot/master/templates/macros/build_line.html +0 -50
  289. data/test/buildbot/master/templates/macros/change.html +0 -81
  290. data/test/buildbot/master/templates/macros/forms.html +0 -300
  291. data/test/buildbot/master/templates/root.html +0 -42
  292. data/test/buildbot/master/templates/waterfall.html +0 -53
  293. data/test/buildbot/requirements.txt +0 -4
  294. data/test/buildbot/scripts/deploy.sh +0 -38
  295. data/test/buildbot/scripts/setup.sh +0 -107
  296. data/test/buildbot/slave/buildbot.tac +0 -43
  297. data/test/buildbot/slave/info/admin +0 -1
  298. data/test/buildbot/slave/info/host +0 -1
  299. data/test/buildbot/tests/__init__.py +0 -0
  300. data/test/buildbot/tests/master/__init__.py +0 -0
  301. data/test/buildbot/tests/master/test_slaves.py +0 -41
  302. data/test/buildbot/vendor/choices-0.4.0.tar.gz +0 -0
  303. data/test/config/acceptance_boxes.yml +0 -7
  304. data/test/support/isolated_environment.rb +0 -46
  305. data/test/support/tempdir.rb +0 -34
  306. data/test/unit/base.rb +0 -21
  307. data/test/unit/support/isolated_environment.rb +0 -47
  308. data/test/unit/support/shared/base_context.rb +0 -30
  309. data/test/unit/vagrant/action/builder_test.rb +0 -156
  310. data/test/unit/vagrant/action/environment_test.rb +0 -16
  311. data/test/unit/vagrant/action/runner_test.rb +0 -65
  312. data/test/unit/vagrant/action/warden_test.rb +0 -92
  313. data/test/unit/vagrant/box_collection_test.rb +0 -56
  314. data/test/unit/vagrant/box_test.rb +0 -34
  315. data/test/unit/vagrant/command/base_test.rb +0 -150
  316. data/test/unit/vagrant/config/base_test.rb +0 -48
  317. data/test/unit/vagrant/config/loader_test.rb +0 -79
  318. data/test/unit/vagrant/config/ssh_test.rb +0 -17
  319. data/test/unit/vagrant/config/top_test.rb +0 -69
  320. data/test/unit/vagrant/config/vm_test.rb +0 -71
  321. data/test/unit/vagrant/config_test.rb +0 -27
  322. data/test/unit/vagrant/data_store_test.rb +0 -79
  323. data/test/unit/vagrant/downloaders/base_test.rb +0 -18
  324. data/test/unit/vagrant/downloaders/file_test.rb +0 -75
  325. data/test/unit/vagrant/downloaders/http_test.rb +0 -19
  326. data/test/unit/vagrant/environment_test.rb +0 -220
  327. data/test/unit/vagrant/hosts_test.rb +0 -36
  328. data/test/unit/vagrant/registry_test.rb +0 -74
  329. data/test/unit/vagrant/util/ansi_escape_code_remover_test.rb +0 -16
  330. data/test/unit/vagrant/util/file_checksum_test.rb +0 -23
  331. data/test/unit/vagrant/util/hash_with_indifferent_access_test.rb +0 -38
  332. data/test/unit/vagrant/util/is_port_open_test.rb +0 -53
  333. data/test/unit/vagrant/util/line_endings_helper_test.rb +0 -16
  334. data/test/unit/vagrant/util/network_ip_test.rb +0 -17
  335. data/test/unit/vagrant/util/retryable_test.rb +0 -106
  336. data/test/unit/vagrant_test.rb +0 -27
  337. data/test/unit_legacy/locales/en.yml +0 -8
  338. data/test/unit_legacy/test_helper.rb +0 -32
  339. data/test/unit_legacy/vagrant/action/box/destroy_test.rb +0 -18
  340. data/test/unit_legacy/vagrant/action/box/download_test.rb +0 -125
  341. data/test/unit_legacy/vagrant/action/box/package_test.rb +0 -25
  342. data/test/unit_legacy/vagrant/action/box/unpackage_test.rb +0 -84
  343. data/test/unit_legacy/vagrant/action/box/verify_test.rb +0 -30
  344. data/test/unit_legacy/vagrant/action/env/set_test.rb +0 -24
  345. data/test/unit_legacy/vagrant/action/general/package_test.rb +0 -268
  346. data/test/unit_legacy/vagrant/action/general/validate_test.rb +0 -31
  347. data/test/unit_legacy/vagrant/action/vm/boot_test.rb +0 -66
  348. data/test/unit_legacy/vagrant/action/vm/check_accessible_test.rb +0 -61
  349. data/test/unit_legacy/vagrant/action/vm/check_box_test.rb +0 -61
  350. data/test/unit_legacy/vagrant/action/vm/check_guest_additions_test.rb +0 -9
  351. data/test/unit_legacy/vagrant/action/vm/clean_machine_folder_test.rb +0 -84
  352. data/test/unit_legacy/vagrant/action/vm/clear_forwarded_ports_test.rb +0 -52
  353. data/test/unit_legacy/vagrant/action/vm/clear_nfs_exports_test.rb +0 -22
  354. data/test/unit_legacy/vagrant/action/vm/clear_shared_folders_test.rb +0 -40
  355. data/test/unit_legacy/vagrant/action/vm/customize_test.rb +0 -37
  356. data/test/unit_legacy/vagrant/action/vm/destroy_test.rb +0 -25
  357. data/test/unit_legacy/vagrant/action/vm/destroy_unused_network_interfaces_test.rb +0 -49
  358. data/test/unit_legacy/vagrant/action/vm/discard_state_test.rb +0 -45
  359. data/test/unit_legacy/vagrant/action/vm/export_test.rb +0 -107
  360. data/test/unit_legacy/vagrant/action/vm/forward_ports_helpers_test.rb +0 -77
  361. data/test/unit_legacy/vagrant/action/vm/forward_ports_test.rb +0 -197
  362. data/test/unit_legacy/vagrant/action/vm/halt_test.rb +0 -79
  363. data/test/unit_legacy/vagrant/action/vm/host_name_test.rb +0 -36
  364. data/test/unit_legacy/vagrant/action/vm/import_test.rb +0 -66
  365. data/test/unit_legacy/vagrant/action/vm/match_mac_address_test.rb +0 -40
  366. data/test/unit_legacy/vagrant/action/vm/modify_test.rb +0 -38
  367. data/test/unit_legacy/vagrant/action/vm/network_test.rb +0 -286
  368. data/test/unit_legacy/vagrant/action/vm/nfs_helpers_test.rb +0 -26
  369. data/test/unit_legacy/vagrant/action/vm/nfs_test.rb +0 -260
  370. data/test/unit_legacy/vagrant/action/vm/package_test.rb +0 -25
  371. data/test/unit_legacy/vagrant/action/vm/package_vagrantfile_test.rb +0 -46
  372. data/test/unit_legacy/vagrant/action/vm/provision_test.rb +0 -65
  373. data/test/unit_legacy/vagrant/action/vm/provisioner_cleanup_test.rb +0 -56
  374. data/test/unit_legacy/vagrant/action/vm/resume_test.rb +0 -35
  375. data/test/unit_legacy/vagrant/action/vm/share_folders_test.rb +0 -144
  376. data/test/unit_legacy/vagrant/action/vm/suspend_test.rb +0 -35
  377. data/test/unit_legacy/vagrant/action_test.rb +0 -89
  378. data/test/unit_legacy/vagrant/box_collection_test.rb +0 -45
  379. data/test/unit_legacy/vagrant/box_test.rb +0 -74
  380. data/test/unit_legacy/vagrant/cli_test.rb +0 -35
  381. data/test/unit_legacy/vagrant/command/base_test.rb +0 -23
  382. data/test/unit_legacy/vagrant/command/group_base_test.rb +0 -15
  383. data/test/unit_legacy/vagrant/command/helpers_test.rb +0 -88
  384. data/test/unit_legacy/vagrant/command/init_test.rb +0 -10
  385. data/test/unit_legacy/vagrant/command/package_test.rb +0 -27
  386. data/test/unit_legacy/vagrant/config/base_test.rb +0 -52
  387. data/test/unit_legacy/vagrant/config/error_recorder_test.rb +0 -18
  388. data/test/unit_legacy/vagrant/config/ssh_test.rb +0 -12
  389. data/test/unit_legacy/vagrant/config/vagrant_test.rb +0 -35
  390. data/test/unit_legacy/vagrant/config/vm/provisioner_test.rb +0 -92
  391. data/test/unit_legacy/vagrant/config/vm_test.rb +0 -47
  392. data/test/unit_legacy/vagrant/config_test.rb +0 -148
  393. data/test/unit_legacy/vagrant/downloaders/http_test.rb +0 -93
  394. data/test/unit_legacy/vagrant/environment_test.rb +0 -539
  395. data/test/unit_legacy/vagrant/errors_test.rb +0 -42
  396. data/test/unit_legacy/vagrant/hosts/base_test.rb +0 -46
  397. data/test/unit_legacy/vagrant/hosts/bsd_test.rb +0 -53
  398. data/test/unit_legacy/vagrant/hosts/linux_test.rb +0 -54
  399. data/test/unit_legacy/vagrant/plugin_test.rb +0 -9
  400. data/test/unit_legacy/vagrant/provisioners/base_test.rb +0 -63
  401. data/test/unit_legacy/vagrant/provisioners/chef_client_test.rb +0 -190
  402. data/test/unit_legacy/vagrant/provisioners/chef_solo_test.rb +0 -115
  403. data/test/unit_legacy/vagrant/provisioners/chef_test.rb +0 -209
  404. data/test/unit_legacy/vagrant/provisioners/puppet_server_test.rb +0 -68
  405. data/test/unit_legacy/vagrant/provisioners/puppet_test.rb +0 -182
  406. data/test/unit_legacy/vagrant/provisioners/shell_test.rb +0 -79
  407. data/test/unit_legacy/vagrant/ssh/session_test.rb +0 -40
  408. data/test/unit_legacy/vagrant/ssh_test.rb +0 -304
  409. data/test/unit_legacy/vagrant/systems/base_test.rb +0 -18
  410. data/test/unit_legacy/vagrant/systems/linux_test.rb +0 -104
  411. data/test/unit_legacy/vagrant/util/busy_test.rb +0 -106
  412. data/test/unit_legacy/vagrant/util/counter_test.rb +0 -29
  413. data/test/unit_legacy/vagrant/util/platform_test.rb +0 -18
  414. data/test/unit_legacy/vagrant/util/stacked_proc_runner_test.rb +0 -43
  415. data/test/unit_legacy/vagrant/util/template_renderer_test.rb +0 -145
  416. data/test/unit_legacy/vagrant/vm_test.rb +0 -300
@@ -1,8 +0,0 @@
1
- module Vagrant
2
- module Config
3
- class NFSConfig < Base
4
- attr_accessor :map_uid
5
- attr_accessor :map_gid
6
- end
7
- end
8
- end
@@ -1,7 +0,0 @@
1
- module Vagrant
2
- module Config
3
- class PackageConfig < Base
4
- attr_accessor :name
5
- end
6
- end
7
- end
@@ -1,27 +0,0 @@
1
- module Vagrant
2
- module Config
3
- class SSHConfig < Base
4
- attr_accessor :username
5
- attr_accessor :password
6
- attr_accessor :host
7
- attr_accessor :port
8
- attr_accessor :guest_port
9
- attr_accessor :max_tries
10
- attr_accessor :timeout
11
- attr_accessor :private_key_path
12
- attr_accessor :forward_agent
13
- attr_accessor :forward_x11
14
- attr_accessor :shell
15
-
16
- def validate(env, errors)
17
- [:username, :host, :max_tries, :timeout].each do |field|
18
- errors.add(I18n.t("vagrant.config.common.error_empty", :field => field)) if !instance_variable_get("@#{field}".to_sym)
19
- end
20
-
21
- if private_key_path && !File.file?(File.expand_path(private_key_path, env.root_path))
22
- errors.add(I18n.t("vagrant.config.ssh.private_key_missing", :path => private_key_path))
23
- end
24
- end
25
- end
26
- end
27
- end
@@ -1,72 +0,0 @@
1
- module Vagrant
2
- module Config
3
- # This class is the "top" configure class, which handles registering
4
- # other configuration classes as well as validation of all configured
5
- # classes. This is the object which is returned by {Environment#config}
6
- # and has accessors to all other configuration classes.
7
- #
8
- # If you're looking to create your own configuration class, see {Base}.
9
- class Top < Base
10
- attr_reader :keys
11
-
12
- def initialize(registry=nil)
13
- @keys = {}
14
- @registry = registry || Vagrant.config_keys
15
- end
16
-
17
- # We use method_missing as a way to get the configuration that is used
18
- # for Vagrant and load the proper configuration classes for each.
19
- def method_missing(name, *args)
20
- return @keys[name] if @keys.has_key?(name)
21
-
22
- config_klass = @registry.get(name.to_sym)
23
- if config_klass
24
- # Instantiate the class and return the instance
25
- @keys[name] = config_klass.new
26
- return @keys[name]
27
- else
28
- # Super it up to probably raise a NoMethodError
29
- super
30
- end
31
- end
32
-
33
- # Custom implementation to merge each key separately.
34
- def merge(other)
35
- result = self.class.new
36
- @keys.each do |key, value|
37
- result.keys[key] = value.merge(other.send(key))
38
- end
39
-
40
- other.keys.each do |key, value|
41
- if !@keys.has_key?(key)
42
- # This is a key that the other configuration class has
43
- # that we don't, so just copy it in.
44
- result.keys[key] = value.dup
45
- end
46
- end
47
-
48
- result
49
- end
50
-
51
- # Validates the configuration classes of this instance and raises an
52
- # exception if they are invalid. If you are implementing a custom configuration
53
- # class, the method you want to implement is {Base#validate}. This is
54
- # the method that checks all the validation, not one which defines
55
- # validation rules.
56
- def validate!(env)
57
- # Validate each of the configured classes and store the results into
58
- # a hash.
59
- errors = @keys.inject({}) do |container, data|
60
- key, instance = data
61
- recorder = ErrorRecorder.new
62
- instance.validate(env, recorder)
63
- container[key.to_sym] = recorder if !recorder.errors.empty?
64
- container
65
- end
66
-
67
- return if errors.empty?
68
- raise Errors::ConfigValidationFailed, :messages => Util::TemplateRenderer.render("config/validation_failed", :errors => errors)
69
- end
70
- end
71
- end
72
- end
@@ -1,14 +0,0 @@
1
- module Vagrant
2
- module Config
3
- class VagrantConfig < Base
4
- attr_accessor :dotfile_name
5
- attr_accessor :host
6
-
7
- def validate(env, errors)
8
- [:dotfile_name, :host].each do |field|
9
- errors.add(I18n.t("vagrant.config.common.error_empty", :field => field)) if !instance_variable_get("@#{field}".to_sym)
10
- end
11
- end
12
- end
13
- end
14
- end
@@ -1,168 +0,0 @@
1
- require 'pathname'
2
-
3
- require 'vagrant/config/vm/sub_vm'
4
- require 'vagrant/config/vm/provisioner'
5
-
6
- module Vagrant
7
- module Config
8
- class VMConfig < Base
9
- attr_accessor :name
10
- attr_accessor :auto_port_range
11
- attr_accessor :box
12
- attr_accessor :box_url
13
- attr_accessor :base_mac
14
- attr_accessor :boot_mode
15
- attr_accessor :host_name
16
- attr_reader :forwarded_ports
17
- attr_reader :shared_folders
18
- attr_reader :networks
19
- attr_reader :provisioners
20
- attr_reader :customizations
21
- attr_accessor :guest
22
-
23
- def initialize
24
- @forwarded_ports = []
25
- @shared_folders = {}
26
- @networks = []
27
- @provisioners = []
28
- @customizations = []
29
- end
30
-
31
- # Custom merge method since some keys here are merged differently.
32
- def merge(other)
33
- result = super
34
- result.instance_variable_set(:@forwarded_ports, @forwarded_ports + other.forwarded_ports)
35
- result.instance_variable_set(:@shared_folders, @shared_folders.merge(other.shared_folders))
36
- result.instance_variable_set(:@networks, @networks + other.networks)
37
- result.instance_variable_set(:@provisioners, @provisioners + other.provisioners)
38
- result.instance_variable_set(:@customizations, @customizations + other.customizations)
39
- result
40
- end
41
-
42
- def forward_port(guestport, hostport, options=nil)
43
- @forwarded_ports << {
44
- :name => "#{guestport.to_s(32)}-#{hostport.to_s(32)}",
45
- :guestport => guestport,
46
- :hostport => hostport,
47
- :protocol => :tcp,
48
- :adapter => 1,
49
- :auto => false
50
- }.merge(options || {})
51
- end
52
-
53
- def share_folder(name, guestpath, hostpath, opts=nil)
54
- @shared_folders[name] = {
55
- :guestpath => guestpath.to_s,
56
- :hostpath => hostpath.to_s,
57
- :create => false,
58
- :owner => nil,
59
- :group => nil,
60
- :nfs => false,
61
- :transient => false,
62
- :extra => nil
63
- }.merge(opts || {})
64
- end
65
-
66
- def network(type, *args)
67
- @networks << [type, args]
68
- end
69
-
70
- def provision(name, options=nil, &block)
71
- @provisioners << Provisioner.new(name, options, &block)
72
- end
73
-
74
- # TODO: This argument should not be `nil` in the future.
75
- # It is only defaulted to nil so that the deprecation error
76
- # can be properly shown.
77
- def customize(command=nil)
78
- @customizations << command if command
79
- end
80
-
81
- def defined_vms
82
- @defined_vms ||= {}
83
- end
84
-
85
- # This returns the keys of the sub-vms in the order they were
86
- # defined.
87
- def defined_vm_keys
88
- @defined_vm_keys ||= []
89
- end
90
-
91
- def define(name, options=nil, &block)
92
- name = name.to_sym
93
- options ||= {}
94
-
95
- # Add the name to the array of VM keys. This array is used to
96
- # preserve the order in which VMs are defined.
97
- defined_vm_keys << name
98
-
99
- # Add the SubVM to the hash of defined VMs
100
- defined_vms[name] ||= SubVM.new
101
- defined_vms[name].options.merge!(options)
102
- defined_vms[name].push_proc(&block) if block
103
- end
104
-
105
- def validate(env, errors)
106
- errors.add(I18n.t("vagrant.config.vm.box_missing")) if !box
107
- errors.add(I18n.t("vagrant.config.vm.box_not_found", :name => box)) if box && !box_url && !env.boxes.find(box)
108
- errors.add(I18n.t("vagrant.config.vm.boot_mode_invalid")) if ![:headless, :gui].include?(boot_mode.to_sym)
109
- errors.add(I18n.t("vagrant.config.vm.base_mac_invalid")) if env.boxes.find(box) && !base_mac
110
-
111
- shared_folders.each do |name, options|
112
- hostpath = Pathname.new(options[:hostpath]).expand_path(env.root_path)
113
-
114
- if !hostpath.directory? && !options[:create]
115
- errors.add(I18n.t("vagrant.config.vm.shared_folder_hostpath_missing",
116
- :name => name,
117
- :path => options[:hostpath]))
118
- end
119
-
120
- if options[:nfs] && (options[:owner] || options[:group])
121
- # Owner/group don't work with NFS
122
- errors.add(I18n.t("vagrant.config.vm.shared_folder_nfs_owner_group",
123
- :name => name))
124
- end
125
- end
126
-
127
- # Validate some basic networking
128
- #
129
- # TODO: One day we need to abstract this out, since in the future
130
- # providers other than VirtualBox will not be able to satisfy
131
- # all types of networks.
132
- networks.each do |type, args|
133
- if type == :hostonly && args[0] == :dhcp
134
- # Valid. There is no real way this can be invalid at the moment.
135
- elsif type == :hostonly
136
- # Validate the host-only network
137
- ip = args[0]
138
- options = args[1] || {}
139
-
140
- if !ip
141
- errors.add(I18n.t("vagrant.config.vm.network_ip_required"))
142
- else
143
- ip_parts = ip.split(".")
144
-
145
- if ip_parts.length != 4
146
- errors.add(I18n.t("vagrant.config.vm.network_ip_invalid",
147
- :ip => ip))
148
- elsif ip_parts.last == "1"
149
- errors.add(I18n.t("vagrant.config.vm.network_ip_ends_one",
150
- :ip => ip))
151
- end
152
- end
153
- elsif type == :bridged
154
- else
155
- # Invalid network type
156
- errors.add(I18n.t("vagrant.config.vm.network_invalid",
157
- :type => type.to_s))
158
- end
159
- end
160
-
161
- # Each provisioner can validate itself
162
- provisioners.each do |prov|
163
- prov.validate(env, errors)
164
- end
165
- end
166
- end
167
- end
168
- end
@@ -1,52 +0,0 @@
1
- require 'log4r'
2
-
3
- module Vagrant
4
- module Config
5
- class VMConfig < Base
6
- # Represents a single configured provisioner for a VM.
7
- class Provisioner
8
- attr_reader :shortcut
9
- attr_reader :provisioner
10
- attr_reader :config
11
-
12
- def initialize(shortcut, options=nil, &block)
13
- @logger = Log4r::Logger.new("vagrant::config::vm::provisioner")
14
- @logger.debug("Provisioner config: #{shortcut}")
15
- @shortcut = shortcut
16
- @provisioner = shortcut
17
- @provisioner = Vagrant.provisioners.get(shortcut) if shortcut.is_a?(Symbol)
18
- @config = nil
19
-
20
- @logger.info("Provisioner class: #{provisioner}")
21
- configure(options, &block) if @provisioner
22
- end
23
-
24
- # Configures the provisioner if it can (if it is valid).
25
- def configure(options=nil, &block)
26
- config_class = @provisioner.config_class
27
- return if !config_class
28
-
29
- @logger.debug("Configuring provisioner with: #{config_class}")
30
- @config = config_class.new
31
- @config.set_options(options) if options
32
- block.call(@config) if block
33
- end
34
-
35
- def validate(env, errors)
36
- if !provisioner
37
- # If we don't have a provisioner then the whole thing is invalid.
38
- errors.add(I18n.t("vagrant.config.vm.provisioner_not_found", :shortcut => shortcut))
39
- return
40
- end
41
-
42
- if !(provisioner <= Provisioners::Base)
43
- errors.add(I18n.t("vagrant.config.vm.provisioner_invalid_class", :shortcut => shortcut))
44
- end
45
-
46
- # Pass on validation to the provisioner config
47
- config.validate(env, errors) if config
48
- end
49
- end
50
- end
51
- end
52
- end
@@ -1,17 +0,0 @@
1
- module Vagrant
2
- module Config
3
- class VMConfig < Base
4
- # Represents a single sub-VM in a multi-VM environment.
5
- class SubVM
6
- include Util::StackedProcRunner
7
-
8
- attr_reader :options
9
-
10
- def initialize
11
- @options = {}
12
- end
13
- end
14
- end
15
- end
16
- end
17
-
@@ -1,92 +0,0 @@
1
- require 'pathname'
2
-
3
- require 'log4r'
4
-
5
- module Vagrant
6
- # The Vagrant data store is a key-value store which is persisted
7
- # as JSON in a local file which is specified in the initializer.
8
- # The data store itself is accessed via typical hash accessors: `[]`
9
- # and `[]=`. If a key is set to `nil`, then it is removed from the
10
- # datastore. The data store is only updated on disk when {#commit}
11
- # is called on the data store itself.
12
- #
13
- # The data store is a hash with indifferent access, meaning that
14
- # while all keys are persisted as strings in the JSON, you can access
15
- # them back as either symbols or strings. Note that this is only true
16
- # for the top-level data store. As soon as you set a hash inside the
17
- # data store, unless you explicitly use a {Util::HashWithIndifferentAccess},
18
- # it will be a regular hash.
19
- class DataStore < Util::HashWithIndifferentAccess
20
- attr_reader :file_path
21
-
22
- def initialize(file_path)
23
- @logger = Log4r::Logger.new("vagrant::datastore")
24
-
25
- if file_path
26
- @logger.info("Created: #{file_path}")
27
-
28
- @file_path = Pathname.new(file_path)
29
- if @file_path.exist?
30
- raise Errors::DotfileIsDirectory if @file_path.directory?
31
-
32
- begin
33
- merge!(JSON.parse(@file_path.read))
34
- rescue JSON::ParserError
35
- # Ignore if the data is invalid in the file.
36
- @logger.error("Data store contained invalid JSON. Ignoring.")
37
- end
38
- end
39
- else
40
- @logger.info("No file path. In-memory data store.")
41
- @file_path = nil
42
- end
43
- end
44
-
45
- # Commits any changes to the data to disk. Even if the data
46
- # hasn't changed, it will be reserialized and written to disk.
47
- def commit
48
- if !@file_path
49
- raise StandardError, "In-memory data stores can't be committed."
50
- end
51
-
52
- clean_nil_and_empties
53
-
54
- if empty?
55
- # Delete the file since an empty data store is not useful
56
- @logger.info("Deleting data store since we're empty: #{@file_path}")
57
- @file_path.delete if @file_path.exist?
58
- else
59
- @logger.info("Committing data to data store: #{@file_path}")
60
-
61
- @file_path.open("w") do |f|
62
- f.write(to_json)
63
- f.fsync
64
- end
65
- end
66
- end
67
-
68
- protected
69
-
70
- # Removes the "nil" and "empty?" values from the hash (children
71
- # included) so that the final output JSON is cleaner.
72
- def clean_nil_and_empties(hash=self)
73
- # Clean depth first
74
- hash.each do |k, v|
75
- clean_nil_and_empties(v) if v.is_a?(Hash)
76
- end
77
-
78
- # Clean ourselves, knowing that any children have already been
79
- # cleaned up
80
- bad_keys = hash.inject([]) do |acc, data|
81
- k,v = data
82
- acc.push(k) if v.nil?
83
- acc.push(k) if v.respond_to?(:empty?) && v.empty?
84
- acc
85
- end
86
-
87
- bad_keys.each do |key|
88
- hash.delete(key)
89
- end
90
- end
91
- end
92
- end