vagrant-unbundled 2.2.7.0 → 2.2.16.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (282) hide show
  1. checksums.yaml +4 -4
  2. data/.hashibot.hcl +2 -0
  3. data/CHANGELOG.md +228 -0
  4. data/Gemfile +1 -1
  5. data/README.md +9 -51
  6. data/RELEASE.md +1 -1
  7. data/bin/vagrant +50 -1
  8. data/contrib/README.md +1 -0
  9. data/contrib/sudoers/linux-suse +2 -2
  10. data/contrib/zsh/_vagrant +738 -0
  11. data/contrib/zsh/generate_zsh_completion.rb +165 -0
  12. data/lib/vagrant.rb +28 -5
  13. data/lib/vagrant/action.rb +7 -0
  14. data/lib/vagrant/action/builder.rb +184 -38
  15. data/lib/vagrant/action/builtin/box_add.rb +24 -8
  16. data/lib/vagrant/action/builtin/box_check_outdated.rb +2 -1
  17. data/lib/vagrant/action/builtin/cleanup_disks.rb +56 -0
  18. data/lib/vagrant/action/builtin/cloud_init_setup.rb +122 -0
  19. data/lib/vagrant/action/builtin/cloud_init_wait.rb +30 -0
  20. data/lib/vagrant/action/builtin/delayed.rb +26 -0
  21. data/lib/vagrant/action/builtin/disk.rb +14 -1
  22. data/lib/vagrant/action/builtin/handle_box.rb +3 -1
  23. data/lib/vagrant/action/builtin/handle_forwarded_port_collisions.rb +28 -9
  24. data/lib/vagrant/action/builtin/has_provisioner.rb +36 -0
  25. data/lib/vagrant/action/builtin/mixin_provisioners.rb +1 -0
  26. data/lib/vagrant/action/builtin/mixin_synced_folders.rb +20 -21
  27. data/lib/vagrant/action/builtin/set_hostname.rb +5 -1
  28. data/lib/vagrant/action/builtin/synced_folders.rb +16 -0
  29. data/lib/vagrant/action/builtin/trigger.rb +37 -0
  30. data/lib/vagrant/action/hook.rb +76 -23
  31. data/lib/vagrant/action/runner.rb +12 -27
  32. data/lib/vagrant/action/warden.rb +28 -31
  33. data/lib/vagrant/box.rb +11 -4
  34. data/lib/vagrant/box_collection.rb +1 -1
  35. data/lib/vagrant/bundler.rb +310 -61
  36. data/lib/vagrant/cli.rb +4 -2
  37. data/lib/vagrant/environment.rb +1 -0
  38. data/lib/vagrant/errors.rb +69 -1
  39. data/lib/vagrant/machine.rb +64 -11
  40. data/lib/vagrant/machine_index.rb +28 -1
  41. data/lib/vagrant/patches/net-ssh.rb +186 -0
  42. data/lib/vagrant/plugin/manager.rb +45 -16
  43. data/lib/vagrant/plugin/v2/command.rb +7 -2
  44. data/lib/vagrant/plugin/v2/components.rb +6 -0
  45. data/lib/vagrant/plugin/v2/manager.rb +67 -0
  46. data/lib/vagrant/plugin/v2/plugin.rb +13 -0
  47. data/lib/vagrant/plugin/v2/synced_folder.rb +50 -0
  48. data/lib/vagrant/plugin/v2/trigger.rb +64 -25
  49. data/lib/vagrant/shared_helpers.rb +36 -0
  50. data/lib/vagrant/ui.rb +43 -2
  51. data/lib/vagrant/util.rb +2 -0
  52. data/lib/vagrant/util/ansi_escape_code_remover.rb +1 -1
  53. data/lib/vagrant/util/caps.rb +48 -0
  54. data/lib/vagrant/util/credential_scrubber.rb +1 -1
  55. data/lib/vagrant/util/curl_helper.rb +12 -8
  56. data/lib/vagrant/util/directory.rb +19 -0
  57. data/lib/vagrant/util/downloader.rb +10 -5
  58. data/lib/vagrant/util/guest_hosts.rb +68 -0
  59. data/lib/vagrant/util/guest_inspection.rb +9 -1
  60. data/lib/vagrant/util/install_cli_autocomplete.rb +118 -0
  61. data/lib/vagrant/util/io.rb +7 -27
  62. data/lib/vagrant/util/ipv4_interfaces.rb +15 -0
  63. data/lib/vagrant/util/is_port_open.rb +8 -19
  64. data/lib/vagrant/util/map_command_options.rb +33 -0
  65. data/lib/vagrant/util/mime.rb +92 -0
  66. data/lib/vagrant/util/network_ip.rb +11 -1
  67. data/lib/vagrant/util/numeric.rb +28 -0
  68. data/lib/vagrant/util/platform.rb +10 -2
  69. data/lib/vagrant/util/powershell.rb +31 -15
  70. data/lib/vagrant/util/subprocess.rb +9 -1
  71. data/lib/vagrant/util/template_renderer.rb +2 -2
  72. data/lib/vagrant/util/uploader.rb +7 -4
  73. data/lib/vagrant/vagrantfile.rb +2 -2
  74. data/plugins/commands/autocomplete/command/install.rb +49 -0
  75. data/plugins/commands/autocomplete/command/root.rb +64 -0
  76. data/plugins/commands/autocomplete/plugin.rb +18 -0
  77. data/plugins/commands/cap/command.rb +5 -1
  78. data/plugins/commands/cloud/auth/login.rb +20 -23
  79. data/plugins/commands/cloud/auth/logout.rb +2 -10
  80. data/plugins/commands/cloud/auth/middleware/add_authentication.rb +60 -31
  81. data/plugins/commands/cloud/auth/middleware/add_downloader_authentication.rb +64 -0
  82. data/plugins/commands/cloud/auth/whoami.rb +18 -20
  83. data/plugins/commands/cloud/box/create.rb +33 -29
  84. data/plugins/commands/cloud/box/delete.rb +30 -24
  85. data/plugins/commands/cloud/box/show.rb +41 -31
  86. data/plugins/commands/cloud/box/update.rb +34 -26
  87. data/plugins/commands/cloud/client/client.rb +55 -79
  88. data/plugins/commands/cloud/list.rb +3 -4
  89. data/plugins/commands/cloud/locales/en.yml +15 -11
  90. data/plugins/commands/cloud/plugin.rb +10 -0
  91. data/plugins/commands/cloud/provider/create.rb +38 -28
  92. data/plugins/commands/cloud/provider/delete.rb +39 -29
  93. data/plugins/commands/cloud/provider/update.rb +37 -28
  94. data/plugins/commands/cloud/provider/upload.rb +53 -33
  95. data/plugins/commands/cloud/publish.rb +193 -106
  96. data/plugins/commands/cloud/search.rb +34 -21
  97. data/plugins/commands/cloud/util.rb +273 -161
  98. data/plugins/commands/cloud/version/create.rb +33 -28
  99. data/plugins/commands/cloud/version/delete.rb +35 -28
  100. data/plugins/commands/cloud/version/release.rb +35 -29
  101. data/plugins/commands/cloud/version/revoke.rb +36 -29
  102. data/plugins/commands/cloud/version/update.rb +29 -25
  103. data/plugins/commands/destroy/command.rb +7 -7
  104. data/plugins/commands/login/plugin.rb +0 -13
  105. data/plugins/commands/ssh_config/command.rb +1 -1
  106. data/plugins/communicators/ssh/communicator.rb +25 -24
  107. data/plugins/communicators/winrm/config.rb +1 -1
  108. data/plugins/communicators/winrm/helper.rb +1 -1
  109. data/plugins/communicators/winrm/shell.rb +1 -1
  110. data/plugins/communicators/winssh/communicator.rb +126 -38
  111. data/plugins/communicators/winssh/config.rb +3 -7
  112. data/plugins/guests/alpine/cap/change_host_name.rb +10 -11
  113. data/plugins/guests/alpine/cap/configure_networks.rb +1 -1
  114. data/plugins/guests/alt/cap/change_host_name.rb +40 -53
  115. data/plugins/guests/arch/cap/change_host_name.rb +5 -14
  116. data/plugins/guests/arch/cap/configure_networks.rb +27 -10
  117. data/plugins/guests/arch/cap/smb.rb +1 -1
  118. data/plugins/guests/atomic/cap/change_host_name.rb +5 -14
  119. data/plugins/guests/centos/cap/flavor.rb +24 -0
  120. data/plugins/guests/centos/guest.rb +9 -0
  121. data/plugins/guests/centos/plugin.rb +20 -0
  122. data/plugins/guests/darwin/cap/change_host_name.rb +10 -6
  123. data/plugins/guests/darwin/cap/darwin_version.rb +40 -0
  124. data/plugins/guests/darwin/cap/mount_smb_shared_folder.rb +1 -1
  125. data/plugins/guests/darwin/cap/mount_vmware_shared_folder.rb +33 -10
  126. data/plugins/guests/darwin/plugin.rb +15 -0
  127. data/plugins/guests/debian/cap/change_host_name.rb +12 -11
  128. data/plugins/guests/debian/cap/configure_networks.rb +14 -6
  129. data/plugins/guests/esxi/cap/public_key.rb +3 -1
  130. data/plugins/guests/fedora/guest.rb +4 -4
  131. data/plugins/guests/freebsd/cap/change_host_name.rb +10 -6
  132. data/plugins/guests/gentoo/cap/change_host_name.rb +14 -22
  133. data/plugins/guests/haiku/cap/rsync.rb +19 -0
  134. data/plugins/guests/haiku/plugin.rb +15 -0
  135. data/plugins/guests/linux/cap/change_host_name.rb +46 -0
  136. data/plugins/guests/linux/cap/halt.rb +9 -1
  137. data/plugins/guests/linux/cap/mount_smb_shared_folder.rb +25 -34
  138. data/plugins/guests/linux/cap/mount_virtualbox_shared_folder.rb +10 -11
  139. data/plugins/guests/linux/cap/persist_mount_shared_folder.rb +74 -0
  140. data/plugins/guests/linux/cap/reboot.rb +36 -7
  141. data/plugins/guests/linux/plugin.rb +10 -0
  142. data/plugins/guests/omnios/cap/change_host_name.rb +10 -16
  143. data/plugins/guests/openbsd/cap/change_host_name.rb +10 -6
  144. data/plugins/guests/openwrt/cap/change_host_name.rb +19 -0
  145. data/plugins/guests/openwrt/cap/halt.rb +16 -0
  146. data/plugins/guests/openwrt/cap/insert_public_key.rb +20 -0
  147. data/plugins/guests/openwrt/cap/remove_public_key.rb +22 -0
  148. data/plugins/guests/openwrt/cap/rsync.rb +35 -0
  149. data/plugins/guests/openwrt/guest.rb +23 -0
  150. data/plugins/guests/openwrt/plugin.rb +61 -0
  151. data/plugins/guests/photon/cap/change_host_name.rb +9 -15
  152. data/plugins/guests/pld/cap/change_host_name.rb +11 -17
  153. data/plugins/guests/redhat/cap/change_host_name.rb +14 -5
  154. data/plugins/guests/redhat/cap/flavor.rb +3 -1
  155. data/plugins/guests/redhat/cap/smb.rb +20 -0
  156. data/plugins/guests/redhat/plugin.rb +5 -0
  157. data/plugins/guests/slackware/cap/change_host_name.rb +11 -17
  158. data/plugins/guests/solaris11/plugin.rb +5 -0
  159. data/plugins/guests/suse/cap/change_host_name.rb +31 -9
  160. data/plugins/guests/windows/cap/public_key.rb +3 -3
  161. data/plugins/guests/windows/cap/reboot.rb +10 -5
  162. data/plugins/hosts/darwin/cap/fs_iso.rb +49 -0
  163. data/plugins/hosts/darwin/plugin.rb +10 -0
  164. data/plugins/hosts/linux/cap/fs_iso.rb +49 -0
  165. data/plugins/hosts/linux/cap/nfs.rb +1 -0
  166. data/plugins/hosts/linux/cap/rdp.rb +1 -1
  167. data/plugins/hosts/linux/plugin.rb +10 -0
  168. data/plugins/hosts/windows/cap/fs_iso.rb +48 -0
  169. data/plugins/hosts/windows/cap/rdp.rb +1 -1
  170. data/plugins/hosts/windows/plugin.rb +15 -0
  171. data/plugins/kernel_v2/config/cloud_init.rb +133 -0
  172. data/plugins/kernel_v2/config/disk.rb +67 -14
  173. data/plugins/kernel_v2/config/ssh_connect.rb +24 -0
  174. data/plugins/kernel_v2/config/vm.rb +155 -21
  175. data/plugins/kernel_v2/config/vm_provisioner.rb +13 -2
  176. data/plugins/kernel_v2/config/vm_trigger.rb +6 -5
  177. data/plugins/providers/docker/action.rb +8 -17
  178. data/plugins/providers/docker/action/forwarded_ports.rb +2 -0
  179. data/plugins/providers/docker/action/prepare_forwarded_port_collision_params.rb +61 -0
  180. data/plugins/providers/docker/cap/has_communicator.rb +11 -0
  181. data/plugins/providers/docker/communicator.rb +1 -1
  182. data/plugins/providers/docker/driver.rb +58 -7
  183. data/plugins/providers/docker/plugin.rb +5 -0
  184. data/plugins/providers/hyperv/action.rb +3 -1
  185. data/plugins/providers/hyperv/action/configure.rb +8 -0
  186. data/plugins/providers/hyperv/action/export.rb +4 -2
  187. data/plugins/providers/hyperv/cap/cleanup_disks.rb +54 -0
  188. data/plugins/providers/hyperv/cap/configure_disks.rb +200 -0
  189. data/plugins/providers/hyperv/cap/validate_disk_ext.rb +34 -0
  190. data/plugins/providers/hyperv/config.rb +5 -0
  191. data/plugins/providers/hyperv/driver.rb +90 -9
  192. data/plugins/providers/hyperv/plugin.rb +25 -0
  193. data/plugins/providers/hyperv/scripts/attach_disk_drive.ps1 +28 -0
  194. data/plugins/providers/hyperv/scripts/dismount_vhd.ps1 +13 -0
  195. data/plugins/providers/hyperv/scripts/get_vhd.ps1 +16 -0
  196. data/plugins/providers/hyperv/scripts/get_vm_status.ps1 +1 -1
  197. data/plugins/providers/hyperv/scripts/list_hdds.ps1 +17 -0
  198. data/plugins/providers/hyperv/scripts/new_vhd.ps1 +31 -0
  199. data/plugins/providers/hyperv/scripts/remove_disk_drive.ps1 +25 -0
  200. data/plugins/providers/hyperv/scripts/resize_disk_drive.ps1 +18 -0
  201. data/plugins/providers/hyperv/scripts/set_enhanced_session_transport_type.ps1 +24 -0
  202. data/plugins/providers/hyperv/scripts/set_vm_integration_services.ps1 +3 -3
  203. data/plugins/providers/hyperv/scripts/utils/VagrantVM/VagrantVM.psm1 +14 -6
  204. data/plugins/providers/virtualbox/action.rb +13 -1
  205. data/plugins/providers/virtualbox/action/export.rb +4 -2
  206. data/plugins/providers/virtualbox/action/forward_ports.rb +2 -2
  207. data/plugins/providers/virtualbox/action/import.rb +8 -4
  208. data/plugins/providers/virtualbox/action/network.rb +12 -5
  209. data/plugins/providers/virtualbox/action/prepare_clone_snapshot.rb +4 -2
  210. data/plugins/providers/virtualbox/action/snapshot_delete.rb +4 -2
  211. data/plugins/providers/virtualbox/action/snapshot_restore.rb +4 -2
  212. data/plugins/providers/virtualbox/cap/cleanup_disks.rb +85 -0
  213. data/plugins/providers/virtualbox/cap/configure_disks.rb +440 -0
  214. data/plugins/providers/virtualbox/cap/mount_options.rb +40 -0
  215. data/plugins/providers/virtualbox/cap/validate_disk_ext.rb +34 -0
  216. data/plugins/providers/virtualbox/driver/base.rb +15 -0
  217. data/plugins/providers/virtualbox/driver/meta.rb +16 -2
  218. data/plugins/providers/virtualbox/driver/version_5_0.rb +217 -2
  219. data/plugins/providers/virtualbox/driver/version_6_1.rb +23 -0
  220. data/plugins/providers/virtualbox/model/storage_controller.rb +135 -0
  221. data/plugins/providers/virtualbox/model/storage_controller_array.rb +98 -0
  222. data/plugins/providers/virtualbox/plugin.rb +42 -0
  223. data/plugins/providers/virtualbox/provider.rb +2 -1
  224. data/plugins/providers/virtualbox/synced_folder.rb +1 -0
  225. data/plugins/provisioners/ansible/cap/guest/alpine/ansible_install.rb +44 -0
  226. data/plugins/provisioners/ansible/cap/guest/freebsd/ansible_install.rb +1 -1
  227. data/plugins/provisioners/ansible/plugin.rb +5 -0
  228. data/plugins/provisioners/ansible/provisioner/base.rb +1 -1
  229. data/plugins/provisioners/container/client.rb +203 -0
  230. data/plugins/provisioners/container/config.rb +83 -0
  231. data/plugins/provisioners/container/installer.rb +13 -0
  232. data/plugins/provisioners/container/plugin.rb +23 -0
  233. data/plugins/provisioners/container/provisioner.rb +28 -0
  234. data/plugins/provisioners/docker/cap/{redhat → centos}/docker_install.rb +10 -7
  235. data/plugins/provisioners/docker/cap/centos/docker_start_service.rb +24 -0
  236. data/plugins/provisioners/docker/client.rb +4 -175
  237. data/plugins/provisioners/docker/config.rb +2 -72
  238. data/plugins/provisioners/docker/installer.rb +3 -5
  239. data/plugins/provisioners/docker/plugin.rb +6 -6
  240. data/plugins/provisioners/docker/provisioner.rb +4 -10
  241. data/plugins/provisioners/podman/cap/centos/podman_install.rb +35 -0
  242. data/plugins/provisioners/podman/cap/linux/podman_installed.rb +13 -0
  243. data/plugins/provisioners/podman/cap/redhat/podman_install.rb +26 -0
  244. data/plugins/provisioners/podman/client.rb +12 -0
  245. data/plugins/provisioners/podman/config.rb +28 -0
  246. data/plugins/provisioners/podman/installer.rb +33 -0
  247. data/plugins/provisioners/podman/plugin.rb +38 -0
  248. data/plugins/provisioners/podman/provisioner.rb +52 -0
  249. data/plugins/provisioners/salt/bootstrap-salt.sh +7 -4
  250. data/plugins/provisioners/salt/provisioner.rb +4 -0
  251. data/plugins/provisioners/shell/config.rb +1 -6
  252. data/plugins/provisioners/shell/provisioner.rb +61 -26
  253. data/plugins/synced_folders/nfs/synced_folder.rb +3 -1
  254. data/plugins/synced_folders/smb/cap/default_fstab_modification.rb +11 -0
  255. data/plugins/synced_folders/smb/cap/mount_options.rb +56 -0
  256. data/plugins/synced_folders/smb/plugin.rb +20 -0
  257. data/plugins/synced_folders/smb/synced_folder.rb +2 -2
  258. data/plugins/synced_folders/unix_mount_helpers.rb +14 -0
  259. data/scripts/website_push_www.sh +1 -1
  260. data/templates/commands/init/Vagrantfile.min.erb +3 -0
  261. data/templates/guests/arch/{network_dhcp.erb → default_network/network_dhcp.erb} +0 -0
  262. data/templates/guests/arch/{network_static.erb → default_network/network_static.erb} +0 -0
  263. data/templates/guests/arch/{network_static6.erb → default_network/network_static6.erb} +0 -0
  264. data/templates/guests/arch/systemd_networkd/network_dhcp.erb +6 -0
  265. data/templates/guests/arch/systemd_networkd/network_static.erb +9 -0
  266. data/templates/guests/arch/systemd_networkd/network_static6.erb +9 -0
  267. data/templates/guests/linux/etc_fstab.erb +6 -0
  268. data/templates/guests/nixos/network.erb +5 -6
  269. data/templates/locales/en.yml +221 -5
  270. data/templates/locales/providers_docker.yml +4 -0
  271. data/templates/nfs/exports_darwin.erb +1 -1
  272. data/vagrant.gemspec +14 -20
  273. data/version.txt +1 -1
  274. metadata +5092 -8978
  275. data/lib/vagrant/action/builtin/after_trigger.rb +0 -31
  276. data/lib/vagrant/action/builtin/before_trigger.rb +0 -28
  277. data/plugins/commands/login/client.rb +0 -253
  278. data/plugins/commands/login/command.rb +0 -137
  279. data/plugins/commands/login/errors.rb +0 -24
  280. data/plugins/commands/login/locales/en.yml +0 -49
  281. data/plugins/provisioners/docker/cap/redhat/docker_start_service.rb +0 -16
  282. data/scripts/website_push_docs.sh +0 -40
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5c1283ff34586e6a2607abd40cd3e31715639e0700fe9430c1efa7b8087e2473
4
- data.tar.gz: 0ad8e0b9d1b606802db43d803b28d9e3d168243168e3092c5ba37bcab7571bde
3
+ metadata.gz: 84c5c51fc0678552529c308c36ba4c93114e71aee93c062b7993ad7bc4bab6d8
4
+ data.tar.gz: 7ad1f71440d48b09436fde379347a1008fc32ad7e9378187750bb3421b94e202
5
5
  SHA512:
