Commit Graph

4476 Commits

Author SHA1 Message Date
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
Mitchell Hashimoto b4aa8c0061 Merge pull request #2517 from phinze/2454-fix-dhcp-error-constant-typo
provider/virtualbox: fix bad constant reference in dhcp error
2013-11-20 09:21:13 -08:00
phinze 4225b0eb7b provider/virtualbox: fix bad constant reference in dhcp error
refs #2454
2013-11-20 11:15:25 -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
Mitchell Hashimoto 4883ece9a1 Merge pull request #2512 from phs/phs/doco-typo
website: typo
2013-11-18 19:08:55 -08:00
Phil Smith bd588a0ffe Typo! 2013-11-18 19:06:01 -08:00
jaugustin 722e9e6afb [Provisioner][Shell] add keep_color option to allow custom color output 2013-11-16 13:34:58 +01:00
Rudolf Leermakers aa749db079 Restart NFS on Gentoo host instead of starting
In the case that NFS is already started on a Gentoo host, /etc/init.d/nfs start will not reload exports, but fail. /etc/init.d/nfs reload is known to fail for some esoteric configurations of /etc/exports, restart should be safe for existing connections.
2013-11-11 12:30:40 +01:00
Andy Fowler b13122cab7 use Retryable for virtualbox customize + defaults
when up-ing several boxes at once, VBoxManage modifyvm gets cranky and throws random lock errors. this adds the existing retryable logic to
the customize and sane_defaults actions, both of which fire a bunch of
modifyvm commands, all of which are fine to run multiple times.
2013-11-09 18:16:47 -05:00
Andy Fowler d775756d18 use a safer default name for virtualbox
if the same vagrantfile is up'd in the same second in the same basedir
this caused a conflict,

