Commit Graph

2463 Commits

Author SHA1 Message Date
Paul Hinze c25172d0f7 providers/virtualbox: support DHCP interfaces for NFS
Previously, we required a host-only interface with a static IP for NFS
to work in VirtualBox, because we needed access to the guest's IP in
order to properly configure mount commands.

After boot, VirtualBox exposes the IP addresses of a guest's network
adapters via the "guestproperty" interface.

This adds support for reading VirtualBox guest properties to the
VirtualBox driver and utilizes that support to prepare NFS settings,
which removes the necessity for a static IP for NFS to work.

In this commit we also start building out scaffolding for unit testing
vbox actions and drivers.

Test plan:
 - Prepare a Vagrantfile with the following:
   * private network with type: :dhcp
   * synced folder with nfs: true
 - Boot a VM from this Vagrantfile using the virtualbox provider
 - Machine should boot successfully with working synced folder
2013-12-03 10:21:28 -05:00
Fabio Rehm 9753f988b0 core: Fix regression caused by recent changes that allowed multiple private keys [GH-907] 2013-11-29 00:19:21 -02:00
phinze ee44e717f0 core: fix small comment typo 2013-11-27 18:56:48 -06:00
Mitchell Hashimoto db9c8dd6b3 core: validate box_download_ca_cert_file, expand 2013-11-26 21:10:33 -08:00
Mitchell Hashimoto d0f14250d6 core: can specify config.vm.box_download_ca_cert 2013-11-26 19:35:04 -08:00
Mitchell Hashimoto cd3e19306c commands/box/add: custom CA cert [GH-2337] 2013-11-26 19:32:56 -08:00
Mitchell Hashimoto fef24b2b24 core: output available commands in machine-readable 2013-11-26 19:06:33 -08:00
Mitchell Hashimoto d7b74ca8b9 core: config.vm.box_url can be array of urls [GH-1958] 2013-11-25 21:57:20 -08:00
Mitchell Hashimoto 21bed5c0aa core: cleanup HandleBoxURL 2013-11-25 19:11:26 -08:00
Mitchell Hashimoto 13b52f6b6e Merge branch 'client-certs' of https://github.com/sthulb/vagrant into sthulb-client-certs
Conflicts:
	config/default.rb
	lib/vagrant/action/builtin/handle_box_url.rb
	plugins/commands/box/command/add.rb
2013-11-25 16:50:11 -08:00
Mitchell Hashimoto 45e09eb677 core: allow multiple private keys [GH-907] 2013-11-25 15:45:39 -08:00
Mitchell Hashimoto 3bedc77cc4 Merge branch '2293-track-box-url' of https://github.com/fgrehm/vagrant into fgrehm-2293-track-box-url
Conflicts:
	plugins/commands/box/command/list.rb
2013-11-25 13:20:26 -08:00
Mitchell Hashimoto 5f1cf5872f core: create sentinel just before provisioning [GH-2488] 2013-11-25 11:52:48 -08:00
Fabio Rehm 35476328a0 Update version to 1.4.0.dev
Since plugin devs might not be aware of the bump, at least they'll know that master is now 1.4 after a `bundle update`

