Commit Graph

3155 Commits

Author SHA1 Message Date
Seth Vargo 345935887f Style fixes 2015-06-02 17:18:50 -04:00
Philip Wrenn 4c8fe42d70 Ignore possible version directories that are hidden folders, i.e. dot folders. 2015-06-02 17:09:10 -04:00
Seth Vargo b92d4b21a1 Add UI::Interface#color? 2015-06-01 11:49:09 -04:00
Seth Vargo 6b2ef13785 Be more defensive when trying to get the line number
Since this is the last line of defense before raising an error, we want to make
sure we don't cause an error while trying to render the error.
2015-05-31 18:32:23 -07:00
Adam Spiers ce13051d61 eliminate guesswork with Vagrantfile errors
If the Vagrantfile has some kind of error, display not only
its path and the exception message, but also the originating
line number and exception class.

Also log the full backtrace when the error is in a provider
block, just as it is done when it's outside a provider block.
2015-05-31 18:25:51 -07:00
Dmitry Moskalchuk 26e3994319 Add option to enable trusted HTTP redirects 2015-05-31 09:34:02 -07:00
Seth Vargo 07efee776e Merge pull request #5677 from mrahtz/fix/master/unescape-curl-passwords
Escape/unescape cURL URLs/auth
2015-05-30 21:40:18 -07:00
Seth Vargo 6210f13338 Merge pull request #5750 from alh84001/feature/capability_guest_darwin_mount_smb
Capability to mount smb shares in darwin guests
2015-05-30 21:34:53 -07:00
Seth Vargo 294b0bca41 Merge pull request #5433 from marxarelli/feature/ui-custom-pipes
core: allow IO redirection of UI for testing
2015-05-30 12:49:09 -07:00
Seth Vargo a0b86a8474 Style fixes 2015-05-30 12:34:05 -07:00
Seth Vargo cecd15edac Merge pull request #5395 from delftswa2014/fix-local-download
Fixed inaccurate downloading status message
2015-05-30 12:33:28 -07:00
Seth Vargo 03b945d4d0 Merge pull request #5399 from delftswa2014/improve-package-error-message
Improved the package error message
2015-05-30 12:32:19 -07:00
Seth Vargo 72ea1d3e64 Merge pull request #5658 from legal90/fix-repackage
Fix issue #5657: Take only files while box repackage
2015-05-30 12:03:50 -07:00
Seth Vargo 2175625b61 Merge pull request #5698 from aneeshusa/dont-report-plugins-when-disabled
If plugins are disabled, report them as not available.
2015-05-30 11:56:44 -07:00
Seth Vargo 98a23c5a5e Merge pull request #5604 from bluehaoran/patch-1
Update ssh.rb to detect PLink v0.64
2015-05-30 11:51:52 -07:00
Matija K b387f0e15d Capability to mount smb shares in darwin guests 2015-05-24 12:39:28 +02:00
Aneesh Agrawal 16ac4e2321 If plugins are disabled, report them as not available.
Allows usage of VAGRANT_NO_PLUGINS env var to disable plugins.

