Commit Graph

2517 Commits

Author SHA1 Message Date
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
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 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 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 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
Emiliano Ticci 6bf842326a Machine ID should always be a string 2013-10-29 00:01:38 +01: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
Mitchell Hashimoto eb6256316c core: improved commenting in bin/vagrant 2013-10-23 23:20:27 -07:00
Tianxiang Chen e1abceee8c Sleep to avoid 100% CPU in waiting time of 'vagrant up' 2013-10-20 20:16:28 -07:00
Mitchell Hashimoto 57e95323b6 up version for dev 2013-10-15 12:58:22 -10:00
Mitchell Hashimoto a40522f5fa v1.3.5 2013-10-15 11:55:44 -10:00
Mitchell Hashimoto 225da651f8 core: Show error message if _key dynamically passed into error [GH-2328] 2013-10-05 09:21:38 -07:00
Mitchell Hashimoto bf70fba936 Up version for dev 2013-10-02 11:17:27 -07:00
Mitchell Hashimoto 0ac2a87388 v1.3.4 2013-10-02 08:42:06 -07:00
Mitchell Hashimoto 557172b4be core: defined action hook names can be strings, convert to symbols 2013-10-01 21:56:43 -07:00
Mitchell Hashimoto 00f61e67e1 core: errors can use error_message to specify string error message 2013-10-01 21:45:05 -07:00
Mitchell Hashimoto 138024d74c core: Unset DYLD_LIBRARY_PATH if setuid/setgid [GH-2243] 2013-09-20 17:43:11 -07:00
Mitchell Hashimoto 47120a86a2 core: modify DYLD_LIBRARY_PATH only if executing in installer [GH-2231] 2013-09-20 17:38:49 -07:00
Mitchell Hashimoto 33a36830fe core: don't output \e[0K on Windows [GH-2246] 2013-09-20 17:20:29 -07:00
Mitchell Hashimoto 590566095a Up version for dev 2013-09-18 14:09:49 -07:00
Mitchell Hashimoto db8e7a9c79 v1.3.3 2013-09-18 13:45:41 -07:00
Mitchell Hashimoto 5b2a28cd4c core: set the DYLD_LIBRARY_PATH before other env vars 2013-09-18 09:42:18 -07:00
Mitchell Hashimoto 7c3b342add core: restore the old DYLD_LIBRARY_PATH specifically 2013-09-18 09:41:57 -07:00
Mitchell Hashimoto 91ff1ec8ae Revert "core: don't delete state data if id=nil [GH-2201]"
This reverts commit 1a780bf5b2.

Conflicts:
	CHANGELOG.md
2013-09-18 09:20:37 -07:00
Mitchell Hashimoto 06bf3c6fdc core: Remove DYLD_LIBRARY_PATH if command not in installer [GH-2219] 2013-09-17 18:53:35 -07:00
Mitchell Hashimoto e721960392 Up version for dev 2013-09-17 16:15:57 -07:00
Mitchell Hashimoto 9a394588a6 v1.3.2 2013-09-17 15:36:36 -07:00
Mitchell Hashimoto cac28c82de core: Vagrantfile must be file [GH-2216] 2013-09-17 12:42:57 -07:00
Mitchell Hashimoto d95567e4c7 Revert "core: better cleanup of ".vagrant"" [GH-2201]
This reverts commit 5b42994406.
2013-09-16 20:56:28 -07:00
Mitchell Hashimoto 1a780bf5b2 core: don't delete state data if id=nil [GH-2201] 2013-09-16 20:56:14 -07:00
Fabio Rehm 9cba88b711 Remove dead code 2013-09-16 16:30:57 -03:00
Mitchell Hashimoto 3090e313f1 core: Create directory before real_path [GH-2196] 2013-09-15 19:50:10 -07:00
Mitchell Hashimoto e515ca22ab core: sleep between state checks for communicator [GH-2163] 2013-09-15 17:33:05 -07:00
Mitchell Hashimoto 5054ae95fd core: log when OUT actions are called in middleware 2013-09-15 17:18:34 -07:00
Fabio Rehm 87f8bd8c23 core: Report the proper invalid state when waiting for the guest machine to be ready 2013-09-14 14:35:50 -03:00
Fabio Rehm 7b440339f3 core: Allow strings to be used when checking for Guest capabilities 2013-09-11 19:56:14 -03:00
Paul Hinze abe7830421 core: fix NoMethodError in Vagrant.has_plugin? [GH-1736] 2013-09-11 15:13:21 -05:00
Eric G. Wolfe 1186c86718 [GH-1977] revert and alternate fix
@mitchellh, the internal encoding doesn't seem to work.  Therefore,
I reverted that previous change to vagrant.rb.

