vagrant 1.0.7 → 2.4.4

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 (1436) hide show
  1. checksums.yaml +7 -0
  2. data/.copywrite.hcl +15 -0
  3. data/.gitignore +57 -21
  4. data/.vimrc +5 -0
  5. data/CHANGELOG.md +3795 -6
  6. data/Gemfile +10 -1
  7. data/LICENSE +92 -21
  8. data/README.md +32 -67
  9. data/RELEASE.md +11 -0
  10. data/Rakefile +5 -1
  11. data/Vagrantfile +31 -0
  12. data/bin/vagrant +239 -29
  13. data/contrib/README.md +8 -3
  14. data/contrib/bash/completion.sh +190 -0
  15. data/contrib/emacs/vagrant.el +3 -0
  16. data/contrib/st/Ruby.sublime-settings +6 -0
  17. data/contrib/sudoers/linux-fedora +7 -0
  18. data/contrib/sudoers/linux-suse +6 -0
  19. data/contrib/sudoers/linux-ubuntu +8 -0
  20. data/contrib/sudoers/osx +10 -0
  21. data/contrib/zsh/_vagrant +738 -0
  22. data/contrib/zsh/generate_zsh_completion.rb +168 -0
  23. data/ext/vagrant/vagrant_ssl/extconf.rb +24 -0
  24. data/ext/vagrant/vagrant_ssl/vagrant_ssl.c +37 -0
  25. data/ext/vagrant/vagrant_ssl/vagrant_ssl.h +19 -0
  26. data/keys/README.md +15 -9
  27. data/keys/vagrant.key.ed25519 +7 -0
  28. data/keys/vagrant.key.rsa +27 -0
  29. data/keys/vagrant.pub +1 -0
  30. data/keys/vagrant.pub.ed25519 +1 -0
  31. data/keys/vagrant.pub.rsa +1 -0
  32. data/lib/vagrant/action/builder.rb +263 -35
  33. data/lib/vagrant/action/builtin/box_add.rb +638 -0
  34. data/lib/vagrant/action/builtin/box_check_outdated.rb +116 -0
  35. data/lib/vagrant/action/builtin/box_remove.rb +181 -0
  36. data/lib/vagrant/action/builtin/box_update.rb +23 -0
  37. data/lib/vagrant/action/builtin/call.rb +69 -0
  38. data/lib/vagrant/action/builtin/cleanup_disks.rb +59 -0
  39. data/lib/vagrant/action/builtin/cloud_init_setup.rb +125 -0
  40. data/lib/vagrant/action/builtin/cloud_init_wait.rb +35 -0
  41. data/lib/vagrant/action/builtin/config_validate.rb +33 -0
  42. data/lib/vagrant/action/builtin/confirm.rb +51 -0
  43. data/lib/vagrant/action/builtin/delayed.rb +29 -0
  44. data/lib/vagrant/action/builtin/destroy_confirm.rb +24 -0
  45. data/lib/vagrant/action/builtin/disk.rb +55 -0
  46. data/lib/vagrant/action/builtin/env_set.rb +27 -0
  47. data/lib/vagrant/action/builtin/graceful_halt.rb +88 -0
  48. data/lib/vagrant/action/builtin/handle_box.rb +111 -0
  49. data/lib/vagrant/action/builtin/handle_box_url.rb +17 -0
  50. data/lib/vagrant/action/builtin/handle_forwarded_port_collisions.rb +300 -0
  51. data/lib/vagrant/action/builtin/has_provisioner.rb +39 -0
  52. data/lib/vagrant/action/builtin/is_env_set.rb +25 -0
  53. data/lib/vagrant/action/builtin/is_state.rb +35 -0
  54. data/lib/vagrant/action/builtin/lock.rb +60 -0
  55. data/lib/vagrant/action/builtin/message.rb +29 -0
  56. data/lib/vagrant/action/builtin/mixin_provisioners.rb +159 -0
  57. data/lib/vagrant/action/builtin/mixin_synced_folders.rb +267 -0
  58. data/lib/vagrant/action/builtin/prepare_clone.rb +41 -0
  59. data/lib/vagrant/action/builtin/provision.rb +146 -0
  60. data/lib/vagrant/action/builtin/provisioner_cleanup.rb +57 -0
  61. data/lib/vagrant/action/builtin/set_hostname.rb +34 -0
  62. data/lib/vagrant/action/builtin/ssh_exec.rb +47 -0
  63. data/lib/vagrant/action/builtin/ssh_run.rb +88 -0
  64. data/lib/vagrant/action/builtin/synced_folder_cleanup.rb +36 -0
  65. data/lib/vagrant/action/builtin/synced_folders.rb +154 -0
  66. data/lib/vagrant/action/builtin/trigger.rb +40 -0
  67. data/lib/vagrant/action/builtin/wait_for_communicator.rb +82 -0
  68. data/lib/vagrant/action/general/package.rb +176 -29
  69. data/lib/vagrant/action/general/package_setup_files.rb +54 -0
  70. data/lib/vagrant/action/general/package_setup_folders.rb +40 -0
  71. data/lib/vagrant/action/hook.rb +163 -0
  72. data/lib/vagrant/action/primary_runner.rb +18 -0
  73. data/lib/vagrant/action/runner.rb +72 -13
  74. data/lib/vagrant/action/warden.rb +54 -20
  75. data/lib/vagrant/action.rb +74 -49
  76. data/lib/vagrant/alias.rb +59 -0
  77. data/lib/vagrant/batch_action.rb +181 -0
  78. data/lib/vagrant/box.rb +242 -26
  79. data/lib/vagrant/box_collection.rb +540 -35
  80. data/lib/vagrant/box_metadata.rb +275 -0
  81. data/lib/vagrant/bundler.rb +936 -0
  82. data/lib/vagrant/capability_host.rb +180 -0
  83. data/lib/vagrant/cli.rb +75 -29
  84. data/lib/vagrant/config/loader.rb +241 -45
  85. data/lib/vagrant/config/v1/dummy_config.rb +16 -0
  86. data/lib/vagrant/config/v1/loader.rb +108 -0
  87. data/lib/vagrant/config/v1/root.rb +63 -0
  88. data/lib/vagrant/config/v1.rb +12 -0
  89. data/lib/vagrant/config/v2/dummy_config.rb +60 -0
  90. data/lib/vagrant/config/v2/loader.rb +154 -0
  91. data/lib/vagrant/config/v2/root.rb +122 -0
  92. data/lib/vagrant/config/v2/util.rb +24 -0
  93. data/lib/vagrant/config/v2.rb +13 -0
  94. data/lib/vagrant/config/version_base.rb +83 -0
  95. data/lib/vagrant/config.rb +26 -11
  96. data/lib/vagrant/environment.rb +1019 -311
  97. data/lib/vagrant/errors.rb +853 -140
  98. data/lib/vagrant/guest.rb +68 -14
  99. data/lib/vagrant/host.rb +19 -0
  100. data/lib/vagrant/machine.rb +672 -0
  101. data/lib/vagrant/machine_index.rb +527 -0
  102. data/lib/vagrant/machine_state.rb +54 -0
  103. data/lib/vagrant/patches/builder/mkmf.rb +116 -0
  104. data/lib/vagrant/patches/fake_ftp.rb +28 -0
  105. data/lib/vagrant/patches/log4r.rb +54 -0
  106. data/lib/vagrant/patches/net-ssh.rb +76 -0
  107. data/lib/vagrant/patches/rubygems.rb +23 -0
  108. data/lib/vagrant/patches/timeout_error.rb +5 -0
  109. data/lib/vagrant/plugin/manager.rb +406 -0
  110. data/lib/vagrant/plugin/state_file.rb +136 -0
  111. data/lib/vagrant/plugin/v1/command.rb +171 -0
  112. data/lib/vagrant/plugin/v1/communicator.rb +101 -0
  113. data/lib/vagrant/plugin/v1/config.rb +115 -0
  114. data/lib/vagrant/plugin/v1/errors.rb +18 -0
  115. data/lib/vagrant/plugin/v1/guest.rb +95 -0
  116. data/lib/vagrant/plugin/v1/host.rb +69 -0
  117. data/lib/vagrant/plugin/v1/manager.rb +134 -0
  118. data/lib/vagrant/plugin/v1/plugin.rb +231 -0
  119. data/lib/vagrant/plugin/v1/provider.rb +71 -0
  120. data/lib/vagrant/plugin/v1/provisioner.rb +53 -0
  121. data/lib/vagrant/plugin/v1.rb +25 -0
  122. data/lib/vagrant/plugin/v2/command.rb +309 -0
  123. data/lib/vagrant/plugin/v2/communicator.rb +133 -0
  124. data/lib/vagrant/plugin/v2/components.rb +94 -0
  125. data/lib/vagrant/plugin/v2/config.rb +167 -0
  126. data/lib/vagrant/plugin/v2/errors.rb +18 -0
  127. data/lib/vagrant/plugin/v2/guest.rb +26 -0
  128. data/lib/vagrant/plugin/v2/host.rb +22 -0
  129. data/lib/vagrant/plugin/v2/manager.rb +306 -0
  130. data/lib/vagrant/plugin/v2/plugin.rb +296 -0
  131. data/lib/vagrant/plugin/v2/provider.rb +118 -0
  132. data/lib/vagrant/plugin/v2/provisioner.rb +56 -0
  133. data/lib/vagrant/plugin/v2/push.rb +30 -0
  134. data/lib/vagrant/plugin/v2/synced_folder.rb +113 -0
  135. data/lib/vagrant/plugin/v2/trigger.rb +367 -0
  136. data/lib/vagrant/plugin/v2.rb +33 -0
  137. data/lib/vagrant/plugin.rb +7 -77
  138. data/lib/vagrant/registry.rb +79 -18
  139. data/lib/vagrant/shared_helpers.rb +238 -0
  140. data/lib/vagrant/ui.rb +334 -53
  141. data/lib/vagrant/util/ansi_escape_code_remover.rb +4 -1
  142. data/lib/vagrant/util/busy.rb +4 -1
  143. data/lib/vagrant/util/caps.rb +51 -0
  144. data/lib/vagrant/util/checkpoint_client.rb +186 -0
  145. data/lib/vagrant/util/command_deprecation.rb +59 -0
  146. data/lib/vagrant/util/counter.rb +3 -0
  147. data/lib/vagrant/util/credential_scrubber.rb +74 -0
  148. data/lib/vagrant/util/curl_helper.rb +104 -0
  149. data/lib/vagrant/util/deep_merge.rb +23 -0
  150. data/lib/vagrant/util/directory.rb +22 -0
  151. data/lib/vagrant/util/downloader.rb +278 -0
  152. data/lib/vagrant/util/env.rb +56 -0
  153. data/lib/vagrant/util/experimental.rb +79 -0
  154. data/lib/vagrant/util/file_checksum.rb +47 -8
  155. data/lib/vagrant/util/file_mode.rb +3 -0
  156. data/lib/vagrant/util/file_mutex.rb +50 -0
  157. data/lib/vagrant/util/guest_hosts.rb +71 -0
  158. data/lib/vagrant/util/guest_inspection.rb +118 -0
  159. data/lib/vagrant/util/guest_networks.rb +107 -0
  160. data/lib/vagrant/util/hash_with_indifferent_access.rb +3 -0
  161. data/lib/vagrant/util/install_cli_autocomplete.rb +121 -0
  162. data/lib/vagrant/util/io.rb +53 -0
  163. data/lib/vagrant/util/ipv4_interfaces.rb +18 -0
  164. data/lib/vagrant/util/is_port_open.rb +12 -19
  165. data/lib/vagrant/util/keypair.rb +293 -0
  166. data/lib/vagrant/util/line_buffer.rb +63 -0
  167. data/lib/vagrant/util/line_ending_helpers.rb +3 -0
  168. data/lib/vagrant/util/logging_formatter.rb +70 -0
  169. data/lib/vagrant/util/map_command_options.rb +36 -0
  170. data/lib/vagrant/util/mime.rb +95 -0
  171. data/lib/vagrant/util/network_ip.rb +16 -17
  172. data/lib/vagrant/util/numeric.rb +92 -0
  173. data/lib/vagrant/util/platform.rb +695 -26
  174. data/lib/vagrant/util/powershell.rb +316 -0
  175. data/lib/vagrant/util/presence.rb +48 -0
  176. data/lib/vagrant/util/retryable.rb +11 -2
  177. data/lib/vagrant/util/safe_chdir.rb +36 -0
  178. data/lib/vagrant/util/safe_env.rb +17 -0
  179. data/lib/vagrant/util/safe_exec.rb +49 -7
  180. data/lib/vagrant/util/safe_puts.rb +5 -2
  181. data/lib/vagrant/util/scoped_hash_override.rb +47 -0
  182. data/lib/vagrant/util/shell_quote.rb +18 -0
  183. data/lib/vagrant/util/silence_warnings.rb +17 -0
  184. data/lib/vagrant/util/ssh.rb +267 -0
  185. data/lib/vagrant/util/stacked_proc_runner.rb +4 -1
  186. data/lib/vagrant/util/string_block_editor.rb +80 -0
  187. data/lib/vagrant/util/subprocess.rb +199 -81
  188. data/lib/vagrant/util/template_renderer.rb +14 -6
  189. data/lib/vagrant/util/uploader.rb +109 -0
  190. data/lib/vagrant/util/which.rb +56 -0
  191. data/lib/vagrant/util/windows_path.rb +41 -0
  192. data/lib/vagrant/util.rb +51 -0
  193. data/lib/vagrant/vagrantfile.rb +320 -0
  194. data/lib/vagrant/version.rb +5 -1
  195. data/lib/vagrant.rb +327 -144
  196. data/plugins/README.md +11 -0
  197. data/plugins/commands/autocomplete/command/install.rb +52 -0
  198. data/plugins/commands/autocomplete/command/root.rb +69 -0
  199. data/plugins/commands/autocomplete/plugin.rb +21 -0
  200. data/plugins/commands/box/command/add.rb +111 -0
  201. data/plugins/commands/box/command/download_mixins.rb +32 -0
  202. data/plugins/commands/box/command/list.rb +82 -0
  203. data/plugins/commands/box/command/outdated.rb +109 -0
  204. data/plugins/commands/box/command/prune.rb +136 -0
  205. data/plugins/commands/box/command/remove.rb +83 -0
  206. data/plugins/commands/box/command/repackage.rb +46 -0
  207. data/plugins/commands/box/command/root.rb +98 -0
  208. data/plugins/commands/box/command/update.rb +206 -0
  209. data/plugins/commands/box/plugin.rb +18 -0
  210. data/plugins/commands/cap/command.rb +83 -0
  211. data/plugins/commands/cap/plugin.rb +20 -0
  212. data/plugins/commands/cloud/auth/login.rb +90 -0
  213. data/plugins/commands/cloud/auth/logout.rb +37 -0
  214. data/plugins/commands/cloud/auth/middleware/add_authentication.rb +116 -0
  215. data/plugins/commands/cloud/auth/middleware/add_downloader_authentication.rb +68 -0
  216. data/plugins/commands/cloud/auth/plugin.rb +23 -0
  217. data/plugins/commands/cloud/auth/root.rb +77 -0
  218. data/plugins/commands/cloud/auth/whoami.rb +63 -0
  219. data/plugins/commands/cloud/box/create.rb +82 -0
  220. data/plugins/commands/cloud/box/delete.rb +74 -0
  221. data/plugins/commands/cloud/box/plugin.rb +22 -0
  222. data/plugins/commands/cloud/box/root.rb +81 -0
  223. data/plugins/commands/cloud/box/show.rb +133 -0
  224. data/plugins/commands/cloud/box/update.rb +82 -0
  225. data/plugins/commands/cloud/client/client.rb +257 -0
  226. data/plugins/commands/cloud/errors.rb +31 -0
  227. data/plugins/commands/cloud/list.rb +54 -0
  228. data/plugins/commands/cloud/locales/en.yml +197 -0
  229. data/plugins/commands/cloud/plugin.rb +48 -0
  230. data/plugins/commands/cloud/provider/create.rb +105 -0
  231. data/plugins/commands/cloud/provider/delete.rb +109 -0
  232. data/plugins/commands/cloud/provider/plugin.rb +22 -0
  233. data/plugins/commands/cloud/provider/root.rb +81 -0
  234. data/plugins/commands/cloud/provider/update.rb +102 -0
  235. data/plugins/commands/cloud/provider/upload.rb +100 -0
  236. data/plugins/commands/cloud/publish.rb +297 -0
  237. data/plugins/commands/cloud/root.rb +108 -0
  238. data/plugins/commands/cloud/search.rb +102 -0
  239. data/plugins/commands/cloud/util.rb +371 -0
  240. data/plugins/commands/cloud/version/create.rb +77 -0
  241. data/plugins/commands/cloud/version/delete.rb +78 -0
  242. data/plugins/commands/cloud/version/plugin.rb +22 -0
  243. data/plugins/commands/cloud/version/release.rb +78 -0
  244. data/plugins/commands/cloud/version/revoke.rb +79 -0
  245. data/plugins/commands/cloud/version/root.rb +85 -0
  246. data/plugins/commands/cloud/version/update.rb +76 -0
  247. data/plugins/commands/destroy/command.rb +79 -0
  248. data/plugins/commands/destroy/plugin.rb +21 -0
  249. data/plugins/commands/global-status/command.rb +114 -0
  250. data/plugins/commands/global-status/plugin.rb +21 -0
  251. data/plugins/commands/halt/command.rb +42 -0
  252. data/plugins/commands/halt/plugin.rb +21 -0
  253. data/plugins/commands/help/command.rb +19 -0
  254. data/plugins/commands/help/plugin.rb +20 -0
  255. data/plugins/commands/init/command.rb +110 -0
  256. data/plugins/commands/init/plugin.rb +21 -0
  257. data/plugins/commands/list-commands/command.rb +46 -0
  258. data/plugins/commands/list-commands/plugin.rb +21 -0
  259. data/plugins/commands/login/plugin.rb +20 -0
  260. data/plugins/commands/package/command.rb +104 -0
  261. data/plugins/commands/package/plugin.rb +21 -0
  262. data/plugins/commands/plugin/action/expunge_plugins.rb +77 -0
  263. data/plugins/commands/plugin/action/install_gem.rb +80 -0
  264. data/plugins/commands/plugin/action/license_plugin.rb +48 -0
  265. data/plugins/commands/plugin/action/list_plugins.rb +79 -0
  266. data/plugins/commands/plugin/action/plugin_exists_check.rb +28 -0
  267. data/plugins/commands/plugin/action/repair_plugins.rb +67 -0
  268. data/plugins/commands/plugin/action/uninstall_plugin.rb +28 -0
  269. data/plugins/commands/plugin/action/update_gems.rb +52 -0
  270. data/plugins/commands/plugin/action.rb +82 -0
  271. data/plugins/commands/plugin/command/base.rb +22 -0
  272. data/plugins/commands/plugin/command/expunge.rb +95 -0
  273. data/plugins/commands/plugin/command/install.rb +90 -0
  274. data/plugins/commands/plugin/command/license.rb +34 -0
  275. data/plugins/commands/plugin/command/list.rb +34 -0
  276. data/plugins/commands/plugin/command/mixin_install_opts.rb +34 -0
  277. data/plugins/commands/plugin/command/repair.rb +41 -0
  278. data/plugins/commands/plugin/command/root.rb +98 -0
  279. data/plugins/commands/plugin/command/uninstall.rb +38 -0
  280. data/plugins/commands/plugin/command/update.rb +42 -0
  281. data/plugins/commands/plugin/gem_helper.rb +89 -0
  282. data/plugins/commands/plugin/plugin.rb +23 -0
  283. data/plugins/commands/port/command.rb +91 -0
  284. data/plugins/commands/port/locales/en.yml +23 -0
  285. data/plugins/commands/port/plugin.rb +30 -0
  286. data/plugins/commands/powershell/command.rb +132 -0
  287. data/plugins/commands/powershell/errors.rb +29 -0
  288. data/plugins/commands/powershell/plugin.rb +34 -0
  289. data/plugins/commands/powershell/scripts/enable_psremoting.ps1 +63 -0
  290. data/plugins/commands/powershell/scripts/reset_trustedhosts.ps1 +15 -0
  291. data/plugins/commands/provider/command.rb +77 -0
  292. data/plugins/commands/provider/plugin.rb +21 -0
  293. data/plugins/commands/provision/command.rb +41 -0
  294. data/plugins/commands/provision/plugin.rb +21 -0
  295. data/plugins/commands/push/command.rb +78 -0
  296. data/plugins/commands/push/plugin.rb +20 -0
  297. data/plugins/commands/rdp/command.rb +114 -0
  298. data/plugins/commands/rdp/config.rb +29 -0
  299. data/plugins/commands/rdp/errors.rb +21 -0
  300. data/plugins/commands/rdp/plugin.rb +39 -0
  301. data/plugins/commands/reload/command.rb +67 -0
  302. data/plugins/commands/reload/plugin.rb +21 -0
  303. data/plugins/commands/resume/command.rb +46 -0
  304. data/plugins/commands/resume/plugin.rb +20 -0
  305. data/plugins/commands/snapshot/command/delete.rb +50 -0
  306. data/plugins/commands/snapshot/command/list.rb +50 -0
  307. data/plugins/commands/snapshot/command/pop.rb +52 -0
  308. data/plugins/commands/snapshot/command/push.rb +36 -0
  309. data/plugins/commands/snapshot/command/push_shared.rb +58 -0
  310. data/plugins/commands/snapshot/command/restore.rb +67 -0
  311. data/plugins/commands/snapshot/command/root.rb +95 -0
  312. data/plugins/commands/snapshot/command/save.rb +75 -0
  313. data/plugins/commands/snapshot/plugin.rb +18 -0
  314. data/plugins/commands/ssh/command.rb +80 -0
  315. data/plugins/commands/ssh/plugin.rb +20 -0
  316. data/plugins/commands/ssh_config/command.rb +78 -0
  317. data/plugins/commands/ssh_config/plugin.rb +21 -0
  318. data/plugins/commands/status/command.rb +59 -0
  319. data/plugins/commands/status/plugin.rb +21 -0
  320. data/plugins/commands/suspend/command.rb +49 -0
  321. data/plugins/commands/suspend/plugin.rb +21 -0
  322. data/plugins/commands/up/command.rb +194 -0
  323. data/plugins/commands/up/middleware/store_box_metadata.rb +40 -0
  324. data/plugins/commands/up/plugin.rb +25 -0
  325. data/plugins/commands/up/start_mixins.rb +58 -0
  326. data/plugins/commands/upload/command.rb +239 -0
  327. data/plugins/commands/upload/plugin.rb +20 -0
  328. data/plugins/commands/validate/command.rb +107 -0
  329. data/plugins/commands/validate/plugin.rb +20 -0
  330. data/plugins/commands/version/command.rb +60 -0
  331. data/plugins/commands/version/plugin.rb +21 -0
  332. data/plugins/commands/winrm/command.rb +71 -0
  333. data/plugins/commands/winrm/plugin.rb +20 -0
  334. data/plugins/commands/winrm_config/command.rb +129 -0
  335. data/plugins/commands/winrm_config/plugin.rb +20 -0
  336. data/plugins/communicators/ssh/communicator.rb +898 -0
  337. data/plugins/communicators/ssh/plugin.rb +22 -0
  338. data/plugins/communicators/winrm/command_filter.rb +49 -0
  339. data/plugins/communicators/winrm/command_filters/cat.rb +26 -0
  340. data/plugins/communicators/winrm/command_filters/chmod.rb +20 -0
  341. data/plugins/communicators/winrm/command_filters/chown.rb +20 -0
  342. data/plugins/communicators/winrm/command_filters/grep.rb +26 -0
  343. data/plugins/communicators/winrm/command_filters/mkdir.rb +30 -0
  344. data/plugins/communicators/winrm/command_filters/rm.rb +50 -0
  345. data/plugins/communicators/winrm/command_filters/test.rb +68 -0
  346. data/plugins/communicators/winrm/command_filters/uname.rb +30 -0
  347. data/plugins/communicators/winrm/command_filters/which.rb +27 -0
  348. data/plugins/communicators/winrm/communicator.rb +230 -0
  349. data/plugins/communicators/winrm/config.rb +76 -0
  350. data/plugins/communicators/winrm/errors.rb +72 -0
  351. data/plugins/communicators/winrm/helper.rb +91 -0
  352. data/plugins/communicators/winrm/plugin.rb +69 -0
  353. data/plugins/communicators/winrm/shell.rb +267 -0
  354. data/plugins/communicators/winssh/communicator.rb +252 -0
  355. data/plugins/communicators/winssh/config.rb +37 -0
  356. data/plugins/communicators/winssh/plugin.rb +24 -0
  357. data/plugins/guests/alma/cap/flavor.rb +26 -0
  358. data/plugins/guests/alma/guest.rb +13 -0
  359. data/plugins/guests/alma/plugin.rb +23 -0
  360. data/plugins/guests/alpine/cap/change_host_name.rb +85 -0
  361. data/plugins/guests/alpine/cap/configure_networks.rb +67 -0
  362. data/plugins/guests/alpine/cap/halt.rb +24 -0
  363. data/plugins/guests/alpine/cap/nfs_client.rb +17 -0
  364. data/plugins/guests/alpine/cap/rsync.rb +20 -0
  365. data/plugins/guests/alpine/cap/smb.rb +16 -0
  366. data/plugins/guests/alpine/guest.rb +14 -0
  367. data/plugins/guests/alpine/plugin.rb +69 -0
  368. data/plugins/guests/alt/cap/change_host_name.rb +55 -0
  369. data/plugins/guests/alt/cap/configure_networks.rb +132 -0
  370. data/plugins/guests/alt/cap/flavor.rb +66 -0
  371. data/plugins/guests/alt/cap/network_scripts_dir.rb +14 -0
  372. data/plugins/guests/alt/cap/rsync.rb +16 -0
  373. data/plugins/guests/alt/guest.rb +12 -0
  374. data/plugins/guests/alt/plugin.rb +43 -0
  375. data/plugins/guests/amazon/cap/configure_networks.rb +26 -0
  376. data/plugins/guests/amazon/cap/flavor.rb +17 -0
  377. data/plugins/guests/amazon/guest.rb +12 -0
  378. data/plugins/guests/amazon/plugin.rb +28 -0
  379. data/plugins/guests/arch/cap/change_host_name.rb +18 -0
  380. data/plugins/guests/arch/cap/configure_networks.rb +81 -0
  381. data/plugins/guests/arch/cap/nfs.rb +36 -0
  382. data/plugins/guests/arch/cap/rsync.rb +19 -0
  383. data/plugins/guests/arch/cap/smb.rb +20 -0
  384. data/plugins/guests/arch/guest.rb +14 -0
  385. data/plugins/guests/arch/plugin.rb +53 -0
  386. data/plugins/guests/atomic/cap/change_host_name.rb +18 -0
  387. data/plugins/guests/atomic/cap/docker.rb +14 -0
  388. data/plugins/guests/atomic/guest.rb +14 -0
  389. data/plugins/guests/atomic/plugin.rb +28 -0
  390. data/plugins/guests/bsd/cap/file_system.rb +80 -0
  391. data/plugins/guests/bsd/cap/halt.rb +19 -0
  392. data/plugins/guests/bsd/cap/mount_virtualbox_shared_folder.rb +19 -0
  393. data/plugins/guests/bsd/cap/nfs.rb +50 -0
  394. data/plugins/guests/bsd/cap/public_key.rb +69 -0
  395. data/plugins/guests/bsd/guest.rb +12 -0
  396. data/plugins/guests/bsd/plugin.rb +58 -0
  397. data/plugins/guests/centos/cap/flavor.rb +32 -0
  398. data/plugins/guests/centos/guest.rb +14 -0
  399. data/plugins/guests/centos/plugin.rb +23 -0
  400. data/plugins/guests/coreos/cap/change_host_name.rb +41 -0
  401. data/plugins/guests/coreos/cap/configure_networks.rb +138 -0
  402. data/plugins/guests/coreos/cap/docker.rb +14 -0
  403. data/plugins/guests/coreos/guest.rb +14 -0
  404. data/plugins/guests/coreos/plugin.rb +33 -0
  405. data/plugins/guests/darwin/cap/change_host_name.rb +43 -0
  406. data/plugins/guests/darwin/cap/choose_addressable_ip_addr.rb +23 -0
  407. data/plugins/guests/darwin/cap/configure_networks.rb +126 -0
  408. data/plugins/guests/darwin/cap/darwin_version.rb +43 -0
  409. data/plugins/guests/darwin/cap/halt.rb +21 -0
  410. data/plugins/guests/darwin/cap/mount_smb_shared_folder.rb +46 -0
  411. data/plugins/guests/darwin/cap/mount_vmware_shared_folder.rb +135 -0
  412. data/plugins/guests/darwin/cap/rsync.rb +14 -0
  413. data/plugins/guests/darwin/cap/shell_expand_guest_path.rb +30 -0
  414. data/plugins/guests/darwin/cap/verify_vmware_hgfs.rb +15 -0
  415. data/plugins/guests/darwin/guest.rb +18 -0
  416. data/plugins/guests/darwin/plugin.rb +93 -0
  417. data/plugins/guests/debian/cap/change_host_name.rb +110 -0
  418. data/plugins/guests/debian/cap/configure_networks.rb +205 -0
  419. data/plugins/guests/debian/cap/nfs.rb +19 -0
  420. data/plugins/guests/debian/cap/rsync.rb +18 -0
  421. data/plugins/guests/debian/cap/smb.rb +20 -0
  422. data/plugins/guests/debian/guest.rb +13 -0
  423. data/plugins/guests/debian/plugin.rb +43 -0
  424. data/plugins/guests/dragonflybsd/guest.rb +12 -0
  425. data/plugins/guests/dragonflybsd/plugin.rb +18 -0
  426. data/plugins/guests/elementary/guest.rb +13 -0
  427. data/plugins/guests/elementary/plugin.rb +18 -0
  428. data/plugins/guests/esxi/cap/change_host_name.rb +16 -0
  429. data/plugins/guests/esxi/cap/configure_networks.rb +41 -0
  430. data/plugins/guests/esxi/cap/halt.rb +19 -0
  431. data/plugins/guests/esxi/cap/mount_nfs_folder.rb +43 -0
  432. data/plugins/guests/esxi/cap/public_key.rb +68 -0
  433. data/plugins/guests/esxi/guest.rb +14 -0
  434. data/plugins/guests/esxi/plugin.rb +49 -0
  435. data/plugins/guests/fedora/cap/flavor.rb +26 -0
  436. data/plugins/guests/fedora/guest.rb +14 -0
  437. data/plugins/guests/fedora/plugin.rb +23 -0
  438. data/plugins/guests/freebsd/cap/change_host_name.rb +34 -0
  439. data/plugins/guests/freebsd/cap/configure_networks.rb +70 -0
  440. data/plugins/guests/freebsd/cap/mount_virtualbox_shared_folder.rb +79 -0
  441. data/plugins/guests/freebsd/cap/rsync.rb +18 -0
  442. data/plugins/guests/freebsd/cap/shell_expand_guest_path.rb +31 -0
  443. data/plugins/guests/freebsd/guest.rb +17 -0
  444. data/plugins/guests/freebsd/plugin.rb +68 -0
  445. data/plugins/guests/funtoo/cap/configure_networks.rb +50 -0
  446. data/plugins/guests/funtoo/guest.rb +12 -0
  447. data/plugins/guests/funtoo/plugin.rb +23 -0
  448. data/plugins/guests/gentoo/cap/change_host_name.rb +27 -0
  449. data/plugins/guests/gentoo/cap/configure_networks.rb +92 -0
  450. data/plugins/guests/gentoo/guest.rb +12 -0
  451. data/plugins/guests/gentoo/plugin.rb +28 -0
  452. data/plugins/guests/haiku/cap/change_host_name.rb +36 -0
  453. data/plugins/guests/haiku/cap/halt.rb +19 -0
  454. data/plugins/guests/haiku/cap/insert_public_key.rb +24 -0
  455. data/plugins/guests/haiku/cap/remove_public_key.rb +24 -0
  456. data/plugins/guests/haiku/cap/rsync.rb +22 -0
  457. data/plugins/guests/haiku/guest.rb +14 -0
  458. data/plugins/guests/haiku/plugin.rb +53 -0
  459. data/plugins/guests/kali/guest.rb +13 -0
  460. data/plugins/guests/kali/plugin.rb +18 -0
  461. data/plugins/guests/linux/cap/change_host_name.rb +49 -0
  462. data/plugins/guests/linux/cap/choose_addressable_ip_addr.rb +22 -0
  463. data/plugins/guests/linux/cap/file_system.rb +82 -0
  464. data/plugins/guests/linux/cap/halt.rb +27 -0
  465. data/plugins/guests/linux/cap/mount_smb_shared_folder.rb +95 -0
  466. data/plugins/guests/linux/cap/mount_virtualbox_shared_folder.rb +78 -0
  467. data/plugins/guests/linux/cap/network_interfaces.rb +89 -0
  468. data/plugins/guests/linux/cap/nfs.rb +51 -0
  469. data/plugins/guests/linux/cap/persist_mount_shared_folder.rb +77 -0
  470. data/plugins/guests/linux/cap/port.rb +14 -0
  471. data/plugins/guests/linux/cap/public_key.rb +65 -0
  472. data/plugins/guests/linux/cap/read_ip_address.rb +28 -0
  473. data/plugins/guests/linux/cap/reboot.rb +74 -0
  474. data/plugins/guests/linux/cap/rsync.rb +14 -0
  475. data/plugins/guests/linux/cap/shell_expand_guest_path.rb +35 -0
  476. data/plugins/guests/linux/guest.rb +26 -0
  477. data/plugins/guests/linux/plugin.rb +139 -0
  478. data/plugins/guests/mint/guest.rb +13 -0
  479. data/plugins/guests/mint/plugin.rb +18 -0
  480. data/plugins/guests/netbsd/cap/change_host_name.rb +20 -0
  481. data/plugins/guests/netbsd/cap/configure_networks.rb +56 -0
  482. data/plugins/guests/netbsd/cap/rsync.rb +23 -0
  483. data/plugins/guests/netbsd/cap/shell_expand_guest_path.rb +30 -0
  484. data/plugins/guests/netbsd/guest.rb +14 -0
  485. data/plugins/guests/netbsd/plugin.rb +58 -0
  486. data/plugins/guests/nixos/cap/change_host_name.rb +47 -0
  487. data/plugins/guests/nixos/cap/configure_networks.rb +135 -0
  488. data/plugins/guests/nixos/cap/nfs_client.rb +14 -0
  489. data/plugins/guests/nixos/guest.rb +20 -0
  490. data/plugins/guests/nixos/plugin.rb +33 -0
  491. data/plugins/guests/omnios/cap/change_host_name.rb +23 -0
  492. data/plugins/guests/omnios/cap/mount_nfs_folder.rb +24 -0
  493. data/plugins/guests/omnios/cap/rsync.rb +14 -0
  494. data/plugins/guests/omnios/guest.rb +12 -0
  495. data/plugins/guests/omnios/plugin.rb +33 -0
  496. data/plugins/guests/openbsd/cap/change_host_name.rb +35 -0
  497. data/plugins/guests/openbsd/cap/configure_networks.rb +49 -0
  498. data/plugins/guests/openbsd/cap/halt.rb +22 -0
  499. data/plugins/guests/openbsd/cap/rsync.rb +32 -0
  500. data/plugins/guests/openbsd/cap/shell_expand_guest_path.rb +30 -0
  501. data/plugins/guests/openbsd/guest.rb +14 -0
  502. data/plugins/guests/openbsd/plugin.rb +63 -0
  503. data/plugins/guests/openwrt/cap/change_host_name.rb +22 -0
  504. data/plugins/guests/openwrt/cap/halt.rb +19 -0
  505. data/plugins/guests/openwrt/cap/insert_public_key.rb +23 -0
  506. data/plugins/guests/openwrt/cap/remove_public_key.rb +25 -0
  507. data/plugins/guests/openwrt/cap/rsync.rb +38 -0
  508. data/plugins/guests/openwrt/guest.rb +26 -0
  509. data/plugins/guests/openwrt/plugin.rb +64 -0
  510. data/plugins/guests/photon/cap/change_host_name.rb +22 -0
  511. data/plugins/guests/photon/cap/configure_networks.rb +33 -0
  512. data/plugins/guests/photon/cap/docker.rb +14 -0
  513. data/plugins/guests/photon/guest.rb +12 -0
  514. data/plugins/guests/photon/plugin.rb +33 -0
  515. data/plugins/guests/pld/cap/change_host_name.rb +26 -0
  516. data/plugins/guests/pld/cap/flavor.rb +14 -0
  517. data/plugins/guests/pld/cap/network_scripts_dir.rb +14 -0
  518. data/plugins/guests/pld/guest.rb +12 -0
  519. data/plugins/guests/pld/plugin.rb +33 -0
  520. data/plugins/guests/redhat/cap/change_host_name.rb +59 -0
  521. data/plugins/guests/redhat/cap/configure_networks.rb +113 -0
  522. data/plugins/guests/redhat/cap/flavor.rb +32 -0
  523. data/plugins/guests/redhat/cap/network_scripts_dir.rb +18 -0
  524. data/plugins/guests/redhat/cap/nfs_client.rb +33 -0
  525. data/plugins/guests/redhat/cap/rsync.rb +20 -0
  526. data/plugins/guests/redhat/cap/smb.rb +23 -0
  527. data/plugins/guests/redhat/guest.rb +12 -0
  528. data/plugins/guests/redhat/plugin.rb +53 -0
  529. data/plugins/guests/rocky/cap/flavor.rb +26 -0
  530. data/plugins/guests/rocky/guest.rb +13 -0
  531. data/plugins/guests/rocky/plugin.rb +23 -0
  532. data/plugins/guests/slackware/cap/change_host_name.rb +24 -0
  533. data/plugins/guests/slackware/cap/configure_networks.rb +51 -0
  534. data/plugins/guests/slackware/guest.rb +12 -0
  535. data/plugins/guests/slackware/plugin.rb +28 -0
  536. data/plugins/guests/smartos/cap/change_host_name.rb +29 -0
  537. data/plugins/guests/smartos/cap/configure_networks.rb +30 -0
  538. data/plugins/guests/smartos/cap/halt.rb +25 -0
  539. data/plugins/guests/smartos/cap/insert_public_key.rb +31 -0
  540. data/plugins/guests/smartos/cap/mount_nfs.rb +31 -0
  541. data/plugins/guests/smartos/cap/remove_public_key.rb +28 -0
  542. data/plugins/guests/smartos/cap/rsync.rb +36 -0
  543. data/plugins/guests/smartos/config.rb +18 -0
  544. data/plugins/guests/smartos/guest.rb +14 -0
  545. data/plugins/guests/smartos/plugin.rb +74 -0
  546. data/plugins/guests/solaris/cap/change_host_name.rb +20 -0
  547. data/plugins/guests/solaris/cap/configure_networks.rb +28 -0
  548. data/plugins/guests/solaris/cap/file_system.rb +80 -0
  549. data/plugins/guests/solaris/cap/halt.rb +25 -0
  550. data/plugins/guests/solaris/cap/insert_public_key.rb +25 -0
  551. data/plugins/guests/solaris/cap/mount_virtualbox_shared_folder.rb +44 -0
  552. data/plugins/guests/solaris/cap/remove_public_key.rb +25 -0
  553. data/plugins/guests/solaris/cap/rsync.rb +36 -0
  554. data/plugins/guests/solaris/config.rb +34 -0
  555. data/plugins/guests/solaris/guest.rb +17 -0
  556. data/plugins/guests/solaris/plugin.rb +88 -0
  557. data/plugins/guests/solaris11/cap/change_host_name.rb +26 -0
  558. data/plugins/guests/solaris11/cap/configure_networks.rb +37 -0
  559. data/plugins/guests/solaris11/config.rb +37 -0
  560. data/plugins/guests/solaris11/guest.rb +22 -0
  561. data/plugins/guests/solaris11/plugin.rb +42 -0
  562. data/plugins/guests/suse/cap/change_host_name.rb +48 -0
  563. data/plugins/guests/suse/cap/configure_networks.rb +53 -0
  564. data/plugins/guests/suse/cap/halt.rb +23 -0
  565. data/plugins/guests/suse/cap/network_scripts_dir.rb +14 -0
  566. data/plugins/guests/suse/cap/nfs_client.rb +18 -0
  567. data/plugins/guests/suse/cap/rsync.rb +18 -0
  568. data/plugins/guests/suse/guest.rb +12 -0
  569. data/plugins/guests/suse/plugin.rb +53 -0
  570. data/plugins/guests/tinycore/cap/change_host_name.rb +16 -0
  571. data/plugins/guests/tinycore/cap/configure_networks.rb +29 -0
  572. data/plugins/guests/tinycore/cap/halt.rb +19 -0
  573. data/plugins/guests/tinycore/cap/mount_nfs.rb +44 -0
  574. data/plugins/guests/tinycore/cap/rsync.rb +20 -0
  575. data/plugins/guests/tinycore/guest.rb +13 -0
  576. data/plugins/guests/tinycore/plugin.rb +43 -0
  577. data/plugins/guests/trisquel/guest.rb +12 -0
  578. data/plugins/guests/trisquel/plugin.rb +18 -0
  579. data/plugins/guests/ubuntu/guest.rb +13 -0
  580. data/plugins/guests/ubuntu/plugin.rb +18 -0
  581. data/plugins/guests/windows/cap/change_host_name.rb +36 -0
  582. data/plugins/guests/windows/cap/choose_addressable_ip_addr.rb +23 -0
  583. data/plugins/guests/windows/cap/configure_networks.rb +83 -0
  584. data/plugins/guests/windows/cap/file_system.rb +68 -0
  585. data/plugins/guests/windows/cap/halt.rb +19 -0
  586. data/plugins/guests/windows/cap/mount_shared_folder.rb +60 -0
  587. data/plugins/guests/windows/cap/public_key.rb +87 -0
  588. data/plugins/guests/windows/cap/reboot.rb +63 -0
  589. data/plugins/guests/windows/cap/rsync.rb +29 -0
  590. data/plugins/guests/windows/config.rb +26 -0
  591. data/plugins/guests/windows/errors.rb +25 -0
  592. data/plugins/guests/windows/guest.rb +13 -0
  593. data/plugins/guests/windows/guest_network.rb +128 -0
  594. data/plugins/guests/windows/plugin.rb +116 -0
  595. data/plugins/guests/windows/scripts/mount_volume.ps1.erb +48 -0
  596. data/plugins/guests/windows/scripts/reboot_detect.ps1 +50 -0
  597. data/plugins/guests/windows/scripts/set_work_network.ps1 +9 -0
  598. data/plugins/guests/windows/scripts/winrs_v3_get_adapters.ps1 +14 -0
  599. data/plugins/hosts/alt/cap/nfs.rb +46 -0
  600. data/plugins/hosts/alt/host.rb +14 -0
  601. data/plugins/hosts/alt/plugin.rb +35 -0
  602. data/plugins/hosts/arch/cap/nfs.rb +22 -0
  603. data/plugins/hosts/arch/host.rb +14 -0
  604. data/plugins/hosts/arch/plugin.rb +35 -0
  605. data/plugins/hosts/bsd/cap/nfs.rb +218 -0
  606. data/plugins/hosts/bsd/cap/path.rb +14 -0
  607. data/plugins/hosts/bsd/cap/ssh.rb +19 -0
  608. data/plugins/hosts/bsd/host.rb +15 -0
  609. data/plugins/hosts/bsd/plugin.rb +63 -0
  610. data/plugins/hosts/darwin/cap/configured_ip_addresses.rb +21 -0
  611. data/plugins/hosts/darwin/cap/fs_iso.rb +52 -0
  612. data/plugins/hosts/darwin/cap/nfs.rb +14 -0
  613. data/plugins/hosts/darwin/cap/path.rb +66 -0
  614. data/plugins/hosts/darwin/cap/provider_install_virtualbox.rb +64 -0
  615. data/plugins/hosts/darwin/cap/rdp.rb +64 -0
  616. data/plugins/hosts/darwin/cap/smb.rb +128 -0
  617. data/plugins/hosts/darwin/cap/version.rb +26 -0
  618. data/plugins/hosts/darwin/host.rb +14 -0
  619. data/plugins/hosts/darwin/plugin.rb +83 -0
  620. data/plugins/hosts/darwin/scripts/install_virtualbox.sh +18 -0
  621. data/plugins/hosts/freebsd/cap/nfs.rb +34 -0
  622. data/plugins/hosts/freebsd/host.rb +15 -0
  623. data/plugins/hosts/freebsd/plugin.rb +34 -0
  624. data/plugins/hosts/gentoo/cap/nfs.rb +42 -0
  625. data/plugins/hosts/gentoo/host.rb +14 -0
  626. data/plugins/hosts/gentoo/plugin.rb +31 -0
  627. data/plugins/hosts/linux/cap/fs_iso.rb +52 -0
  628. data/plugins/hosts/linux/cap/nfs.rb +296 -0
  629. data/plugins/hosts/linux/cap/rdp.rb +59 -0
  630. data/plugins/hosts/linux/cap/ssh.rb +19 -0
  631. data/plugins/hosts/linux/host.rb +15 -0
  632. data/plugins/hosts/linux/plugin.rb +70 -0
  633. data/plugins/hosts/null/host.rb +15 -0
  634. data/plugins/hosts/null/plugin.rb +18 -0
  635. data/plugins/hosts/redhat/cap/nfs.rb +58 -0
  636. data/plugins/hosts/redhat/host.rb +31 -0
  637. data/plugins/hosts/redhat/plugin.rb +30 -0
  638. data/plugins/hosts/slackware/cap/nfs.rb +18 -0
  639. data/plugins/hosts/slackware/host.rb +15 -0
  640. data/plugins/hosts/slackware/plugin.rb +30 -0
  641. data/plugins/hosts/suse/cap/nfs.rb +22 -0
  642. data/plugins/hosts/suse/host.rb +30 -0
  643. data/plugins/hosts/suse/plugin.rb +33 -0
  644. data/plugins/hosts/void/cap/nfs.rb +27 -0
  645. data/plugins/hosts/void/host.rb +23 -0
  646. data/plugins/hosts/void/plugin.rb +33 -0
  647. data/plugins/hosts/windows/cap/configured_ip_addresses.rb +32 -0
  648. data/plugins/hosts/windows/cap/fs_iso.rb +51 -0
  649. data/plugins/hosts/windows/cap/nfs.rb +14 -0
  650. data/plugins/hosts/windows/cap/provider_install_virtualbox.rb +65 -0
  651. data/plugins/hosts/windows/cap/ps.rb +50 -0
  652. data/plugins/hosts/windows/cap/rdp.rb +33 -0
  653. data/plugins/hosts/windows/cap/smb.rb +203 -0
  654. data/plugins/hosts/windows/cap/ssh.rb +29 -0
  655. data/plugins/hosts/windows/host.rb +26 -0
  656. data/plugins/hosts/windows/plugin.rb +83 -0
  657. data/plugins/hosts/windows/scripts/check_credentials.ps1 +37 -0
  658. data/plugins/hosts/windows/scripts/host_info.ps1 +24 -0
  659. data/plugins/hosts/windows/scripts/install_virtualbox.ps1 +40 -0
  660. data/plugins/hosts/windows/scripts/set_share.ps1 +40 -0
  661. data/plugins/hosts/windows/scripts/set_ssh_key_permissions.ps1 +20 -0
  662. data/plugins/hosts/windows/scripts/unset_share.ps1 +13 -0
  663. data/plugins/hosts/windows/scripts/utils/VagrantSSH/VagrantSSH.psm1 +29 -0
  664. data/plugins/kernel_v1/config/nfs.rb +23 -0
  665. data/plugins/kernel_v1/config/package.rb +20 -0
  666. data/plugins/kernel_v1/config/ssh.rb +50 -0
  667. data/plugins/kernel_v1/config/vagrant.rb +34 -0
  668. data/plugins/kernel_v1/config/vm.rb +191 -0
  669. data/plugins/kernel_v1/plugin.rb +47 -0
  670. data/plugins/kernel_v2/config/cloud_init.rb +136 -0
  671. data/plugins/kernel_v2/config/disk.rb +224 -0
  672. data/plugins/kernel_v2/config/package.rb +24 -0
  673. data/plugins/kernel_v2/config/push.rb +155 -0
  674. data/plugins/kernel_v2/config/ssh.rb +93 -0
  675. data/plugins/kernel_v2/config/ssh_connect.rb +194 -0
  676. data/plugins/kernel_v2/config/trigger.rb +214 -0
  677. data/plugins/kernel_v2/config/vagrant.rb +99 -0
  678. data/plugins/kernel_v2/config/vm.rb +1062 -0
  679. data/plugins/kernel_v2/config/vm_provisioner.rb +202 -0
  680. data/plugins/kernel_v2/config/vm_subvm.rb +33 -0
  681. data/plugins/kernel_v2/config/vm_trigger.rb +297 -0
  682. data/plugins/kernel_v2/plugin.rb +71 -0
  683. data/plugins/providers/docker/action/build.rb +99 -0
  684. data/plugins/providers/docker/action/compare_synced_folders.rb +65 -0
  685. data/plugins/providers/docker/action/connect_networks.rb +80 -0
  686. data/plugins/providers/docker/action/create.rb +162 -0
  687. data/plugins/providers/docker/action/destroy.rb +34 -0
  688. data/plugins/providers/docker/action/destroy_build_image.rb +51 -0
  689. data/plugins/providers/docker/action/destroy_network.rb +53 -0
  690. data/plugins/providers/docker/action/forwarded_ports.rb +36 -0
  691. data/plugins/providers/docker/action/has_ssh.rb +21 -0
  692. data/plugins/providers/docker/action/host_machine.rb +75 -0
  693. data/plugins/providers/docker/action/host_machine_build_dir.rb +48 -0
  694. data/plugins/providers/docker/action/host_machine_port_checker.rb +34 -0
  695. data/plugins/providers/docker/action/host_machine_port_warning.rb +40 -0
  696. data/plugins/providers/docker/action/host_machine_required.rb +20 -0
  697. data/plugins/providers/docker/action/host_machine_sync_folders.rb +175 -0
  698. data/plugins/providers/docker/action/host_machine_sync_folders_disable.rb +91 -0
  699. data/plugins/providers/docker/action/init_state.rb +23 -0
  700. data/plugins/providers/docker/action/is_build.rb +19 -0
  701. data/plugins/providers/docker/action/is_host_machine_created.rb +32 -0
  702. data/plugins/providers/docker/action/login.rb +51 -0
  703. data/plugins/providers/docker/action/prepare_forwarded_port_collision_params.rb +64 -0
  704. data/plugins/providers/docker/action/prepare_networks.rb +372 -0
  705. data/plugins/providers/docker/action/prepare_nfs_settings.rb +60 -0
  706. data/plugins/providers/docker/action/prepare_nfs_valid_ids.rb +22 -0
  707. data/plugins/providers/docker/action/prepare_ssh.rb +48 -0
  708. data/plugins/providers/docker/action/pull.rb +30 -0
  709. data/plugins/providers/docker/action/start.rb +24 -0
  710. data/plugins/providers/docker/action/stop.rb +24 -0
  711. data/plugins/providers/docker/action/wait_for_running.rb +70 -0
  712. data/plugins/providers/docker/action.rb +319 -0
  713. data/plugins/providers/docker/cap/has_communicator.rb +14 -0
  714. data/plugins/providers/docker/cap/proxy_machine.rb +15 -0
  715. data/plugins/providers/docker/cap/public_address.rb +26 -0
  716. data/plugins/providers/docker/command/exec.rb +112 -0
  717. data/plugins/providers/docker/command/logs.rb +111 -0
  718. data/plugins/providers/docker/command/run.rb +76 -0
  719. data/plugins/providers/docker/communicator.rb +199 -0
  720. data/plugins/providers/docker/config.rb +362 -0
  721. data/plugins/providers/docker/driver/compose.rb +315 -0
  722. data/plugins/providers/docker/driver.rb +416 -0
  723. data/plugins/providers/docker/errors.rb +108 -0
  724. data/plugins/providers/docker/executor/local.rb +48 -0
  725. data/plugins/providers/docker/executor/vagrant.rb +88 -0
  726. data/plugins/providers/docker/hostmachine/Vagrantfile +3 -0
  727. data/plugins/providers/docker/plugin.rb +89 -0
  728. data/plugins/providers/docker/provider.rb +215 -0
  729. data/plugins/providers/docker/synced_folder.rb +35 -0
  730. data/plugins/providers/hyperv/action/check_access.rb +27 -0
  731. data/plugins/providers/hyperv/action/check_enabled.rb +25 -0
  732. data/plugins/providers/hyperv/action/configure.rb +115 -0
  733. data/plugins/providers/hyperv/action/delete_vm.rb +28 -0
  734. data/plugins/providers/hyperv/action/export.rb +45 -0
  735. data/plugins/providers/hyperv/action/import.rb +86 -0
  736. data/plugins/providers/hyperv/action/is_windows.rb +19 -0
  737. data/plugins/providers/hyperv/action/message_will_not_destroy.rb +20 -0
  738. data/plugins/providers/hyperv/action/net_set_mac.rb +23 -0
  739. data/plugins/providers/hyperv/action/net_set_vlan.rb +23 -0
  740. data/plugins/providers/hyperv/action/package.rb +19 -0
  741. data/plugins/providers/hyperv/action/package_metadata_json.rb +37 -0
  742. data/plugins/providers/hyperv/action/package_setup_files.rb +19 -0
  743. data/plugins/providers/hyperv/action/package_setup_folders.rb +21 -0
  744. data/plugins/providers/hyperv/action/package_vagrantfile.rb +37 -0
  745. data/plugins/providers/hyperv/action/read_guest_ip.rb +45 -0
  746. data/plugins/providers/hyperv/action/read_state.rb +33 -0
  747. data/plugins/providers/hyperv/action/resume_vm.rb +20 -0
  748. data/plugins/providers/hyperv/action/set_name.rb +46 -0
  749. data/plugins/providers/hyperv/action/snapshot_delete.rb +30 -0
  750. data/plugins/providers/hyperv/action/snapshot_restore.rb +26 -0
  751. data/plugins/providers/hyperv/action/snapshot_save.rb +30 -0
  752. data/plugins/providers/hyperv/action/start_instance.rb +20 -0
  753. data/plugins/providers/hyperv/action/stop_instance.rb +20 -0
  754. data/plugins/providers/hyperv/action/suspend_vm.rb +20 -0
  755. data/plugins/providers/hyperv/action/wait_for_ip_address.rb +62 -0
  756. data/plugins/providers/hyperv/action.rb +326 -0
  757. data/plugins/providers/hyperv/cap/cleanup_disks.rb +92 -0
  758. data/plugins/providers/hyperv/cap/configure_disks.rb +248 -0
  759. data/plugins/providers/hyperv/cap/public_address.rb +18 -0
  760. data/plugins/providers/hyperv/cap/snapshot_list.rb +14 -0
  761. data/plugins/providers/hyperv/cap/validate_disk_ext.rb +37 -0
  762. data/plugins/providers/hyperv/config.rb +148 -0
  763. data/plugins/providers/hyperv/driver.rb +368 -0
  764. data/plugins/providers/hyperv/errors.rb +49 -0
  765. data/plugins/providers/hyperv/plugin.rb +74 -0
  766. data/plugins/providers/hyperv/provider.rb +116 -0
  767. data/plugins/providers/hyperv/scripts/add_dvd.ps1 +18 -0
  768. data/plugins/providers/hyperv/scripts/attach_disk_drive.ps1 +31 -0
  769. data/plugins/providers/hyperv/scripts/check_hyperv.ps1 +11 -0
  770. data/plugins/providers/hyperv/scripts/check_hyperv_access.ps1 +17 -0
  771. data/plugins/providers/hyperv/scripts/clone_vhd.ps1 +21 -0
  772. data/plugins/providers/hyperv/scripts/configure_vm.ps1 +130 -0
  773. data/plugins/providers/hyperv/scripts/create_snapshot.ps1 +27 -0
  774. data/plugins/providers/hyperv/scripts/delete_snapshot.ps1 +19 -0
  775. data/plugins/providers/hyperv/scripts/delete_vm.ps1 +22 -0
  776. data/plugins/providers/hyperv/scripts/dismount_vhd.ps1 +16 -0
  777. data/plugins/providers/hyperv/scripts/export_vm.ps1 +32 -0
  778. data/plugins/providers/hyperv/scripts/file_sync.ps1 +123 -0
  779. data/plugins/providers/hyperv/scripts/get_network_config.ps1 +68 -0
  780. data/plugins/providers/hyperv/scripts/get_network_mac.ps1 +35 -0
  781. data/plugins/providers/hyperv/scripts/get_scsi_controller.ps1 +19 -0
  782. data/plugins/providers/hyperv/scripts/get_switches.ps1 +13 -0
  783. data/plugins/providers/hyperv/scripts/get_vhd.ps1 +19 -0
  784. data/plugins/providers/hyperv/scripts/get_vm_status.ps1 +52 -0
  785. data/plugins/providers/hyperv/scripts/has_vmcx_support.ps1 +12 -0
  786. data/plugins/providers/hyperv/scripts/import_vm.ps1 +40 -0
  787. data/plugins/providers/hyperv/scripts/list_hdds.ps1 +20 -0
  788. data/plugins/providers/hyperv/scripts/list_snapshots.ps1 +22 -0
  789. data/plugins/providers/hyperv/scripts/new_vhd.ps1 +34 -0
  790. data/plugins/providers/hyperv/scripts/remove_disk_drive.ps1 +28 -0
  791. data/plugins/providers/hyperv/scripts/remove_dvd.ps1 +21 -0
  792. data/plugins/providers/hyperv/scripts/resize_disk_drive.ps1 +21 -0
  793. data/plugins/providers/hyperv/scripts/restore_snapshot.ps1 +20 -0
  794. data/plugins/providers/hyperv/scripts/resume_vm.ps1 +19 -0
  795. data/plugins/providers/hyperv/scripts/set_enhanced_session_transport_type.ps1 +36 -0
  796. data/plugins/providers/hyperv/scripts/set_name.ps1 +27 -0
  797. data/plugins/providers/hyperv/scripts/set_network_mac.ps1 +21 -0
  798. data/plugins/providers/hyperv/scripts/set_network_vlan.ps1 +19 -0
  799. data/plugins/providers/hyperv/scripts/set_vm_integration_services.ps1 +30 -0
  800. data/plugins/providers/hyperv/scripts/start_vm.ps1 +29 -0
  801. data/plugins/providers/hyperv/scripts/stop_vm.ps1 +20 -0
  802. data/plugins/providers/hyperv/scripts/suspend_vm.ps1 +19 -0
  803. data/plugins/providers/hyperv/scripts/utils/VagrantMessages/VagrantMessages.psm1 +27 -0
  804. data/plugins/providers/hyperv/scripts/utils/VagrantVM/VagrantVM.psm1 +776 -0
  805. data/plugins/providers/virtualbox/action/boot.rb +26 -0
  806. data/plugins/providers/virtualbox/action/check_accessible.rb +26 -0
  807. data/plugins/providers/virtualbox/action/check_created.rb +24 -0
  808. data/plugins/providers/virtualbox/action/check_guest_additions.rb +58 -0
  809. data/plugins/providers/virtualbox/action/check_running.rb +24 -0
  810. data/plugins/providers/virtualbox/action/check_virtualbox.rb +28 -0
  811. data/plugins/providers/virtualbox/action/clean_machine_folder.rb +55 -0
  812. data/plugins/providers/virtualbox/action/clear_forwarded_ports.rb +23 -0
  813. data/plugins/providers/virtualbox/action/clear_network_interfaces.rb +34 -0
  814. data/plugins/providers/virtualbox/action/created.rb +23 -0
  815. data/plugins/providers/virtualbox/action/customize.rb +48 -0
  816. data/plugins/providers/virtualbox/action/destroy.rb +22 -0
  817. data/plugins/providers/virtualbox/action/destroy_unused_network_interfaces.rb +26 -0
  818. data/plugins/providers/virtualbox/action/discard_state.rb +23 -0
  819. data/plugins/providers/virtualbox/action/export.rb +54 -0
  820. data/plugins/providers/virtualbox/action/forced_halt.rb +28 -0
  821. data/plugins/providers/virtualbox/action/forward_ports.rb +92 -0
  822. data/plugins/providers/virtualbox/action/import.rb +110 -0
  823. data/plugins/providers/virtualbox/action/import_master.rb +83 -0
  824. data/plugins/providers/virtualbox/action/is_paused.rb +23 -0
  825. data/plugins/providers/virtualbox/action/is_running.rb +23 -0
  826. data/plugins/providers/virtualbox/action/is_saved.rb +23 -0
  827. data/plugins/providers/virtualbox/action/match_mac_address.rb +30 -0
  828. data/plugins/providers/virtualbox/action/message_already_running.rb +19 -0
  829. data/plugins/providers/virtualbox/action/message_not_created.rb +19 -0
  830. data/plugins/providers/virtualbox/action/message_not_running.rb +19 -0
  831. data/plugins/providers/virtualbox/action/message_will_not_destroy.rb +20 -0
  832. data/plugins/providers/virtualbox/action/network.rb +638 -0
  833. data/plugins/providers/virtualbox/action/network_fix_ipv6.rb +87 -0
  834. data/plugins/providers/virtualbox/action/package.rb +19 -0
  835. data/plugins/providers/virtualbox/action/package_setup_files.rb +19 -0
  836. data/plugins/providers/virtualbox/action/package_setup_folders.rb +21 -0
  837. data/plugins/providers/virtualbox/action/package_vagrantfile.rb +36 -0
  838. data/plugins/providers/virtualbox/action/prepare_clone_snapshot.rb +69 -0
  839. data/plugins/providers/virtualbox/action/prepare_forwarded_port_collision_params.rb +38 -0
  840. data/plugins/providers/virtualbox/action/prepare_nfs_settings.rb +162 -0
  841. data/plugins/providers/virtualbox/action/prepare_nfs_valid_ids.rb +20 -0
  842. data/plugins/providers/virtualbox/action/resume.rb +28 -0
  843. data/plugins/providers/virtualbox/action/sane_defaults.rb +92 -0
  844. data/plugins/providers/virtualbox/action/set_default_nic_type.rb +72 -0
  845. data/plugins/providers/virtualbox/action/set_name.rb +58 -0
  846. data/plugins/providers/virtualbox/action/setup_package_files.rb +20 -0
  847. data/plugins/providers/virtualbox/action/snapshot_delete.rb +37 -0
  848. data/plugins/providers/virtualbox/action/snapshot_restore.rb +33 -0
  849. data/plugins/providers/virtualbox/action/snapshot_save.rb +28 -0
  850. data/plugins/providers/virtualbox/action/suspend.rb +23 -0
  851. data/plugins/providers/virtualbox/action.rb +433 -0
  852. data/plugins/providers/virtualbox/cap/cleanup_disks.rb +86 -0
  853. data/plugins/providers/virtualbox/cap/configure_disks.rb +441 -0
  854. data/plugins/providers/virtualbox/cap/mount_options.rb +43 -0
  855. data/plugins/providers/virtualbox/cap/public_address.rb +18 -0
  856. data/plugins/providers/virtualbox/cap/validate_disk_ext.rb +37 -0
  857. data/plugins/providers/virtualbox/cap.rb +40 -0
  858. data/plugins/providers/virtualbox/config.rb +211 -0
  859. data/plugins/providers/virtualbox/driver/base.rb +530 -0
  860. data/plugins/providers/virtualbox/driver/meta.rb +212 -0
  861. data/plugins/providers/virtualbox/driver/version_4_0.rb +574 -0
  862. data/plugins/providers/virtualbox/driver/version_4_1.rb +699 -0
  863. data/plugins/providers/virtualbox/driver/version_4_2.rb +713 -0
  864. data/plugins/providers/virtualbox/driver/version_4_3.rb +757 -0
  865. data/plugins/providers/virtualbox/driver/version_5_0.rb +1022 -0
  866. data/plugins/providers/virtualbox/driver/version_5_1.rb +19 -0
  867. data/plugins/providers/virtualbox/driver/version_5_2.rb +19 -0
  868. data/plugins/providers/virtualbox/driver/version_6_0.rb +105 -0
  869. data/plugins/providers/virtualbox/driver/version_6_1.rb +42 -0
  870. data/plugins/providers/virtualbox/driver/version_7_0.rb +306 -0
  871. data/plugins/providers/virtualbox/driver/version_7_1.rb +19 -0
  872. data/plugins/providers/virtualbox/model/forwarded_port.rb +73 -0
  873. data/plugins/providers/virtualbox/model/storage_controller.rb +138 -0
  874. data/plugins/providers/virtualbox/model/storage_controller_array.rb +101 -0
  875. data/plugins/providers/virtualbox/plugin.rb +120 -0
  876. data/plugins/providers/virtualbox/provider.rb +133 -0
  877. data/plugins/providers/virtualbox/synced_folder.rb +153 -0
  878. data/plugins/providers/virtualbox/util/compile_forwarded_ports.rb +40 -0
  879. data/plugins/provisioners/ansible/cap/guest/alpine/ansible_install.rb +47 -0
  880. data/plugins/provisioners/ansible/cap/guest/arch/ansible_install.rb +44 -0
  881. data/plugins/provisioners/ansible/cap/guest/debian/ansible_install.rb +56 -0
  882. data/plugins/provisioners/ansible/cap/guest/facts.rb +27 -0
  883. data/plugins/provisioners/ansible/cap/guest/fedora/ansible_install.rb +43 -0
  884. data/plugins/provisioners/ansible/cap/guest/freebsd/ansible_install.rb +26 -0
  885. data/plugins/provisioners/ansible/cap/guest/pip/pip.rb +49 -0
  886. data/plugins/provisioners/ansible/cap/guest/posix/ansible_installed.rb +28 -0
  887. data/plugins/provisioners/ansible/cap/guest/redhat/ansible_install.rb +75 -0
  888. data/plugins/provisioners/ansible/cap/guest/suse/ansible_install.rb +26 -0
  889. data/plugins/provisioners/ansible/cap/guest/ubuntu/ansible_install.rb +42 -0
  890. data/plugins/provisioners/ansible/config/base.rb +157 -0
  891. data/plugins/provisioners/ansible/config/guest.rb +59 -0
  892. data/plugins/provisioners/ansible/config/host.rb +66 -0
  893. data/plugins/provisioners/ansible/constants.rb +17 -0
  894. data/plugins/provisioners/ansible/errors.rb +43 -0
  895. data/plugins/provisioners/ansible/helpers.rb +20 -0
  896. data/plugins/provisioners/ansible/plugin.rb +88 -0
  897. data/plugins/provisioners/ansible/provisioner/base.rb +405 -0
  898. data/plugins/provisioners/ansible/provisioner/guest.rb +197 -0
  899. data/plugins/provisioners/ansible/provisioner/host.rb +352 -0
  900. data/plugins/provisioners/cfengine/cap/debian/cfengine_install.rb +24 -0
  901. data/plugins/provisioners/cfengine/cap/linux/cfengine_installed.rb +17 -0
  902. data/plugins/provisioners/cfengine/cap/linux/cfengine_needs_bootstrap.rb +37 -0
  903. data/plugins/provisioners/cfengine/cap/redhat/cfengine_install.rb +37 -0
  904. data/plugins/provisioners/cfengine/cap/suse/cfengine_install.rb +21 -0
  905. data/plugins/provisioners/cfengine/config.rb +127 -0
  906. data/plugins/provisioners/cfengine/plugin.rb +50 -0
  907. data/plugins/provisioners/cfengine/provisioner.rb +142 -0
  908. data/plugins/provisioners/chef/cap/debian/chef_install.rb +22 -0
  909. data/plugins/provisioners/chef/cap/freebsd/chef_install.rb +21 -0
  910. data/plugins/provisioners/chef/cap/freebsd/chef_installed.rb +27 -0
  911. data/plugins/provisioners/chef/cap/linux/chef_installed.rb +27 -0
  912. data/plugins/provisioners/chef/cap/omnios/chef_install.rb +23 -0
  913. data/plugins/provisioners/chef/cap/omnios/chef_installed.rb +28 -0
  914. data/plugins/provisioners/chef/cap/redhat/chef_install.rb +27 -0
  915. data/plugins/provisioners/chef/cap/suse/chef_install.rb +30 -0
  916. data/plugins/provisioners/chef/cap/windows/chef_install.rb +19 -0
  917. data/plugins/provisioners/chef/cap/windows/chef_installed.rb +24 -0
  918. data/plugins/provisioners/chef/command_builder.rb +87 -0
  919. data/plugins/provisioners/chef/config/base.rb +139 -0
  920. data/plugins/provisioners/chef/config/base_runner.rb +131 -0
  921. data/plugins/provisioners/chef/config/chef_apply.rb +53 -0
  922. data/plugins/provisioners/chef/config/chef_client.rb +77 -0
  923. data/plugins/provisioners/chef/config/chef_solo.rb +141 -0
  924. data/plugins/provisioners/chef/config/chef_zero.rb +133 -0
  925. data/plugins/provisioners/chef/installer.rb +51 -0
  926. data/plugins/provisioners/chef/omnibus.rb +40 -0
  927. data/plugins/provisioners/chef/plugin.rb +108 -0
  928. data/plugins/provisioners/chef/provisioner/base.rb +258 -0
  929. data/plugins/provisioners/chef/provisioner/chef_apply.rb +74 -0
  930. data/plugins/provisioners/chef/provisioner/chef_client.rb +179 -0
  931. data/plugins/provisioners/chef/provisioner/chef_solo.rb +244 -0
  932. data/plugins/provisioners/chef/provisioner/chef_zero.rb +123 -0
  933. data/plugins/provisioners/container/client.rb +206 -0
  934. data/plugins/provisioners/container/config.rb +86 -0
  935. data/plugins/provisioners/container/installer.rb +16 -0
  936. data/plugins/provisioners/container/plugin.rb +26 -0
  937. data/plugins/provisioners/container/provisioner.rb +31 -0
  938. data/plugins/provisioners/docker/cap/centos/docker_install.rb +44 -0
  939. data/plugins/provisioners/docker/cap/centos/docker_start_service.rb +27 -0
  940. data/plugins/provisioners/docker/cap/debian/docker_install.rb +21 -0
  941. data/plugins/provisioners/docker/cap/debian/docker_start_service.rb +16 -0
  942. data/plugins/provisioners/docker/cap/fedora/docker_install.rb +30 -0
  943. data/plugins/provisioners/docker/cap/linux/docker_configure_vagrant_user.rb +23 -0
  944. data/plugins/provisioners/docker/cap/linux/docker_daemon_running.rb +16 -0
  945. data/plugins/provisioners/docker/cap/linux/docker_installed.rb +29 -0
  946. data/plugins/provisioners/docker/cap/windows/docker_daemon_running.rb +16 -0
  947. data/plugins/provisioners/docker/client.rb +26 -0
  948. data/plugins/provisioners/docker/config.rb +19 -0
  949. data/plugins/provisioners/docker/installer.rb +37 -0
  950. data/plugins/provisioners/docker/plugin.rb +71 -0
  951. data/plugins/provisioners/docker/provisioner.rb +59 -0
  952. data/plugins/provisioners/file/config.rb +32 -0
  953. data/plugins/provisioners/file/plugin.rb +26 -0
  954. data/plugins/provisioners/file/provisioner.rb +46 -0
  955. data/plugins/provisioners/podman/cap/centos/podman_install.rb +38 -0
  956. data/plugins/provisioners/podman/cap/linux/podman_installed.rb +16 -0
  957. data/plugins/provisioners/podman/cap/redhat/podman_install.rb +29 -0
  958. data/plugins/provisioners/podman/client.rb +15 -0
  959. data/plugins/provisioners/podman/config.rb +31 -0
  960. data/plugins/provisioners/podman/installer.rb +36 -0
  961. data/plugins/provisioners/podman/plugin.rb +41 -0
  962. data/plugins/provisioners/podman/provisioner.rb +55 -0
  963. data/plugins/provisioners/puppet/config/puppet.rb +178 -0
  964. data/plugins/provisioners/puppet/config/puppet_server.rb +84 -0
  965. data/plugins/provisioners/puppet/plugin.rb +36 -0
  966. data/plugins/provisioners/puppet/provisioner/puppet.rb +336 -0
  967. data/plugins/provisioners/puppet/provisioner/puppet_server.rb +114 -0
  968. data/plugins/provisioners/salt/bootstrap_downloader.rb +62 -0
  969. data/plugins/provisioners/salt/config.rb +194 -0
  970. data/plugins/provisioners/salt/errors.rb +18 -0
  971. data/plugins/provisioners/salt/plugin.rb +25 -0
  972. data/plugins/provisioners/salt/provisioner.rb +499 -0
  973. data/plugins/provisioners/shell/config.rb +146 -0
  974. data/plugins/provisioners/shell/plugin.rb +26 -0
  975. data/plugins/provisioners/shell/provisioner.rb +368 -0
  976. data/plugins/pushes/atlas/config.rb +151 -0
  977. data/plugins/pushes/atlas/errors.rb +16 -0
  978. data/plugins/pushes/atlas/locales/en.yml +25 -0
  979. data/plugins/pushes/atlas/plugin.rb +38 -0
  980. data/plugins/pushes/atlas/push.rb +87 -0
  981. data/plugins/pushes/ftp/adapter.rb +147 -0
  982. data/plugins/pushes/ftp/config.rb +133 -0
  983. data/plugins/pushes/ftp/errors.rb +16 -0
  984. data/plugins/pushes/ftp/locales/en.yml +19 -0
  985. data/plugins/pushes/ftp/plugin.rb +36 -0
  986. data/plugins/pushes/ftp/push.rb +137 -0
  987. data/plugins/pushes/heroku/config.rb +77 -0
  988. data/plugins/pushes/heroku/errors.rb +24 -0
  989. data/plugins/pushes/heroku/locales/en.yml +33 -0
  990. data/plugins/pushes/heroku/plugin.rb +36 -0
  991. data/plugins/pushes/heroku/push.rb +147 -0
  992. data/plugins/pushes/local-exec/config.rb +80 -0
  993. data/plugins/pushes/local-exec/errors.rb +16 -0
  994. data/plugins/pushes/local-exec/locales/en.yml +26 -0
  995. data/plugins/pushes/local-exec/plugin.rb +36 -0
  996. data/plugins/pushes/local-exec/push.rb +91 -0
  997. data/plugins/pushes/noop/config.rb +19 -0
  998. data/plugins/pushes/noop/plugin.rb +25 -0
  999. data/plugins/pushes/noop/push.rb +12 -0
  1000. data/plugins/synced_folders/nfs/action_cleanup.rb +32 -0
  1001. data/plugins/synced_folders/nfs/config.rb +35 -0
  1002. data/plugins/synced_folders/nfs/plugin.rb +49 -0
  1003. data/plugins/synced_folders/nfs/synced_folder.rb +171 -0
  1004. data/plugins/synced_folders/rsync/command/rsync.rb +81 -0
  1005. data/plugins/synced_folders/rsync/command/rsync_auto.rb +244 -0
  1006. data/plugins/synced_folders/rsync/default_unix_cap.rb +49 -0
  1007. data/plugins/synced_folders/rsync/helper.rb +296 -0
  1008. data/plugins/synced_folders/rsync/plugin.rb +31 -0
  1009. data/plugins/synced_folders/rsync/synced_folder.rb +62 -0
  1010. data/plugins/synced_folders/smb/cap/default_fstab_modification.rb +14 -0
  1011. data/plugins/synced_folders/smb/cap/mount_options.rb +59 -0
  1012. data/plugins/synced_folders/smb/config.rb +26 -0
  1013. data/plugins/synced_folders/smb/errors.rb +65 -0
  1014. data/plugins/synced_folders/smb/plugin.rb +60 -0
  1015. data/plugins/synced_folders/smb/synced_folder.rb +189 -0
  1016. data/plugins/synced_folders/unix_mount_helpers.rb +122 -0
  1017. data/scripts/install_rvm +19 -0
  1018. data/scripts/setup_tests +49 -0
  1019. data/scripts/sign.sh +29 -0
  1020. data/scripts/website_push_www.sh +43 -0
  1021. data/tasks/acceptance.rake +14 -105
  1022. data/tasks/test.rake +1 -13
  1023. data/templates/commands/init/Vagrantfile.erb +65 -78
  1024. data/templates/commands/init/Vagrantfile.min.erb +12 -0
  1025. data/templates/commands/ssh_config/config.erb +28 -1
  1026. data/templates/commands/winrm_config/config.erb +11 -0
  1027. data/templates/config/messages.erb +14 -0
  1028. data/templates/config/validation_failed.erb +3 -3
  1029. data/templates/guests/alpine/network_dhcp.erb +13 -0
  1030. data/templates/guests/alpine/network_static.erb +7 -0
  1031. data/templates/guests/alt/network_dhcp.erb +7 -0
  1032. data/templates/guests/alt/network_ipv4address.erb +3 -0
  1033. data/templates/guests/alt/network_ipv4route.erb +5 -0
  1034. data/templates/guests/alt/network_static.erb +7 -0
  1035. data/templates/guests/arch/default_network/network_dhcp.erb +4 -0
  1036. data/templates/guests/arch/default_network/network_static.erb +8 -0
  1037. data/templates/guests/arch/default_network/network_static6.erb +8 -0
  1038. data/templates/guests/arch/systemd_networkd/network_dhcp.erb +6 -0
  1039. data/templates/guests/arch/systemd_networkd/network_static.erb +9 -0
  1040. data/templates/guests/arch/systemd_networkd/network_static6.erb +9 -0
  1041. data/templates/guests/coreos/etcd.service.erb +10 -0
  1042. data/templates/guests/debian/network_dhcp.erb +10 -3
  1043. data/templates/guests/debian/network_static.erb +5 -2
  1044. data/templates/guests/debian/network_static6.erb +10 -0
  1045. data/templates/guests/freebsd/network_dhcp.erb +2 -1
  1046. data/templates/guests/freebsd/network_static.erb +4 -1
  1047. data/templates/guests/freebsd/network_static6.erb +6 -0
  1048. data/templates/guests/funtoo/network_dhcp.erb +4 -0
  1049. data/templates/guests/funtoo/network_static.erb +10 -0
  1050. data/templates/guests/funtoo/network_static6.erb +9 -0
  1051. data/templates/guests/gentoo/network_dhcp.erb +1 -1
  1052. data/templates/guests/gentoo/network_static.erb +5 -1
  1053. data/templates/guests/gentoo/network_static6.erb +8 -0
  1054. data/templates/guests/gentoo/network_systemd.erb +16 -0
  1055. data/templates/guests/linux/etc_fstab.erb +6 -0
  1056. data/templates/guests/netbsd/network_dhcp.erb +3 -0
  1057. data/templates/guests/netbsd/network_static.erb +3 -0
  1058. data/templates/guests/nixos/hostname.erb +6 -0
  1059. data/templates/guests/nixos/network.erb +15 -0
  1060. data/templates/guests/openbsd/network_dhcp.erb +1 -0
  1061. data/templates/guests/openbsd/network_static.erb +1 -0
  1062. data/templates/guests/openbsd/network_static6.erb +1 -0
  1063. data/templates/guests/redhat/network_dhcp.erb +2 -1
  1064. data/templates/guests/redhat/network_static.erb +11 -2
  1065. data/templates/guests/redhat/network_static6.erb +12 -0
  1066. data/templates/guests/slackware/network_dhcp.erb +11 -0
  1067. data/templates/guests/slackware/network_static.erb +13 -0
  1068. data/templates/guests/suse/network_dhcp.erb +6 -0
  1069. data/templates/guests/suse/network_static.erb +13 -0
  1070. data/templates/guests/suse/network_static6.erb +16 -0
  1071. data/templates/license/license.html.tmpl +127 -0
  1072. data/templates/license/license.rtf.tmpl +0 -0
  1073. data/templates/license/license.tmpl +92 -0
  1074. data/templates/locales/comm_winrm.yml +85 -0
  1075. data/templates/locales/command_ps.yml +35 -0
  1076. data/templates/locales/command_rdp.yml +28 -0
  1077. data/templates/locales/en.yml +2689 -299
  1078. data/templates/locales/guest_windows.yml +26 -0
  1079. data/templates/locales/providers_docker.yml +321 -0
  1080. data/templates/locales/providers_hyperv.yml +111 -0
  1081. data/templates/locales/synced_folder_smb.yml +98 -0
  1082. data/templates/networking/network_manager/network_manager_device.erb +41 -0
  1083. data/templates/nfs/exports_bsd.erb +5 -0
  1084. data/templates/nfs/exports_darwin.erb +7 -0
  1085. data/templates/nfs/exports_linux.erb +5 -3
  1086. data/templates/provisioners/chef_client/client.erb +11 -2
  1087. data/templates/provisioners/chef_solo/solo.erb +32 -5
  1088. data/templates/provisioners/chef_zero/zero.erb +45 -0
  1089. data/templates/rgloader.rb +12 -0
  1090. data/vagrant-spec.config.example.rb +13 -0
  1091. data/vagrant.gemspec +63 -19
  1092. data/version.txt +1 -0
  1093. metadata +1443 -477
  1094. data/config/default.rb +0 -30
  1095. data/lib/vagrant/action/box/destroy.rb +0 -25
  1096. data/lib/vagrant/action/box/download.rb +0 -84
  1097. data/lib/vagrant/action/box/package.rb +0 -19
  1098. data/lib/vagrant/action/box/unpackage.rb +0 -61
  1099. data/lib/vagrant/action/box/verify.rb +0 -23
  1100. data/lib/vagrant/action/builtin.rb +0 -171
  1101. data/lib/vagrant/action/env/set.rb +0 -21
  1102. data/lib/vagrant/action/environment.rb +0 -12
  1103. data/lib/vagrant/action/general/check_virtualbox.rb +0 -28
  1104. data/lib/vagrant/action/general/validate.rb +0 -18
  1105. data/lib/vagrant/action/vm/boot.rb +0 -53
  1106. data/lib/vagrant/action/vm/check_accessible.rb +0 -23
  1107. data/lib/vagrant/action/vm/check_box.rb +0 -33
  1108. data/lib/vagrant/action/vm/check_guest_additions.rb +0 -38
  1109. data/lib/vagrant/action/vm/check_port_collisions.rb +0 -89
  1110. data/lib/vagrant/action/vm/clean_machine_folder.rb +0 -43
  1111. data/lib/vagrant/action/vm/clear_forwarded_ports.rb +0 -18
  1112. data/lib/vagrant/action/vm/clear_network_interfaces.rb +0 -31
  1113. data/lib/vagrant/action/vm/clear_shared_folders.rb +0 -18
  1114. data/lib/vagrant/action/vm/customize.rb +0 -36
  1115. data/lib/vagrant/action/vm/default_name.rb +0 -22
  1116. data/lib/vagrant/action/vm/destroy.rb +0 -19
  1117. data/lib/vagrant/action/vm/destroy_unused_network_interfaces.rb +0 -20
  1118. data/lib/vagrant/action/vm/discard_state.rb +0 -22
  1119. data/lib/vagrant/action/vm/export.rb +0 -57
  1120. data/lib/vagrant/action/vm/forward_ports.rb +0 -92
  1121. data/lib/vagrant/action/vm/halt.rb +0 -32
  1122. data/lib/vagrant/action/vm/host_name.rb +0 -21
  1123. data/lib/vagrant/action/vm/import.rb +0 -48
  1124. data/lib/vagrant/action/vm/match_mac_address.rb +0 -21
  1125. data/lib/vagrant/action/vm/network.rb +0 -403
  1126. data/lib/vagrant/action/vm/nfs.rb +0 -196
  1127. data/lib/vagrant/action/vm/package.rb +0 -23
  1128. data/lib/vagrant/action/vm/package_vagrantfile.rb +0 -36
  1129. data/lib/vagrant/action/vm/provision.rb +0 -61
  1130. data/lib/vagrant/action/vm/provisioner_cleanup.rb +0 -26
  1131. data/lib/vagrant/action/vm/prune_nfs_exports.rb +0 -20
  1132. data/lib/vagrant/action/vm/resume.rb +0 -20
  1133. data/lib/vagrant/action/vm/sane_defaults.rb +0 -78
  1134. data/lib/vagrant/action/vm/setup_package_files.rb +0 -54
  1135. data/lib/vagrant/action/vm/share_folders.rb +0 -114
  1136. data/lib/vagrant/action/vm/suspend.rb +0 -20
  1137. data/lib/vagrant/command/base.rb +0 -167
  1138. data/lib/vagrant/command/box.rb +0 -58
  1139. data/lib/vagrant/command/box_add.rb +0 -37
  1140. data/lib/vagrant/command/box_list.rb +0 -28
  1141. data/lib/vagrant/command/box_remove.rb +0 -27
  1142. data/lib/vagrant/command/box_repackage.rb +0 -27
  1143. data/lib/vagrant/command/destroy.rb +0 -64
  1144. data/lib/vagrant/command/gem.rb +0 -39
  1145. data/lib/vagrant/command/halt.rb +0 -39
  1146. data/lib/vagrant/command/init.rb +0 -40
  1147. data/lib/vagrant/command/package.rb +0 -75
  1148. data/lib/vagrant/command/provision.rb +0 -40
  1149. data/lib/vagrant/command/reload.rb +0 -39
  1150. data/lib/vagrant/command/resume.rb +0 -33
  1151. data/lib/vagrant/command/ssh.rb +0 -90
  1152. data/lib/vagrant/command/ssh_config.rb +0 -51
  1153. data/lib/vagrant/command/start_mixins.rb +0 -26
  1154. data/lib/vagrant/command/status.rb +0 -36
  1155. data/lib/vagrant/command/suspend.rb +0 -33
  1156. data/lib/vagrant/command/up.rb +0 -40
  1157. data/lib/vagrant/command.rb +0 -24
  1158. data/lib/vagrant/communication/base.rb +0 -56
  1159. data/lib/vagrant/communication/ssh.rb +0 -230
  1160. data/lib/vagrant/communication.rb +0 -7
  1161. data/lib/vagrant/config/base.rb +0 -82
  1162. data/lib/vagrant/config/container.rb +0 -37
  1163. data/lib/vagrant/config/error_recorder.rb +0 -19
  1164. data/lib/vagrant/config/nfs.rb +0 -8
  1165. data/lib/vagrant/config/package.rb +0 -7
  1166. data/lib/vagrant/config/ssh.rb +0 -27
  1167. data/lib/vagrant/config/top.rb +0 -72
  1168. data/lib/vagrant/config/vagrant.rb +0 -14
  1169. data/lib/vagrant/config/vm/provisioner.rb +0 -52
  1170. data/lib/vagrant/config/vm/sub_vm.rb +0 -17
  1171. data/lib/vagrant/config/vm.rb +0 -168
  1172. data/lib/vagrant/data_store.rb +0 -92
  1173. data/lib/vagrant/downloaders/base.rb +0 -25
  1174. data/lib/vagrant/downloaders/file.rb +0 -22
  1175. data/lib/vagrant/downloaders/http.rb +0 -97
  1176. data/lib/vagrant/downloaders.rb +0 -7
  1177. data/lib/vagrant/driver/virtualbox.rb +0 -134
  1178. data/lib/vagrant/driver/virtualbox_4_0.rb +0 -459
  1179. data/lib/vagrant/driver/virtualbox_4_1.rb +0 -459
  1180. data/lib/vagrant/driver/virtualbox_4_2.rb +0 -606
  1181. data/lib/vagrant/driver/virtualbox_base.rb +0 -326
  1182. data/lib/vagrant/driver.rb +0 -8
  1183. data/lib/vagrant/guest/arch.rb +0 -56
  1184. data/lib/vagrant/guest/base.rb +0 -99
  1185. data/lib/vagrant/guest/debian.rb +0 -64
  1186. data/lib/vagrant/guest/fedora.rb +0 -66
  1187. data/lib/vagrant/guest/freebsd.rb +0 -86
  1188. data/lib/vagrant/guest/gentoo.rb +0 -46
  1189. data/lib/vagrant/guest/linux/config.rb +0 -19
  1190. data/lib/vagrant/guest/linux/error.rb +0 -9
  1191. data/lib/vagrant/guest/linux.rb +0 -118
  1192. data/lib/vagrant/guest/openbsd.rb +0 -20
  1193. data/lib/vagrant/guest/redhat.rb +0 -67
  1194. data/lib/vagrant/guest/solaris.rb +0 -118
  1195. data/lib/vagrant/guest/suse.rb +0 -17
  1196. data/lib/vagrant/guest/ubuntu.rb +0 -23
  1197. data/lib/vagrant/hosts/arch.rb +0 -55
  1198. data/lib/vagrant/hosts/base.rb +0 -66
  1199. data/lib/vagrant/hosts/bsd.rb +0 -97
  1200. data/lib/vagrant/hosts/fedora.rb +0 -47
  1201. data/lib/vagrant/hosts/freebsd.rb +0 -41
  1202. data/lib/vagrant/hosts/gentoo.rb +0 -20
  1203. data/lib/vagrant/hosts/linux.rb +0 -94
  1204. data/lib/vagrant/hosts/opensuse.rb +0 -30
  1205. data/lib/vagrant/hosts/windows.rb +0 -16
  1206. data/lib/vagrant/hosts.rb +0 -37
  1207. data/lib/vagrant/provisioners/base.rb +0 -44
  1208. data/lib/vagrant/provisioners/chef.rb +0 -168
  1209. data/lib/vagrant/provisioners/chef_client.rb +0 -132
  1210. data/lib/vagrant/provisioners/chef_solo.rb +0 -234
  1211. data/lib/vagrant/provisioners/puppet.rb +0 -176
  1212. data/lib/vagrant/provisioners/puppet_server.rb +0 -78
  1213. data/lib/vagrant/provisioners/shell.rb +0 -103
  1214. data/lib/vagrant/provisioners.rb +0 -12
  1215. data/lib/vagrant/ssh.rb +0 -126
  1216. data/lib/vagrant/test_helpers.rb +0 -154
  1217. data/lib/vagrant/vm.rb +0 -195
  1218. data/templates/guests/arch/network_dhcp.erb +0 -7
  1219. data/templates/guests/arch/network_static.erb +0 -7
  1220. data/templates/guests/fedora/network_dhcp.erb +0 -6
  1221. data/templates/guests/fedora/network_static.erb +0 -13
  1222. data/templates/nfs/exports.erb +0 -5
  1223. data/templates/nfs/exports_freebsd.erb +0 -5
  1224. data/test/acceptance/base.rb +0 -48
  1225. data/test/acceptance/box_test.rb +0 -99
  1226. data/test/acceptance/destroy_test.rb +0 -37
  1227. data/test/acceptance/halt_test.rb +0 -72
  1228. data/test/acceptance/init_test.rb +0 -33
  1229. data/test/acceptance/networking/host_only_test.rb +0 -37
  1230. data/test/acceptance/networking/port_forward_test.rb +0 -125
  1231. data/test/acceptance/package_test.rb +0 -46
  1232. data/test/acceptance/provisioning/basic_test.rb +0 -61
  1233. data/test/acceptance/provisioning/chef_solo_test.rb +0 -37
  1234. data/test/acceptance/provisioning/shell_test.rb +0 -53
  1235. data/test/acceptance/resume_test.rb +0 -17
  1236. data/test/acceptance/shared_folders_test.rb +0 -84
  1237. data/test/acceptance/skeletons/chef_solo_basic/README.md +0 -3
  1238. data/test/acceptance/skeletons/chef_solo_basic/cookbooks/basic/recipes/default.rb +0 -5
  1239. data/test/acceptance/skeletons/chef_solo_json/README.md +0 -3
  1240. data/test/acceptance/skeletons/chef_solo_json/cookbooks/basic/recipes/default.rb +0 -6
  1241. data/test/acceptance/skeletons/provisioner_multi/README.md +0 -3
  1242. data/test/acceptance/skeletons/provisioner_multi/cookbooks/basic/recipes/default.rb +0 -5
  1243. data/test/acceptance/ssh_test.rb +0 -46
  1244. data/test/acceptance/support/config.rb +0 -42
  1245. data/test/acceptance/support/isolated_environment.rb +0 -117
  1246. data/test/acceptance/support/matchers/have_color.rb +0 -9
  1247. data/test/acceptance/support/matchers/match_output.rb +0 -14
  1248. data/test/acceptance/support/matchers/succeed.rb +0 -14
  1249. data/test/acceptance/support/network_tests.rb +0 -29
  1250. data/test/acceptance/support/output.rb +0 -95
  1251. data/test/acceptance/support/shared/base_context.rb +0 -72
  1252. data/test/acceptance/support/shared/command_examples.rb +0 -33
  1253. data/test/acceptance/support/virtualbox.rb +0 -36
  1254. data/test/acceptance/suspend_test.rb +0 -56
  1255. data/test/acceptance/up_basic_test.rb +0 -33
  1256. data/test/acceptance/up_with_box_url.rb +0 -40
  1257. data/test/acceptance/vagrant_test.rb +0 -47
  1258. data/test/acceptance/version_test.rb +0 -15
  1259. data/test/buildbot/README.md +0 -72
  1260. data/test/buildbot/buildbot_config/config/__init__.py +0 -0
  1261. data/test/buildbot/buildbot_config/config/loader.py +0 -24
  1262. data/test/buildbot/buildbot_config/config/master.py +0 -24
  1263. data/test/buildbot/buildbot_config/config/slave.py +0 -22
  1264. data/test/buildbot/buildbot_config/master/__init__.py +0 -6
  1265. data/test/buildbot/buildbot_config/master/builders.py +0 -78
  1266. data/test/buildbot/buildbot_config/master/buildsteps.py +0 -100
  1267. data/test/buildbot/buildbot_config/master/change_sources.py +0 -8
  1268. data/test/buildbot/buildbot_config/master/schedulers.py +0 -32
  1269. data/test/buildbot/buildbot_config/master/slaves.py +0 -60
  1270. data/test/buildbot/buildbot_config/master/status.py +0 -52
  1271. data/test/buildbot/master/Makefile.sample +0 -28
  1272. data/test/buildbot/master/buildbot.tac +0 -36
  1273. data/test/buildbot/master/master.cfg +0 -67
  1274. data/test/buildbot/master/public_html/bg_gradient.jpg +0 -0
  1275. data/test/buildbot/master/public_html/default.css +0 -545
  1276. data/test/buildbot/master/public_html/favicon.ico +0 -0
  1277. data/test/buildbot/master/public_html/robots.txt +0 -10
  1278. data/test/buildbot/master/public_html/static/css/bootstrap-1.4.0.min.css +0 -356
  1279. data/test/buildbot/master/public_html/static/css/prettify.css +0 -97
  1280. data/test/buildbot/master/public_html/static/css/syntax.css +0 -60
  1281. data/test/buildbot/master/public_html/static/css/vagrant.base.css +0 -205
  1282. data/test/buildbot/master/public_html/static/images/base_box_mac.jpg +0 -0
  1283. data/test/buildbot/master/public_html/static/images/getting-started/success.jpg +0 -0
  1284. data/test/buildbot/master/public_html/static/images/icons/error.png +0 -0
  1285. data/test/buildbot/master/public_html/static/images/vagrant_chilling.png +0 -0
  1286. data/test/buildbot/master/public_html/static/images/vagrant_holding.png +0 -0
  1287. data/test/buildbot/master/public_html/static/images/vagrant_looking.png +0 -0
  1288. data/test/buildbot/master/public_html/static/images/windows/alter_path.jpg +0 -0
  1289. data/test/buildbot/master/public_html/static/images/windows/edit_path.jpg +0 -0
  1290. data/test/buildbot/master/public_html/static/images/windows/environment_variables_button.jpg +0 -0
  1291. data/test/buildbot/master/public_html/static/images/windows/port_and_ppk_path.jpg +0 -0
  1292. data/test/buildbot/master/public_html/static/images/windows/ppk_selection.jpg +0 -0
  1293. data/test/buildbot/master/public_html/static/images/windows/putty_first_screen.jpg +0 -0
  1294. data/test/buildbot/master/public_html/static/images/windows/save_result.jpg +0 -0
  1295. data/test/buildbot/master/public_html/static/images/windows/vbox_manage_default_location.jpg +0 -0
  1296. data/test/buildbot/master/public_html/static/js/bootstrap-tabs.js +0 -80
  1297. data/test/buildbot/master/public_html/static/js/jquery-1.7.min.js +0 -4
  1298. data/test/buildbot/master/templates/authfail.html +0 -9
  1299. data/test/buildbot/master/templates/build.html +0 -205
  1300. data/test/buildbot/master/templates/builder.html +0 -118
  1301. data/test/buildbot/master/templates/builders.html +0 -33
  1302. data/test/buildbot/master/templates/buildslave.html +0 -72
  1303. data/test/buildbot/master/templates/buildslaves.html +0 -70
  1304. data/test/buildbot/master/templates/change.html +0 -15
  1305. data/test/buildbot/master/templates/layouts/base.html +0 -58
  1306. data/test/buildbot/master/templates/macros/box.html +0 -37
  1307. data/test/buildbot/master/templates/macros/build_line.html +0 -50
  1308. data/test/buildbot/master/templates/macros/change.html +0 -81
  1309. data/test/buildbot/master/templates/macros/forms.html +0 -300
  1310. data/test/buildbot/master/templates/root.html +0 -42
  1311. data/test/buildbot/master/templates/waterfall.html +0 -53
  1312. data/test/buildbot/requirements.txt +0 -4
  1313. data/test/buildbot/scripts/deploy.sh +0 -38
  1314. data/test/buildbot/scripts/setup.sh +0 -107
  1315. data/test/buildbot/slave/buildbot.tac +0 -43
  1316. data/test/buildbot/slave/info/admin +0 -1
  1317. data/test/buildbot/slave/info/host +0 -1
  1318. data/test/buildbot/tests/__init__.py +0 -0
  1319. data/test/buildbot/tests/master/__init__.py +0 -0
  1320. data/test/buildbot/tests/master/test_slaves.py +0 -41
  1321. data/test/buildbot/vendor/choices-0.4.0.tar.gz +0 -0
  1322. data/test/config/acceptance_boxes.yml +0 -7
  1323. data/test/support/isolated_environment.rb +0 -46
  1324. data/test/support/tempdir.rb +0 -34
  1325. data/test/unit/base.rb +0 -21
  1326. data/test/unit/support/isolated_environment.rb +0 -47
  1327. data/test/unit/support/shared/base_context.rb +0 -30
  1328. data/test/unit/vagrant/action/builder_test.rb +0 -156
  1329. data/test/unit/vagrant/action/environment_test.rb +0 -16
  1330. data/test/unit/vagrant/action/runner_test.rb +0 -65
  1331. data/test/unit/vagrant/action/warden_test.rb +0 -92
  1332. data/test/unit/vagrant/box_collection_test.rb +0 -56
  1333. data/test/unit/vagrant/box_test.rb +0 -34
  1334. data/test/unit/vagrant/command/base_test.rb +0 -150
  1335. data/test/unit/vagrant/config/base_test.rb +0 -48
  1336. data/test/unit/vagrant/config/loader_test.rb +0 -79
  1337. data/test/unit/vagrant/config/ssh_test.rb +0 -17
  1338. data/test/unit/vagrant/config/top_test.rb +0 -69
  1339. data/test/unit/vagrant/config/vm_test.rb +0 -71
  1340. data/test/unit/vagrant/config_test.rb +0 -27
  1341. data/test/unit/vagrant/data_store_test.rb +0 -79
  1342. data/test/unit/vagrant/downloaders/base_test.rb +0 -18
  1343. data/test/unit/vagrant/downloaders/file_test.rb +0 -75
  1344. data/test/unit/vagrant/downloaders/http_test.rb +0 -19
  1345. data/test/unit/vagrant/environment_test.rb +0 -220
  1346. data/test/unit/vagrant/hosts_test.rb +0 -36
  1347. data/test/unit/vagrant/registry_test.rb +0 -74
  1348. data/test/unit/vagrant/util/ansi_escape_code_remover_test.rb +0 -16
  1349. data/test/unit/vagrant/util/file_checksum_test.rb +0 -23
  1350. data/test/unit/vagrant/util/hash_with_indifferent_access_test.rb +0 -38
  1351. data/test/unit/vagrant/util/is_port_open_test.rb +0 -53
  1352. data/test/unit/vagrant/util/line_endings_helper_test.rb +0 -16
  1353. data/test/unit/vagrant/util/network_ip_test.rb +0 -17
  1354. data/test/unit/vagrant/util/retryable_test.rb +0 -106
  1355. data/test/unit/vagrant_test.rb +0 -27
  1356. data/test/unit_legacy/locales/en.yml +0 -8
  1357. data/test/unit_legacy/test_helper.rb +0 -32
  1358. data/test/unit_legacy/vagrant/action/box/destroy_test.rb +0 -18
  1359. data/test/unit_legacy/vagrant/action/box/download_test.rb +0 -125
  1360. data/test/unit_legacy/vagrant/action/box/package_test.rb +0 -25
  1361. data/test/unit_legacy/vagrant/action/box/unpackage_test.rb +0 -84
  1362. data/test/unit_legacy/vagrant/action/box/verify_test.rb +0 -30
  1363. data/test/unit_legacy/vagrant/action/env/set_test.rb +0 -24
  1364. data/test/unit_legacy/vagrant/action/general/package_test.rb +0 -268
  1365. data/test/unit_legacy/vagrant/action/general/validate_test.rb +0 -31
  1366. data/test/unit_legacy/vagrant/action/vm/boot_test.rb +0 -66
  1367. data/test/unit_legacy/vagrant/action/vm/check_accessible_test.rb +0 -61
  1368. data/test/unit_legacy/vagrant/action/vm/check_box_test.rb +0 -61
  1369. data/test/unit_legacy/vagrant/action/vm/check_guest_additions_test.rb +0 -9
  1370. data/test/unit_legacy/vagrant/action/vm/clean_machine_folder_test.rb +0 -84
  1371. data/test/unit_legacy/vagrant/action/vm/clear_forwarded_ports_test.rb +0 -52
  1372. data/test/unit_legacy/vagrant/action/vm/clear_nfs_exports_test.rb +0 -22
  1373. data/test/unit_legacy/vagrant/action/vm/clear_shared_folders_test.rb +0 -40
  1374. data/test/unit_legacy/vagrant/action/vm/customize_test.rb +0 -37
  1375. data/test/unit_legacy/vagrant/action/vm/destroy_test.rb +0 -25
  1376. data/test/unit_legacy/vagrant/action/vm/destroy_unused_network_interfaces_test.rb +0 -49
  1377. data/test/unit_legacy/vagrant/action/vm/discard_state_test.rb +0 -45
  1378. data/test/unit_legacy/vagrant/action/vm/export_test.rb +0 -107
  1379. data/test/unit_legacy/vagrant/action/vm/forward_ports_helpers_test.rb +0 -77
  1380. data/test/unit_legacy/vagrant/action/vm/forward_ports_test.rb +0 -197
  1381. data/test/unit_legacy/vagrant/action/vm/halt_test.rb +0 -79
  1382. data/test/unit_legacy/vagrant/action/vm/host_name_test.rb +0 -36
  1383. data/test/unit_legacy/vagrant/action/vm/import_test.rb +0 -66
  1384. data/test/unit_legacy/vagrant/action/vm/match_mac_address_test.rb +0 -40
  1385. data/test/unit_legacy/vagrant/action/vm/modify_test.rb +0 -38
  1386. data/test/unit_legacy/vagrant/action/vm/network_test.rb +0 -286
  1387. data/test/unit_legacy/vagrant/action/vm/nfs_helpers_test.rb +0 -26
  1388. data/test/unit_legacy/vagrant/action/vm/nfs_test.rb +0 -260
  1389. data/test/unit_legacy/vagrant/action/vm/package_test.rb +0 -25
  1390. data/test/unit_legacy/vagrant/action/vm/package_vagrantfile_test.rb +0 -46
  1391. data/test/unit_legacy/vagrant/action/vm/provision_test.rb +0 -65
  1392. data/test/unit_legacy/vagrant/action/vm/provisioner_cleanup_test.rb +0 -56
  1393. data/test/unit_legacy/vagrant/action/vm/resume_test.rb +0 -35
  1394. data/test/unit_legacy/vagrant/action/vm/share_folders_test.rb +0 -144
  1395. data/test/unit_legacy/vagrant/action/vm/suspend_test.rb +0 -35
  1396. data/test/unit_legacy/vagrant/action_test.rb +0 -89
  1397. data/test/unit_legacy/vagrant/box_collection_test.rb +0 -45
  1398. data/test/unit_legacy/vagrant/box_test.rb +0 -74
  1399. data/test/unit_legacy/vagrant/cli_test.rb +0 -35
  1400. data/test/unit_legacy/vagrant/command/base_test.rb +0 -23
  1401. data/test/unit_legacy/vagrant/command/group_base_test.rb +0 -15
  1402. data/test/unit_legacy/vagrant/command/helpers_test.rb +0 -88
  1403. data/test/unit_legacy/vagrant/command/init_test.rb +0 -10
  1404. data/test/unit_legacy/vagrant/command/package_test.rb +0 -27
  1405. data/test/unit_legacy/vagrant/config/base_test.rb +0 -52
  1406. data/test/unit_legacy/vagrant/config/error_recorder_test.rb +0 -18
  1407. data/test/unit_legacy/vagrant/config/ssh_test.rb +0 -12
  1408. data/test/unit_legacy/vagrant/config/vagrant_test.rb +0 -35
  1409. data/test/unit_legacy/vagrant/config/vm/provisioner_test.rb +0 -92
  1410. data/test/unit_legacy/vagrant/config/vm_test.rb +0 -47
  1411. data/test/unit_legacy/vagrant/config_test.rb +0 -148
  1412. data/test/unit_legacy/vagrant/downloaders/http_test.rb +0 -93
  1413. data/test/unit_legacy/vagrant/environment_test.rb +0 -539
  1414. data/test/unit_legacy/vagrant/errors_test.rb +0 -42
  1415. data/test/unit_legacy/vagrant/hosts/base_test.rb +0 -46
  1416. data/test/unit_legacy/vagrant/hosts/bsd_test.rb +0 -53
  1417. data/test/unit_legacy/vagrant/hosts/linux_test.rb +0 -54
  1418. data/test/unit_legacy/vagrant/plugin_test.rb +0 -9
  1419. data/test/unit_legacy/vagrant/provisioners/base_test.rb +0 -63
  1420. data/test/unit_legacy/vagrant/provisioners/chef_client_test.rb +0 -190
  1421. data/test/unit_legacy/vagrant/provisioners/chef_solo_test.rb +0 -115
  1422. data/test/unit_legacy/vagrant/provisioners/chef_test.rb +0 -209
  1423. data/test/unit_legacy/vagrant/provisioners/puppet_server_test.rb +0 -68
  1424. data/test/unit_legacy/vagrant/provisioners/puppet_test.rb +0 -182
  1425. data/test/unit_legacy/vagrant/provisioners/shell_test.rb +0 -79
  1426. data/test/unit_legacy/vagrant/ssh/session_test.rb +0 -40
  1427. data/test/unit_legacy/vagrant/ssh_test.rb +0 -304
  1428. data/test/unit_legacy/vagrant/systems/base_test.rb +0 -18
  1429. data/test/unit_legacy/vagrant/systems/linux_test.rb +0 -104
  1430. data/test/unit_legacy/vagrant/util/busy_test.rb +0 -106
  1431. data/test/unit_legacy/vagrant/util/counter_test.rb +0 -29
  1432. data/test/unit_legacy/vagrant/util/platform_test.rb +0 -18
  1433. data/test/unit_legacy/vagrant/util/stacked_proc_runner_test.rb +0 -43
  1434. data/test/unit_legacy/vagrant/util/template_renderer_test.rb +0 -145
  1435. data/test/unit_legacy/vagrant/vm_test.rb +0 -300
  1436. /data/{test/buildbot/buildbot_config/__init__.py → .gitmodules} +0 -0
