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,84 +0,0 @@
1
- require File.expand_path("../base", __FILE__)
2
- require "acceptance/support/shared/command_examples"
3
-
4
- describe "vagrant shared folders" do
5
- include_context "acceptance"
6
-
7
- # This creates an initial environment that is ready for a "vagrant up"
8
- def initialize_valid_environment
9
- require_box("default")
10
-
11
- assert_execute("vagrant", "box", "add", "base", box_path("default"))
12
- assert_execute("vagrant", "init")
13
- end
14
-
15
- it "should have a '/vagrant' shared folder" do
16
- initialize_valid_environment
17
-
18
- # This is the file that will be created from the VM,
19
- # but should then exist on the host machine
20
- foofile = environment.workdir.join("foo")
21
-
22
- assert_execute("vagrant", "up")
23
- foofile.exist?.should_not be,
24
- "'foo' should not exist yet."
25
-
26
- assert_execute("vagrant", "ssh", "-c", "touch /vagrant/foo")
27
- foofile.exist?.should be, "'foo' should exist since it was touched in the shared folder"
28
- end
29
-
30
- it "should create a shared folder if the :create flag is set" do
31
- initialize_valid_environment
32
-
33
- # Setup the custom Vagrantfile
34
- environment.workdir.join("Vagrantfile").open("w+") do |f|
35
- f.write(<<-VF)
36
- Vagrant::Config.run do |config|
37
- config.vm.box = "base"
38
- config.vm.share_folder "v-root", "/vagrant", "./data", :create => true
39
- end
40
- VF
41
- end
42
-
43
- data_dir = environment.workdir.join("data")
44
-
45
- # Verify the directory doesn't exist prior, for sanity
46
- data_dir.exist?.should_not be
47
-
48
- # Bring up the VM
49
- assert_execute("vagrant", "up")
50
-
51
- # Verify the directory exists
52
- data_dir.should be_directory
53
-
54
- # Touch a file and verify it is shared
55
- assert_execute("vagrant", "ssh", "-c", "touch /vagrant/foo")
56
- data_dir.join("foo").exist?.should be
57
- end
58
-
59
- it "should properly shell expand relative directories on the guest" do
60
- initialize_valid_environment
61
-
62
- # Setup the custom Vagrantfile
63
- environment.workdir.join("Vagrantfile").open("w+") do |f|
64
- f.write(<<-VF)
65
- Vagrant::Config.run do |config|
66
- config.vm.box = "base"
67
- config.vm.share_folder "v-root", "~/data", "."
68
- end
69
- VF
70
- end
71
-
72
- # Sanity
73
- foo_file = environment.workdir.join("foo")
74
- foo_file.exist?.should_not be
75
-
76
- # Bring up the VM
77
- assert_execute("vagrant", "up")
78
-
79
- # Touch a file in the shared folder we expect and verify
80
- # it is shared.
81
- assert_execute("vagrant", "ssh", "-c", "touch ~/data/foo")
82
- foo_file.exist?.should be
83
- end
84
- end
@@ -1,3 +0,0 @@
1
- # Chef Solo Basic Skeleton
2
-
3
- This is a skeleton that contains a basic chef solo setup.
@@ -1,5 +0,0 @@
1
- # Just create a file
2
- file "/tmp/chef_solo_basic" do
3
- mode 0644
4
- content "success"
5
- end
@@ -1,3 +0,0 @@
1
- # Chef Solo Basic Skeleton
2
-
3
- This is a skeleton that contains a basic chef solo setup.
@@ -1,6 +0,0 @@
1
- # Create a file where the contents is the data we set with
2
- # the Vagrantfile.
3
- file "/tmp/chef_solo_basic" do
4
- mode 0644
5
- content node[:test][:data]
6
- end
@@ -1,3 +0,0 @@
1
- # Chef Solo Basic Skeleton
2
-
3
- This is a skeleton that contains a basic chef solo setup.
@@ -1,5 +0,0 @@
1
- # Just create a file
2
- file "/vagrant/chef_solo" do
3
- mode 0644
4
- content "success"
5
- end
@@ -1,46 +0,0 @@
1
- require File.expand_path("../base", __FILE__)
2
- require "acceptance/support/shared/command_examples"
3
-
4
- describe "vagrant ssh" do
5
- include_context "acceptance"
6
- it_behaves_like "a command that requires a Vagrantfile", ["vagrant", "ssh"]
7
- it_behaves_like "a command that requires a virtual machine", ["vagrant", "ssh"]
8
-
9
- it "is able to SSH into a running virtual machine" do
10
- require_box("default")
11
-
12
- assert_execute("vagrant", "box", "add", "base", box_path("default"))
13
- assert_execute("vagrant", "init")
14
- assert_execute("vagrant", "up")
15
-
16
- outputted = false
17
- result = assert_execute("vagrant", "ssh") do |io_type, data|
18
- if io_type == :stdin and !outputted
19
- data.puts("echo hello")
20
- data.puts("exit")
21
- outputted = true
22
- end
23
- end
24
-
25
- result.stdout.chomp.should eql("hello"), "Vagrant should bring up a VM to be able to SSH into."
26
- end
27
-
28
- it "is able to execute a single command via the command line" do
29
- require_box("default")
30
-
31
- assert_execute("vagrant", "box", "add", "base", box_path("default"))
32
- assert_execute("vagrant", "init")
33
- assert_execute("vagrant", "up")
34
-
35
- result = execute("vagrant", "ssh", "-c", "echo foo")
36
- result.exit_code.should == 0
37
- result.stdout.should == "foo\n"
38
-
39
- result = execute("vagrant", "ssh", "-c", "foooooooooo")
40
- result.exit_code.should == 127
41
- result.stderr.should =~ /foooooooooo: command not found/
42
- end
43
-
44
- # TODO:
45
- # SSH should fail if the VM is not running
46
- end
@@ -1,42 +0,0 @@
1
- require "yaml"
2
-
3
- require "log4r"
4
-
5
- module Acceptance
6
- # This represents a configuration object for acceptance tests.
7
- class Config
8
- attr_reader :vagrant_path
9
- attr_reader :vagrant_version
10
- attr_reader :env
11
- attr_reader :box_directory
12
-
13
- def initialize(path)
14
- @logger = Log4r::Logger.new("test::acceptance::config")
15
- @logger.info("Loading configuration from: #{path}")
16
- options = YAML.load_file(path)
17
- @logger.info("Loaded: #{options.inspect}")
18
-
19
- @vagrant_path = options["vagrant_path"]
20
- @vagrant_version = options["vagrant_version"]
21
- @env = options["env"]
22
- @box_directory = options["box_directory"]
23
-
24
- # Verify the configuration object.
25
- validate
26
- end
27
-
28
- # This method verifies the configuration and makes sure that
29
- # all the configuration is available and appears good. This
30
- # method will raise an ArgumentError in the case that anything
31
- # is wrong.
32
- def validate
33
- if !@vagrant_path || !File.file?(@vagrant_path)
34
- raise ArgumentError, "'vagrant_path' must point to the `vagrant` executable"
35
- elsif !@vagrant_version
36
- raise ArgumentError, "`vagrant_version' must be set to the version of the `vagrant` executable"
37
- elsif !@box_directory || !File.directory?(@box_directory)
38
- raise ArgumentError, "`box_directory` must be set to a folder containing boxes for the tests."
39
- end
40
- end
41
- end
42
- end
@@ -1,117 +0,0 @@
1
- require "fileutils"
2
- require "pathname"
3
-
4
- require "log4r"
5
- require "childprocess"
6
-
7
- require "vagrant/util/subprocess"
8
-
9
- require "acceptance/support/virtualbox"
10
- require "support/isolated_environment"
11
-
12
- module Acceptance
13
- # This class manages an isolated environment for Vagrant to
14
- # run in. It creates a temporary directory to act as the
15
- # working directory as well as sets a custom home directory.
16
- class IsolatedEnvironment < ::IsolatedEnvironment
17
- SKELETON_DIR = Pathname.new(File.expand_path("../../skeletons", __FILE__))
18
-
19
- def initialize(apps=nil, env=nil)
20
- super()
21
-
22
- @logger = Log4r::Logger.new("test::acceptance::isolated_environment")
23
-
24
- @apps = apps.clone || {}
25
- @env = env.clone || {}
26
-
27
- # Set the home directory and virtualbox home directory environmental
28
- # variables so that Vagrant and VirtualBox see the proper paths here.
29
- @env["HOME"] ||= @homedir.to_s
30
- @env["VBOX_USER_HOME"] ||= @homedir.to_s
31
- end
32
-
33
- # Copies a skeleton into this isolated environment. This is useful
34
- # for testing environments that require a complex setup.
35
- #
36
- # @param [String] name Name of the skeleton in the skeletons/ directory.
37
- def skeleton!(name)
38
- # Copy all the files into the home directory
39
- source = Dir.glob(SKELETON_DIR.join(name).join("*").to_s)
40
- FileUtils.cp_r(source, @workdir.to_s)
41
- end
42
-
43
- # Executes a command in the context of this isolated environment.
44
- # Any command executed will therefore see our temporary directory
45
- # as the home directory.
46
- def execute(command, *argN)
47
- # Create the command
48
- command = replace_command(command)
49
-
50
- # Determine the options
51
- options = argN.last.is_a?(Hash) ? argN.pop : {}
52
- options = {
53
- :workdir => @workdir,
54
- :env => @env
55
- }.merge(options)
56
-
57
- # Add the options to be passed on
58
- argN << options
59
-
60
- # Execute, logging out the stdout/stderr as we get it
61
- @logger.info("Executing: #{[command].concat(argN).inspect}")
62
- Vagrant::Util::Subprocess.execute(command, *argN) do |type, data|
63
- @logger.debug("#{type}: #{data}") if type == :stdout || type == :stderr
64
- yield type, data if block_given?
65
- end
66
- end
67
-
68
- # Closes the environment, cleans up the temporary directories, etc.
69
- def close
70
- # Only delete virtual machines if VBoxSVC is running, meaning
71
- # that something related to VirtualBox started running in this
72
- # environment.
73
- delete_virtual_machines if VirtualBox.find_vboxsvc
74
-
75
- # Let the parent handle cleaning up
76
- super
77
- end
78
-
79
- def delete_virtual_machines
80
- # Delete all virtual machines
81
- @logger.debug("Finding all virtual machines")
82
- execute("VBoxManage", "list", "vms").stdout.lines.each do |line|
83
- data = /^"(?<name>.+?)" {(?<uuid>.+?)}$/.match(line)
84
-
85
- begin
86
- @logger.debug("Removing VM: #{data[:name]}")
87
-
88
- # We add a timeout onto this because sometimes for seemingly no
89
- # reason it will simply freeze, although the VM is successfully
90
- # "aborted." The timeout gets around this strange behavior.
91
- execute("VBoxManage", "controlvm", data[:uuid], "poweroff", :timeout => 5)
92
- rescue Vagrant::Util::Subprocess::TimeoutExceeded => e
93
- @logger.info("Failed to poweroff VM '#{data[:uuid]}'. Killing process.")
94
-
95
- # Kill the process and wait a bit for it to disappear
96
- Process.kill('KILL', e.pid)
97
- Process.waitpid2(e.pid)
98
- end
99
-
100
- sleep 0.5
101
-
102
- result = execute("VBoxManage", "unregistervm", data[:uuid], "--delete")
103
- raise Exception, "VM unregistration failed!" if result.exit_code != 0
104
- end
105
-
106
- @logger.info("Removed all virtual machines")
107
- end
108
-
109
- # This replaces a command with a replacement defined when this
110
- # isolated environment was initialized. If nothing was defined,
111
- # then the command itself is returned.
112
- def replace_command(command)
113
- return @apps[command] if @apps.has_key?(command)
114
- return command
115
- end
116
- end
117
- end
@@ -1,9 +0,0 @@
1
- RSpec::Matchers.define :have_color do
2
- match do |actual|
3
- actual.index("\e[31m")
4
- end
5
-
6
- failure_message_for_should do |actual|
7
- "expected output to contain color, but didn't"
8
- end
9
- end
@@ -1,14 +0,0 @@
1
- require "acceptance/support/output"
2
-
3
- # This creates a matcher that is used to match against certain
4
- # Vagrant output. Vagrant output is not what is being tested,
5
- # so all that state is hidden away in Acceptance::Output.
6
- RSpec::Matchers.define :match_output do |expected, *args|
7
- match do |actual|
8
- Acceptance::Output.new(actual).send(expected, *args)
9
- end
10
-
11
- failure_message_for_should do |actual|
12
- "expected output to match: #{expected} #{args.inspect}"
13
- end
14
- end
@@ -1,14 +0,0 @@
1
- # Matcher that verifies that a process succeeds.
2
- RSpec::Matchers.define :succeed do
3
- match do |thing|
4
- thing.exit_code.should == 0
5
- end
6
-
7
- failure_message_for_should do |actual|
8
- "expected process to succeed. exit code: #{actual.exit_code}"
9
- end
10
-
11
- failure_message_for_should_not do |actual|
12
- "expected process to fail. exit code: #{actual.exit_code}"
13
- end
14
- end
@@ -1,29 +0,0 @@
1
- require "vagrant/util/retryable"
2
-
3
- module Acceptance
4
- module NetworkTests
5
- include Vagrant::Util::Retryable
6
-
7
- # Tests that the host can access the VM through the network.
8
- #
9
- # @param [String] url URL to request from the host.
10
- # @param [Integer] guest_port Port to run a web server on the guest.
11
- def assert_host_to_vm_network(url, guest_port)
12
- # Start up a web server in another thread by SSHing into the VM.
13
- thr = Thread.new do
14
- assert_execute("vagrant", "ssh", "-c", "python -m SimpleHTTPServer #{guest_port}")
15
- end
16
-
17
- # Verify that port forwarding works by making a simple HTTP request
18
- # to the port. We should get a 200 response. We retry this a few times
19
- # as we wait for the HTTP server to come online.
20
- retryable(:tries => 5, :sleep => 2) do
21
- result = Net::HTTP.get_response(URI.parse(url))
22
- result.code.should == "200"
23
- end
24
- ensure
25
- # The server needs to die. This is how.
26
- thr.kill if thr
27
- end
28
- end
29
- end
@@ -1,95 +0,0 @@
1
- module Acceptance
2
- # This class helps with matching against output so that every
3
- # test isn't inherently tied to the output format of Vagrant.
4
- class Output
5
- DEFAULT_VM = "default"
6
-
7
- def initialize(text)
8
- @text = text
9
- end
10
-
11
- def box_already_exists(name)
12
- @text =~ /^A box already exists under the name of '#{name}'/
13
- end
14
-
15
- # Checks that an error message was outputted about the box
16
- # being added being invalid.
17
- def box_invalid
18
- @text =~ /^The box file you're attempting to add is invalid./
19
- end
20
-
21
- # Checks that an error message was outputted about the path
22
- # not existing to the box.
23
- def box_path_doesnt_exist
24
- @text =~ /^The specified path to a file doesn't exist.$/
25
- end
26
-
27
- # Tests that the box with given name is installed.
28
- def box_installed(name)
29
- @text =~ /^#{name}$/
30
- end
31
-
32
- # Tests that the output says there are no installed boxes.
33
- def no_boxes
34
- @text =~ /There are no installed boxes!/
35
- end
36
-
37
- # Tests that the output says there is no Vagrantfile, and as such
38
- # can't do whatever we requested Vagrant to do.
39
- def no_vagrantfile
40
- @text =~ /^A Vagrant environment is required/
41
- end
42
-
43
- # Tests that the output contains a specific Vagrant version.
44
- def version(version)
45
- @text =~ /^Vagrant version #{version}$/
46
- end
47
-
48
- def resume_port_collision
49
- @text =~ /^This VM cannot be resumed, because the forwarded ports/
50
- end
51
-
52
- # This checks that the VM with the given `vm_name` has the
53
- # status of `status`.
54
- def status(vm_name, status)
55
- @text =~ /^#{vm_name}\s+#{status}$/
56
- end
57
-
58
- # This checks that an error message that the VM must be created
59
- # is shown.
60
- def error_vm_must_be_created
61
- @text =~ /^VM must be created/
62
- end
63
-
64
- # This checks that the warning that the VM is not created is emitted.
65
- def vm_not_created_warning
66
- @text =~ /VM not created. Moving on...$/
67
- end
68
-
69
- # This checks that the VM is destroyed.
70
- def vm_destroyed
71
- @text =~ /Destroying VM and associated drives...$/
72
- end
73
-
74
- # This checks that the "up" output properly contains text showing that
75
- # it is downloading the box during the up process.
76
- def up_fetching_box(name, vm=DEFAULT_VM)
77
- @text =~ /^\[#{vm}\] Box #{name} was not found. Fetching box from specified URL...$/
78
- end
79
-
80
- # Check that the output shows that the VM was shut down gracefully
81
- def vm_halt_graceful
82
- @text =~ /Attempting graceful shutdown of/
83
- end
84
-
85
- # Output shows a forceful VM shutdown.
86
- def vm_halt_force
87
- @text =~ /Forcing shutdown of VM...$/
88
- end
89
-
90
- # Output shows the VM is in the process of suspending
91
- def vm_suspending
92
- @text =~ /Saving VM state and suspending execution...$/
93
- end
94
- end
95
- end
@@ -1,72 +0,0 @@
1
- require "acceptance/support/isolated_environment"
2
- require "acceptance/support/output"
3
- require "acceptance/support/virtualbox"
4
-
5
- shared_context "acceptance" do
6
- # Setup variables for the loggers of this test. These can be used to
7
- # create more verbose logs for tests which can be useful in the case
8
- # that a test fails.
9
- let(:logger_name) { "logger" }
10
- let(:logger) { Log4r::Logger.new("test::acceptance::#{logger_name}") }
11
-
12
- # This is the global configuration given by the acceptance test
13
- # configurations.
14
- let(:config) { $acceptance_options }
15
-
16
- # Setup the environment so that we have an isolated area
17
- # to run Vagrant. We do some configuration here as well in order
18
- # to replace "vagrant" with the proper path to Vagrant as well
19
- # as tell the isolated environment about custom environmental
20
- # variables to pass in.
21
- let!(:environment) { new_environment }
22
-
23
- before(:each) do
24
- # Wait for VBoxSVC to disappear, since each test requires its
25
- # own isolated VirtualBox process.
26
- Acceptance::VirtualBox.wait_for_vboxsvc
27
- end
28
-
29
- after(:each) do
30
- environment.close
31
- end
32
-
33
- # Creates a new isolated environment instance each time it is called.
34
- #
35
- # @return [Acceptance::IsolatedEnvironment]
36
- def new_environment(env=nil)
37
- apps = { "vagrant" => config.vagrant_path }
38
- env = config.env.merge(env || {})
39
-
40
- Acceptance::IsolatedEnvironment.new(apps, env)
41
- end
42
-
43
- # Executes the given command in the context of the isolated environment.
44
- #
45
- # @return [Object]
46
- def execute(*args, &block)
47
- environment.execute(*args, &block)
48
- end
49
-
50
- # This method is an assertion helper for asserting that a process
51
- # succeeds. It is a wrapper around `execute` that asserts that the
52
- # exit status was successful.
53
- def assert_execute(*args, &block)
54
- result = execute(*args, &block)
55
- assert(result.exit_code == 0, "expected '#{args.join(" ")}' to succeed")
56
- result
57
- end
58
-
59
- # This can be added to the beginning of a test to verify that the
60
- # box with the given name is available to a test. This will raise
61
- # an exception if the box is not found.
62
- def require_box(name)
63
- if !File.exist?(box_path(name))
64
- raise ArgumentError, "The tests should have a '#{name}' box."
65
- end
66
- end
67
-
68
- # This is used to get the path to a box of a specific name.
69
- def box_path(name)
70
- File.join(config.box_directory, "#{name}.box")
71
- end
72
- end
@@ -1,33 +0,0 @@
1
- # This is a shared example that tests that a command requires a
2
- # Vagrant environment to run properly. The exact command to run
3
- # should be given as a parameter to the shared examples.
4
- shared_examples "a command that requires a Vagrantfile" do |*args|
5
- let(:command) do
6
- raise ArgumentError, "A command must be set for the shared example." if args.empty?
7
- args[0]
8
- end
9
-
10
- it "fails if no Vagrantfile is found" do
11
- result = execute(*command)
12
- result.should_not succeed
13
- result.stderr.should match_output(:no_vagrantfile)
14
- end
15
- end
16
-
17
- # This is a shared example that tests that the command requires a
18
- # virtual machine to be created, and additionally to be in one of
19
- # many states.
20
- shared_examples "a command that requires a virtual machine" do |*args|
21
- let(:command) do
22
- raise ArgumentError, "A command must be set for the shared example." if args.empty?
23
- args[0]
24
- end
25
-
26
- it "fails if the virtual machine is not created" do
27
- assert_execute("vagrant", "init")
28
-
29
- result = execute(*command)
30
- result.should_not succeed
31
- result.stderr.should match_output(:error_vm_must_be_created)
32
- end
33
- end
@@ -1,36 +0,0 @@
1
- require 'sys/proctable'
2
-
3
- module Acceptance
4
- module VirtualBox
5
- extend self
6
-
7
- # This method will wait for the "VBoxSVC" process to end. This will
8
- # block during that time period. The reason for this is because only
9
- # one "VBoxSVC" can run per user and manages all state within VirtualBox.
10
- # Before you can run VirtualBox with a custom home directory, you must
11
- # wait for this VBoxSVC process to die.
12
- def wait_for_vboxsvc
13
- time_passed = 0
14
- while find_vboxsvc
15
- if time_passed > 5
16
- raise Exception, "VBoxSVC process is not going away."
17
- end
18
-
19
- sleep 1
20
- time_passed += 1
21
- end
22
- end
23
-
24
- # This method finds the VBoxSVC process and returns information about it.
25
- # This will return "nil" if VBoxSVC is not found.
26
- def find_vboxsvc
27
- Sys::ProcTable.ps do |process|
28
- if process.comm == "VBoxSVC"
29
- return process
30
- end
31
- end
32
-
33
- nil
34
- end
35
- end
36
- end