tnargav 1.2.2

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 (452) hide show
  1. data/.gitignore +31 -0
  2. data/.gitsetup.yml +5 -0
  3. data/.travis.yml +7 -0
  4. data/.yardopts +1 -0
  5. data/CHANGELOG.md +1067 -0
  6. data/Gemfile +3 -0
  7. data/LICENSE +21 -0
  8. data/README.md +89 -0
  9. data/Rakefile +18 -0
  10. data/bin/vagrant +106 -0
  11. data/config/default.rb +36 -0
  12. data/contrib/README.md +12 -0
  13. data/contrib/bash/completion.sh +3 -0
  14. data/contrib/emacs/vagrant.el +8 -0
  15. data/contrib/vim/vagrantfile.vim +9 -0
  16. data/keys/README.md +17 -0
  17. data/keys/vagrant +27 -0
  18. data/keys/vagrant.pub +1 -0
  19. data/lib/vagrant/action/builder.rb +174 -0
  20. data/lib/vagrant/action/builtin/box_add.rb +81 -0
  21. data/lib/vagrant/action/builtin/call.rb +67 -0
  22. data/lib/vagrant/action/builtin/config_validate.rb +30 -0
  23. data/lib/vagrant/action/builtin/confirm.rb +38 -0
  24. data/lib/vagrant/action/builtin/destroy_confirm.rb +21 -0
  25. data/lib/vagrant/action/builtin/env_set.rb +24 -0
  26. data/lib/vagrant/action/builtin/graceful_halt.rb +73 -0
  27. data/lib/vagrant/action/builtin/handle_box_url.rb +77 -0
  28. data/lib/vagrant/action/builtin/handle_forwarded_port_collisions.rb +134 -0
  29. data/lib/vagrant/action/builtin/lock.rb +57 -0
  30. data/lib/vagrant/action/builtin/nfs.rb +118 -0
  31. data/lib/vagrant/action/builtin/provision.rb +70 -0
  32. data/lib/vagrant/action/builtin/set_hostname.rb +27 -0
  33. data/lib/vagrant/action/builtin/ssh_exec.rb +42 -0
  34. data/lib/vagrant/action/builtin/ssh_run.rb +43 -0
  35. data/lib/vagrant/action/general/package.rb +103 -0
  36. data/lib/vagrant/action/hook.rb +107 -0
  37. data/lib/vagrant/action/runner.rb +69 -0
  38. data/lib/vagrant/action/warden.rb +103 -0
  39. data/lib/vagrant/action.rb +43 -0
  40. data/lib/vagrant/batch_action.rb +113 -0
  41. data/lib/vagrant/box.rb +97 -0
  42. data/lib/vagrant/box_collection.rb +375 -0
  43. data/lib/vagrant/cli.rb +82 -0
  44. data/lib/vagrant/config/loader.rb +222 -0
  45. data/lib/vagrant/config/v1/dummy_config.rb +13 -0
  46. data/lib/vagrant/config/v1/loader.rb +105 -0
  47. data/lib/vagrant/config/v1/root.rb +60 -0
  48. data/lib/vagrant/config/v1.rb +9 -0
  49. data/lib/vagrant/config/v2/dummy_config.rb +13 -0
  50. data/lib/vagrant/config/v2/loader.rb +141 -0
  51. data/lib/vagrant/config/v2/root.rb +105 -0
  52. data/lib/vagrant/config/v2/util.rb +21 -0
  53. data/lib/vagrant/config/v2.rb +9 -0
  54. data/lib/vagrant/config/version_base.rb +80 -0
  55. data/lib/vagrant/config.rb +61 -0
  56. data/lib/vagrant/environment.rb +843 -0
  57. data/lib/vagrant/errors.rb +570 -0
  58. data/lib/vagrant/guest.rb +163 -0
  59. data/lib/vagrant/hosts.rb +28 -0
  60. data/lib/vagrant/machine.rb +325 -0
  61. data/lib/vagrant/machine_state.rb +45 -0
  62. data/lib/vagrant/plugin/v1/command.rb +169 -0
  63. data/lib/vagrant/plugin/v1/communicator.rb +98 -0
  64. data/lib/vagrant/plugin/v1/config.rb +112 -0
  65. data/lib/vagrant/plugin/v1/errors.rb +15 -0
  66. data/lib/vagrant/plugin/v1/guest.rb +92 -0
  67. data/lib/vagrant/plugin/v1/host.rb +66 -0
  68. data/lib/vagrant/plugin/v1/manager.rb +131 -0
  69. data/lib/vagrant/plugin/v1/plugin.rb +229 -0
  70. data/lib/vagrant/plugin/v1/provider.rb +68 -0
  71. data/lib/vagrant/plugin/v1/provisioner.rb +50 -0
  72. data/lib/vagrant/plugin/v1.rb +19 -0
  73. data/lib/vagrant/plugin/v2/command.rb +234 -0
  74. data/lib/vagrant/plugin/v2/communicator.rb +98 -0
  75. data/lib/vagrant/plugin/v2/components.rb +47 -0
  76. data/lib/vagrant/plugin/v2/config.rb +136 -0
  77. data/lib/vagrant/plugin/v2/errors.rb +15 -0
  78. data/lib/vagrant/plugin/v2/guest.rb +78 -0
  79. data/lib/vagrant/plugin/v2/host.rb +66 -0
  80. data/lib/vagrant/plugin/v2/manager.rb +173 -0
  81. data/lib/vagrant/plugin/v2/plugin.rb +226 -0
  82. data/lib/vagrant/plugin/v2/provider.rb +69 -0
  83. data/lib/vagrant/plugin/v2/provisioner.rb +47 -0
  84. data/lib/vagrant/plugin/v2.rb +22 -0
  85. data/lib/vagrant/plugin.rb +6 -0
  86. data/lib/vagrant/registry.rb +78 -0
  87. data/lib/vagrant/ui.rb +215 -0
  88. data/lib/vagrant/util/ansi_escape_code_remover.rb +34 -0
  89. data/lib/vagrant/util/busy.rb +59 -0
  90. data/lib/vagrant/util/counter.rb +24 -0
  91. data/lib/vagrant/util/downloader.rb +146 -0
  92. data/lib/vagrant/util/file_checksum.rb +38 -0
  93. data/lib/vagrant/util/file_mode.rb +12 -0
  94. data/lib/vagrant/util/hash_with_indifferent_access.rb +63 -0
  95. data/lib/vagrant/util/is_port_open.rb +38 -0
  96. data/lib/vagrant/util/line_ending_helpers.rb +14 -0
  97. data/lib/vagrant/util/network_ip.rb +28 -0
  98. data/lib/vagrant/util/platform.rb +58 -0
  99. data/lib/vagrant/util/retryable.rb +31 -0
  100. data/lib/vagrant/util/safe_chdir.rb +33 -0
  101. data/lib/vagrant/util/safe_exec.rb +36 -0
  102. data/lib/vagrant/util/safe_puts.rb +31 -0
  103. data/lib/vagrant/util/scoped_hash_override.rb +45 -0
  104. data/lib/vagrant/util/ssh.rb +150 -0
  105. data/lib/vagrant/util/stacked_proc_runner.rb +35 -0
  106. data/lib/vagrant/util/string_block_editor.rb +77 -0
  107. data/lib/vagrant/util/subprocess.rb +273 -0
  108. data/lib/vagrant/util/template_renderer.rb +83 -0
  109. data/lib/vagrant/util/which.rb +43 -0
  110. data/lib/vagrant/util.rb +12 -0
  111. data/lib/vagrant/version.rb +6 -0
  112. data/lib/vagrant.rb +258 -0
  113. data/plugins/README.md +5 -0
  114. data/plugins/commands/box/command/add.rb +51 -0
  115. data/plugins/commands/box/command/list.rb +41 -0
  116. data/plugins/commands/box/command/remove.rb +37 -0
  117. data/plugins/commands/box/command/repackage.rb +43 -0
  118. data/plugins/commands/box/command/root.rb +75 -0
  119. data/plugins/commands/box/plugin.rb +15 -0
  120. data/plugins/commands/destroy/command.rb +31 -0
  121. data/plugins/commands/destroy/plugin.rb +18 -0
  122. data/plugins/commands/halt/command.rb +33 -0
  123. data/plugins/commands/halt/plugin.rb +18 -0
  124. data/plugins/commands/init/command.rb +40 -0
  125. data/plugins/commands/init/plugin.rb +18 -0
  126. data/plugins/commands/package/command.rb +83 -0
  127. data/plugins/commands/package/plugin.rb +18 -0
  128. data/plugins/commands/plugin/action/bundler_check.rb +25 -0
  129. data/plugins/commands/plugin/action/install_gem.rb +81 -0
  130. data/plugins/commands/plugin/action/license_plugin.rb +54 -0
  131. data/plugins/commands/plugin/action/list_plugins.rb +54 -0
  132. data/plugins/commands/plugin/action/prune_gems.rb +149 -0
  133. data/plugins/commands/plugin/action/uninstall_plugin.rb +23 -0
  134. data/plugins/commands/plugin/action.rb +52 -0
  135. data/plugins/commands/plugin/command/base.rb +22 -0
  136. data/plugins/commands/plugin/command/install.rb +58 -0
  137. data/plugins/commands/plugin/command/license.rb +31 -0
  138. data/plugins/commands/plugin/command/list.rb +28 -0
  139. data/plugins/commands/plugin/command/root.rb +75 -0
  140. data/plugins/commands/plugin/command/uninstall.rb +28 -0
  141. data/plugins/commands/plugin/gem_helper.rb +74 -0
  142. data/plugins/commands/plugin/plugin.rb +22 -0
  143. data/plugins/commands/plugin/state_file.rb +57 -0
  144. data/plugins/commands/provision/command.rb +34 -0
  145. data/plugins/commands/provision/plugin.rb +18 -0
  146. data/plugins/commands/reload/command.rb +37 -0
  147. data/plugins/commands/reload/plugin.rb +18 -0
  148. data/plugins/commands/resume/command.rb +25 -0
  149. data/plugins/commands/resume/plugin.rb +17 -0
  150. data/plugins/commands/ssh/command.rb +63 -0
  151. data/plugins/commands/ssh/plugin.rb +17 -0
  152. data/plugins/commands/ssh_config/command.rb +49 -0
  153. data/plugins/commands/ssh_config/plugin.rb +18 -0
  154. data/plugins/commands/status/command.rb +39 -0
  155. data/plugins/commands/status/plugin.rb +18 -0
  156. data/plugins/commands/suspend/command.rb +25 -0
  157. data/plugins/commands/suspend/plugin.rb +18 -0
  158. data/plugins/commands/up/command.rb +57 -0
  159. data/plugins/commands/up/plugin.rb +17 -0
  160. data/plugins/commands/up/start_mixins.rb +26 -0
  161. data/plugins/communicators/ssh/communicator.rb +342 -0
  162. data/plugins/communicators/ssh/plugin.rb +19 -0
  163. data/plugins/guests/arch/cap/change_host_name.rb +18 -0
  164. data/plugins/guests/arch/cap/configure_networks.rb +23 -0
  165. data/plugins/guests/arch/guest.rb +11 -0
  166. data/plugins/guests/arch/plugin.rb +25 -0
  167. data/plugins/guests/debian/cap/change_host_name.rb +18 -0
  168. data/plugins/guests/debian/cap/configure_networks.rb +61 -0
  169. data/plugins/guests/debian/guest.rb +9 -0
  170. data/plugins/guests/debian/plugin.rb +25 -0
  171. data/plugins/guests/fedora/cap/configure_networks.rb +59 -0
  172. data/plugins/guests/fedora/cap/network_scripts_dir.rb +15 -0
  173. data/plugins/guests/fedora/guest.rb +11 -0
  174. data/plugins/guests/fedora/plugin.rb +25 -0
  175. data/plugins/guests/freebsd/cap/change_host_name.rb +14 -0
  176. data/plugins/guests/freebsd/cap/configure_networks.rb +39 -0
  177. data/plugins/guests/freebsd/cap/halt.rb +16 -0
  178. data/plugins/guests/freebsd/cap/mount_nfs_folder.rb +14 -0
  179. data/plugins/guests/freebsd/guest.rb +14 -0
  180. data/plugins/guests/freebsd/plugin.rb +35 -0
  181. data/plugins/guests/gentoo/cap/change_host_name.rb +17 -0
  182. data/plugins/guests/gentoo/cap/configure_networks.rb +43 -0
  183. data/plugins/guests/gentoo/guest.rb +9 -0
  184. data/plugins/guests/gentoo/plugin.rb +25 -0
  185. data/plugins/guests/linux/cap/halt.rb +16 -0
  186. data/plugins/guests/linux/cap/mount_nfs.rb +30 -0
  187. data/plugins/guests/linux/cap/mount_virtualbox_shared_folder.rb +40 -0
  188. data/plugins/guests/linux/cap/read_ip_address.rb +17 -0
  189. data/plugins/guests/linux/cap/shell_expand_guest_path.rb +26 -0
  190. data/plugins/guests/linux/guest.rb +11 -0
  191. data/plugins/guests/linux/plugin.rb +40 -0
  192. data/plugins/guests/openbsd/cap/halt.rb +16 -0
  193. data/plugins/guests/openbsd/guest.rb +11 -0
  194. data/plugins/guests/openbsd/plugin.rb +20 -0
  195. data/plugins/guests/pld/cap/network_scripts_dir.rb +11 -0
  196. data/plugins/guests/pld/guest.rb +11 -0
  197. data/plugins/guests/pld/plugin.rb +20 -0
  198. data/plugins/guests/redhat/cap/change_host_name.rb +18 -0
  199. data/plugins/guests/redhat/cap/configure_networks.rb +60 -0
  200. data/plugins/guests/redhat/cap/network_scripts_dir.rb +11 -0
  201. data/plugins/guests/redhat/guest.rb +11 -0
  202. data/plugins/guests/redhat/plugin.rb +30 -0
  203. data/plugins/guests/solaris/cap/change_host_name.rb +17 -0
  204. data/plugins/guests/solaris/cap/configure_networks.rb +25 -0
  205. data/plugins/guests/solaris/cap/halt.rb +21 -0
  206. data/plugins/guests/solaris/cap/mount_virtualbox_shared_folder.rb +28 -0
  207. data/plugins/guests/solaris/config.rb +18 -0
  208. data/plugins/guests/solaris/guest.rb +14 -0
  209. data/plugins/guests/solaris/plugin.rb +40 -0
  210. data/plugins/guests/suse/cap/change_host_name.rb +18 -0
  211. data/plugins/guests/suse/cap/network_scripts_dir.rb +11 -0
  212. data/plugins/guests/suse/guest.rb +11 -0
  213. data/plugins/guests/suse/plugin.rb +25 -0
  214. data/plugins/guests/ubuntu/cap/change_host_name.rb +23 -0
  215. data/plugins/guests/ubuntu/guest.rb +32 -0
  216. data/plugins/guests/ubuntu/plugin.rb +20 -0
  217. data/plugins/hosts/arch/host.rb +68 -0
  218. data/plugins/hosts/arch/plugin.rb +15 -0
  219. data/plugins/hosts/bsd/host.rb +102 -0
  220. data/plugins/hosts/bsd/plugin.rb +15 -0
  221. data/plugins/hosts/fedora/host.rb +51 -0
  222. data/plugins/hosts/fedora/plugin.rb +15 -0
  223. data/plugins/hosts/freebsd/host.rb +43 -0
  224. data/plugins/hosts/freebsd/plugin.rb +15 -0
  225. data/plugins/hosts/gentoo/host.rb +24 -0
  226. data/plugins/hosts/gentoo/plugin.rb +15 -0
  227. data/plugins/hosts/linux/host.rb +95 -0
  228. data/plugins/hosts/linux/plugin.rb +15 -0
  229. data/plugins/hosts/opensuse/host.rb +34 -0
  230. data/plugins/hosts/opensuse/plugin.rb +15 -0
  231. data/plugins/hosts/windows/host.rb +17 -0
  232. data/plugins/hosts/windows/plugin.rb +15 -0
  233. data/plugins/kernel_v1/config/nfs.rb +20 -0
  234. data/plugins/kernel_v1/config/package.rb +17 -0
  235. data/plugins/kernel_v1/config/ssh.rb +46 -0
  236. data/plugins/kernel_v1/config/vagrant.rb +31 -0
  237. data/plugins/kernel_v1/config/vm.rb +184 -0
  238. data/plugins/kernel_v1/plugin.rb +44 -0
  239. data/plugins/kernel_v2/config/nfs.rb +14 -0
  240. data/plugins/kernel_v2/config/package.rb +13 -0
  241. data/plugins/kernel_v2/config/ssh.rb +76 -0
  242. data/plugins/kernel_v2/config/ssh_connect.rb +40 -0
  243. data/plugins/kernel_v2/config/vagrant.rb +13 -0
  244. data/plugins/kernel_v2/config/vm.rb +416 -0
  245. data/plugins/kernel_v2/config/vm_provisioner.rb +55 -0
  246. data/plugins/kernel_v2/config/vm_subvm.rb +30 -0
  247. data/plugins/kernel_v2/plugin.rb +44 -0
  248. data/plugins/providers/virtualbox/action/boot.rb +49 -0
  249. data/plugins/providers/virtualbox/action/check_accessible.rb +23 -0
  250. data/plugins/providers/virtualbox/action/check_created.rb +21 -0
  251. data/plugins/providers/virtualbox/action/check_guest_additions.rb +45 -0
  252. data/plugins/providers/virtualbox/action/check_running.rb +21 -0
  253. data/plugins/providers/virtualbox/action/check_virtualbox.rb +22 -0
  254. data/plugins/providers/virtualbox/action/clean_machine_folder.rb +43 -0
  255. data/plugins/providers/virtualbox/action/clear_forwarded_ports.rb +18 -0
  256. data/plugins/providers/virtualbox/action/clear_network_interfaces.rb +31 -0
  257. data/plugins/providers/virtualbox/action/clear_shared_folders.rb +17 -0
  258. data/plugins/providers/virtualbox/action/created.rb +20 -0
  259. data/plugins/providers/virtualbox/action/customize.rb +36 -0
  260. data/plugins/providers/virtualbox/action/destroy.rb +19 -0
  261. data/plugins/providers/virtualbox/action/destroy_unused_network_interfaces.rb +16 -0
  262. data/plugins/providers/virtualbox/action/discard_state.rb +20 -0
  263. data/plugins/providers/virtualbox/action/export.rb +57 -0
  264. data/plugins/providers/virtualbox/action/forced_halt.rb +25 -0
  265. data/plugins/providers/virtualbox/action/forward_ports.rb +87 -0
  266. data/plugins/providers/virtualbox/action/import.rb +51 -0
  267. data/plugins/providers/virtualbox/action/is_paused.rb +20 -0
  268. data/plugins/providers/virtualbox/action/is_running.rb +20 -0
  269. data/plugins/providers/virtualbox/action/is_saved.rb +20 -0
  270. data/plugins/providers/virtualbox/action/match_mac_address.rb +21 -0
  271. data/plugins/providers/virtualbox/action/message_already_running.rb +16 -0
  272. data/plugins/providers/virtualbox/action/message_not_created.rb +16 -0
  273. data/plugins/providers/virtualbox/action/message_not_running.rb +16 -0
  274. data/plugins/providers/virtualbox/action/message_will_not_destroy.rb +17 -0
  275. data/plugins/providers/virtualbox/action/network.rb +410 -0
  276. data/plugins/providers/virtualbox/action/package.rb +20 -0
  277. data/plugins/providers/virtualbox/action/package_vagrantfile.rb +33 -0
  278. data/plugins/providers/virtualbox/action/prepare_forwarded_port_collision_params.rb +35 -0
  279. data/plugins/providers/virtualbox/action/prepare_nfs_settings.rb +64 -0
  280. data/plugins/providers/virtualbox/action/prune_nfs_exports.rb +20 -0
  281. data/plugins/providers/virtualbox/action/resume.rb +25 -0
  282. data/plugins/providers/virtualbox/action/sane_defaults.rb +91 -0
  283. data/plugins/providers/virtualbox/action/set_name.rb +40 -0
  284. data/plugins/providers/virtualbox/action/setup_package_files.rb +51 -0
  285. data/plugins/providers/virtualbox/action/share_folders.rb +128 -0
  286. data/plugins/providers/virtualbox/action/suspend.rb +20 -0
  287. data/plugins/providers/virtualbox/action.rb +311 -0
  288. data/plugins/providers/virtualbox/config.rb +86 -0
  289. data/plugins/providers/virtualbox/driver/base.rb +360 -0
  290. data/plugins/providers/virtualbox/driver/meta.rb +142 -0
  291. data/plugins/providers/virtualbox/driver/version_4_0.rb +485 -0
  292. data/plugins/providers/virtualbox/driver/version_4_1.rb +485 -0
  293. data/plugins/providers/virtualbox/driver/version_4_2.rb +482 -0
  294. data/plugins/providers/virtualbox/model/forwarded_port.rb +58 -0
  295. data/plugins/providers/virtualbox/plugin.rb +42 -0
  296. data/plugins/providers/virtualbox/provider.rb +92 -0
  297. data/plugins/providers/virtualbox/util/compile_forwarded_ports.rb +31 -0
  298. data/plugins/provisioners/ansible/config.rb +72 -0
  299. data/plugins/provisioners/ansible/plugin.rb +23 -0
  300. data/plugins/provisioners/ansible/provisioner.rb +45 -0
  301. data/plugins/provisioners/cfengine/cap/debian/cfengine_install.rb +19 -0
  302. data/plugins/provisioners/cfengine/cap/linux/cfengine_installed.rb +14 -0
  303. data/plugins/provisioners/cfengine/cap/linux/cfengine_needs_bootstrap.rb +34 -0
  304. data/plugins/provisioners/cfengine/cap/redhat/cfengine_install.rb +24 -0
  305. data/plugins/provisioners/cfengine/config.rb +120 -0
  306. data/plugins/provisioners/cfengine/plugin.rb +42 -0
  307. data/plugins/provisioners/cfengine/provisioner.rb +136 -0
  308. data/plugins/provisioners/chef/config/base.rb +85 -0
  309. data/plugins/provisioners/chef/config/chef_client.rb +57 -0
  310. data/plugins/provisioners/chef/config/chef_solo.rb +87 -0
  311. data/plugins/provisioners/chef/plugin.rb +33 -0
  312. data/plugins/provisioners/chef/provisioner/base.rb +93 -0
  313. data/plugins/provisioners/chef/provisioner/chef_client.rb +107 -0
  314. data/plugins/provisioners/chef/provisioner/chef_solo.rb +192 -0
  315. data/plugins/provisioners/puppet/config/puppet.rb +70 -0
  316. data/plugins/provisioners/puppet/config/puppet_server.rb +16 -0
  317. data/plugins/provisioners/puppet/plugin.rb +33 -0
  318. data/plugins/provisioners/puppet/provisioner/puppet.rb +117 -0
  319. data/plugins/provisioners/puppet/provisioner/puppet_server.rb +67 -0
  320. data/plugins/provisioners/shell/config.rb +56 -0
  321. data/plugins/provisioners/shell/plugin.rb +23 -0
  322. data/plugins/provisioners/shell/provisioner.rb +86 -0
  323. data/tasks/acceptance.rake +113 -0
  324. data/tasks/bundler.rake +3 -0
  325. data/tasks/test.rake +20 -0
  326. data/templates/commands/init/Vagrantfile.erb +111 -0
  327. data/templates/commands/ssh_config/config.erb +16 -0
  328. data/templates/config/messages.erb +14 -0
  329. data/templates/config/validation_failed.erb +7 -0
  330. data/templates/guests/arch/network_dhcp.erb +4 -0
  331. data/templates/guests/arch/network_static.erb +6 -0
  332. data/templates/guests/debian/network_dhcp.erb +11 -0
  333. data/templates/guests/debian/network_static.erb +7 -0
  334. data/templates/guests/fedora/network_dhcp.erb +6 -0
  335. data/templates/guests/fedora/network_static.erb +13 -0
  336. data/templates/guests/freebsd/network_dhcp.erb +3 -0
  337. data/templates/guests/freebsd/network_static.erb +3 -0
  338. data/templates/guests/gentoo/network_dhcp.erb +4 -0
  339. data/templates/guests/gentoo/network_static.erb +4 -0
  340. data/templates/guests/redhat/network_dhcp.erb +6 -0
  341. data/templates/guests/redhat/network_static.erb +8 -0
  342. data/templates/locales/en.yml +1126 -0
  343. data/templates/nfs/exports.erb +5 -0
  344. data/templates/nfs/exports_freebsd.erb +5 -0
  345. data/templates/nfs/exports_linux.erb +5 -0
  346. data/templates/package_Vagrantfile.erb +11 -0
  347. data/templates/provisioners/chef_client/client.erb +32 -0
  348. data/templates/provisioners/chef_solo/solo.erb +25 -0
  349. data/templates/rgloader.rb +9 -0
  350. data/test/acceptance/base.rb +48 -0
  351. data/test/acceptance/box_test.rb +99 -0
  352. data/test/acceptance/destroy_test.rb +37 -0
  353. data/test/acceptance/halt_test.rb +72 -0
  354. data/test/acceptance/init_test.rb +33 -0
  355. data/test/acceptance/networking/host_only_test.rb +37 -0
  356. data/test/acceptance/networking/port_forward_test.rb +125 -0
  357. data/test/acceptance/package_test.rb +46 -0
  358. data/test/acceptance/provisioning/basic_test.rb +61 -0
  359. data/test/acceptance/provisioning/chef_solo_test.rb +37 -0
  360. data/test/acceptance/provisioning/shell_test.rb +53 -0
  361. data/test/acceptance/resume_test.rb +17 -0
  362. data/test/acceptance/shared_folders_test.rb +84 -0
  363. data/test/acceptance/skeletons/chef_solo_basic/README.md +3 -0
  364. data/test/acceptance/skeletons/chef_solo_basic/cookbooks/basic/recipes/default.rb +5 -0
  365. data/test/acceptance/skeletons/chef_solo_json/README.md +3 -0
  366. data/test/acceptance/skeletons/chef_solo_json/cookbooks/basic/recipes/default.rb +6 -0
  367. data/test/acceptance/skeletons/provisioner_multi/README.md +3 -0
  368. data/test/acceptance/skeletons/provisioner_multi/cookbooks/basic/recipes/default.rb +5 -0
  369. data/test/acceptance/ssh_test.rb +46 -0
  370. data/test/acceptance/support/config.rb +42 -0
  371. data/test/acceptance/support/isolated_environment.rb +118 -0
  372. data/test/acceptance/support/matchers/have_color.rb +9 -0
  373. data/test/acceptance/support/matchers/match_output.rb +14 -0
  374. data/test/acceptance/support/matchers/succeed.rb +14 -0
  375. data/test/acceptance/support/network_tests.rb +29 -0
  376. data/test/acceptance/support/output.rb +95 -0
  377. data/test/acceptance/support/shared/base_context.rb +72 -0
  378. data/test/acceptance/support/shared/command_examples.rb +33 -0
  379. data/test/acceptance/support/virtualbox.rb +36 -0
  380. data/test/acceptance/suspend_test.rb +56 -0
  381. data/test/acceptance/up_basic_test.rb +33 -0
  382. data/test/acceptance/up_with_box_url.rb +40 -0
  383. data/test/acceptance/vagrant_test.rb +47 -0
  384. data/test/acceptance/version_test.rb +15 -0
  385. data/test/config/acceptance_boxes.yml +7 -0
  386. data/test/support/isolated_environment.rb +46 -0
  387. data/test/support/tempdir.rb +43 -0
  388. data/test/unit/base.rb +27 -0
  389. data/test/unit/support/dummy_provider.rb +16 -0
  390. data/test/unit/support/isolated_environment.rb +179 -0
  391. data/test/unit/support/shared/base_context.rb +104 -0
  392. data/test/unit/vagrant/action/builder_test.rb +242 -0
  393. data/test/unit/vagrant/action/builtin/call_test.rb +145 -0
  394. data/test/unit/vagrant/action/builtin/confirm_test.rb +36 -0
  395. data/test/unit/vagrant/action/builtin/env_set_test.rb +20 -0
  396. data/test/unit/vagrant/action/builtin/graceful_halt_test.rb +61 -0
  397. data/test/unit/vagrant/action/builtin/lock_test.rb +98 -0
  398. data/test/unit/vagrant/action/builtin/ssh_exec_test.rb +57 -0
  399. data/test/unit/vagrant/action/hook_test.rb +120 -0
  400. data/test/unit/vagrant/action/runner_test.rb +71 -0
  401. data/test/unit/vagrant/action/warden_test.rb +92 -0
  402. data/test/unit/vagrant/batch_action_test.rb +36 -0
  403. data/test/unit/vagrant/box_collection_test.rb +237 -0
  404. data/test/unit/vagrant/box_test.rb +122 -0
  405. data/test/unit/vagrant/cli_test.rb +27 -0
  406. data/test/unit/vagrant/config/loader_test.rb +184 -0
  407. data/test/unit/vagrant/config/v1/dummy_config_test.rb +24 -0
  408. data/test/unit/vagrant/config/v1/loader_test.rb +145 -0
  409. data/test/unit/vagrant/config/v1/root_test.rb +40 -0
  410. data/test/unit/vagrant/config/v2/dummy_config_test.rb +24 -0
  411. data/test/unit/vagrant/config/v2/loader_test.rb +151 -0
  412. data/test/unit/vagrant/config/v2/root_test.rb +97 -0
  413. data/test/unit/vagrant/config/v2/util_test.rb +21 -0
  414. data/test/unit/vagrant/config_test.rb +66 -0
  415. data/test/unit/vagrant/environment_test.rb +721 -0
  416. data/test/unit/vagrant/guest_test.rb +166 -0
  417. data/test/unit/vagrant/hosts_test.rb +37 -0
  418. data/test/unit/vagrant/machine_state_test.rb +26 -0
  419. data/test/unit/vagrant/machine_test.rb +384 -0
  420. data/test/unit/vagrant/plugin/v1/command_test.rb +143 -0
  421. data/test/unit/vagrant/plugin/v1/communicator_test.rb +9 -0
  422. data/test/unit/vagrant/plugin/v1/config_test.rb +50 -0
  423. data/test/unit/vagrant/plugin/v1/host_test.rb +5 -0
  424. data/test/unit/vagrant/plugin/v1/manager_test.rb +114 -0
  425. data/test/unit/vagrant/plugin/v1/plugin_test.rb +267 -0
  426. data/test/unit/vagrant/plugin/v1/provider_test.rb +18 -0
  427. data/test/unit/vagrant/plugin/v2/command_test.rb +238 -0
  428. data/test/unit/vagrant/plugin/v2/communicator_test.rb +9 -0
  429. data/test/unit/vagrant/plugin/v2/components_test.rb +17 -0
  430. data/test/unit/vagrant/plugin/v2/config_test.rb +60 -0
  431. data/test/unit/vagrant/plugin/v2/host_test.rb +5 -0
  432. data/test/unit/vagrant/plugin/v2/manager_test.rb +174 -0
  433. data/test/unit/vagrant/plugin/v2/plugin_test.rb +305 -0
  434. data/test/unit/vagrant/plugin/v2/provider_test.rb +18 -0
  435. data/test/unit/vagrant/registry_test.rb +128 -0
  436. data/test/unit/vagrant/util/ansi_escape_code_remover_test.rb +16 -0
  437. data/test/unit/vagrant/util/downloader_test.rb +57 -0
  438. data/test/unit/vagrant/util/file_checksum_test.rb +23 -0
  439. data/test/unit/vagrant/util/hash_with_indifferent_access_test.rb +38 -0
  440. data/test/unit/vagrant/util/is_port_open_test.rb +53 -0
  441. data/test/unit/vagrant/util/line_endings_helper_test.rb +16 -0
  442. data/test/unit/vagrant/util/network_ip_test.rb +17 -0
  443. data/test/unit/vagrant/util/retryable_test.rb +106 -0
  444. data/test/unit/vagrant/util/safe_chdir_test.rb +43 -0
  445. data/test/unit/vagrant/util/scoped_hash_override_test.rb +48 -0
  446. data/test/unit/vagrant/util/ssh_test.rb +30 -0
  447. data/test/unit/vagrant/util/string_block_editor_test.rb +106 -0
  448. data/test/unit/vagrant/util/which_test.rb +43 -0
  449. data/test/unit/vagrant_test.rb +56 -0
  450. data/tnargav.gemspec +69 -0
  451. data/vagrant.gemspec +69 -0
  452. metadata +730 -0