However, I found two alternate solutions.  Either transcoding,
`/etc/redhat-release` to ISO-8859-1 on open, or using something
like File.binread to transcode the file contents to raw.
2013-09-07 13:40:23 -04:00
Mitchell Hashimoto a477d950fe Update version for dev 2013-09-06 16:28:49 -07:00
Mitchell Hashimoto b12c7e8814 v1.3.1 2013-09-06 16:08:12 -07:00
Mitchell Hashimoto 20c46d020c core: fix interpolation error on v1=>v2 upgrade warinings [GH-2142] 2013-09-06 08:51:03 -07:00
Mitchell Hashimoto 90289544d4 core: handle EACCES when cleaning up .vagrant dir 2013-09-06 00:26:39 -07:00
Mitchell Hashimoto afab61a05f core: don't use active_machines too much, deletes data 2013-09-06 00:10:23 -07:00
Mitchell Hashimoto 95aba27e59 core: VAGRANT_VAGRANTFILE affects only project vagrantfile [GH-2130] 2013-09-05 14:46:26 -07:00
Mitchell Hashimoto 6512eb5cbb Up version for development 2013-09-04 20:50:57 -07:00
Mitchell Hashimoto 0224c62323 v1.3.0
This will actually be released tomorrow, most likely, but I want
to get the installers all ready.
2013-09-04 20:50:14 -07:00
Mitchell Hashimoto 4c35f6d071 core: exec with the proxy command if specified 2013-09-04 17:23:43 -07:00
Mitchell Hashimoto 763bdc42f4 Merge pull request #1537 from wormzer/master
communicator/ssh: Additional proxy_command option
2013-09-04 17:18:59 -07:00
Brian Porter accff3689b Comment typo fixes
Only comment changes.

Removed stray apostrophe from Util::Downloader.initialize() doc block. Corrected open => options for .download! description.
2013-09-04 14:37:17 -05:00
Mitchell Hashimoto be25238381 core: Show what machine error messages are for [GH-1668] 2013-09-02 15:53:59 -07:00
Mitchell Hashimoto 896ae7b9ba core: vagrant -v no longer loads Vagrantfile 2013-09-02 15:43:59 -07:00
Mitchell Hashimoto 7f0cbd8fea core: Vagrant.has_plugin? to check if plugin installed [GH-1736] 2013-09-02 15:22:40 -07:00
Mitchell Hashimoto b8dc881792 commands/up: validate provision-with args [GH-1957] 2013-09-02 15:06:03 -07:00
Mitchell Hashimoto ac1404b9ac commands/plugin: Add "update" subcommand 2013-09-02 09:31:26 -07:00
Mitchell Hashimoto e2ddab532d core: Don't provision after first `up` by default [GH-1776] 2013-09-02 09:03:46 -07:00
Fabio Rehm 77dd626341 guest: Remove dead code 2013-09-01 17:41:17 -03:00
Fabio Rehm b581936434 Bump version 2013-09-01 17:39:13 -03:00
Mitchell Hashimoto c63d4fd6b8 hosts/bsd: nice error if can't read exports file [GH-2038] 2013-09-01 10:25:00 -07:00
Mitchell Hashimoto 4608e75b48 core: clean up machine directory when id = nil 2013-08-31 23:02:16 -07:00
Mitchell Hashimoto 5a4c06f75e core: config.ssh.timeout => config.vm.boot_timeout 2013-08-29 16:41:36 -07:00
Mitchell Hashimoto c38fadfd2f core: config.vm.graceful_halt_timeout to specify graceful halt timeout 2013-08-29 16:38:02 -07:00
Mitchell Hashimoto 261d0ef6cd core: WaitForCommunicator - more robust wait for boot
This is a new built-in middleware that is more robust for
waiting for boots. The "max_tries" configuration is now gone, it is
timeout based. Future commits will make this even better as the
SSH communicator will implement the new "wait_for_ready" in a better
way.
2013-08-29 16:27:00 -07:00
Mitchell Hashimoto 5b42994406 core: better cleanup of ".vagrant" 2013-08-29 11:45:57 -07:00
Mitchell Hashimoto 38a6f863e7 core: Inherit CommandUnavailableWindows from CommandUnavailable 2013-08-29 11:18:21 -07:00
Mitchell Hashimoto d4c7e20110 core: ProvisionerCleanup task to run cleanup on provisioners 2013-08-29 11:13:43 -07:00
Mitchell Hashimoto 471dc2dc7d core: strip newlines off of IDs [GH-2024] 2013-08-09 11:42:18 -07:00
Mitchell Hashimoto d24caac5ae Merge pull request #1914 from b2jrock/darwin-guest
OS X (darwin) guest support.
2013-08-09 10:53:29 -07:00
Brian Johnson 3611ff39f4 Change mount_nfs_folder cap to be more like the linux version, adding a
bunch of retires rather than a long sleep.