6
- metadata.gz: 323983d2f71ed25fd578143f77f912621ba5631bdd7d7c68409c249831ed925507e47d91f2b4403fd9a54503ac84c3d086535c87e122fcdeb3fe97e2dcc0679b
7
- data.tar.gz: dfe2cb8904ad0bf9ebd1391afac0df82064cbd760c3db372e9aa6d103986c7c64e18b0efe729da3dbe21b3ed0be8106da5f5d5d65723a8386ebb0d569e8af68a
6
+ metadata.gz: c643c0795943406343de52a7db6e85e9114336133cdc89105abcaee498c9547efc9530788bfc797df2b893240dbdeff3f57c6a65622cf335b255e1bbe09d2b26
7
+ data.tar.gz: 2ef84ae4bd47a7e4a0026be3f60d86369c95103659bfdc32ecee8f340191643b8518e0a948e5d446b982af6bfa3230ecbd388166ba4334c3d8e310f56cb003d3
data/.hashibot.hcl CHANGED
@@ -4,6 +4,8 @@ poll "closed_issue_locker" "locker" {
4
4
  max_issues = 500
5
5
  sleep_between_issues = "5s"
6
6
 
7
+ no_comment_if_no_activity_for = "4320h" # 180 days
8
+
7
9
  message = <<-EOF
8
10
  I'm going to lock this issue because it has been closed for _30 days_ ⏳. This helps our maintainers find and focus on the active issues.
9
11
 
data/CHANGELOG.md CHANGED
@@ -1,3 +1,227 @@
1
+ ## 2.2.16 (April 29, 2021)
2
+
3
+ IMPROVEMENTS:
4
+
5
+ - guest/linux: Detect in process shutdown in reboot capability [GH-12302]
6
+ - util/powershell: Support `pwsh` executable in new versions of powershell [GH-12335]
7
+
8
+ BUG FIXES:
9
+
10
+ - core: Add box directly with authed urls [GH-12278]
11
+ - communicator/ssh: Properly handle authentication with RSA keys [GH-12298]
12
+ - guest/fedora: Import guest detection module [GH-12275]
13
+ - guest/linux: Fix SMB folder mount name capability call [GH-12281]
14
+ - provider/docker: Properly handle updated buildkit build output [GH-12300]
15
+
16
+ ## 2.2.15 (March 30, 2021)
17
+
18
+ IMPROVEMENTS:
19
+
20
+ - command/cloud: Remove access token URL parameter by default [GH-12234]
21
+ - command/cloud: Add VAGRANT_SERVER_ACCESS_TOKEN_BY_URL to revert access token behavior [GH-12252]
22
+ - core: Bump vagrant_cloud dependency to 3.0.3 [GH-12200]
23
+ - core: Bump listen gem version and remove ruby_dep [GH-12148]
24
+ - core: Bump vagrant_cloud dependency to 3.0.4 [GH-12242]
25
+ - core/bundler: Update resolution handling when outside of installer and bundler [GH-12225]
26
+ - core/plugin: Provide friendlier error messages on install fail when possible [GH-12225]
27
+ - guest/openwrt: Add support for OpenWrt guests [GH-11791]
28
+ - guest/freebsd: FreeBSD updated ansible to py37-ansible [GH-12201]
29
+ - provider/virtualbox: Get default dhcp ip from a matching host ip [GH-12211]
30
+ - util/downloader: Prevent redirect notification for default store [GH-12235]
31
+
32
+ BUG FIXES:
33
+
34
+ - command/cloud: Automatically disable direct uploads when file is too large [GH-12250]
35
+ - core: Make shell script for loop shell agnostic [GH-12205]
36
+ - core: Raise error if downloading box metadata fails [GH-12189]
37
+ - core: Apply download options to metadata requests [GH-12177]
38
+ - core: Don't try to find "" by prefix in the machine index [GH-12188]
39
+ - core: Don't count not created machines as declined when destroying [GH-12186]
40
+ - core: Bump bcrypt_pbkdf version [GH-12216]
41
+ - core: Remove all space from checksums [GH-12168]
42
+ - core/bundler: Do not include default gems as pinned constraints [GH-12253]
43
+ - core/synced_folders: Extract os friendly mount name for vbox shared folders [GH-12184]
44
+ - guest/alpine: Check if interface exists before shutting it down [GH-12181]
45
+ - guest/nixos: Fix network config for recent NixOS releases [GH-12152]
46
+ - guest/fedora: Detect fedora using os-releases id [GH-12230]
47
+
48
+ ## 2.2.14 (November 20, 2020)
49
+
50
+ IMPROVEMENTS:
51
+
52
+ - host/windows: Update filesystem type matching on WSL2 [GH-12056]
53
+ - provisioner/salt: Modernize Salt bootstrap script [GH-12135]
54
+
55
+ BUG FIXES:
56
+
57
+ - core: Track raw actions as they are applied to prevent multiple insertions [GH-12037]
58
+ - core/bundler: Update solution file resolution to support prerelease matching [GH-12054]
59
+ - guest/darwin: Mount vmware synced folders for big sur guests [GH-12053]
60
+
61
+ ## 2.2.13 (November 06, 2020)
62
+
63
+ BUG FIXES:
64
+
65
+ - core/bundler: Adjust request sets properly with non-development prerelease [GH-12025]
66
+
67
+ ## 2.2.12 (November 06, 2020)
68
+
69
+ BUG FIXES:
70
+
71
+ - core/bundler: Automatically enable prerelease dependency resolution [GH-12023]
72
+
73
+ NOTE: This is a fix release to resolve an immediate issue with Vagrant
74
+ plugin functionality
75
+
76
+ ## 2.2.11 (November 05, 2020)
77
+
78
+ IMPROVEMENTS:
79
+
80
+ - command/cap: Add ability to specify target [GH-11965]
81
+ - command/cloud: Add --force flag to `version release` command [GH-11912]
82
+ - command/cloud: Updates to utilize the 3.0 version of vagrant_cloud [GH-11916]
83
+ - core: Switch from unmaintained gem erubis to erubi [GH-11893]
84
+ - core: Download Vagrant boxes using auth headers [GH-11835]
85
+ - core: Remove dependency on mime gem [GH-11857]
86
+ - core: Handle Errno::EALREADY exceptions on port check [GH-12008]
87
+ - core: Fix missing hook/trigger insertion into action stack [GH-12014]
88
+ - guest/linux: Make max reboot wait duration configurable [GH-12011]
89
+ - guest/windows: Make max reboot wait duration configurable [GH-12011]
90
+ - providers/virtualbox: Fix availability check of provider [GH-11936]
91
+ - tests: Add integration tests for Docker provider [GH-11907]
92
+
93
+ BUG FIXES:
94
+
95
+ - core/synced_folders: Don't persist synced folders to fstab if guest is not reachable [GH-11900]
96
+ - core: Don't try to recover machine without a uuid [GH-11863]
97
+ - config/disks: Transform provider specific config to common form [GH-11939]
98
+ - config/vm: Override synced-folder `:nfs` option [GH-11988]
99
+ - contrib/zsh: Remove newline from beginning of completion script [GH-11963]
100
+ - guests/arch: Install smbclient when setting up arch smb [GH-11923]
101
+ - guest/linux: Check for /etc/fstab before trying to modify [GH-11897]
102
+ - guest/linux: Create an /etc/fstab if does not exist [GH-11909]
103
+ - guest/linux: Persist SMB mounts [GH-11846]
104
+ - guest/debian: Set hostname in /etc/hosts as first step to changing hostname [GH-11885]
105
+ - guest/rhel: Check for existence of network files before trying to update them [GH-11877]
106
+ - guest/suse: Don't use hostnamectl to set hostname if not available on system [GH-11996]
107
+ - tests: Remove rsync dependency from tests [GH-11889]
108
+
109
+ ## 2.2.10 (August 24, 2020)
110
+
111
+ FEATURES:
112
+
113
+ - hyperv/disks: Add ability to manage virtual disks for guests [GH-11541]
114
+
115
+ IMPROVEMENTS:
116
+
117
+ - core: Allow provisioners to be run when a communicator is not available [GH-11579]
118
+ - core: Add `autocomplete` command that allows for install of bash or zsh autocomplete scripts [GH-11523]
119
+ - core: Update to childprocess gem to 4.0.0 [GH-11717]
120
+ - core: Add action to wait for cloud-init to finish running [GH-11773]
121
+ - core: Update to net-ssh to 6.0 and net-sftp to 3.0 [GH-11621]
122
+ - core: Optimize port in use check for faster validation [GH-11810]
123
+ - core: Support for Ruby 2.7 [GH-11814]
124
+ - core: Add synced folder capabilities for mount options and default fstab modification behavior [GH-11797]
125
+ - guest/arch: Use systemd-networkd to configure networking for guests [GH-11400]
126
+ - guest/haiku: Rsync install for rsync synced folders [GH-11614]
127
+ - guest/solaris11: Add guest capability shell_expand_guest_path [GH-11759]
128
+ - host/darwin: Add ability to build ISO [GH-11694]
129
+ - hosts/linux: Add ability to build ISO [GH-11750]
130
+ - hosts/windows: Add ability to build ISO [GH-11750]
131
+ - providers/hyperv: Add support for SecureBootTemplate setting on import [GH-11756]
132
+ - providers/hyperv: Add support for EnhancedSessionTransportType [GH-11014]
133
+ - virtualbox/disks: Add ability to manage virtual dvds for guests [GH-11613]
134
+
135
+ BUG FIXES:
136
+
137
+ - core: Ensure MapCommandOptions class is required [GH-11629]
138
+ - core: Fix `:all` special value on triggers [GH-11688]
139
+ - core: Ensure network addresses have a valid netmask [GH-11679]
140
+ - core: Recover local machine metadata in global index [GH-11656]
141
+ - core: Print CLI help message is ambiguous option provided [GH-11746]
142
+ - core: Update how `/etc/hosts` gets updated for darwin, freebsd and openbsd [GH-11719]
143
+ - core: Capture `[3J` escape sequence [GH-11807]
144
+ - core: Treat empty box value as invalid [GH-11618]
145
+ - core: Allow forwarding ports to unknown addresses [GH-11810]
146
+ - core: Scrub credentials as whole words [GH-11837]
147
+ - commands/destroy: Add gracefull option to switch beween gracefully or forcefully shutting down a vm [GH-11628]
148
+ - communicator/ssh: Raise an error for a nil exit status [GH-11721]
149
+ - communicator/winrm: Check for nil return from querying for forwarded ports [GH-11831]
150
+ - config/vm: Add option `allow_hosts_modification` to allow/disable Vagrant editing the guests `/etc/hosts` file [GH-11565]
151
+ - config/vm: Add config option `hostname` to `config.vm.network` [GH-11566]
152
+ - config/vm: Don't ignore NFS synced folders on Windows hosts [GH-11631]
153
+ - host: Use regular port check for loopback addresses [GH-11654]
154
+ - host: Allow windows and linux hosts to detach from rdp process [GH-11732]
155
+ - host/windows: Properly register SMB password validation capability [GH-11795]
156
+ - guests: Allow setting of hostname according to `hostname` option for multiple guests [GH-11704]
157
+ - guest/alpine: Allow setting of hostname according to `hostname` option [GH-11718]
158
+ - guest/esxi: Be more permissive with permissions of ssh directory [GH-11587]
159
+ - guest/linux: Add virtual box shared folders to guest fstab [GH-11570]
160
+ - guest/suse: Allow setting of hostname according to `hostname` option [GH-11567]
161
+ - providers/docker: Ensure new containers don't grab existing bound ports [GH-11602]
162
+ - providers/hyperv: Fix check for secure boot [GH-11809]
163
+ - providers/virtualbox: Fix inability to create disk with same name across multiple guests [GH-11767]
164
+ - provisioners/docker: Allow to specify docker image version using the `run` option [GH-11806]
165
+ - provisioners/file: Allow creating empty folders [GH-11805]
166
+ - provisioners/shell: Ensure Windows shell provisioner gets the correct file extension [GH-11644]
167
+ - util/powershell: Use correct powershell executable for privileged commands [GH-11787]
168
+
169
+ ## 2.2.9 (May 07, 2020)
170
+
171
+ BUG FIXES:
172
+
173
+ - core/bundler: Properly handle plugin install with available specification [GH-11592]
174
+ - provisioners/docker: Fix CentOS docker install and start service capabilities [GH-11581]
175
+ - provisioners/podman: Seperate RHEL install from CentOS install [GH-11584]
176
+
177
+ ## 2.2.8 (May 04, 2020)
178
+
179
+ FEATURES:
180
+
181
+ - virtualbox/disks: Add ability to manage virtual disks for guests [GH-11349]
182
+
183
+ IMPROVEMENTS:
184
+
185
+ - bin/vagrant: Automatically include global options within commands [GH-11473]
186
+ - bin/vagrant: Suppress Ruby warnings when not running pre-release version [GH-11446]
187
+ - communicator/ssh: Add support for configuring SSH connect timeout [GH-11533]
188
+ - core: Update childprocess gem [GH-11487]
189
+ - core: Add cli option `--no-tty` [GH-11414]
190
+ - core: Overhaul call stack modifications implementation for hooks and triggers [GH-11455]
191
+ - core/bundler: Cache plugin solution sets to speed up startup times [GH-11363]
192
+ - config/vm: Add`box_download_options` config to specify extra download options for a box [GH-11560]
193
+ - guest/alpine: Add ansible provisioner guest support [GH-11411]
194
+ - guest/linux: Update systemd? check to use sudo [GH-11398]
195
+ - guest/linux: Use systemd if available to halt and reboot system [GH-11407]
196
+ - guests/linux: Mount smb folders with `mfsymlinks` option by default [GH-11503]
197
+ - guest/redhat: Add support for SMB [GH-11463]
198
+ - guest/windows: Rescue all regular exceptions during reboot wait [GH-11428]
199
+ - providers/docker: Support catching container name when using podman [GH-11356]
200
+ - provisioners/docker: Support Centos8 [GH-11462]
201
+ - provisioners/podman: Add Podman as a provisioner [GH-11472]
202
+ - provisioners/salt: Allow specifying python_version [GH-11436]
203
+
204
+ BUG FIXES:
205
+
206
+ - communicators/winssh: Fix issues with Windows SSH communicator [GH-11430]
207
+ - core/bundler: Activate vagrant specification when not active [GH-11445]
208
+ - core/bundler: Properly resolve sets when Vagrant is in prerelease [GH-11571]
209
+ - core/downloader: Always set `-q` flag as first option [GH-11366]
210
+ - core/hooks: Update dynamic action hook implementation to prevent looping [GH-11427]
211
+ - core/synced_folders: Validate type option if set [GH-11359]
212
+ - guests/debian: Choose netplan renderer based on network configuration and installed tools [GH-11498]
213
+ - host/darwin: Quote directories in /etc/exports [GH-11441]
214
+ - host/linux: Ensure `/etc/exports` does not contain duplicate records [GH-10591]
215
+ - host/windows: Check all interfaces for port conflict when host_ip: "0.0.0.0" [GH-11454]
216
+ - providers/docker: Fix issue where Vagrant fails to remove image if it is in use [GH-11355]
217
+ - providers/docker: Fix issue with getting correct docker image id from build output [GH-11461]
218
+ - providers/hyperv: Prevent error when identity reference cannot be translated [GH-11425]
219
+ - provider/hyperv: Use service id for manipulating vm integration services [GH-11499]
220
+ - providers/virtualbox: Parse `list dhcpservers` output on VirtualBox 6.1 [GH-11404]
221
+ - providers/virtualbox: Raise an error if guest IP ends in .1 [GH-11500]
222
+ - provisioners/shell: Ensure windows shell provisioners always get an extension [GH-11517]
223
+ - util/io: Fix encoding conversion errors [GH-11571]
224
+
1
225
  ## 2.2.7 (January 27, 2020)
2
226
 
3
227
  IMPROVEMENTS:
@@ -3187,6 +3411,10 @@ BACKWARDS INCOMPATIBILITIES:
3187
3411
  format, but this is _opt-in_. Old Vagrantfile format continues to be supported,
3188
3412
  as promised. To use the new features that will be introduced throughout
3189
3413
  the 1.x series, you'll have to upgrade at some point.
3414
+ - The .vagrant file is no longer supported and has been replaced by
3415
+ a .vagrant directory. Running vagrant will automatically upgrade
3416
+ to the new style directory format, after which old versions of
3417
+ Vagrant will not be able to see or control your VM.
3190
3418
 
3191
3419
  FEATURES:
3192
3420
 
data/Gemfile CHANGED
@@ -5,5 +5,5 @@ gemspec
5
5
  if File.exist?(File.expand_path("../../vagrant-spec", __FILE__))
6
6
  gem 'vagrant-spec', path: "../vagrant-spec"
7
7
  else
8
- gem 'vagrant-spec', git: "https://github.com/hashicorp/vagrant-spec.git"
8
+ gem 'vagrant-spec', git: "https://github.com/hashicorp/vagrant-spec.git", branch: :main
9
9
  end
data/README.md CHANGED
@@ -1,10 +1,8 @@
1
1
  # Vagrant
2
2
 
3
- * Website: [https://www.vagrantup.com/](https://www.vagrantup.com/)
4
- * Source: [https://github.com/hashicorp/vagrant](https://github.com/hashicorp/vagrant)
5
- * [![Gitter chat](https://badges.gitter.im/mitchellh/vagrant.png)](https://gitter.im/mitchellh/vagrant)
6
- * Mailing list: [Google Groups](https://groups.google.com/group/vagrant-up)
7
- * IRC: #vagrant on freenode.org
3
+ - Website: [https://www.vagrantup.com/](https://www.vagrantup.com/)
4
+ - Source: [https://github.com/hashicorp/vagrant](https://github.com/hashicorp/vagrant)
5
+ - HashiCorp Discuss: [https://discuss.hashicorp.com/c/vagrant/24](https://discuss.hashicorp.com/c/vagrant/24)
8
6
 
9
7
  Vagrant is a tool for building and distributing development environments.
10
8
 
@@ -19,7 +17,8 @@ between Windows, Mac OS X, and Linux.
19
17
 
20
18
  ## Quick Start
21
19
 
22
- Package dependencies: Vagrant requires `bsdtar` to be available on your system PATH to run successfully.
20
+ Package dependencies: Vagrant requires `bsdtar` and `curl` to be available on
21
+ your system PATH to run successfully.
23
22
 
24
23
  For the quick-start, we'll bring up a development machine on
25
24
  [VirtualBox](https://www.virtualbox.org/) because it is free and works
@@ -43,56 +42,15 @@ the box doesn't already exist on your system.
43
42
  ## Getting Started Guide
44
43
 
45
44
  To learn how to build a fully functional development environment, follow the
46
- [getting started guide](https://www.vagrantup.com/docs/getting-started/index.html).
45
+ [getting started guide](https://www.vagrantup.com/docs/getting-started).
47
46
 
48
47
  ## Installing from Source
49
48
 
50
- If you want the bleeding edge version of Vagrant, we try to keep master pretty stable
51
- and you're welcome to give it a shot. Please review the installation page [here](https://www.vagrantup.com/docs/installation/source.html).
49
+ If you want the bleeding edge version of Vagrant, we try to keep main pretty stable
50
+ and you're welcome to give it a shot. Please review the installation page [here](https://www.vagrantup.com/docs/installation/source).
52
51
 
53
52
  ## Contributing to Vagrant
54
53
 
55
- Once your Vagrant bundle is installed from Git repository, you can run the test suite with:
56
-
57
- bundle exec rake
58
-
59
- This will run the unit test suite, which should come back all green!
60
-
61
- If you are developing Vagrant on a machine that already has a Vagrant package installation present, both will attempt to use the same folder for their configuration (location of this folder depends on system). This can cause errors when Vagrant attempts to load plugins. In this case, override the `VAGRANT_HOME` environment variable for your development version of Vagrant before running any commands, to be some new folder within the project or elsewhere on your machine. For example, in Bash:
62
-
63
- export VAGRANT_HOME=~/.vagrant-dev
64
-
65
- You can now run Vagrant commands against the development version:
66
-
67
- bundle exec vagrant
68
-
69
- Please take time to read the [HashiCorp Community Guidelines](https://www.hashicorp.com/community-guidelines) and the [Vagrant Contributing Guide](https://github.com/hashicorp/vagrant/blob/master/.github/CONTRIBUTING.md).
54
+ Please take time to read the [HashiCorp Community Guidelines](https://www.hashicorp.com/community-guidelines) and the [Vagrant Contributing Guide](https://github.com/hashicorp/vagrant/blob/main/.github/CONTRIBUTING.md).
70
55
 
71
56
  Then you're good to go!
72
-
73
- ### Acceptance Tests
74
-
75
- Vagrant also comes with an acceptance test suite that does black-box
76
- tests of various Vagrant components. Note that these tests are **extremely
77
- slow** because actual VMs are spun up and down. The full test suite can
78
- take hours. Instead, try to run focused component tests.
79
-
80
- To run the acceptance test suite, first copy `vagrant-spec.config.example.rb`
81
- to `vagrant-spec.config.rb` and modify it to valid values. The places you
82
- should fill in are clearly marked.
83
-
84
- Next, see the components that can be tested:
85
-
86
- ```
87
- $ rake acceptance:components
88
- cli
89
- provider/virtualbox/basic
90
- ...
91
- ```
92
-
93
- Then, run one of those components:
94
-
95
- ```
96
- $ rake acceptance:run COMPONENTS="cli"
97
- ...
98
- ```
data/RELEASE.md CHANGED
@@ -22,7 +22,7 @@ targeted at Vagrant core members who have the ability to cut a release.
22
22
  to the latest version, commit, and push.
23
23
 
24
24
  1. Publish the webiste by deleting the `stable-website` branch, recreate the branch,
25
- and force push. From the `master` branch, run:
25
+ and force push. From the `main` branch, run:
26
26
 
27
27
  ```
28
28
  $ git branch -D stable-website
data/bin/vagrant CHANGED
@@ -23,9 +23,9 @@ if idx = argv.index("--")
23
23
  argv = argv.slice(0, idx)
24
24
  end
25
25
 
26
+ require_relative "../lib/vagrant/version"
26
27
  # Fast path the version of Vagrant
27
28
  if argv.include?("-v") || argv.include?("--version")
28
- require_relative "../lib/vagrant/version"
29
29
  puts "Vagrant #{Vagrant::VERSION}"
30
30
  exit 0
31
31
  end
@@ -82,6 +82,29 @@ end
82
82
  $stdout.sync = true
83
83
  $stderr.sync = true
84
84
 
85
+ # Before we start activate all our dependencies
86
+ # so we can provide correct resolutions later
87
+ builtin_specs = []
88
+
89
+ vagrant_spec = Gem::Specification.find_all_by_name("vagrant").detect do |spec|
90
+ spec.version == Gem::Version.new(Vagrant::VERSION)
91
+ end
92
+
93
+ dep_activator = proc do |spec|
94
+ spec.runtime_dependencies.each do |dep|
95
+ gem(dep.name, *dep.requirement.as_list)
96
+ dep_spec = Gem::Specification.find_all_by_name(dep.name).detect(&:activated?)
97
+ if dep_spec
98
+ builtin_specs << dep_spec
99
+ dep_activator.call(dep_spec)
100
+ end
101
+ end
102
+ end
103
+
104
+ if vagrant_spec
105
+ dep_activator.call(vagrant_spec)
106
+ end
107
+
85
108
  env = nil
86
109
  begin
87
110
  require 'log4r'
@@ -91,9 +114,29 @@ begin
91
114
  require 'vagrant/util/platform'
92
115
  require 'vagrant/util/experimental'
93
116
 
117
+ # Set our list of builtin specs
118
+ Vagrant::Bundler.instance.builtin_specs = builtin_specs
119
+
94
120
  # Schedule the cleanup of things
95
121
  at_exit(&Vagrant::Bundler.instance.method(:deinit))
96
122
 
123
+ # If this is not a pre-release disable verbose output
124
+ if !Vagrant.prerelease?
125
+ $VERBOSE = nil
126
+ end
127
+
128
+ # Add any option flags defined within this file here
129
+ # so they are automatically propagated to all commands
130
+ Vagrant.add_default_cli_options(proc { |o|
131
+ o.on("--[no-]color", "Enable or disable color output")
132
+ o.on("--machine-readable", "Enable machine readable output")
133
+ o.on("-v", "--version", "Display Vagrant version")
134
+ o.on("--debug", "Enable debug output")
135
+ o.on("--timestamp", "Enable timestamps on log output")
136
+ o.on("--debug-timestamp", "Enable debug output with timestamps")
137
+ o.on("--no-tty", "Enable non-interactive output")
138
+ })
139
+
97
140
  # Create a logger right away
98
141
  logger = Log4r::Logger.new("vagrant::bin::vagrant")
99
142
  logger.info("`vagrant` invoked: #{ARGV.inspect}")
@@ -130,6 +173,12 @@ begin
130
173
  opts[:ui_class] = Vagrant::UI::MachineReadable
131
174
  end
132
175
 
176
+ # Setting to enable/disable showing progress bars
177
+ if argv.include?("--no-tty")
178
+ argv.delete("--no-tty")
179
+ opts[:ui_class] = Vagrant::UI::NonInteractive
180
+ end
181
+
133
182
  # Default to colored output
134
183
  opts[:ui_class] ||= Vagrant::UI::Colored
135
184
 
data/contrib/README.md CHANGED
@@ -14,3 +14,4 @@ for each item will be kept below.
14
14
  starting machines.
15
15
  * `vim` - Contains a `.vim` file for enabling Ruby syntax highlighting
16
16
  for `Vagrantfile`s in `vim`.
17
+ * `zsh` - Contains a zsh script for improving autocompletion with zsh.