@@ -1,326 +0,0 @@
1
- require 'log4r'
2
-
3
- require 'vagrant/util/busy'
4
- require 'vagrant/util/platform'
5
- require 'vagrant/util/retryable'
6
- require 'vagrant/util/subprocess'
7
-
8
- module Vagrant
9
- module Driver
10
- # Base class for all VirtualBox drivers.
11
- #
12
- # This class provides useful tools for things such as executing
13
- # VBoxManage and handling SIGINTs and so on.
14
- class VirtualBoxBase
15
- # Include this so we can use `Subprocess` more easily.
16
- include Vagrant::Util
17
- include Vagrant::Util::Retryable
18
-
19
- def initialize
20
- @logger = Log4r::Logger.new("vagrant::driver::virtualbox_base")
21
-
22
- # This flag is used to keep track of interrupted state (SIGINT)
23
- @interrupted = false
24
-
25
- # Set the path to VBoxManage
26
- @vboxmanage_path = "VBoxManage"
27
-
28
- if Util::Platform.windows?
29
- @logger.debug("Windows. Trying VBOX_INSTALL_PATH for VBoxManage")
30
-
31
- # On Windows, we use the VBOX_INSTALL_PATH environmental
32
- # variable to find VBoxManage.
33
- if ENV.has_key?("VBOX_INSTALL_PATH")
34
- # The path usually ends with a \ but we make sure here
35
- path = ENV["VBOX_INSTALL_PATH"]
36
- path += "\\" if !path.end_with?("\\")
37
- @vboxmanage_path = "#{path}VBoxManage.exe"
38
- end
39
- end
40
-
41
- @logger.info("VBoxManage path: #{@vboxmanage_path}")
42
- end
43
-
44
- # Clears the forwarded ports that have been set on the virtual machine.
45
- def clear_forwarded_ports
46
- end
47
-
48
- # Clears the shared folders that have been set on the virtual machine.
49
- def clear_shared_folders
50
- end
51
-
52
- # Creates a DHCP server for a host only network.
53
- #
54
- # @param [String] network Name of the host-only network.
55
- # @param [Hash] options Options for the DHCP server.
56
- def create_dhcp_server(network, options)
57
- end
58
-
59
- # Creates a host only network with the given options.
60
- #
61
- # @param [Hash] options Options to create the host only network.
62
- # @return [Hash] The details of the host only network, including
63
- # keys `:name`, `:ip`, and `:netmask`
64
- def create_host_only_network(options)
65
- end
66
-
67
- # Deletes the virtual machine references by this driver.
68
- def delete
69
- end
70
-
71
- # Deletes any host only networks that aren't being used for anything.
72
- def delete_unused_host_only_networks
73
- end
74
-
75
- # Discards any saved state associated with this VM.
76
- def discard_saved_state
77
- end
78
-
79
- # Enables network adapters on the VM.
80
- #
81
- # The format of each adapter specification should be like so:
82
- #
83
- # {
84
- # :type => :hostonly,
85
- # :hostonly => "vboxnet0",
86
- # :mac_address => "tubes"
87
- # }
88
- #
89
- # This must support setting up both host only and bridged networks.
90
- #
91
- # @param [Array<Hash>] adapters Array of adapters to enable.
92
- def enable_adapters(adapters)
93
- end
94
-
95
- # Execute a raw command straight through to VBoxManage.
96
- #
97
- # @param [Array] command Command to execute.
98
- def execute_command(command)
99
- end
100
-
101
- # Exports the virtual machine to the given path.
102
- #
103
- # @param [String] path Path to the OVF file.
104
- # @yield [progress] Yields the block with the progress of the export.
105
- def export(path)
106
- end
107
-
108
- # Forwards a set of ports for a VM.
109
- #
110
- # This will not affect any previously set forwarded ports,
111
- # so be sure to delete those if you need to.
112
- #
113
- # The format of each port hash should be the following:
114
- #
115
- # {
116
- # :name => "foo",
117
- # :hostport => 8500,
118
- # :guestport => 80,
119
- # :adapter => 1,
120
- # :protocol => "tcp"
121
- # }
122
- #
123
- # Note that "adapter" and "protocol" are optional and will default
124
- # to 1 and "tcp" respectively.
125
- #
126
- # @param [Array<Hash>] ports An array of ports to set. See documentation
127
- # for more information on the format.
128
- def forward_ports(ports)
129
- end
130
-
131
- # Halts the virtual machine (pulls the plug).
132
- def halt
133
- end
134
-
135
- # Imports the VM from an OVF file.
136
- #
137
- # @param [String] ovf Path to the OVF file.
138
- # @return [String] UUID of the imported VM.
139
- def import(ovf)
140
- end
141
-
142
- # Returns a list of forwarded ports for a VM.
143
- #
144
- # @param [String] uuid UUID of the VM to read from, or `nil` if this
145
- # VM.
146
- # @param [Boolean] active_only If true, only VMs that are running will
147
- # be checked.
148
- # @return [Array<Array>]
149
- def read_forwarded_ports(uuid=nil, active_only=false)
150
- end
151
-
152
- # Returns a list of bridged interfaces.
153
- #
154
- # @return [Hash]
155
- def read_bridged_interfaces
156
- end
157
-
158
- # Returns the guest additions version that is installed on this VM.
159
- #
160
- # @return [String]
161
- def read_guest_additions_version
162
- end
163
-
164
- # Returns a list of available host only interfaces.
165
- #
166
- # @return [Hash]
167
- def read_host_only_interfaces
168
- end
169
-
170
- # Returns the MAC address of the first network interface.
171
- #
172
- # @return [String]
173
- def read_mac_address
174
- end
175
-
176
- # Returns the folder where VirtualBox places it's VMs.
177
- #
178
- # @return [String]
179
- def read_machine_folder
180
- end
181
-
182
- # Returns a list of network interfaces of the VM.
183
- #
184
- # @return [Hash]
185
- def read_network_interfaces
186
- end
187
-
188
- # Returns the current state of this VM.
189
- #
190
- # @return [Symbol]
191
- def read_state
192
- end
193
-
194
- # Returns a list of all forwarded ports in use by active
195
- # virtual machines.
196
- #
197
- # @return [Array]
198
- def read_used_ports
199
- end
200
-
201
- # Returns a list of all UUIDs of virtual machines currently
202
- # known by VirtualBox.
203
- #
204
- # @return [Array<String>]
205
- def read_vms
206
- end
207
-
208
- # Sets the MAC address of the first network adapter.
209
- #
210
- # @param [String] mac MAC address without any spaces/hyphens.
211
- def set_mac_address(mac)
212
- end
213
-
214
- # Share a set of folders on this VM.
215
- #
216
- # @param [Array<Hash>] folders
217
- def share_folders(folders)
218
- end
219
-
220
- # Reads the SSH port of this VM.
221
- #
222
- # @param [Integer] expected Expected guest port of SSH.
223
- def ssh_port(expected)
224
- end
225
-
226
- # Starts the virtual machine.
227
- #
228
- # @param [String] mode Mode to boot the VM. Either "headless"
229
- # or "gui"
230
- def start(mode)
231
- end
232
-
233
- # Suspend the virtual machine.
234
- def suspend
235
- end
236
-
237
- # Verifies that the driver is ready to accept work.
238
- #
239
- # This should raise a VagrantError if things are not ready.
240
- def verify!
241
- end
242
-
243
- # Verifies that an image can be imported properly.
244
- #
245
- # @param [String] path Path to an OVF file.
246
- # @return [Boolean]
247
- def verify_image(path)
248
- end
249
-
250
- # Checks if a VM with the given UUID exists.
251
- #
252
- # @return [Boolean]
253
- def vm_exists?(uuid)
254
- end
255
-
256
- # Execute the given subcommand for VBoxManage and return the output.
257
- def execute(*command, &block)
258
- # Get the options hash if it exists
259
- opts = {}
260
- opts = command.pop if command.last.is_a?(Hash)
261
-
262
- tries = 0
263
- tries = 3 if opts[:retryable]
264
-
265
- # Variable to store our execution result
266
- r = nil
267
-
268
- retryable(:on => Errors::VBoxManageError, :tries => tries, :sleep => 1) do
269
- # Execute the command
270
- r = raw(*command, &block)
271
-
272
- # If the command was a failure, then raise an exception that is
273
- # nicely handled by Vagrant.
274
- if r.exit_code != 0
275
- if @interrupted
276
- @logger.info("Exit code != 0, but interrupted. Ignoring.")
277
- else
278
- raise Errors::VBoxManageError, :command => command.inspect
279
- end
280
- else
281
- # Sometimes, VBoxManage fails but doesn't actual return a non-zero
282
- # exit code. For this we inspect the output and determine if an error
283
- # occurred.
284
- if r.stderr =~ /VBoxManage: error:/
285
- @logger.info("VBoxManage error text found, assuming error.")
286
- raise Errors::VBoxManageError, :command => command.inspect
287
- end
288
- end
289
- end
290
-
291
- # Return the output, making sure to replace any Windows-style
292
- # newlines with Unix-style.
293
- r.stdout.gsub("\r\n", "\n")
294
- end
295
-
296
- # Executes a command and returns the raw result object.
297
- def raw(*command, &block)
298
- int_callback = lambda do
299
- @interrupted = true
300
- @logger.info("Interrupted.")
301
- end
302
-
303
- # The following is a workaround for a combined VirtualBox and
304
- # Mac OS X 10.8 bug:
305
- #
306
- # Remove the DYLD_LIBRARY_PATH environmental variable on Mac. This
307
- # is to fix a bug in Mac OS X 10.8 where a warning is printed to the
308
- # console if this is set when executing certain programs, which
309
- # can cause some VBoxManage commands to break because they work
310
- # by just reading stdout and don't expect the OS to just inject
311
- # garbage into it.
312
- old_dyld_lib_path = ENV.delete("DYLD_LIBRARY_PATH")
313
- old_ld_lib_path = ENV.delete("LD_LIBRARY_PATH")
314
-
315
- Util::Busy.busy(int_callback) do
316
- Subprocess.execute(@vboxmanage_path, *command, &block)
317
- end
318
- ensure
319
- # Reset the library path if it was set before. See above comments
320
- # for more information on why this was unset in the first place.
321
- ENV["DYLD_LIBRARY_PATH"] = old_dyld_lib_path if old_dyld_lib_path
322
- ENV["LD_LIBRARY_PATH"] = old_ld_lib_path if old_ld_lib_path
323
- end
324
- end
325
- end
326
- end
@@ -1,8 +0,0 @@
1
- module Vagrant
2
- module Driver
3
- autoload :VirtualBox, 'vagrant/driver/virtualbox'
4
- autoload :VirtualBox_4_0, 'vagrant/driver/virtualbox_4_0'
5
- autoload :VirtualBox_4_1, 'vagrant/driver/virtualbox_4_1'
6
- autoload :VirtualBox_4_2, 'vagrant/driver/virtualbox_4_2'
7
- end
8
- end
@@ -1,56 +0,0 @@
1
- require 'set'
2
- require 'tempfile'
3
-
4
- require 'vagrant/util/template_renderer'
5
-
6
- module Vagrant
7
- module Guest
8
- class Arch < Linux
9
- # Make the TemplateRenderer top-level
10
- include Vagrant::Util
11
-
12
- def change_host_name(name)
13
- # Only do this if the hostname is not already set
14
- if !vm.channel.test("sudo hostname | grep '#{name}'")
15
- vm.channel.sudo("sed -i 's/\\(HOSTNAME=\\).*/\\1#{name}/' /etc/rc.conf")
16
- vm.channel.sudo("hostname #{name}")
17
- vm.channel.sudo("sed -i 's@^\\(127[.]0[.]0[.]1[[:space:]]\\+\\)@\\1#{name} @' /etc/hosts")
18
- end
19
- end
20
-
21
- def configure_networks(networks)
22
- # Remove previous Vagrant-managed network interfaces
23
- vm.channel.sudo("sed -e '/^#VAGRANT-BEGIN/,/^#VAGRANT-END/ d' /etc/rc.conf > /tmp/vagrant-network-interfaces")
24
- vm.channel.sudo("cat /tmp/vagrant-network-interfaces > /etc/rc.conf")
25
-
26
- # Configure the network interfaces
27
- interfaces = Set.new
28
- entries = []
29
- networks.each do |network|
30
- interfaces.add(network[:interface])
31
- entry = TemplateRenderer.render("guests/arch/network_#{network[:type]}",
32
- :options => network)
33
-
34
- entries << entry
35
- end
36
-
37
- # Perform the careful dance necessary to reconfigure
38
- # the network interfaces
39
- temp = Tempfile.new("vagrant")
40
- temp.binmode
41
- temp.write(entries.join("\n"))
42
- temp.close
43
-
44
- vm.channel.upload(temp.path, "/tmp/vagrant-network-entry")
45
-
46
- # Reconfigure the network interfaces
47
- vm.channel.sudo("cat /tmp/vagrant-network-entry >> /etc/rc.conf")
48
- vm.channel.sudo("/etc/rc.d/network restart")
49
-
50
- interfaces.each do |interface|
51
- vm.channel.sudo("dhcpcd -k eth#{interface} && dhcpcd eth#{interface} && sleep 3")
52
- end
53
- end
54
- end
55
- end
56
- end
@@ -1,99 +0,0 @@
1
- module Vagrant
2
- module Guest
3
- # The base class for a "system." A system represents an installed
4
- # operating system on a given box. There are some portions of
5
- # Vagrant which are fairly OS-specific (such as mounting shared
6
- # folders) and while the number is few, this abstraction allows
7
- # more obscure operating systems to be installed without having
8
- # to directly modify Vagrant internals.
9
- #
10
- # Subclasses of the system base class are expected to implement
11
- # all the methods. These methods are described in the comments
12
- # above their definition.
13
- #
14
- # **This is by no means a complete specification. The methods
15
- # required by systems can and will change at any time. Any
16
- # changes will be noted on release notes.**
17
- class Base
18
- class BaseError < Errors::VagrantError
19
- error_namespace("vagrant.guest.base")
20
- end
21
-
22
- include Vagrant::Util
23
-
24
- # The VM which this system is tied to.
25
- attr_reader :vm
26
-
27
- # Initializes the system. Any subclasses MUST make sure this
28
- # method is called on the parent. Therefore, if a subclass overrides
29
- # `initialize`, then you must call `super`.
30
- def initialize(vm)
31
- @vm = vm
32
- end
33
-
34
- # This method is automatically called when the system is available (when
35
- # Vagrant can successfully SSH into the machine) to give the system a chance
36
- # to determine the distro and return a distro-specific system.
37
- #
38
- # **Warning:** If a return value which subclasses from {Base} is
39
- # returned, Vagrant will use it as the new system instance for the
40
- # class.
41
- def distro_dispatch; end
42
-
43
- # Halt the machine. This method should gracefully shut down the
44
- # operating system. This method will cause `vagrant halt` and associated
45
- # commands to _block_, meaning that if the machine doesn't halt
46
- # in a reasonable amount of time, this method should just return.
47
- #
48
- # If when this method returns, the machine's state isn't "powered_off,"
49
- # Vagrant will proceed to forcefully shut the machine down.
50
- def halt
51
- raise BaseError, :_key => :unsupported_halt
52
- end
53
-
54
- # Mounts a shared folder.
55
- #
56
- # This method should create, mount, and properly set permissions
57
- # on the shared folder. This method should also properly
58
- # adhere to any configuration values such as `shared_folder_uid`
59
- # on `config.vm`.
60
- #
61
- # @param [String] name The name of the shared folder.
62
- # @param [String] guestpath The path on the machine which the user
63
- # wants the folder mounted.
64
- # @param [Hash] options Additional options for the shared folder
65
- # which can be honored.
66
- def mount_shared_folder(name, guestpath, options)
67
- raise BaseError, :_key => :unsupported_shared_folder
68
- end
69
-
70
- # Mounts a shared folder via NFS. This assumes that the exports
71
- # via the host are already done.
72
- def mount_nfs(ip, folders)
73
- raise BaseError, :_key => :unsupported_nfs
74
- end
75
-
76
- # Configures the given list of networks on the virtual machine.
77
- #
78
- # The networks parameter will be an array of hashes where the hashes
79
- # represent the configuration of a network interface. The structure
80
- # of the hash will be roughly the following:
81
- #
82
- # {
83
- # :type => :static,
84
- # :ip => "192.168.33.10",
85
- # :netmask => "255.255.255.0",
86
- # :interface => 1
87
- # }
88
- #
89
- def configure_networks(networks)
90
- raise BaseError, :_key => :unsupported_configure_networks
91
- end
92
-
93
- # Called to change the hostname of the virtual machine.
94
- def change_host_name(name)
95
- raise BaseError, :_key => :unsupported_host_name
96
- end
97
- end
98
- end
99
- end
@@ -1,64 +0,0 @@
1
- require 'set'
2
- require 'tempfile'
3
-
4
- require 'vagrant/util/template_renderer'
5
-
6
- module Vagrant
7
- module Guest
8
- class Debian < Linux
9
- # Make the TemplateRenderer top-level
10
- include Vagrant::Util
11
-
12
- def configure_networks(networks)
13
- # First, remove any previous network modifications
14
- # from the interface file.
15
- vm.channel.sudo("sed -e '/^#VAGRANT-BEGIN/,/^#VAGRANT-END/ d' /etc/network/interfaces > /tmp/vagrant-network-interfaces")
16
- vm.channel.sudo("su -c 'cat /tmp/vagrant-network-interfaces > /etc/network/interfaces'")
17
-
18
- # Accumulate the configurations to add to the interfaces file as
19
- # well as what interfaces we're actually configuring since we use that
20
- # later.
21
- interfaces = Set.new
22
- entries = []
23
- networks.each do |network|
24
- interfaces.add(network[:interface])
25
- entry = TemplateRenderer.render("guests/debian/network_#{network[:type]}",
26
- :options => network)
27
-
28
- entries << entry
29
- end
30
-
31
- # Perform the careful dance necessary to reconfigure
32
- # the network interfaces
33
- temp = Tempfile.new("vagrant")
34
- temp.binmode
35
- temp.write(entries.join("\n"))
36
- temp.close
37
-
38
- vm.channel.upload(temp.path, "/tmp/vagrant-network-entry")
39
-
40
- # Bring down all the interfaces we're reconfiguring. By bringing down
41
- # each specifically, we avoid reconfiguring eth0 (the NAT interface) so
42
- # SSH never dies.
43
- interfaces.each do |interface|
44
- vm.channel.sudo("/sbin/ifdown eth#{interface} 2> /dev/null")
45
- end
46
-
47
- vm.channel.sudo("cat /tmp/vagrant-network-entry >> /etc/network/interfaces")
48
-
49
- # Bring back up each network interface, reconfigured
50
- interfaces.each do |interface|
51
- vm.channel.sudo("/sbin/ifup eth#{interface}")
52
- end
53
- end
54
-
55
- def change_host_name(name)
56
- if !vm.channel.test("hostname --fqdn | grep '^#{name}$' || hostname --short | grep '^#{name}$'")
57
- vm.channel.sudo("sed -r -i 's/^(127[.]0[.]1[.]1[[:space:]]+).*$/\\1#{name} #{name.split('.')[0]}/' /etc/hosts")
58
- vm.channel.sudo("sed -i 's/.*$/#{name.split('.')[0]}/' /etc/hostname")
59
- vm.channel.sudo("hostname -F /etc/hostname")
60
- end
61
- end
62
- end
63
- end
64
- end
@@ -1,66 +0,0 @@
1
- require 'set'
2
- require 'tempfile'
3
-
4
- require 'vagrant/util/template_renderer'
5
-
6
- module Vagrant
7
- module Guest
8
- class Fedora < Linux
9
- # Make the TemplateRenderer top-level
10
- include Vagrant::Util
11
-
12
- def configure_networks(networks)
13
- # Accumulate the configurations to add to the interfaces file as well
14
- # as what interfaces we're actually configuring since we use that later.
15
- interfaces = Set.new
16
- networks.each do |network|
17
- interfaces.add(network[:interface])
18
-
19
- # Remove any previous vagrant configuration in this network
20
- # interface's configuration files.
21
- vm.channel.sudo("touch #{network_scripts_dir}/ifcfg-p7p#{network[:interface]}")
22
- vm.channel.sudo("sed -e '/^#VAGRANT-BEGIN/,/^#VAGRANT-END/ d' #{network_scripts_dir}/ifcfg-p7p#{network[:interface]} > /tmp/vagrant-ifcfg-p7p#{network[:interface]}")
23
- vm.channel.sudo("cat /tmp/vagrant-ifcfg-p7p#{network[:interface]} > #{network_scripts_dir}/ifcfg-p7p#{network[:interface]}")
24
-
25
- # Render and upload the network entry file to a deterministic
26
- # temporary location.
27
- entry = TemplateRenderer.render("guests/fedora/network_#{network[:type]}",
28
- :options => network)
29
-
30
- temp = Tempfile.new("vagrant")
31
- temp.binmode
32
- temp.write(entry)
33
- temp.close
34
-
35
- vm.channel.upload(temp.path, "/tmp/vagrant-network-entry_#{network[:interface]}")
36
- end
37
-
38
- # Bring down all the interfaces we're reconfiguring. By bringing down
39
- # each specifically, we avoid reconfiguring p7p (the NAT interface) so
40
- # SSH never dies.
41
- interfaces.each do |interface|
42
- vm.channel.sudo("/sbin/ifdown p7p#{interface} 2> /dev/null", :error_check => false)
43
- vm.channel.sudo("cat /tmp/vagrant-network-entry_#{interface} >> #{network_scripts_dir}/ifcfg-p7p#{interface}")
44
- vm.channel.sudo("/sbin/ifup p7p#{interface} 2> /dev/null")
45
- end
46
- end
47
-
48
- # The path to the directory with the network configuration scripts.
49
- # This is pulled out into its own directory since there are other
50
- # operating systems (SuSE) which behave similarly but with a different
51
- # path to the network scripts.
52
- def network_scripts_dir
53
- '/etc/sysconfig/network-scripts'
54
- end
55
-
56
- def change_host_name(name)
57
- # Only do this if the hostname is not already set
58
- if !vm.channel.test("sudo hostname | grep '#{name}'")
59
- vm.channel.sudo("sed -i 's/\\(HOSTNAME=\\).*/\\1#{name}/' /etc/sysconfig/network")
60
- vm.channel.sudo("hostname #{name}")
61
- vm.channel.sudo("sed -i 's@^\\(127[.]0[.]0[.]1[[:space:]]\\+\\)@\\1#{name} #{name.split('.')[0]} @' /etc/hosts")
62
- end
63
- end
64
- end
65
- end
66
- end