Add DarwinNFSMountFailed error. This might move be more appropriate at
the plugin level.

Integrate some of tvsutton's work in configure_networks to get the
implementation closer to working in both fusion and virtualbox.

Add shell_expand_guest_path capability (also copied from linux)
2013-08-05 17:39:44 -07:00
Mitchell Hashimoto 16002d03c0 Up version for dev 2013-07-29 08:35:02 -07:00
Mitchell Hashimoto 7ec0ee1d00 v1.2.7 2013-07-28 21:43:53 -07:00
Mitchell Hashimoto ff36a46178 Set user agent to Vagrant + version
/cc @fgrehm
2013-07-28 20:51:35 -07:00
Fabio Rehm c7aed1a6a1 Provide a custom user agent header to cURL request so that URL shorteners are able to track the amount of downloads 2013-07-28 20:23:27 -03:00
Fabio Rehm eefb90ff9d Fix small typo on comment 2013-07-28 19:51:28 -03:00
Mitchell Hashimoto 5be16cc194 up version for dev 2013-07-26 21:04:16 -07:00
Mitchell Hashimoto 22b76517d6 v1.2.6 2013-07-26 20:21:04 -07:00
Michael Glass 9a00473029 fix regression preventing boxes that specify support for multiple formats.
don't know if this is the right place for this fix.  maybe formats should be an array of symbols.
2013-07-26 13:16:53 -07:00
Mitchell Hashimoto 536ea95ea3 Up version for dev 2013-07-26 11:26:34 -07:00
Mitchell Hashimoto ec2305a9a6 v1.2.5 2013-07-26 10:27:35 -07:00
Mitchell Hashimoto 6168abf831 Set default internal encoding to UTF-8 [GH-1977] 2013-07-25 16:56:50 -05:00
Mitchell Hashimoto 7ef6c5d9d7 Unused config objects are finalized properly [GH-1877] 2013-07-23 17:36:48 -05:00
Mitchell Hashimoto a786bb53d0 --provider on box add supports any format of that provider 2013-07-23 17:36:47 -05:00
Mitchell Hashimoto af66f5f930 box_download_insecure to not validate https of box_url [GH-1712] 2013-07-20 00:18:02 -04:00
Mitchell Hashimoto 4151df884a Forwarded ports don't auto-correct by default [GH-1701] 2013-07-20 00:15:11 -04:00
Mitchell Hashimoto eb70c0d6bb Show an error message if ansible fails to run [GH-1699] 2013-07-20 00:07:09 -04:00
Mitchell Hashimoto cf0ba53fbb box_url works with all box formats a provider supports [GH-1752] 2013-07-19 00:50:00 -04:00
Mitchell Hashimoto 25895b5099 handle_box_url uses new formats 2013-07-19 00:50:00 -04:00
Mitchell Hashimoto f3bbad8c2e Refactor box collection to support looking for boxes multi-provider 2013-07-19 00:50:00 -04:00
Fabio Rehm 264a220461 Merge branch 'more-concise-box-not-found-error-message' of https://github.com/akalyaev/vagrant into akalyaev-more-concise-box-not-found-error-message 2013-07-18 23:32:15 -03:00
Mitchell Hashimoto 900f7e4d63 Error if VBox 4.2.14 is running. 2013-07-18 13:54:53 -04:00
Mitchell Hashimoto bd378ea2b0 VAGRANT_DOTFILE_PATH [GH-1524] 2013-07-18 11:58:11 -04:00
Mitchell Hashimoto b68c489991 Fix missing translation for non existent CWD [GH-1947] 2013-07-18 10:43:12 -04:00
Mitchell Hashimoto 3028940adb NFS allows access from all networks on VM [GH-1204] 2013-07-18 00:01:49 -04:00
Mitchell Hashimoto a0543d7c7c Use 32-bit integer for NFS fsuid for older kernels [GH-1127] 2013-07-17 23:34:47 -04:00
Mitchell Hashimoto 203594e41a NFS exports with wrong casing on case-insensitive work [GH-1202] 2013-07-17 10:53:24 -07:00
Mitchell Hashimoto 4bf6dc5743 Method for getting the case-correct path of a path [GH-1202] 2013-07-17 10:48:39 -07:00
Mitchell Hashimoto 792ac4556d Code for testing case sensitivity of filesystem [GH-1202] 2013-07-17 10:36:57 -07:00
Mitchell Hashimoto 3c86719ed8 Up version for dev 2013-07-16 18:02:38 -07:00
Mitchell Hashimoto 0219bb8772 v1.2.4 2013-07-16 17:05:45 -07:00
Mitchell Hashimoto 986eda4a4f Add DSAAuthentication=yes flag to SSH [GH-1900] 2013-07-16 16:46:00 -07:00
Mitchell Hashimoto 7adffcb880 CHANGELOG 2013-07-16 16:34:53 -07:00
korya a0774b5b5f Vagrant reports properly error for not found command 2013-07-15 08:52:53 +03:00
Mitchell Hashimoto 5f5203559f style nitpick 2013-07-12 16:05:56 +09:00
Mitchell Hashimoto 78ef3ded2b Expand symlinks for NFS host path [GH-1101] 2013-07-10 20:21:13 -07:00
Mitchell Hashimoto e941c549f2 box_url downloading happens before config validation [GH-1061] 2013-07-10 20:10:33 -07:00
Mitchell Hashimoto f38b6801f9 vagrant destroy exits with 1 if any confirmation are declined [GH-923] 2013-07-10 19:39:20 -07:00
Mitchell Hashimoto abd22dfe72 Up version for development 2013-07-09 19:10:56 -07:00
Mitchell Hashimoto 95d308caae v1.2.3 2013-07-09 17:01:01 -07:00
Mitchell Hashimoto 2e969065b7 Merge pull request #1911 from emyl/no_route_fix
Raise a proper SSH error on EHOSTUNREACH
2013-07-09 16:45:35 -07:00
Fabio Rehm b2b7643dfc Merge pull request #1720 from tawan/patch-1
Fix typo.
2013-07-09 09:19:48 -07:00
Emiliano Ticci b0b18c64dd Raise a proper SSH error on EHOSTUNREACH 2013-07-09 14:35:07 +02:00
Simon Thulbourn ea9fde9433 Merge branch 'master' into client-certs 2013-07-02 09:29:39 +01:00
Thomas Linkin d95b202346 Vagrant::Action::Builder RDoc correction
The RDoc comments for `Vagrant::Action::Builder#to_app` reference an
instance of `Vagrant::Action::Environment` as the passed paramter. There
is no class `Vagrant::Action::Environment` available. The param being
passed is actually a `Hash` that represents the "action environment".