Fixes #5430.
2015-05-14 08:04:11 -04:00
Mikhail Zholobov 079e06cd09 box/package: Take only files while packaging the new box
Fixes GH-5657
2015-04-30 16:08:18 +03:00
Matthew Rahtz 29c77e5719 Escape/unescape cURL URLs/auth
so that we can deal with special characters in usernames and passwords
2015-04-29 14:34:00 +01:00
Haz 0962a2d151 Update ssh.rb to detect PLink v0.64
PLink 0.64 (released 28-2-2015) changes the command-line description, so the previous text-match no longer works.
2015-04-17 12:34:40 +10:00
Jean-Francois Bibeau 45e14a8dc4 UNC paths should have backslashes, not front-slashes. 2015-04-16 11:02:58 -04:00
Jean-Francois Bibeau 415837c544 moved function to platform utils, added unit test as per @sethvargo 2015-04-06 16:51:55 -04:00
Emilien Kenler 1c1dd1ef8a Allow to use several boxes with the same name 2015-03-23 16:30:23 +09:00
Dan Duvall 3b8bc2a433 core: allow IO redirection of UI for testing
Use of $stdin, $stdout, and $stderr globals makes testing difficult. By
exposing the IO objects as writable attributes, input/output can be more
easily simulated using StringIO or doubles.
2015-03-04 11:23:16 -08:00
edward010 51842623db Improved the package error message
The package error message will now show the actual package name if the
package already existed.
2015-02-27 10:41:04 +01:00
Tim Rensen 6c2cc31926 Fixed inaccurate downloading status message
Importing a base box from the local file system currently outputs 'Downloading: file://...' which is more accurate now by presenting it as: 'Unpacking necessary files from: file://...'.
Fixes #5386.
2015-02-25 20:37:54 +01:00
Mikhail Zholobov c4565b3c99 Create data dir only after the machine passes all checks 2015-02-12 14:32:16 +02:00
Mitchell Hashimoto a0be121f4f Revert "Merge pull request #5274 from mitchellh/sethvargo/atlas_api"
This reverts commit 7f19284ef4, reversing
changes made to f0284d000b.
2015-02-03 06:39:28 +01:00
Seth Vargo bec0f28f40 Use the new Atlas APIs for downloading boxes 2015-02-02 18:14:21 -05:00
Paul Hinze dfbcebef0b core: log action name to info
I found this output to be very helpful in debugging an action hook
problem in a plugin.  problem. I'm not sure why the callable_id is
useful (seem to always show up as an instance of `Builder` or `Warden`
for me), but I left it in there just in case it's useful to someone.
2015-01-24 09:59:48 -08:00
Seth Vargo 3f95d5de9f Merge pull request #5221 from simonvetter/svetter/fixBoxChecksums
fix checksum verification for downloaded boxes (fixes #4665)
2015-01-21 16:05:07 -05:00
Max Lincoln 853042f2fa Make sure allowed_synced_folder_types order overrides priority 2015-01-20 16:18:05 -05:00
Max Lincoln d781dce8f8 Filter synced folders by allowed_synced_folder_types 2015-01-20 16:18:05 -05:00
Simon Vetter 40eb978931 fix checksum verification for downloaded boxes (fixes #4665)
This makes sure that config.vm.box_download_checksum and
config.vm.box_download_checksum_type get passed to
Vagrant::Action.action_box_add with other options on
box download/import.
2015-01-20 14:28:29 +01:00
mbrodala cca19f8241 Check plugin name with version spec in has_plugin
If one passes a version spec to `Vagrant.has_plugin?`, the actual plugin name is ignored and any installed plugin which matches the version spec makes the check pass. Fix this by also checking for plugin name match in addition to the requested version spec.
2015-01-20 08:37:22 +01:00
Shawn Neal 522bf9ff8b Fix issue 3031
Sometimes in use ports can raise a Errno::EACCES exeptions on Windows hosts.
2015-01-16 08:03:37 -08:00
Seth Vargo a438e85418 Make with_clean_env a class method
Fixes #5021
2015-01-05 19:07:04 -05:00
Seth Vargo d2874064f4 Use .key? instead of .has_key? 2015-01-05 18:29:01 -05:00
Seth Vargo 2bd22c9663 Turn on Atlas debug logging if Vagrant is logging 2015-01-05 15:51:19 -05:00
Mitchell Hashimoto 6aeae27889 core: just don't use ** to avoid symbol/strings mixup
/cc @sethvargo
2015-01-05 12:37:58 -08:00
Mitchell Hashimoto c4502737c8 Revert "Symbolize and stringify keys in options hash"
This reverts commit 1699c92eec.
2015-01-05 12:35:31 -08:00
Seth Vargo 1699c92eec Symbolize and stringify keys in options hash 2015-01-05 10:48:39 -05:00
Mitchell Hashimoto 2385305f6f core: Don't encode! since string might be frozen 2014-12-10 09:27:00 -08:00
Seth Vargo 2e4f854725 Vagrant Cloud -> Atlas 2014-12-08 17:42:29 -08:00
Seth Vargo 6b48199346 Infer push name when only one strategy is defined, support multiple strategies 2014-12-08 11:35:15 -08:00
Seth Vargo c8bdf53c7e Rename push environment to env 2014-12-08 11:35:12 -08:00
Seth Vargo 35b7e28011 Do not use UNSET_VALUE in plugin (it uses components) 2014-12-08 11:35:11 -08:00
Seth Vargo 8e2f18761f Remove unused methods from vagrantfile.rb 2014-12-08 11:35:10 -08:00
Seth Vargo e5b10aa86b Collect push_configs in the Plugin Manager 2014-12-08 11:35:10 -08:00
Seth Vargo 413565f961 Simplify the API for Environment#push
The API has a precondition that `name` is not nil
2014-12-08 11:35:10 -08:00
Seth Vargo 3871154a74 Ignore options that come back from the plugin for now 2014-12-08 11:35:10 -08:00
Seth Vargo 988518a6ba Make Environment#pushes its own method 2014-12-08 11:35:10 -08:00
Seth Vargo 03b8105571 Super primitive implementation of Environment#push 2014-12-08 11:35:10 -08:00
Seth Vargo b6c5ca6b7a Add Push command and tests 2014-12-08 11:35:10 -08:00
Seth Vargo d79a0d52dd Do not use Enumerable in Registry
Calling methods like #first in Registry is misleading because it returns
a different result than registry.get(registry.keys.first).
2014-12-08 11:35:10 -08:00
Seth Vargo c0b107ff69 Add Registry#empty? to check if a registry has any items 2014-12-08 11:35:10 -08:00
Seth Vargo 2b03838fba Make Registry enumerable
Registry already responds to #each, so including the Enumerable module
gives us nice methods like #select and #collect fo' free!
2014-12-08 11:35:10 -08:00
Seth Vargo bc4bbb9fc0 Add #length and #size methods to Registry 2014-12-08 11:35:10 -08:00
Seth Vargo 60a8472891 Use a pushes registry instead of data hash 2014-12-08 11:35:09 -08:00
Seth Vargo 72affa0a10 Accept a list of options in #push signature 2014-12-08 11:35:09 -08:00
Seth Vargo 5b9240ad8a Add Push to the PLUGIN_COMPONENTS 2014-12-08 11:35:09 -08:00
Seth Vargo 87b4e1f2cc Accept an environment in the push config 2014-12-08 11:35:09 -08:00
Seth Vargo a93fff103f Add base skeleton for `vagrant push` 2014-12-08 11:35:09 -08:00
Seth Vargo 9242e39a23 Revert "Merge pull request #4861 from obfusk/fix-tmpdir-delete"
This reverts commit 00e388a897, reversing
changes made to d1691c21c7.
2014-12-02 12:32:31 -05:00
Felix C. Stegerman 023e4b8c23 force rm tempfiles (no rescue nil); use right var 2014-11-24 16:59:15 +01:00
Felix C. Stegerman aca273c996 fix broken tempdir removal 2014-11-24 02:26:54 +01:00
Seth Vargo 1d23fb75a2 Merge pull request #4801 from mitchellh/sethvargo/with_clean_env
Add Env.with_clean_env for resetting the Ruby and Rubygems environment
2014-11-10 19:38:41 -05:00
Mitchell Hashimoto f8a2322459 core: only delete state if not created on initialize only
/cc @sethvargo
2014-11-10 16:29:19 -08:00
Seth Vargo f86189a2fe Add Env.with_clean_env for resetting the Ruby and Rubygems environment 2014-11-10 12:00:23 -05:00
Matt Wrock dc628cd722 fixes infinite loop in machine state call if provider calls machine.action 2014-11-06 08:51:47 -08:00
Mitchell Hashimoto cb6f3e526a Fix failing test 2014-10-24 15:51:52 -07:00
Mitchell Hashimoto 7b5e5668c5 core: add option to not lock for Machine#action [GH-4574] 2014-10-24 15:47:37 -07:00
Mitchell Hashimoto 533004e932 core: Package copies private key 2014-10-24 10:31:23 -07:00
Mitchell Hashimoto 94b2a8a56b communicators/ssh: insert random key, remove insecure key 2014-10-24 09:58:18 -07:00
Mitchell Hashimoto f4dec575ed core: Vagrant::Util::Keypair for generating keypairs 2014-10-24 09:33:44 -07:00
Mitchell Hashimoto 37a4000722 providers/virtualbox: more descriptive error if empty version [GH-4657] 2014-10-24 09:20:08 -07:00
Mitchell Hashimoto 370ca050db Merge pull request #3707 from takekazuomi/fix/master/encodeissue
fix subprocess external encode issue.
2014-10-23 23:18:19 -07:00
Mitchell Hashimoto 7d6f9a60b2 core: ability to set env var for silent internal upgrade [GH-3870] 2014-10-23 22:39:58 -07:00
Mitchell Hashimoto fbd568a03e core: load ".vagrantplugins" in root path [GH-3775] 2014-10-23 19:58:57 -07:00
Mitchell Hashimoto 6ea8dc8e20 core: cleaner output of what provisioner is running if named 2014-10-23 18:47:03 -07:00
Mitchell Hashimoto 97f9948fce core: provisioners are defined differently now 2014-10-23 18:40:14 -07:00
Mitchell Hashimoto 9d8c85e966 core: provision-with works with provisioner IDs [GH-2850] 2014-10-23 18:27:02 -07:00
Mitchell Hashimoto cba76c3b68 core: VirtualBox is no longer the fallback, not hardcoded anywhere
This commit finally removes all traces of VirtualBox defaults from
Vagrant core. Vagrant now completely relies on its automated provider
detection to pick the best and most relevant provider that is available
on the system and for a specific development environment.

A "vagrant up" on one development environment might prefer VirtualBox,
another might prefer Docker. As a result of this commit (plus the few
prior), the developer doesn't need to know anymore and doesn't need to
specify a `--provider` flag. Vagrant just figures out the correct
provider.

Yay. :)
2014-10-23 16:32:36 -07:00
Mitchell Hashimoto b7478e09f3 core: clean up default logic 2014-10-23 15:59:27 -07:00
Mitchell Hashimoto 59dbe51ef2 core: Call default_provider with the machine for commands 2014-10-23 15:53:22 -07:00
Mitchell Hashimoto 768d453739 core: Environment#default_provider can look into machines 2014-10-23 15:52:42 -07:00
Mitchell Hashimoto 4d85e0e145 core: fix failig test around choosing default provider 2014-10-23 15:37:28 -07:00
Mitchell Hashimoto ad758bf69a core: prefer providers in the Vagrantfile [GH-3812] 2014-10-23 15:32:54 -07:00
Gilles Cornu 097886b2ce core: fully revert stuff from ssh_info memoization
5036d16461 only partially reverted
89a4a29d65.

Related to #4670.
2014-10-23 23:01:33 +02:00
Mitchell Hashimoto f0a73c7c05 core: call #state in any #action call [GH-4513] 2014-10-23 12:20:16 -07:00
Mitchell Hashimoto 4827469dee core: recognize more complex content types for json [GH-4525] 2014-10-23 11:26:56 -07:00
Mitchell Hashimoto 46b3ea64d1 core: retry download without continue if byte range not supported
[GH-4479]
2014-10-23 11:06:29 -07:00
Mitchell Hashimoto 2856df79ac core: Vagrant.has_plugin? can take version requirements [GH-4650] 2014-10-23 10:52:02 -07:00
Mitchell Hashimoto b5642e0671 Merge pull request #4573 from mkuzmin/fix-server-url
config.vm.box_server_url setting is ignored
2014-10-23 09:39:33 -07:00
Mitchell Hashimoto a6c0989bc6 Revert "Merge pull request #4616 from crypt1d/master"
This reverts commit aec69c4627, reversing
changes made to 88754d2904.
2014-10-23 09:30:46 -07:00
Mitchell Hashimoto aec69c4627 Merge pull request #4616 from crypt1d/master
Consider the host_ip value when handling port collisions
2014-10-23 09:26:31 -07:00
Mitchell Hashimoto 5036d16461 update CHANGELOG 2014-10-23 09:15:47 -07:00
Mitchell Hashimoto 381f1332c8 Merge pull request #4670 from gildegoma/dry-check-ssh-perms
Check SSH key permissions in machine.ssh_info
2014-10-23 09:14:31 -07:00
Mitchell Hashimoto 4e9c82f364 core: ignore capability error [GH-4684] 2014-10-22 21:10:36 -07:00
Anduin Withers 855bda8c26 Fix typo that prevents "vagrant box add --cert certfile -name foo URL" from working. 2014-10-22 23:19:15 -04:00