most notably, all jenkins jobs sit in a 'workspace' directory, which
breaks if more than one job launches from the same trigger.
2013-11-09 15:54:46 -05:00
Andy Fowler 2e9286b4d3 use vbox4.2 driver parallel-safe box import in 4.3
uses what @smoyer did for vbox 4.2 in vbox 4.3,
tested against VBoxManage 4.3.2
2013-11-08 12:48:37 -05:00
Scott Moyer c2a3a30e35 Update the virtualbox driver to import base boxes into a unique(ish) VM folder to prevent collisions. 2013-11-07 17:07:29 -05:00
Jeremy Felt fdfd09b632 Add CentOS 'testing' argument for install_type
The Salt bootstrap file allows for the use of a testing repository in CentOS systems.
2013-11-05 09:36:45 -08:00
Jonathan Li 1ad756d52c ifdown ethN before munging ifcfg-ethN (i.e. removing previous vagrant config for network interface) 2013-11-02 12:35:37 -07:00
rimckenn 3047b81256 Update host.rb
mapall= and maproot= are mutually exclusive options. Currently, when trying to use maproot=, mapall= is getting automatically added, which prevents us from using the NFS mount. This change turns off the adding of mapall= if maproot= has been specified as an option.
2013-11-01 14:44:49 +00:00
Teemu Matilainen 28740943bb Add `--debug` option as a shortcut for `VAGRANT_LOG=debug`
When asking or submitting debug information, a command line switch is
easier and faster than using an environment variable.
2013-10-31 22:20:13 -03:00
Teemu Matilainen 2073a1a939 Fix hostname setting also in Debian, part N
Port #2384 / #2383 for Debian guests.
2013-10-31 21:39:45 -03:00
Fabio Rehm a0c1cc0231 core: Add spec for running environment hooks with a custom Action::Runner 2013-10-29 13:28:04 -02:00
Fabio Rehm bbe7b3ffc5 core: Add support for plugins to hook into the environment load process before configurations are parsed 2013-10-29 13:11:08 -02:00
Fabio Rehm 48875124b9 commands/box: Read box URL and downloaded date from JSON 2013-10-29 13:09:24 -02:00
Fabio Rehm 500deb5138 core: Persist box URL and download date into a JSON file under boxes directory 2013-10-29 13:09:24 -02:00
Fabio Rehm 05a8cf523a core: Get rid of code that deals with box info on a separate statefile 2013-10-29 13:09:24 -02:00
Fabio Rehm fcfb431362 core: Improve RemoveBoxInfo and WriteBoxInfo docs a bit 2013-10-29 13:09:24 -02:00
Fabio Rehm 18cf66e83a commands/box: List base box downloaded URL and datetime when `-i` gets provided to `box list` 2013-10-29 13:09:24 -02:00
Fabio Rehm cbc7e7eedb commands/box: Preparing to display additional box information on `box list` 2013-10-29 13:09:23 -02:00
Fabio Rehm 031119a858 commands/box: Extract a base class for dealing with StateFile instantiation 2013-10-29 13:09:23 -02:00
Fabio Rehm 1c689d2211 core: Remove box information from state file after box removal 2013-10-29 13:09:23 -02:00
Fabio Rehm e4b5db829e commands/box: Extract box removal code from `box remove` command into a builtin action 2013-10-29 13:09:23 -02:00
Fabio Rehm 1443d634c7 core: Write box information after download 2013-10-29 13:09:23 -02:00
Fabio Rehm 17fd5f9e4e commands/box: Introduce a StateFile for keeping track of downloaded boxes 2013-10-29 13:09:23 -02:00
Fabio Rehm 670a441a99 core: Scaffold an action for persisting box information 2013-10-29 13:09:23 -02:00
Fabio Rehm 4fa12d896f core: Pass on the newly added box to the rest of the middleware stack 2013-10-29 13:09:23 -02:00
Fabio Rehm a5c15fd230 core: Fix action name used for ProvisionerRun 2013-10-29 13:08:52 -02:00
Fabio Rehm 2debce9dd9 core: Improve provisioner hooking by introducing a new builtin action for wrapping provisioner runs 2013-10-29 13:08:52 -02:00
Fabio Rehm 00ce442de8 core: Allow hooking before and after provisioners 2013-10-29 13:08:52 -02:00
Fabio Rehm a92e03cf4c Update CHANGELOG.md 2013-10-28 21:57:27 -02:00
Fabio Rehm d0ae6e960c Merge pull request #2434 from emyl/machine-id-string
Machine ID should always be a string
2013-10-28 16:55:34 -07:00
Emiliano Ticci 6bf842326a Machine ID should always be a string 2013-10-29 00:01:38 +01:00
Teemu Matilainen 3368ef610a Add shortcut for setting the memory size for VirtualBox VM 2013-10-28 00:43:33 -03:00
Teemu Matilainen 88673e4d2e Store the final `provision_enabled` value to env
Let other middleware actions to know if we are really going to run the
provisioners.
2013-10-27 16:01:22 -03:00
Tiago Macedo 2d66d94ebe compatibility with rubygems 2.x 2013-10-25 11:27:17 +02:00
Mitchell Hashimoto eb6256316c core: improved commenting in bin/vagrant 2013-10-23 23:20:27 -07:00
Mitchell Hashimoto 3002f8d522 Update CHANGELOG 2013-10-23 23:16:01 -07:00
Mitchell Hashimoto 2ca350c816 Merge pull request #2400 from hikch/master
guests/freebsd: fix nfs mount fail with FreeBSD9.1 (synced_folder).
2013-10-23 23:15:33 -07:00
Mitchell Hashimoto 17101d0c67 Update CHANGELOG 2013-10-23 23:13:36 -07:00
Mitchell Hashimoto af66984ca1 Merge pull request #2404 from canausa/patch-1
commands/provision: add --no-parallel
2013-10-23 23:13:04 -07:00
Mitchell Hashimoto 050ebc5357 website/docs: update to support 4.3.x 2013-10-23 23:10:11 -07:00
Mitchell Hashimoto 1b6643c974 website/docs: clearer 2013-10-23 23:09:39 -07:00
Mitchell Hashimoto e99fc28d8a Merge pull request #2412 from maxlinc/config_validation
website/docs: document '_detected_errors' pattern in plugin configuration guide.
2013-10-23 23:08:45 -07:00
Mitchell Hashimoto e24b7249ed Update CHANGELOG 2013-10-23 23:08:16 -07:00