This commit corrects the RDoc lines for
`Vagrant::Action::Builder#to_app` to correctly reference the passed
`Hash`.
2013-06-24 13:10:32 -04:00
Mitchell Hashimoto 6c99f3dfa7 tweaks for style 2013-06-09 13:51:19 -07:00
Mitchell Hashimoto 8906ae01a8 Merge pull request #1783 from Aigeruth/issue-654
Check for binaries as part of Subprocess
2013-06-09 13:48:21 -07:00
Mitchell Hashimoto 80f06605fb config.vm.guest now forces guest setting again [GH-1800] 2013-06-09 13:17:23 -07:00
Gabor Nagy a4979c4824 [GH-654] Missing condition and translations 2013-06-03 00:04:25 +02:00
Gabor Nagy 4c00abe69e Modifies to use util/which [GH-654] 2013-06-02 03:48:47 +02:00
Gabor Nagy 0936267314 Fixes [GH-654] on Windows 8x64 and Ruby 1.9.3p374
Replaces the command with absolute path version if it exists.
2013-06-01 14:29:45 +02:00
Simon Thulbourn ef98c7b8b1 passes client cert option from Vagrant file to box_add 2013-05-23 15:13:04 +01:00
Simon Thulbourn 7dd7957a97 adds client cert 2013-05-21 11:42:19 +01:00
Simon Thulbourn c495fb7c5c adds options for client certs to downloader class
Adds :client_cert to the env array and then passes it into the curl
options array
2013-05-21 11:39:43 +01:00
Tawan Sierek 52f7c53707 Fix typo. 2013-05-12 16:32:15 +03:00
Anton Kalyaev 6c5a580006 more concise message for BoxNotFound error
Now we have different providers, but the error message didn't tell
anything about it. Suppose I want to remove one of my boxes:

    vagrant box remove opscode-ubuntu-12.04 vritualbox