@@ -0,0 +1,570 @@
1
+ # This file contains all of the internal errors in Vagrant's core
2
+ # commands, actions, etc.
3
+
4
+ module Vagrant
5
+ # This module contains all of the internal errors in Vagrant's core.
6
+ # These errors are _expected_ errors and as such don't typically represent
7
+ # bugs in Vagrant itself. These are meant as a way to detect errors and
8
+ # display them in a user-friendly way.
9
+ #
10
+ # # Defining a new Error
11
+ #
12
+ # To define a new error, inherit from {VagrantError}, which lets Vagrant
13
+ # know that this is an expected error, and also gives you some helpers for
14
+ # providing exit codes and error messages. An example is shown below, then
15
+ # it is explained:
16
+ #
17
+ # class MyError < Vagrant::Errors::VagrantError
18
+ # error_key "my_error"
19
+ # end
20
+ #
21
+ # This creates an error with an I18n error key of "my_error." {VagrantError}
22
+ # uses I18n to look up error messages, in the "vagrant.errors" namespace. So
23
+ # in the above, the error message would be the translation of "vagrant.errors.my_error"
24
+ #
25
+ # If you don't want to use I18n, you can override the {#initialize} method and
26
+ # set your own error message.
27
+ #
28
+ # # Raising an Error
29
+ #
30
+ # To raise an error, it is nothing special, just raise it like any normal
31
+ # exception:
32
+ #
33
+ # raise MyError.new
34
+ #
35
+ # Eventually this exception will bubble out to the `vagrant` binary which
36
+ # will show a nice error message. And if it is raised in the middle of a
37
+ # middleware sequence, then {Action::Warden} will catch it and begin the
38
+ # recovery process prior to exiting.
39
+ module Errors
40
+ # Main superclass of any errors in Vagrant. This provides some
41
+ # convenience methods for setting the status code and error key.
42
+ # The status code is used by the `vagrant` executable as the
43
+ # error code, and the error key is used as a default message from
44
+ # I18n.
45
+ class VagrantError < StandardError
46
+ def self.error_key(key=nil, namespace=nil)
47
+ define_method(:error_key) { key }
48
+ error_namespace(namespace) if namespace
49
+ end
50
+
51
+ def self.error_namespace(namespace)
52
+ define_method(:error_namespace) { namespace }
53
+ end
54
+
55
+ def initialize(message=nil, *args)
56
+ message = { :_key => message } if message && !message.is_a?(Hash)
57
+ message = { :_key => error_key, :_namespace => error_namespace }.merge(message || {})
58
+ message = translate_error(message)
59
+
60
+ super
61
+ end
62
+
63
+ # The default error namespace which is used for the error key.
64
+ # This can be overridden here or by calling the "error_namespace"
65
+ # class method.
66
+ def error_namespace; "vagrant.errors"; end
67
+
68
+ # The key for the error message. This should be set using the
69
+ # {error_key} method but can be overridden here if needed.
70
+ def error_key; nil; end
71
+
72
+ # This is the exit code that should be used when exiting from
73
+ # this exception.
74
+ #
75
+ # @return [Integer]
76
+ def status_code; 1; end
77
+
78
+ protected
79
+
80
+ def translate_error(opts)
81
+ return nil if !opts[:_key]
82
+ I18n.t("#{opts[:_namespace]}.#{opts[:_key]}", opts)
83
+ end
84
+ end
85
+
86
+ class ActiveMachineWithDifferentProvider < VagrantError
87
+ error_key(:active_machine_with_different_provider)
88
+ end
89
+
90
+ class AnsiblePlaybookAppNotFound < VagrantError
91
+ error_key(:ansible_playbook_app_not_found)
92
+ end
93
+
94
+ class BaseVMNotFound < VagrantError
95
+ error_key(:base_vm_not_found)
96
+ end
97
+
98
+ class BatchMultiError < VagrantError
99
+ error_key(:batch_multi_error)
100
+ end
101
+
102
+ class BoxAlreadyExists < VagrantError
103
+ error_key(:already_exists, "vagrant.actions.box.unpackage")
104
+ end
105
+
106
+ class BoxConfigChangingBox < VagrantError
107
+ error_key(:box_config_changing_box)
108
+ end
109
+
110
+ class BoxMetadataFileNotFound < VagrantError
111
+ error_key(:box_metadata_file_not_found)
112
+ end
113
+
114
+ class BoxNotFound < VagrantError
115
+ error_key(:box_not_found)
116
+ end
117
+
118
+ class BoxNotSpecified < VagrantError
119
+ error_key(:not_specified, "vagrant.actions.vm.check_box")
120
+ end
121
+
122
+ class BoxProviderDoesntMatch < VagrantError
123
+ error_key(:box_provider_doesnt_match)
124
+ end
125
+
126
+ class BoxSpecifiedDoesntExist < VagrantError
127
+ error_key(:does_not_exist, "vagrant.actions.vm.check_box")
128
+ end
129
+
130
+ class BoxUnpackageFailure < VagrantError
131
+ error_key(:untar_failure, "vagrant.actions.box.unpackage")
132
+ end
133
+
134
+ class BoxUpgradeRequired < VagrantError
135
+ error_key(:box_upgrade_required)
136
+ end
137
+
138
+ class BoxVerificationFailed < VagrantError
139
+ error_key(:failed, "vagrant.actions.box.verify")
140
+ end
141
+
142
+ class CFEngineBootstrapFailed < VagrantError
143
+ error_key(:cfengine_bootstrap_failed)
144
+ end
145
+
146
+ class CFEngineCantAutodetectIP < VagrantError
147
+ error_key(:cfengine_cant_autodetect_ip)
148
+ end
149
+
150
+ class CFEngineInstallFailed < VagrantError
151
+ error_key(:cfengine_install_failed)
152
+ end
153
+
154
+ class CFEngineNotInstalled < VagrantError
155
+ error_key(:cfengine_not_installed)
156
+ end
157
+
158
+ class CLIInvalidUsage < VagrantError
159
+ error_key(:cli_invalid_usage)
160
+ end
161
+
162
+ class CLIInvalidOptions < VagrantError
163
+ error_key(:cli_invalid_options)
164
+ end
165
+
166
+ class ConfigInvalid < VagrantError
167
+ error_key(:config_invalid)
168
+ end
169
+
170
+ class ConfigUpgradeErrors < VagrantError
171
+ error_key(:config_upgrade_errors)
172
+ end
173
+
174
+ class CopyPrivateKeyFailed < VagrantError
175
+ error_key(:copy_private_key_failed)
176
+ end
177
+
178
+ class DestroyRequiresForce < VagrantError
179
+ error_key(:destroy_requires_force)
180
+ end
181
+
182
+ class DotfileIsDirectory < VagrantError
183
+ error_key(:dotfile_is_directory)
184
+ end
185
+
186
+ class DotfileUpgradeJSONError < VagrantError
187
+ error_key(:dotfile_upgrade_json_error)
188
+ end
189
+
190
+ class DownloaderError < VagrantError
191
+ error_key(:downloader_error)
192
+ end
193
+
194
+ class DownloaderInterrupted < DownloaderError
195
+ error_key(:downloader_interrupted)
196
+ end
197
+
198
+ class DownloaderFileDoesntExist < VagrantError
199
+ error_key(:file_missing, "vagrant.downloaders.file")
200
+ end
201
+
202
+ class DownloaderHTTPConnectReset < VagrantError
203
+ error_key(:connection_reset, "vagrant.downloaders.http")
204
+ end
205
+
206
+ class DownloaderHTTPConnectTimeout < VagrantError
207
+ error_key(:connection_timeout, "vagrant.downloaders.http")
208
+ end
209
+
210
+ class DownloaderHTTPSocketError < VagrantError
211
+ error_key(:socket_error, "vagrant.downloaders.http")
212
+ end
213
+
214
+ class DownloaderHTTPStatusError < VagrantError
215
+ error_key(:status_error, "vagrant.downloaders.http")
216
+ end
217
+
218
+ class EnvironmentNonExistentCWD < VagrantError
219
+ error_key(:environment_non_existent_cwd)
220
+ end
221
+
222
+ class EnvironmentLockedError < VagrantError
223
+ error_key(:environment_locked)
224
+ end
225
+
226
+ class GemCommandInBundler < VagrantError
227
+ error_key(:gem_command_in_bundler)
228
+ end
229
+
230
+ class HomeDirectoryMigrationFailed < VagrantError
231
+ error_key(:home_dir_migration_failed)
232
+ end
233
+
234
+ class HomeDirectoryNotAccessible < VagrantError
235
+ error_key(:home_dir_not_accessible)
236
+ end
237
+
238
+ class ForwardPortAdapterNotFound < VagrantError
239
+ error_key(:forward_port_adapter_not_found)
240
+ end
241
+
242
+ class ForwardPortAutolistEmpty < VagrantError
243
+ error_key(:auto_empty, "vagrant.actions.vm.forward_ports")
244
+ end
245
+
246
+ class ForwardPortCollision < VagrantError
247
+ error_key(:collision_error, "vagrant.actions.vm.forward_ports")
248
+ end
249
+
250
+ class ForwardPortCollisionResume < VagrantError
251
+ error_key(:port_collision_resume)
252
+ end
253
+
254
+ class GuestCapabilityInvalid < VagrantError
255
+ error_key(:guest_capability_invalid)
256
+ end
257
+
258
+ class GuestCapabilityNotFound < VagrantError
259
+ error_key(:guest_capability_not_found)
260
+ end
261
+
262
+ class GuestNotDetected < VagrantError
263
+ error_key(:guest_not_detected)
264
+ end
265
+
266
+ class LinuxMountFailed < VagrantError
267
+ error_key(:linux_mount_failed)
268
+ end
269
+
270
+ class LinuxNFSMountFailed < VagrantError
271
+ error_key(:linux_nfs_mount_failed)
272
+ end
273
+
274
+ class LinuxShellExpandFailed < VagrantError
275
+ error_key(:linux_shell_expand_failed)
276
+ end
277
+
278
+ class LocalDataDirectoryNotAccessible < VagrantError
279
+ error_key(:local_data_dir_not_accessible)
280
+ end
281
+
282
+ class MachineGuestNotReady < VagrantError
283
+ error_key(:machine_guest_not_ready)
284
+ end
285
+
286
+ class MachineNotFound < VagrantError
287
+ error_key(:machine_not_found)
288
+ end
289
+
290
+ class MachineStateInvalid < VagrantError
291
+ error_key(:machine_state_invalid)
292
+ end
293
+
294
+ class MultiVMEnvironmentRequired < VagrantError
295
+ error_key(:multi_vm_required)
296
+ end
297
+
298
+ class MultiVMTargetRequired < VagrantError
299
+ error_key(:multi_vm_target_required)
300
+ end
301
+
302
+ class NetworkAdapterCollision < VagrantError
303
+ error_key(:adapter_collision, "vagrant.actions.vm.network")
304
+ end
305
+
306
+ class NetworkCollision < VagrantError
307
+ error_key(:collides, "vagrant.actions.vm.host_only_network")
308
+ end
309
+
310
+ class NetworkNoAdapters < VagrantError
311
+ error_key(:no_adapters, "vagrant.actions.vm.network")
312
+ end
313
+
314
+ class NetworkDHCPAlreadyAttached < VagrantError
315
+ error_key(:dhcp_already_attached, "vagrant.actions.vm.network")
316
+ end
317
+
318
+ class NetworkNotFound < VagrantError
319
+ error_key(:not_found, "vagrant.actions.vm.host_only_network")
320
+ end
321
+
322
+ class NFSNoGuestIP < VagrantError
323
+ error_key(:nfs_no_guest_ip)
324
+ end
325
+
326
+ class NFSNoHostIP < VagrantError
327
+ error_key(:nfs_no_host_ip)
328
+ end
329
+
330
+ class NFSNoHostonlyNetwork < VagrantError
331
+ error_key(:nfs_no_hostonly_network)
332
+ end
333
+
334
+ class NoEnvironmentError < VagrantError
335
+ error_key(:no_env)
336
+ end
337
+
338
+ class PackageIncludeMissing < VagrantError
339
+ error_key(:include_file_missing, "vagrant.actions.general.package")
340
+ end
341
+
342
+ class PackageOutputDirectory < VagrantError
343
+ error_key(:output_is_directory, "vagrant.actions.general.package")
344
+ end
345
+
346
+ class PackageOutputExists < VagrantError
347
+ error_key(:output_exists, "vagrant.actions.general.package")
348
+ end
349
+
350
+ class PackageRequiresDirectory < VagrantError
351
+ error_key(:requires_directory, "vagrant.actions.general.package")
352
+ end
353
+
354
+ class PersistDotfileExists < VagrantError
355
+ error_key(:dotfile_error, "vagrant.actions.vm.persist")
356
+ end
357
+
358
+ class ProviderNotFound < VagrantError
359
+ error_key(:provider_not_found)
360
+ end
361
+
362
+ class PluginGemError < VagrantError
363
+ error_key(:plugin_gem_error)
364
+ end
365
+
366
+ class PluginInstallBadEntryPoint < VagrantError
367
+ error_key(:plugin_install_bad_entry_point)
368
+ end
369
+
370
+ class PluginInstallLicenseNotFound < VagrantError
371
+ error_key(:plugin_install_license_not_found)
372
+ end
373
+
374
+ class PluginInstallNotFound < VagrantError
375
+ error_key(:plugin_install_not_found)
376
+ end
377
+
378
+ class PluginLoadError < VagrantError
379
+ error_key(:plugin_load_error)
380
+ end
381
+
382
+ class PluginLoadFailed < VagrantError
383
+ error_key(:plugin_load_failed)
384
+ end
385
+
386
+ class PluginLoadFailedWithOutput < VagrantError
387
+ error_key(:plugin_load_failed_with_output)
388
+ end
389
+
390
+ class PluginNotFound < VagrantError
391
+ error_key(:plugin_not_found)
392
+ end
393
+
394
+ class SCPPermissionDenied < VagrantError
395
+ error_key(:scp_permission_denied)
396
+ end
397
+
398
+ class SCPUnavailable < VagrantError
399
+ error_key(:scp_unavailable)
400
+ end
401
+
402
+ class SharedFolderCreateFailed < VagrantError
403
+ error_key(:shared_folder_create_failed)
404
+ end
405
+
406
+ class SSHAuthenticationFailed < VagrantError
407
+ error_key(:ssh_authentication_failed)
408
+ end
409
+
410
+ class SSHConnectEACCES < VagrantError
411
+ error_key(:ssh_connect_eacces)
412
+ end
413
+
414
+ class SSHConnectionRefused < VagrantError
415
+ error_key(:ssh_connection_refused)
416
+ end
417
+
418
+ class SSHConnectionReset < VagrantError
419
+ error_key(:ssh_connection_reset)
420
+ end
421
+
422
+ class SSHConnectionTimeout < VagrantError
423
+ error_key(:ssh_connection_timeout)
424
+ end
425
+
426
+ class SSHDisconnected < VagrantError
427
+ error_key(:ssh_disconnected)
428
+ end
429
+
430
+ class SSHHostDown < VagrantError
431
+ error_key(:ssh_host_down)
432
+ end
433
+
434
+ class SSHIsPuttyLink < VagrantError
435
+ error_key(:ssh_is_putty_link)
436
+ end
437
+
438
+ class SSHKeyBadOwner < VagrantError
439
+ error_key(:ssh_key_bad_owner)
440
+ end
441
+
442
+ class SSHKeyBadPermissions < VagrantError
443
+ error_key(:ssh_key_bad_permissions)
444
+ end
445
+
446
+ class SSHKeyTypeNotSupported < VagrantError
447
+ error_key(:ssh_key_type_not_supported)
448
+ end
449
+
450
+ class SSHNotReady < VagrantError
451
+ error_key(:ssh_not_ready)
452
+ end
453
+
454
+ class SSHPortNotDetected < VagrantError
455
+ error_key(:ssh_port_not_detected)
456
+ end
457
+
458
+ class SSHUnavailable < VagrantError
459
+ error_key(:ssh_unavailable)
460
+ end
461
+
462
+ class SSHUnavailableWindows < VagrantError
463
+ error_key(:ssh_unavailable_windows)
464
+ end
465
+
466
+ class UIExpectsTTY < VagrantError
467
+ error_key(:ui_expects_tty)
468
+ end
469
+
470
+ class UnimplementedProviderAction < VagrantError
471
+ error_key(:unimplemented_provider_action)
472
+ end
473
+
474
+ class VagrantInterrupt < VagrantError
475
+ error_key(:interrupted)
476
+ end
477
+
478
+ class VagrantfileExistsError < VagrantError
479
+ error_key(:vagrantfile_exists)
480
+ end
481
+
482
+ class VagrantfileLoadError < VagrantError
483
+ error_key(:vagrantfile_load_error)
484
+ end
485
+
486
+ class VagrantfileSyntaxError < VagrantError
487
+ error_key(:vagrantfile_syntax_error)
488
+ end
489
+
490
+ class VBoxManageError < VagrantError
491
+ error_key(:vboxmanage_error)
492
+ end
493
+
494
+ class VBoxManageNotFoundError < VagrantError
495
+ error_key(:vboxmanage_not_found_error)
496
+ end
497
+
498
+ class VirtualBoxInvalidVersion < VagrantError
499
+ error_key(:virtualbox_invalid_version)
500
+ end
501
+
502
+ class VirtualBoxNoRoomForHighLevelNetwork < VagrantError
503
+ error_key(:virtualbox_no_room_for_high_level_network)
504
+ end
505
+
506
+ class VirtualBoxNotDetected < VagrantError
507
+ error_key(:virtualbox_not_detected)
508
+ end
509
+
510
+ class VirtualBoxKernelModuleNotLoaded < VagrantError
511
+ error_key(:virtualbox_kernel_module_not_loaded)
512
+ end
513
+
514
+ class VirtualBoxInstallIncomplete < VagrantError
515
+ error_key(:virtualbox_install_incomplete)
516
+ end
517
+
518
+ class VMBaseMacNotSpecified < VagrantError
519
+ error_key(:no_base_mac, "vagrant.actions.vm.match_mac")
520
+ end
521
+
522
+ class VMCustomizationFailed < VagrantError
523
+ error_key(:failure, "vagrant.actions.vm.customize")
524
+ end
525
+
526
+ class VMFailedToBoot < VagrantError
527
+ error_key(:failed_to_boot, "vagrant.actions.vm.boot")
528
+ end
529
+
530
+ class VMFailedToRun < VagrantError
531
+ error_key(:failed_to_run, "vagrant.actions.vm.boot")
532
+ end
533
+
534
+ class VMGuestError < VagrantError
535
+ error_namespace("vagrant.errors.guest")
536
+ end
537
+
538
+ class VMImportFailure < VagrantError
539
+ error_key(:failure, "vagrant.actions.vm.import")
540
+ end
541
+
542
+ class VMInaccessible < VagrantError
543
+ error_key(:vm_inaccessible)
544
+ end
545
+
546
+ class VMNameExists < VagrantError
547
+ error_key(:vm_name_exists)
548
+ end
549
+
550
+ class VMNoMatchError < VagrantError
551
+ error_key(:vm_no_match)
552
+ end
553
+
554
+ class VMNotCreatedError < VagrantError
555
+ error_key(:vm_creation_required)
556
+ end
557
+
558
+ class VMNotFoundError < VagrantError
559
+ error_key(:vm_not_found)
560
+ end
561
+
562
+ class VMNotRunningError < VagrantError
563
+ error_key(:vm_not_running)
564
+ end
565
+
566
+ class VMPowerOffToPackage < VagrantError
567
+ error_key(:power_off, "vagrant.actions.vm.export")
568
+ end
569
+ end
570
+ end