/cc @mitchellh
2013-11-25 14:18:30 -02:00
Mitchell Hashimoto 3701b955cb core: allow hooking around provisioner runs
/cc @fgrehm - :) I think you'll understand.
2013-11-24 21:15:22 -08:00
Mitchell Hashimoto d6fb083507 Merge pull request #2405 from fgrehm/2044-provisioner-hooking
core: support hooking around provisioners runs
2013-11-24 21:07:53 -08:00
Mitchell Hashimoto 8d99382993 core: allow custom callables in hooks 2013-11-24 21:07:11 -08:00
Mitchell Hashimoto ec5727dfe0 core: expose the hook method from the env 2013-11-24 21:02:18 -08:00
Mitchell Hashimoto f5cc112a4b core: allow hooks to send arbitrary data 2013-11-24 21:01:41 -08:00
Mitchell Hashimoto 4bc4317607 core: fix exception case regression from yesterday 2013-11-24 16:38:32 -08:00
Mitchell Hashimoto 42a71a953d commands/status: add machine-readable output 2013-11-24 11:11:38 -08:00
Mitchell Hashimoto c5a7ab7953 core: Add the MachineReadable UI, --machine-readable flag 2013-11-24 11:04:54 -08:00
Mitchell Hashimoto 0379853202 core: get rid of dependencies on @env from mixin 2013-11-23 22:05:59 -08:00
Mitchell Hashimoto f0f8b4e3ee core: use OpenSSH for ssh exec 2013-11-23 17:21:38 -08:00
Mitchell Hashimoto bc9d048066 core: enable SSH compression for `vagrant ssh` 2013-11-23 16:50:39 -08:00
Mitchell Hashimoto 97c80c0a62 Merge pull request #2424 from tmatilai/store_provision_enabled
core: store the final `provision_enabled` value to env
2013-11-23 16:46:55 -08:00
Mitchell Hashimoto 3cdc0ef445 core: allow env access in plugin loaded middleware 2013-11-23 16:40:19 -08:00
Mitchell Hashimoto 49b14114a2 core: style nitpick
/cc @fgrehm - I prefer this style. :) No big deal, just pointing it out
2013-11-23 16:39:30 -08:00
Mitchell Hashimoto 1ea39ab605 Merge pull request #2437 from fgrehm/plugins-loaded-hook
core: plugins loaded hook with no vagrantfiles
2013-11-23 16:38:45 -08:00
Mitchell Hashimoto 0e20c51c7f core: allow provisioner cleanup to happen after call 2013-11-23 16:37:18 -08:00
Mitchell Hashimoto 46d9ded812 commands/box/add: add --clean flag to ignore continuation 2013-11-23 15:55:52 -08:00
Mitchell Hashimoto b78be4625d core: remove old temp files for boxes 2013-11-23 15:53:45 -08:00
Mitchell Hashimoto a290480ec9 core: output when resuming box download 2013-11-23 15:51:10 -08:00
Mitchell Hashimoto 5d9c002bdd core: don't make all downloads continuable 2013-11-23 15:47:42 -08:00
Mitchell Hashimoto 034c151720 Merge branch 'resumable-download' of https://github.com/rconradharris/vagrant into rconradharris-resumable-download
Conflicts:
	CHANGELOG.md
2013-11-23 15:42:48 -08:00
Mitchell Hashimoto 97389d4255 core: output synopsis with command [GH-2249] 2013-11-23 14:00:42 -08:00
Mitchell Hashimoto 1b8c3b62af core: scope hash override synced folder settings 2013-11-23 13:38:15 -08:00
Mitchell Hashimoto de9d38de21 core: don't load vagrantfile on plugin command 2013-11-23 13:25:33 -08:00
Mitchell Hashimoto e9fd622406 core: vagrant version requirements in vagrantfile [GH-2322] 2013-11-23 12:23:34 -08:00
Mitchell Hashimoto bf72c7cb5d core: human friendly error for corrupt box metadata 2013-11-23 11:54:42 -08:00
Mitchell Hashimoto ab70dc271b core: verify explicit sf types are usable 2013-11-23 10:47:06 -08:00
Mitchell Hashimoto 0b9861db7d providers/virtualbox: fix broken NFS check 2013-11-22 17:29:35 -08:00
Mitchell Hashimoto 125584aaf4 core: SyncedFolders middleware passes inoptions 2013-11-22 17:13:14 -08:00
Mitchell Hashimoto 079ac12f5d core: remove NFS action 2013-11-22 16:53:17 -08:00
Mitchell Hashimoto 52fe93cc41 synced_folders/nfs: begin implementation (not functional) 2013-11-22 16:51:55 -08:00
Mitchell Hashimoto 93a4066339 core: SyncedFolders built-in middleware 2013-11-22 16:12:51 -08:00
Mitchell Hashimoto 97148379d2 providers/virtualbox: implement the synced folder plugin 2013-11-21 17:38:17 -08:00
Mitchell Hashimoto ee0086ddee core: Add synced_folder plugin type 2013-11-21 15:56:37 -08:00
Rick Harris 87a47abee8 Add resumable downloads
Since VM images can be fairly large and connections rather flaky, it would be
nice to support resumable downloads whereby, if a download is interrupted for
some reason, on the next attempt, it picks up where it left off.

To implement this, the following changes were made:

* The temporary download filename is now constructed from a SHA1 of the
  `box_url` instead of a timestamp. This allows separate invocations of
  Vagrant to 'share' the download-path if the URLs exactly match.

* Add `--continue-at -` option to `curl` which tells it to automatically resume
  downloading where it left off

* Modify the `recover` method in `box_add` to not remove the temporary
  download path if the download was interrupted

Known Issue:

* The progress on a resumed download will look a bit wonky in the sense that,
  it starts at 0% each time, instead of where it left off. Since Vagrant is
  pulling this directly from `curl`, this is more of an upstream issue.

Fixes #57
2013-11-20 15:15:38 -06:00
AJCStriker a567e658c8 Add invalid character replacement
This fixes the bug seen here:
http://pastebin.com/QzWQQndK

Which would generate an Argument Error causing "vagrant up" and other such commands to fail.
2013-11-20 01:44:49 +00:00