There is a typo in provider name. The error message is:

    Box 'opscode-ubuntu-12.04' could not be found.

Therefore I need to double check the box name, and only than I will see
the typo.

This commit make the error message looks like this:

    Box 'opscode-ubuntu-12.04' with 'vritualbox' provider could not be
found.
2013-05-05 18:23:12 +04:00
Mitchell Hashimoto ccfd321ef9 Properly convert provider name to symbol when searching for boxes
[GH-1691]
2013-05-04 09:51:13 -07:00
Mitchell Hashimoto 4c5262690e Ignore "guest not ready" error when graceful halting [GH-1679] 2013-05-01 18:50:40 -07:00
Mitchell Hashimoto 7f32af980e SmartOS support for setting hostnames [GH-1672] 2013-04-30 15:07:41 -07:00
Mitchell Hashimoto 52448c97cc Up version for development 2013-04-24 14:23:11 -07:00
Mitchell Hashimoto 7e400d00a3 v1.2.2 2013-04-23 13:05:18 -07:00
Mitchell Hashimoto 7524e7a3c0 Box add URL with windows drive letter works properly 2013-04-22 20:41:47 -07:00
Mitchell Hashimoto 14d70776ca Better locking within handle_box_url
This improves locking in the face of parallel providers and
handling box_url parameters. This avoids downloading a box multiple
times.
2013-04-20 14:31:29 -06:00
Mitchell Hashimoto c29e4d6334 In a multi-machine environment, don't download box multiple [GH-1467] 2013-04-19 23:51:53 -06:00
Mitchell Hashimoto 04d9872674 Improve the thread safety of BoxCollection 2013-04-19 23:48:05 -06:00
Mitchell Hashimoto e8d8188474 Error if a box override changes the box setting... 2013-04-19 23:10:17 -06:00
Mitchell Hashimoto 661b982502 Handle box overrides in provider-specific overrides properly [GH-1617] 2013-04-19 23:05:32 -06:00
Mitchell Hashimoto 780a312fc9 Built-in DestroyConfirm middleware 2013-04-19 14:14:29 -06:00
Mitchell Hashimoto 4a6939096c Up version for development 2013-04-17 08:22:00 -07:00
Mitchell Hashimoto a7853fe7b7 v1.2.1 2013-04-16 21:29:18 -07:00
Mitchell Hashimoto 2239036b59 Use Mozilla CA cert bundle for SSL validation 2013-04-16 17:32:30 -07:00