vagrant-lxc 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (423) hide show
  1. checksums.yaml +14 -6
  2. data/Gemfile +19 -14
  3. data/Gemfile.lock +10 -5
  4. data/README.md +18 -42
  5. data/development/Vagrantfile.1.0 +3 -2
  6. data/lib/vagrant-lxc/version.rb +1 -1
  7. data/lib/vagrant-lxc.rb +0 -2
  8. data/vagrant-lxc.gemspec +1 -14
  9. metadata +7 -540
  10. data/.gitmodules +0 -3
  11. data/bin/vagrant-lxc +0 -9
  12. data/lib/vendored_vagrant.rb +0 -9
  13. data/vendor/.gitkeep +0 -0
  14. data/vendor/vagrant/.gitignore +0 -31
  15. data/vendor/vagrant/.travis.yml +0 -7
  16. data/vendor/vagrant/.yardopts +0 -1
  17. data/vendor/vagrant/CHANGELOG.md +0 -803
  18. data/vendor/vagrant/Gemfile +0 -3
  19. data/vendor/vagrant/LICENSE +0 -21
  20. data/vendor/vagrant/README.md +0 -89
  21. data/vendor/vagrant/Rakefile +0 -18
  22. data/vendor/vagrant/bin/vagrant +0 -84
  23. data/vendor/vagrant/config/default.rb +0 -35
  24. data/vendor/vagrant/contrib/README.md +0 -12
  25. data/vendor/vagrant/contrib/bash/completion.sh +0 -3
  26. data/vendor/vagrant/contrib/emacs/vagrant.el +0 -8
  27. data/vendor/vagrant/contrib/vim/vagrantfile.vim +0 -9
  28. data/vendor/vagrant/keys/README.md +0 -17
  29. data/vendor/vagrant/keys/vagrant +0 -27
  30. data/vendor/vagrant/keys/vagrant.pub +0 -1
  31. data/vendor/vagrant/lib/vagrant/action/builder.rb +0 -154
  32. data/vendor/vagrant/lib/vagrant/action/builtin/box_add.rb +0 -79
  33. data/vendor/vagrant/lib/vagrant/action/builtin/call.rb +0 -67
  34. data/vendor/vagrant/lib/vagrant/action/builtin/config_validate.rb +0 -30
  35. data/vendor/vagrant/lib/vagrant/action/builtin/confirm.rb +0 -38
  36. data/vendor/vagrant/lib/vagrant/action/builtin/env_set.rb +0 -24
  37. data/vendor/vagrant/lib/vagrant/action/builtin/graceful_halt.rb +0 -73
  38. data/vendor/vagrant/lib/vagrant/action/builtin/handle_box_url.rb +0 -43
  39. data/vendor/vagrant/lib/vagrant/action/builtin/handle_forwarded_port_collisions.rb +0 -117
  40. data/vendor/vagrant/lib/vagrant/action/builtin/lock.rb +0 -57
  41. data/vendor/vagrant/lib/vagrant/action/builtin/nfs.rb +0 -117
  42. data/vendor/vagrant/lib/vagrant/action/builtin/provision.rb +0 -70
  43. data/vendor/vagrant/lib/vagrant/action/builtin/set_hostname.rb +0 -27
  44. data/vendor/vagrant/lib/vagrant/action/builtin/ssh_exec.rb +0 -42
  45. data/vendor/vagrant/lib/vagrant/action/builtin/ssh_run.rb +0 -43
  46. data/vendor/vagrant/lib/vagrant/action/general/package.rb +0 -102
  47. data/vendor/vagrant/lib/vagrant/action/hook.rb +0 -103
  48. data/vendor/vagrant/lib/vagrant/action/runner.rb +0 -69
  49. data/vendor/vagrant/lib/vagrant/action/warden.rb +0 -103
  50. data/vendor/vagrant/lib/vagrant/action.rb +0 -42
  51. data/vendor/vagrant/lib/vagrant/box.rb +0 -93
  52. data/vendor/vagrant/lib/vagrant/box_collection.rb +0 -315
  53. data/vendor/vagrant/lib/vagrant/cli.rb +0 -82
  54. data/vendor/vagrant/lib/vagrant/config/container.rb +0 -37
  55. data/vendor/vagrant/lib/vagrant/config/loader.rb +0 -222
  56. data/vendor/vagrant/lib/vagrant/config/v1/dummy_config.rb +0 -13
  57. data/vendor/vagrant/lib/vagrant/config/v1/loader.rb +0 -105
  58. data/vendor/vagrant/lib/vagrant/config/v1/root.rb +0 -60
  59. data/vendor/vagrant/lib/vagrant/config/v1.rb +0 -9
  60. data/vendor/vagrant/lib/vagrant/config/v2/dummy_config.rb +0 -13
  61. data/vendor/vagrant/lib/vagrant/config/v2/loader.rb +0 -141
  62. data/vendor/vagrant/lib/vagrant/config/v2/root.rb +0 -105
  63. data/vendor/vagrant/lib/vagrant/config/v2/util.rb +0 -21
  64. data/vendor/vagrant/lib/vagrant/config/v2.rb +0 -9
  65. data/vendor/vagrant/lib/vagrant/config/version_base.rb +0 -80
  66. data/vendor/vagrant/lib/vagrant/config.rb +0 -63
  67. data/vendor/vagrant/lib/vagrant/downloaders/base.rb +0 -22
  68. data/vendor/vagrant/lib/vagrant/downloaders/file.rb +0 -28
  69. data/vendor/vagrant/lib/vagrant/downloaders/http.rb +0 -116
  70. data/vendor/vagrant/lib/vagrant/downloaders.rb +0 -7
  71. data/vendor/vagrant/lib/vagrant/environment.rb +0 -729
  72. data/vendor/vagrant/lib/vagrant/errors.rb +0 -486
  73. data/vendor/vagrant/lib/vagrant/hosts.rb +0 -28
  74. data/vendor/vagrant/lib/vagrant/machine.rb +0 -325
  75. data/vendor/vagrant/lib/vagrant/machine_state.rb +0 -45
  76. data/vendor/vagrant/lib/vagrant/plugin/v1/command.rb +0 -169
  77. data/vendor/vagrant/lib/vagrant/plugin/v1/communicator.rb +0 -98
  78. data/vendor/vagrant/lib/vagrant/plugin/v1/config.rb +0 -112
  79. data/vendor/vagrant/lib/vagrant/plugin/v1/errors.rb +0 -15
  80. data/vendor/vagrant/lib/vagrant/plugin/v1/guest.rb +0 -92
  81. data/vendor/vagrant/lib/vagrant/plugin/v1/host.rb +0 -66
  82. data/vendor/vagrant/lib/vagrant/plugin/v1/manager.rb +0 -131
  83. data/vendor/vagrant/lib/vagrant/plugin/v1/plugin.rb +0 -229
  84. data/vendor/vagrant/lib/vagrant/plugin/v1/provider.rb +0 -68
  85. data/vendor/vagrant/lib/vagrant/plugin/v1/provisioner.rb +0 -50
  86. data/vendor/vagrant/lib/vagrant/plugin/v1.rb +0 -19
  87. data/vendor/vagrant/lib/vagrant/plugin/v2/command.rb +0 -234
  88. data/vendor/vagrant/lib/vagrant/plugin/v2/communicator.rb +0 -98
  89. data/vendor/vagrant/lib/vagrant/plugin/v2/components.rb +0 -29
  90. data/vendor/vagrant/lib/vagrant/plugin/v2/config.rb +0 -101
  91. data/vendor/vagrant/lib/vagrant/plugin/v2/errors.rb +0 -15
  92. data/vendor/vagrant/lib/vagrant/plugin/v2/guest.rb +0 -92
  93. data/vendor/vagrant/lib/vagrant/plugin/v2/host.rb +0 -66
  94. data/vendor/vagrant/lib/vagrant/plugin/v2/manager.rb +0 -158
  95. data/vendor/vagrant/lib/vagrant/plugin/v2/plugin.rb +0 -217
  96. data/vendor/vagrant/lib/vagrant/plugin/v2/provider.rb +0 -69
  97. data/vendor/vagrant/lib/vagrant/plugin/v2/provisioner.rb +0 -47
  98. data/vendor/vagrant/lib/vagrant/plugin/v2.rb +0 -22
  99. data/vendor/vagrant/lib/vagrant/plugin.rb +0 -6
  100. data/vendor/vagrant/lib/vagrant/registry.rb +0 -78
  101. data/vendor/vagrant/lib/vagrant/ssh.rb +0 -132
  102. data/vendor/vagrant/lib/vagrant/test_helpers.rb +0 -154
  103. data/vendor/vagrant/lib/vagrant/ui.rb +0 -170
  104. data/vendor/vagrant/lib/vagrant/util/ansi_escape_code_remover.rb +0 -34
  105. data/vendor/vagrant/lib/vagrant/util/busy.rb +0 -59
  106. data/vendor/vagrant/lib/vagrant/util/counter.rb +0 -24
  107. data/vendor/vagrant/lib/vagrant/util/file_checksum.rb +0 -38
  108. data/vendor/vagrant/lib/vagrant/util/file_mode.rb +0 -12
  109. data/vendor/vagrant/lib/vagrant/util/hash_with_indifferent_access.rb +0 -63
  110. data/vendor/vagrant/lib/vagrant/util/is_port_open.rb +0 -38
  111. data/vendor/vagrant/lib/vagrant/util/line_ending_helpers.rb +0 -14
  112. data/vendor/vagrant/lib/vagrant/util/network_ip.rb +0 -28
  113. data/vendor/vagrant/lib/vagrant/util/platform.rb +0 -68
  114. data/vendor/vagrant/lib/vagrant/util/retryable.rb +0 -31
  115. data/vendor/vagrant/lib/vagrant/util/safe_exec.rb +0 -36
  116. data/vendor/vagrant/lib/vagrant/util/safe_puts.rb +0 -31
  117. data/vendor/vagrant/lib/vagrant/util/scoped_hash_override.rb +0 -45
  118. data/vendor/vagrant/lib/vagrant/util/ssh.rb +0 -126
  119. data/vendor/vagrant/lib/vagrant/util/stacked_proc_runner.rb +0 -35
  120. data/vendor/vagrant/lib/vagrant/util/string_block_editor.rb +0 -75
  121. data/vendor/vagrant/lib/vagrant/util/subprocess.rb +0 -270
  122. data/vendor/vagrant/lib/vagrant/util/template_renderer.rb +0 -83
  123. data/vendor/vagrant/lib/vagrant/util/which.rb +0 -43
  124. data/vendor/vagrant/lib/vagrant/util.rb +0 -12
  125. data/vendor/vagrant/lib/vagrant/version.rb +0 -6
  126. data/vendor/vagrant/lib/vagrant.rb +0 -251
  127. data/vendor/vagrant/plugins/README.md +0 -5
  128. data/vendor/vagrant/plugins/commands/box/command/add.rb +0 -52
  129. data/vendor/vagrant/plugins/commands/box/command/list.rb +0 -41
  130. data/vendor/vagrant/plugins/commands/box/command/remove.rb +0 -37
  131. data/vendor/vagrant/plugins/commands/box/command/repackage.rb +0 -43
  132. data/vendor/vagrant/plugins/commands/box/command/root.rb +0 -75
  133. data/vendor/vagrant/plugins/commands/box/plugin.rb +0 -15
  134. data/vendor/vagrant/plugins/commands/destroy/command.rb +0 -31
  135. data/vendor/vagrant/plugins/commands/destroy/plugin.rb +0 -18
  136. data/vendor/vagrant/plugins/commands/halt/command.rb +0 -33
  137. data/vendor/vagrant/plugins/commands/halt/plugin.rb +0 -18
  138. data/vendor/vagrant/plugins/commands/init/command.rb +0 -40
  139. data/vendor/vagrant/plugins/commands/init/plugin.rb +0 -18
  140. data/vendor/vagrant/plugins/commands/package/command.rb +0 -78
  141. data/vendor/vagrant/plugins/commands/package/plugin.rb +0 -18
  142. data/vendor/vagrant/plugins/commands/plugin/action/bundler_check.rb +0 -25
  143. data/vendor/vagrant/plugins/commands/plugin/action/install_gem.rb +0 -70
  144. data/vendor/vagrant/plugins/commands/plugin/action/license_plugin.rb +0 -54
  145. data/vendor/vagrant/plugins/commands/plugin/action/list_plugins.rb +0 -54
  146. data/vendor/vagrant/plugins/commands/plugin/action/prune_gems.rb +0 -149
  147. data/vendor/vagrant/plugins/commands/plugin/action/uninstall_plugin.rb +0 -23
  148. data/vendor/vagrant/plugins/commands/plugin/action.rb +0 -52
  149. data/vendor/vagrant/plugins/commands/plugin/command/base.rb +0 -22
  150. data/vendor/vagrant/plugins/commands/plugin/command/install.rb +0 -39
  151. data/vendor/vagrant/plugins/commands/plugin/command/license.rb +0 -31
  152. data/vendor/vagrant/plugins/commands/plugin/command/list.rb +0 -28
  153. data/vendor/vagrant/plugins/commands/plugin/command/root.rb +0 -75
  154. data/vendor/vagrant/plugins/commands/plugin/command/uninstall.rb +0 -28
  155. data/vendor/vagrant/plugins/commands/plugin/gem_helper.rb +0 -74
  156. data/vendor/vagrant/plugins/commands/plugin/plugin.rb +0 -22
  157. data/vendor/vagrant/plugins/commands/plugin/state_file.rb +0 -57
  158. data/vendor/vagrant/plugins/commands/provision/command.rb +0 -34
  159. data/vendor/vagrant/plugins/commands/provision/plugin.rb +0 -18
  160. data/vendor/vagrant/plugins/commands/reload/command.rb +0 -37
  161. data/vendor/vagrant/plugins/commands/reload/plugin.rb +0 -18
  162. data/vendor/vagrant/plugins/commands/resume/command.rb +0 -25
  163. data/vendor/vagrant/plugins/commands/resume/plugin.rb +0 -17
  164. data/vendor/vagrant/plugins/commands/ssh/command.rb +0 -66
  165. data/vendor/vagrant/plugins/commands/ssh/plugin.rb +0 -17
  166. data/vendor/vagrant/plugins/commands/ssh_config/command.rb +0 -49
  167. data/vendor/vagrant/plugins/commands/ssh_config/plugin.rb +0 -18
  168. data/vendor/vagrant/plugins/commands/status/command.rb +0 -39
  169. data/vendor/vagrant/plugins/commands/status/plugin.rb +0 -18
  170. data/vendor/vagrant/plugins/commands/suspend/command.rb +0 -25
  171. data/vendor/vagrant/plugins/commands/suspend/plugin.rb +0 -18
  172. data/vendor/vagrant/plugins/commands/up/command.rb +0 -45
  173. data/vendor/vagrant/plugins/commands/up/plugin.rb +0 -17
  174. data/vendor/vagrant/plugins/commands/up/start_mixins.rb +0 -26
  175. data/vendor/vagrant/plugins/communicators/ssh/communicator.rb +0 -317
  176. data/vendor/vagrant/plugins/communicators/ssh/plugin.rb +0 -19
  177. data/vendor/vagrant/plugins/guests/arch/guest.rb +0 -41
  178. data/vendor/vagrant/plugins/guests/arch/plugin.rb +0 -15
  179. data/vendor/vagrant/plugins/guests/debian/guest.rb +0 -72
  180. data/vendor/vagrant/plugins/guests/debian/plugin.rb +0 -15
  181. data/vendor/vagrant/plugins/guests/fedora/guest.rb +0 -71
  182. data/vendor/vagrant/plugins/guests/fedora/plugin.rb +0 -15
  183. data/vendor/vagrant/plugins/guests/freebsd/config.rb +0 -13
  184. data/vendor/vagrant/plugins/guests/freebsd/guest.rb +0 -70
  185. data/vendor/vagrant/plugins/guests/freebsd/plugin.rb +0 -20
  186. data/vendor/vagrant/plugins/guests/gentoo/guest.rb +0 -51
  187. data/vendor/vagrant/plugins/guests/gentoo/plugin.rb +0 -15
  188. data/vendor/vagrant/plugins/guests/linux/config.rb +0 -13
  189. data/vendor/vagrant/plugins/guests/linux/guest.rb +0 -118
  190. data/vendor/vagrant/plugins/guests/linux/plugin.rb +0 -20
  191. data/vendor/vagrant/plugins/guests/openbsd/guest.rb +0 -13
  192. data/vendor/vagrant/plugins/guests/openbsd/plugin.rb +0 -15
  193. data/vendor/vagrant/plugins/guests/redhat/guest.rb +0 -74
  194. data/vendor/vagrant/plugins/guests/redhat/plugin.rb +0 -15
  195. data/vendor/vagrant/plugins/guests/solaris/config.rb +0 -18
  196. data/vendor/vagrant/plugins/guests/solaris/guest.rb +0 -73
  197. data/vendor/vagrant/plugins/guests/solaris/plugin.rb +0 -20
  198. data/vendor/vagrant/plugins/guests/suse/guest.rb +0 -24
  199. data/vendor/vagrant/plugins/guests/suse/plugin.rb +0 -15
  200. data/vendor/vagrant/plugins/guests/ubuntu/guest.rb +0 -44
  201. data/vendor/vagrant/plugins/guests/ubuntu/plugin.rb +0 -15
  202. data/vendor/vagrant/plugins/hosts/arch/host.rb +0 -68
  203. data/vendor/vagrant/plugins/hosts/arch/plugin.rb +0 -15
  204. data/vendor/vagrant/plugins/hosts/bsd/host.rb +0 -102
  205. data/vendor/vagrant/plugins/hosts/bsd/plugin.rb +0 -15
  206. data/vendor/vagrant/plugins/hosts/fedora/host.rb +0 -51
  207. data/vendor/vagrant/plugins/hosts/fedora/plugin.rb +0 -15
  208. data/vendor/vagrant/plugins/hosts/freebsd/host.rb +0 -43
  209. data/vendor/vagrant/plugins/hosts/freebsd/plugin.rb +0 -15
  210. data/vendor/vagrant/plugins/hosts/gentoo/host.rb +0 -24
  211. data/vendor/vagrant/plugins/hosts/gentoo/plugin.rb +0 -15
  212. data/vendor/vagrant/plugins/hosts/linux/host.rb +0 -95
  213. data/vendor/vagrant/plugins/hosts/linux/plugin.rb +0 -15
  214. data/vendor/vagrant/plugins/hosts/opensuse/host.rb +0 -34
  215. data/vendor/vagrant/plugins/hosts/opensuse/plugin.rb +0 -15
  216. data/vendor/vagrant/plugins/hosts/windows/host.rb +0 -17
  217. data/vendor/vagrant/plugins/hosts/windows/plugin.rb +0 -15
  218. data/vendor/vagrant/plugins/kernel_v1/config/nfs.rb +0 -20
  219. data/vendor/vagrant/plugins/kernel_v1/config/package.rb +0 -17
  220. data/vendor/vagrant/plugins/kernel_v1/config/ssh.rb +0 -46
  221. data/vendor/vagrant/plugins/kernel_v1/config/vagrant.rb +0 -31
  222. data/vendor/vagrant/plugins/kernel_v1/config/vm.rb +0 -184
  223. data/vendor/vagrant/plugins/kernel_v1/plugin.rb +0 -44
  224. data/vendor/vagrant/plugins/kernel_v2/config/nfs.rb +0 -10
  225. data/vendor/vagrant/plugins/kernel_v2/config/package.rb +0 -9
  226. data/vendor/vagrant/plugins/kernel_v2/config/ssh.rb +0 -35
  227. data/vendor/vagrant/plugins/kernel_v2/config/vagrant.rb +0 -9
  228. data/vendor/vagrant/plugins/kernel_v2/config/vm.rb +0 -314
  229. data/vendor/vagrant/plugins/kernel_v2/config/vm_provisioner.rb +0 -40
  230. data/vendor/vagrant/plugins/kernel_v2/config/vm_subvm.rb +0 -30
  231. data/vendor/vagrant/plugins/kernel_v2/plugin.rb +0 -44
  232. data/vendor/vagrant/plugins/providers/virtualbox/action/boot.rb +0 -49
  233. data/vendor/vagrant/plugins/providers/virtualbox/action/check_accessible.rb +0 -23
  234. data/vendor/vagrant/plugins/providers/virtualbox/action/check_created.rb +0 -21
  235. data/vendor/vagrant/plugins/providers/virtualbox/action/check_guest_additions.rb +0 -45
  236. data/vendor/vagrant/plugins/providers/virtualbox/action/check_running.rb +0 -21
  237. data/vendor/vagrant/plugins/providers/virtualbox/action/check_virtualbox.rb +0 -22
  238. data/vendor/vagrant/plugins/providers/virtualbox/action/clean_machine_folder.rb +0 -43
  239. data/vendor/vagrant/plugins/providers/virtualbox/action/clear_forwarded_ports.rb +0 -18
  240. data/vendor/vagrant/plugins/providers/virtualbox/action/clear_network_interfaces.rb +0 -31
  241. data/vendor/vagrant/plugins/providers/virtualbox/action/clear_shared_folders.rb +0 -17
  242. data/vendor/vagrant/plugins/providers/virtualbox/action/created.rb +0 -20
  243. data/vendor/vagrant/plugins/providers/virtualbox/action/customize.rb +0 -36
  244. data/vendor/vagrant/plugins/providers/virtualbox/action/destroy.rb +0 -19
  245. data/vendor/vagrant/plugins/providers/virtualbox/action/destroy_confirm.rb +0 -17
  246. data/vendor/vagrant/plugins/providers/virtualbox/action/destroy_unused_network_interfaces.rb +0 -16
  247. data/vendor/vagrant/plugins/providers/virtualbox/action/discard_state.rb +0 -20
  248. data/vendor/vagrant/plugins/providers/virtualbox/action/export.rb +0 -57
  249. data/vendor/vagrant/plugins/providers/virtualbox/action/forced_halt.rb +0 -25
  250. data/vendor/vagrant/plugins/providers/virtualbox/action/forward_ports.rb +0 -79
  251. data/vendor/vagrant/plugins/providers/virtualbox/action/import.rb +0 -51
  252. data/vendor/vagrant/plugins/providers/virtualbox/action/is_paused.rb +0 -20
  253. data/vendor/vagrant/plugins/providers/virtualbox/action/is_running.rb +0 -20
  254. data/vendor/vagrant/plugins/providers/virtualbox/action/is_saved.rb +0 -20
  255. data/vendor/vagrant/plugins/providers/virtualbox/action/match_mac_address.rb +0 -21
  256. data/vendor/vagrant/plugins/providers/virtualbox/action/message_not_created.rb +0 -16
  257. data/vendor/vagrant/plugins/providers/virtualbox/action/message_not_running.rb +0 -16
  258. data/vendor/vagrant/plugins/providers/virtualbox/action/message_will_not_destroy.rb +0 -17
  259. data/vendor/vagrant/plugins/providers/virtualbox/action/network.rb +0 -366
  260. data/vendor/vagrant/plugins/providers/virtualbox/action/package.rb +0 -20
  261. data/vendor/vagrant/plugins/providers/virtualbox/action/package_vagrantfile.rb +0 -33
  262. data/vendor/vagrant/plugins/providers/virtualbox/action/prepare_forwarded_port_collision_params.rb +0 -35
  263. data/vendor/vagrant/plugins/providers/virtualbox/action/prepare_nfs_settings.rb +0 -51
  264. data/vendor/vagrant/plugins/providers/virtualbox/action/prune_nfs_exports.rb +0 -20
  265. data/vendor/vagrant/plugins/providers/virtualbox/action/resume.rb +0 -25
  266. data/vendor/vagrant/plugins/providers/virtualbox/action/sane_defaults.rb +0 -87
  267. data/vendor/vagrant/plugins/providers/virtualbox/action/set_name.rb +0 -40
  268. data/vendor/vagrant/plugins/providers/virtualbox/action/setup_package_files.rb +0 -51
  269. data/vendor/vagrant/plugins/providers/virtualbox/action/share_folders.rb +0 -113
  270. data/vendor/vagrant/plugins/providers/virtualbox/action/suspend.rb +0 -20
  271. data/vendor/vagrant/plugins/providers/virtualbox/action.rb +0 -308
  272. data/vendor/vagrant/plugins/providers/virtualbox/config.rb +0 -82
  273. data/vendor/vagrant/plugins/providers/virtualbox/driver/base.rb +0 -344
  274. data/vendor/vagrant/plugins/providers/virtualbox/driver/meta.rb +0 -141
  275. data/vendor/vagrant/plugins/providers/virtualbox/driver/version_4_0.rb +0 -481
  276. data/vendor/vagrant/plugins/providers/virtualbox/driver/version_4_1.rb +0 -481
  277. data/vendor/vagrant/plugins/providers/virtualbox/driver/version_4_2.rb +0 -471
  278. data/vendor/vagrant/plugins/providers/virtualbox/model/forwarded_port.rb +0 -58
  279. data/vendor/vagrant/plugins/providers/virtualbox/plugin.rb +0 -42
  280. data/vendor/vagrant/plugins/providers/virtualbox/provider.rb +0 -92
  281. data/vendor/vagrant/plugins/providers/virtualbox/util/compile_forwarded_ports.rb +0 -31
  282. data/vendor/vagrant/plugins/provisioners/chef/config/base.rb +0 -65
  283. data/vendor/vagrant/plugins/provisioners/chef/config/chef_client.rb +0 -39
  284. data/vendor/vagrant/plugins/provisioners/chef/config/chef_solo.rb +0 -87
  285. data/vendor/vagrant/plugins/provisioners/chef/plugin.rb +0 -33
  286. data/vendor/vagrant/plugins/provisioners/chef/provisioner/base.rb +0 -91
  287. data/vendor/vagrant/plugins/provisioners/chef/provisioner/chef_client.rb +0 -103
  288. data/vendor/vagrant/plugins/provisioners/chef/provisioner/chef_solo.rb +0 -182
  289. data/vendor/vagrant/plugins/provisioners/puppet/config/puppet.rb +0 -70
  290. data/vendor/vagrant/plugins/provisioners/puppet/config/puppet_server.rb +0 -16
  291. data/vendor/vagrant/plugins/provisioners/puppet/plugin.rb +0 -33
  292. data/vendor/vagrant/plugins/provisioners/puppet/provisioner/puppet.rb +0 -110
  293. data/vendor/vagrant/plugins/provisioners/puppet/provisioner/puppet_server.rb +0 -67
  294. data/vendor/vagrant/plugins/provisioners/shell/config.rb +0 -46
  295. data/vendor/vagrant/plugins/provisioners/shell/plugin.rb +0 -23
  296. data/vendor/vagrant/plugins/provisioners/shell/provisioner.rb +0 -66
  297. data/vendor/vagrant/tasks/acceptance.rake +0 -113
  298. data/vendor/vagrant/tasks/bundler.rake +0 -3
  299. data/vendor/vagrant/tasks/test.rake +0 -20
  300. data/vendor/vagrant/templates/commands/init/Vagrantfile.erb +0 -111
  301. data/vendor/vagrant/templates/commands/ssh_config/config.erb +0 -16
  302. data/vendor/vagrant/templates/config/messages.erb +0 -14
  303. data/vendor/vagrant/templates/config/validation_failed.erb +0 -7
  304. data/vendor/vagrant/templates/guests/arch/network_dhcp.erb +0 -4
  305. data/vendor/vagrant/templates/guests/arch/network_static.erb +0 -6
  306. data/vendor/vagrant/templates/guests/debian/network_dhcp.erb +0 -11
  307. data/vendor/vagrant/templates/guests/debian/network_static.erb +0 -7
  308. data/vendor/vagrant/templates/guests/fedora/network_dhcp.erb +0 -6
  309. data/vendor/vagrant/templates/guests/fedora/network_static.erb +0 -13
  310. data/vendor/vagrant/templates/guests/freebsd/network_dhcp.erb +0 -3
  311. data/vendor/vagrant/templates/guests/freebsd/network_static.erb +0 -3
  312. data/vendor/vagrant/templates/guests/gentoo/network_dhcp.erb +0 -4
  313. data/vendor/vagrant/templates/guests/gentoo/network_static.erb +0 -4
  314. data/vendor/vagrant/templates/guests/redhat/network_dhcp.erb +0 -6
  315. data/vendor/vagrant/templates/guests/redhat/network_static.erb +0 -7
  316. data/vendor/vagrant/templates/locales/en.yml +0 -993
  317. data/vendor/vagrant/templates/nfs/exports.erb +0 -5
  318. data/vendor/vagrant/templates/nfs/exports_freebsd.erb +0 -5
  319. data/vendor/vagrant/templates/nfs/exports_linux.erb +0 -5
  320. data/vendor/vagrant/templates/package_Vagrantfile.erb +0 -11
  321. data/vendor/vagrant/templates/provisioners/chef_client/client.erb +0 -32
  322. data/vendor/vagrant/templates/provisioners/chef_solo/solo.erb +0 -25
  323. data/vendor/vagrant/templates/rgloader.rb +0 -9
  324. data/vendor/vagrant/test/acceptance/base.rb +0 -48
  325. data/vendor/vagrant/test/acceptance/box_test.rb +0 -99
  326. data/vendor/vagrant/test/acceptance/destroy_test.rb +0 -37
  327. data/vendor/vagrant/test/acceptance/halt_test.rb +0 -72
  328. data/vendor/vagrant/test/acceptance/init_test.rb +0 -33
  329. data/vendor/vagrant/test/acceptance/networking/host_only_test.rb +0 -37
  330. data/vendor/vagrant/test/acceptance/networking/port_forward_test.rb +0 -125
  331. data/vendor/vagrant/test/acceptance/package_test.rb +0 -46
  332. data/vendor/vagrant/test/acceptance/provisioning/basic_test.rb +0 -61
  333. data/vendor/vagrant/test/acceptance/provisioning/chef_solo_test.rb +0 -37
  334. data/vendor/vagrant/test/acceptance/provisioning/shell_test.rb +0 -53
  335. data/vendor/vagrant/test/acceptance/resume_test.rb +0 -17
  336. data/vendor/vagrant/test/acceptance/shared_folders_test.rb +0 -84
  337. data/vendor/vagrant/test/acceptance/skeletons/chef_solo_basic/README.md +0 -3
  338. data/vendor/vagrant/test/acceptance/skeletons/chef_solo_basic/cookbooks/basic/recipes/default.rb +0 -5
  339. data/vendor/vagrant/test/acceptance/skeletons/chef_solo_json/README.md +0 -3
  340. data/vendor/vagrant/test/acceptance/skeletons/chef_solo_json/cookbooks/basic/recipes/default.rb +0 -6
  341. data/vendor/vagrant/test/acceptance/skeletons/provisioner_multi/README.md +0 -3
  342. data/vendor/vagrant/test/acceptance/skeletons/provisioner_multi/cookbooks/basic/recipes/default.rb +0 -5
  343. data/vendor/vagrant/test/acceptance/ssh_test.rb +0 -46
  344. data/vendor/vagrant/test/acceptance/support/config.rb +0 -42
  345. data/vendor/vagrant/test/acceptance/support/isolated_environment.rb +0 -118
  346. data/vendor/vagrant/test/acceptance/support/matchers/have_color.rb +0 -9
  347. data/vendor/vagrant/test/acceptance/support/matchers/match_output.rb +0 -14
  348. data/vendor/vagrant/test/acceptance/support/matchers/succeed.rb +0 -14
  349. data/vendor/vagrant/test/acceptance/support/network_tests.rb +0 -29
  350. data/vendor/vagrant/test/acceptance/support/output.rb +0 -95
  351. data/vendor/vagrant/test/acceptance/support/shared/base_context.rb +0 -72
  352. data/vendor/vagrant/test/acceptance/support/shared/command_examples.rb +0 -33
  353. data/vendor/vagrant/test/acceptance/support/virtualbox.rb +0 -36
  354. data/vendor/vagrant/test/acceptance/suspend_test.rb +0 -56
  355. data/vendor/vagrant/test/acceptance/up_basic_test.rb +0 -33
  356. data/vendor/vagrant/test/acceptance/up_with_box_url.rb +0 -40
  357. data/vendor/vagrant/test/acceptance/vagrant_test.rb +0 -47
  358. data/vendor/vagrant/test/acceptance/version_test.rb +0 -15
  359. data/vendor/vagrant/test/config/acceptance_boxes.yml +0 -7
  360. data/vendor/vagrant/test/support/isolated_environment.rb +0 -46
  361. data/vendor/vagrant/test/support/tempdir.rb +0 -43
  362. data/vendor/vagrant/test/unit/base.rb +0 -27
  363. data/vendor/vagrant/test/unit/support/dummy_provider.rb +0 -16
  364. data/vendor/vagrant/test/unit/support/isolated_environment.rb +0 -177
  365. data/vendor/vagrant/test/unit/support/shared/base_context.rb +0 -104
  366. data/vendor/vagrant/test/unit/vagrant/action/builder_test.rb +0 -196
  367. data/vendor/vagrant/test/unit/vagrant/action/builtin/call_test.rb +0 -145
  368. data/vendor/vagrant/test/unit/vagrant/action/builtin/confirm_test.rb +0 -36
  369. data/vendor/vagrant/test/unit/vagrant/action/builtin/env_set_test.rb +0 -20
  370. data/vendor/vagrant/test/unit/vagrant/action/builtin/graceful_halt_test.rb +0 -61
  371. data/vendor/vagrant/test/unit/vagrant/action/builtin/lock_test.rb +0 -98
  372. data/vendor/vagrant/test/unit/vagrant/action/builtin/ssh_exec_test.rb +0 -57
  373. data/vendor/vagrant/test/unit/vagrant/action/hook_test.rb +0 -101
  374. data/vendor/vagrant/test/unit/vagrant/action/runner_test.rb +0 -71
  375. data/vendor/vagrant/test/unit/vagrant/action/warden_test.rb +0 -92
  376. data/vendor/vagrant/test/unit/vagrant/box_collection_test.rb +0 -224
  377. data/vendor/vagrant/test/unit/vagrant/box_test.rb +0 -109
  378. data/vendor/vagrant/test/unit/vagrant/cli_test.rb +0 -27
  379. data/vendor/vagrant/test/unit/vagrant/config/loader_test.rb +0 -184
  380. data/vendor/vagrant/test/unit/vagrant/config/v1/dummy_config_test.rb +0 -24
  381. data/vendor/vagrant/test/unit/vagrant/config/v1/loader_test.rb +0 -145
  382. data/vendor/vagrant/test/unit/vagrant/config/v1/root_test.rb +0 -40
  383. data/vendor/vagrant/test/unit/vagrant/config/v2/dummy_config_test.rb +0 -24
  384. data/vendor/vagrant/test/unit/vagrant/config/v2/loader_test.rb +0 -151
  385. data/vendor/vagrant/test/unit/vagrant/config/v2/root_test.rb +0 -97
  386. data/vendor/vagrant/test/unit/vagrant/config/v2/util_test.rb +0 -21
  387. data/vendor/vagrant/test/unit/vagrant/config_test.rb +0 -66
  388. data/vendor/vagrant/test/unit/vagrant/downloaders/base_test.rb +0 -14
  389. data/vendor/vagrant/test/unit/vagrant/downloaders/file_test.rb +0 -87
  390. data/vendor/vagrant/test/unit/vagrant/downloaders/http_test.rb +0 -23
  391. data/vendor/vagrant/test/unit/vagrant/environment_test.rb +0 -571
  392. data/vendor/vagrant/test/unit/vagrant/hosts_test.rb +0 -37
  393. data/vendor/vagrant/test/unit/vagrant/machine_state_test.rb +0 -26
  394. data/vendor/vagrant/test/unit/vagrant/machine_test.rb +0 -418
  395. data/vendor/vagrant/test/unit/vagrant/plugin/v1/command_test.rb +0 -143
  396. data/vendor/vagrant/test/unit/vagrant/plugin/v1/communicator_test.rb +0 -9
  397. data/vendor/vagrant/test/unit/vagrant/plugin/v1/config_test.rb +0 -50
  398. data/vendor/vagrant/test/unit/vagrant/plugin/v1/host_test.rb +0 -5
  399. data/vendor/vagrant/test/unit/vagrant/plugin/v1/manager_test.rb +0 -114
  400. data/vendor/vagrant/test/unit/vagrant/plugin/v1/plugin_test.rb +0 -267
  401. data/vendor/vagrant/test/unit/vagrant/plugin/v1/provider_test.rb +0 -18
  402. data/vendor/vagrant/test/unit/vagrant/plugin/v2/command_test.rb +0 -238
  403. data/vendor/vagrant/test/unit/vagrant/plugin/v2/communicator_test.rb +0 -9
  404. data/vendor/vagrant/test/unit/vagrant/plugin/v2/components_test.rb +0 -17
  405. data/vendor/vagrant/test/unit/vagrant/plugin/v2/config_test.rb +0 -60
  406. data/vendor/vagrant/test/unit/vagrant/plugin/v2/host_test.rb +0 -5
  407. data/vendor/vagrant/test/unit/vagrant/plugin/v2/manager_test.rb +0 -157
  408. data/vendor/vagrant/test/unit/vagrant/plugin/v2/plugin_test.rb +0 -287
  409. data/vendor/vagrant/test/unit/vagrant/plugin/v2/provider_test.rb +0 -18
  410. data/vendor/vagrant/test/unit/vagrant/registry_test.rb +0 -128
  411. data/vendor/vagrant/test/unit/vagrant/util/ansi_escape_code_remover_test.rb +0 -16
  412. data/vendor/vagrant/test/unit/vagrant/util/file_checksum_test.rb +0 -23
  413. data/vendor/vagrant/test/unit/vagrant/util/hash_with_indifferent_access_test.rb +0 -38
  414. data/vendor/vagrant/test/unit/vagrant/util/is_port_open_test.rb +0 -53
  415. data/vendor/vagrant/test/unit/vagrant/util/line_endings_helper_test.rb +0 -16
  416. data/vendor/vagrant/test/unit/vagrant/util/network_ip_test.rb +0 -17
  417. data/vendor/vagrant/test/unit/vagrant/util/retryable_test.rb +0 -106
  418. data/vendor/vagrant/test/unit/vagrant/util/scoped_hash_override_test.rb +0 -48
  419. data/vendor/vagrant/test/unit/vagrant/util/ssh_test.rb +0 -30
  420. data/vendor/vagrant/test/unit/vagrant/util/string_block_editor_test.rb +0 -98
  421. data/vendor/vagrant/test/unit/vagrant/util/which_test.rb +0 -43
  422. data/vendor/vagrant/test/unit/vagrant_test.rb +0 -56
  423. data/vendor/vagrant/vagrant.gemspec +0 -69
@@ -1,79 +0,0 @@
1
- require "log4r"
2
-
3
- require "vagrant/util/platform"
4
-
5
- module Vagrant
6
- module Action
7
- module Builtin
8
- # This middleware will download a remote box and add it to the
9
- # given box collection.
10
- class BoxAdd
11
- def initialize(app, env)
12
- @app = app
13
- @logger = Log4r::Logger.new("vagrant::action::builtin::box_add")
14
- end
15
-
16
- def call(env)
17
- # Instantiate the downloader
18
- downloader = download_klass(env[:box_url]).new(env[:ui])
19
- env[:ui].info I18n.t("vagrant.actions.box.download.with",
20
- :class => downloader.class.to_s)
21
-
22
- # Download the box to a temporary path. We store the temporary
23
- # path as an instance variable so that the `#recover` method can
24
- # access it.
25
- @temp_path = env[:tmp_path].join("box" + Time.now.to_i.to_s)
26
- @logger.info("Downloading box to: #{@temp_path}")
27
- File.open(@temp_path, Vagrant::Util::Platform.tar_file_options) do |f|
28
- downloader.download!(env[:box_url], f)
29
- end
30
-
31
- # Add the box
32
- env[:ui].info I18n.t("vagrant.actions.box.add.adding", :name => env[:box_name])
33
- begin
34
- env[:box_collection].add(@temp_path, env[:box_name], env[:box_provider])
35
- rescue Vagrant::Errors::BoxUpgradeRequired
36
- # Upgrade the box
37
- env[:box_collection].upgrade(env[:box_name])
38
-
39
- # Try adding it again
40
- retry
41
- end
42
-
43
- # Call the 'recover' method in all cases to clean up the
44
- # downloaded temporary file.
45
- recover(env)
46
-
47
- # Carry on!
48
- @app.call(env)
49
- end
50
-
51
- def download_klass(url)
52
- # This is hardcoded for now. In the future I'd like to make this
53
- # pluginnable as well.
54
- classes = [Downloaders::HTTP, Downloaders::File]
55
-
56
- # Find the class to use.
57
- classes.each_index do |i|
58
- klass = classes[i]
59
-
60
- # Use the class if it matches the given URI or if this
61
- # is the last class...
62
- return klass if classes.length == (i + 1) || klass.match?(url)
63
- end
64
-
65
- # If no downloader knows how to download this file, then we
66
- # raise an exception.
67
- raise Errors::BoxDownloadUnknownType
68
- end
69
-
70
- def recover(env)
71
- if @temp_path && File.exist?(@temp_path)
72
- env[:ui].info I18n.t("vagrant.actions.box.download.cleaning")
73
- File.unlink(@temp_path)
74
- end
75
- end
76
- end
77
- end
78
- end
79
- end
@@ -1,67 +0,0 @@
1
- module Vagrant
2
- module Action
3
- module Builtin
4
- # This middleware class allows a sort of "conditional" run within
5
- # a single middlware sequence. It takes another middleware runnable,
6
- # runs it with the same environment, then yields the resulting env to a block,
7
- # allowing that block to determine the next course of action in the
8
- # middleware sequence.
9
- #
10
- # The first argument to this middleware sequence is anywhere middleware
11
- # runnable, whether it be a class, lambda, or something else that
12
- # responds to `call`. This middleware runnable is run with the same
13
- # environment as this class.
14
- #
15
- # After running, {Call} takes the environment and yields it to a block
16
- # given to initialize the class, along with an instance of {Builder}.
17
- # The result is used to build up a new sequence on the given builder.
18
- # This builder is then run.
19
- class Call
20
- # For documentation, read the description of the {Call} class.
21
- #
22
- # @param [Object] callable A valid middleware runnable object. This
23
- # can be a class, a lambda, or an object that responds to `call`.
24
- # @yield [result, builder] This block is expected to build on `builder`
25
- # which is the next middleware sequence that will be run.
26
- def initialize(app, env, callable, *callable_args, &block)
27
- raise ArgumentError, "A block must be given to Call" if !block
28
-
29
- @app = app
30
- @callable = callable
31
- @callable_args = callable_args
32
- @block = block
33
- @child_app = nil
34
- end
35
-
36
- def call(env)
37
- runner = Runner.new
38
-
39
- # Build the callable that we'll run
40
- callable = Builder.build(@callable, *@callable_args)
41
-
42
- # Run our callable with our environment
43
- new_env = runner.run(callable, env)
44
-
45
- # Build our new builder based on the result
46
- builder = Builder.new
47
- @block.call(new_env, builder)
48
-
49
- # Run the result with our new environment
50
- @child_app = builder.to_app(new_env)
51
- final_env = runner.run(@child_app, new_env)
52
-
53
- # Merge the environment into our original environment
54
- env.merge!(final_env)
55
-
56
- # Call the next step using our final environment
57
- @app.call(env)
58
- end
59
-
60
- def recover(env)
61
- # Call back into our compiled application and recover it.
62
- @child_app.recover(env) if @child_app
63
- end
64
- end
65
- end
66
- end
67
- end
@@ -1,30 +0,0 @@
1
- require "vagrant/util/template_renderer"
2
-
3
- module Vagrant
4
- module Action
5
- module Builtin
6
- # This class validates the configuration and raises an exception
7
- # if there are any validation errors.
8
- class ConfigValidate
9
- def initialize(app, env)
10
- @app = app
11
- end
12
-
13
- def call(env)
14
- if !env.has_key?(:config_validate) || env[:config_validate]
15
- errors = env[:machine].config.validate(env[:machine])
16
-
17
- if errors && !errors.empty?
18
- raise Errors::ConfigInvalid,
19
- :errors => Util::TemplateRenderer.render(
20
- "config/validation_failed",
21
- :errors => errors)
22
- end
23
- end
24
-
25
- @app.call(env)
26
- end
27
- end
28
- end
29
- end
30
- end
@@ -1,38 +0,0 @@
1
- module Vagrant
2
- module Action
3
- module Builtin
4
- # This class asks the user to confirm some sort of question with
5
- # a "Y/N" question. The only parameter is the text to ask the user.
6
- # The result is placed in `env[:result]` so that it can be used
7
- # with the {Call} class.
8
- class Confirm
9
- # For documentation, read the description of the {Confirm} class.
10
- #
11
- # @param [String] message The message to ask the user.
12
- # @param [Symbol] force_key The key that if present and true in
13
- # the environment hash will skip the confirmation question.
14
- def initialize(app, env, message, force_key=nil)
15
- @app = app
16
- @message = message
17
- @force_key = force_key
18
- end
19
-
20
- def call(env)
21
- choice = nil
22
-
23
- # If we have a force key set and we're forcing, then set
24
- # the result to "Y"
25
- choice = "Y" if @force_key && env[@force_key]
26
-
27
- # If we haven't chosen yes, then ask the user via TTY
28
- choice = env[:ui].ask(@message) if !choice
29
-
30
- # The result is only true if the user said "Y"
31
- env[:result] = choice && choice.upcase == "Y"
32
-
33
- @app.call(env)
34
- end
35
- end
36
- end
37
- end
38
- end
@@ -1,24 +0,0 @@
1
- module Vagrant
2
- module Action
3
- module Builtin
4
- # This middleware class allows you to modify the environment hash
5
- # in the middle of a middleware sequence. The new environmental data
6
- # will take affect at this stage in the middleware and will persist
7
- # through.
8
- class EnvSet
9
- def initialize(app, env, new_env=nil)
10
- @app = app
11
- @new_env = new_env || {}
12
- end
13
-
14
- def call(env)
15
- # Merge in the new data
16
- env.merge!(@new_env)
17
-
18
- # Carry on
19
- @app.call(env)
20
- end
21
- end
22
- end
23
- end
24
- end
@@ -1,73 +0,0 @@
1
- require "log4r"
2
-
3
- module Vagrant
4
- module Action
5
- module Builtin
6
- # This middleware class will attempt to perform a graceful shutdown
7
- # of the machine using the guest implementation. This middleware is
8
- # compatible with the {Call} middleware so you can branch based on
9
- # the result, which is true if the halt succeeded and false otherwise.
10
- class GracefulHalt
11
- # Note: Any of the arguments can be arrays as well.
12
- #
13
- # @param [Symbol] target_state The target state ID that means that
14
- # the machine was properly shut down.
15
- # @param [Symbol] source_state The source state ID that the machine
16
- # must be in to be shut down.
17
- def initialize(app, env, target_state, source_state=nil)
18
- @app = app
19
- @logger = Log4r::Logger.new("vagrant::action::builtin::graceful_halt")
20
- @source_state = source_state
21
- @target_state = target_state
22
- end
23
-
24
- def call(env)
25
- graceful = true
26
- graceful = !env[:force_halt] if env.has_key?(:force_halt)
27
-
28
- # By default, we didn't succeed.
29
- env[:result] = false
30
-
31
- if graceful && @source_state
32
- @logger.info("Verifying source state of machine: #{@source_state.inspect}")
33
-
34
- # If we're not in the proper source state, then we don't
35
- # attempt to halt the machine
36
- current_state = env[:machine].state.id
37
- if current_state != @source_state
38
- @logger.info("Invalid source state, not halting: #{current_state}")
39
- graceful = false
40
- end
41
- end
42
-
43
- # Only attempt to perform graceful shutdown under certain cases
44
- # checked above.
45
- if graceful
46
- env[:ui].info I18n.t("vagrant.actions.vm.halt.graceful")
47
- env[:machine].guest.halt
48
-
49
- @logger.debug("Waiting for target graceful halt state: #{@target_state}")
50
- count = 0
51
- while env[:machine].state.id != @target_state
52
- count += 1
53
- return if count >= env[:machine].config.vm.graceful_halt_retry_count
54
- sleep env[:machine].config.vm.graceful_halt_retry_interval
55
- end
56
-
57
- # The result of this matters on whether we reached our
58
- # proper target state or not.
59
- env[:result] = env[:machine].state.id == @target_state
60
-
61
- if env[:result]
62
- @logger.info("Gracefully halted.")
63
- else
64
- @logger.info("Graceful halt failed.")
65
- end
66
- end
67
-
68
- @app.call(env)
69
- end
70
- end
71
- end
72
- end
73
- end
@@ -1,43 +0,0 @@
1
- module Vagrant
2
- module Action
3
- module Builtin
4
- # This built-in middleware handles the `box_url` setting, downloading
5
- # the box if necessary. You should place this early in your middleware
6
- # sequence for a provider after configuration validation but before
7
- # you attempt to use any box.
8
- class HandleBoxUrl
9
- def initialize(app, env)
10
- @app = app
11
- end
12
-
13
- def call(env)
14
- if !env[:machine].box
15
- # We can assume a box URL is set because the Vagrantfile
16
- # validation should do this for us. If not, though, we do
17
- # raise a terrible runtime error.
18
- box_name = env[:machine].config.vm.box
19
- box_url = env[:machine].config.vm.box_url
20
-
21
- # Add the box then reload the box collection so that it becomes
22
- # aware of it.
23
- env[:ui].info I18n.t(
24
- "vagrant.actions.vm.check_box.not_found",
25
- :name => box_name,
26
- :provider => env[:machine].provider_name)
27
- env[:action_runner].run(Vagrant::Action.action_box_add, {
28
- :box_name => box_name,
29
- :box_provider => env[:machine].provider_name,
30
- :box_url => box_url
31
- })
32
-
33
- # Reload the environment and set the VM to be the new loaded VM.
34
- env[:machine] = env[:machine].env.machine(
35
- env[:machine].name, env[:machine].provider_name, true)
36
- end
37
-
38
- @app.call(env)
39
- end
40
- end
41
- end
42
- end
43
- end
@@ -1,117 +0,0 @@
1
- require "set"
2
-
3
- require "log4r"
4
-
5
- require "vagrant/util/is_port_open"
6
-
7
- module Vagrant
8
- module Action
9
- module Builtin
10
- # This middleware class will detect and handle collisions with
11
- # forwarded ports, whether that means raising an error or repairing
12
- # them automatically.
13
- #
14
- # Parameters it takes from the environment hash:
15
- #
16
- # * `:port_collision_repair` - If true, it will attempt to repair
17
- # port collisions. If false, it will raise an exception when
18
- # there is a collision.
19
- #
20
- # * `:port_collision_extra_in_use` - An array of ports that are
21
- # considered in use.
22
- #
23
- # * `:port_collision_remap` - A hash remapping certain host ports
24
- # to other host ports.
25
- #
26
- class HandleForwardedPortCollisions
27
- include Util::IsPortOpen
28
-
29
- def initialize(app, env)
30
- @app = app
31
- @logger = Log4r::Logger.new("vagrant::action::builtin::handle_port_collisions")
32
- end
33
-
34
- def call(env)
35
- @logger.debug("Detecting any forwarded port collisions...")
36
-
37
- # Get the extra ports we consider in use
38
- extra_in_use = env[:port_collision_extra_in_use] || []
39
-
40
- # Get the remap
41
- remap = env[:port_collision_remap] || {}
42
-
43
- # Determine the handler we'll use if we have any port collisions
44
- repair = !!env[:port_collision_repair]
45
-
46
- # Determine a list of usable ports for repair
47
- usable_ports = Set.new(env[:machine].config.vm.usable_port_range)
48
- usable_ports.subtract(extra_in_use)
49
-
50
- # Pass one, remove all defined host ports from usable ports
51
- with_forwarded_ports(env) do |options|
52
- usable_ports.delete(options[:host])
53
- end
54
-
55
- # Pass two, detect/handle any collisions
56
- with_forwarded_ports(env) do |options|
57
- guest_port = options[:guest]
58
- host_port = options[:host]
59
-
60
- if remap[host_port]
61
- remap_port = remap[host_port]
62
- @logger.debug("Remap port override: #{host_port} => #{remap_port}")
63
- host_port = remap_port
64
- end
65
-
66
- # If the port is open (listening for TCP connections)
67
- if extra_in_use.include?(host_port) || is_port_open?("127.0.0.1", host_port)
68
- if !repair
69
- raise Errors::ForwardPortCollision,
70
- :guest_port => guest_port.to_s,
71
- :host_port => host_port.to_s
72
- end
73
-
74
- @logger.info("Attempting to repair FP collision: #{host_port}")
75
-
76
- # If we have no usable ports then we can't repair
77
- if usable_ports.empty?
78
- raise Errors::ForwardPortAutolistEmpty,
79
- :vm_name => env[:machine].name,
80
- :guest_port => guest_port.to_s,
81
- :host_port => host_port.to_s
82
- end
83
-
84
- # Attempt to repair the forwarded port
85
- repaired_port = usable_ports.to_a.sort[0]
86
- usable_ports.delete(repaired_port)
87
-
88
- # Modify the args in place
89
- options[:host] = repaired_port
90
-
91
- @logger.info("Repaired FP collision: #{host_port} to #{repaired_port}")
92
-
93
- # Notify the user
94
- env[:ui].info(I18n.t("vagrant.actions.vm.forward_ports.fixed_collision",
95
- :host_port => host_port.to_s,
96
- :guest_port => guest_port.to_s,
97
- :new_port => repaired_port.to_s))
98
- end
99
- end
100
-
101
- @app.call(env)
102
- end
103
-
104
- protected
105
-
106
- def with_forwarded_ports(env)
107
- env[:machine].config.vm.networks.each do |type, options|
108
- # Ignore anything but forwarded ports
109
- next if type != :forwarded_port
110
-
111
- yield options
112
- end
113
- end
114
- end
115
- end
116
- end
117
- end