Commit Graph

5256 Commits

Author SHA1 Message Date
Mitchell Hashimoto 0f2fff2420 Merge pull request #2943 from mitchellh/f-boxes-2
Boxes Revamp: Short URLs, Versions, Updates!

* **Box versioning** - All boxes can have versions now. This version information is available in metadata requested by Vagrant. New commands such as `vagrant box outdated` and new settings such as `config.vm.box_check_update` will configure how/when Vagrant checks for box updates. Boxes that don't support versions will always have version "0".

* **Shortnames for boxes** - You can now do things like `vagrant box add hashicorp/precise64`. The name and the URL are one and the same. This requires a backend. We'll be hosting one [for free public access] in the coming month or two. Of course, you don't need to use the backend we'll provide to support versions or unversioned boxes. You would need to for shortnames.

* **Multiple providers at one URL** - A single URL can now represent multiple providers. In this case, Vagrant will ask you what provider you want to download if it can't figure it out on its own. 

All of this is _fully backwards compatible_. I verified this as best I could with the tests in vagrant-spec. I have  to write new acceptance tests for the new features, however. Also, this PR adds around 100 unit tests.
2014-02-06 20:09:56 -08:00
Michael Hahn d68544a906 Ensure options[:mount_options] is defined before checking if it includes key 2014-02-06 14:06:47 -08:00
Michael Hahn 3631b250b7 Fix #2945: Reference correct options variable 2014-02-06 13:59:56 -08:00
Mitchell Hashimoto d18e80e1fd Fix tests for kernel/v2 2014-02-05 21:24:34 -08:00
Mitchell Hashimoto cac0fdb490 core: Add the default server URL 2014-02-05 21:20:37 -08:00
Mitchell Hashimoto eab1d1150a website/docs: update all the links to the box directory 2014-02-05 21:20:36 -08:00
Mitchell Hashimoto becc349846 core: handle native windows paths like 'c:\foo.box'
[GH-2081]
2014-02-05 21:20:35 -08:00
Mitchell Hashimoto 66a33d846d website/docs: note that box_check_update is true by default 2014-02-05 21:20:34 -08:00
Mitchell Hashimoto 848fe5d166 kernel/v2: check for box updates by default
/cc @pearkes @armon
2014-02-05 21:20:33 -08:00
Mitchell Hashimoto 751b4da2c6 core: if box is unversioned, check update does nothing 2014-02-05 21:20:32 -08:00
Mitchell Hashimoto 647563edaf core: shorthand boxes must be foo/bar formatted, better errors 2014-02-05 21:20:31 -08:00
Mitchell Hashimoto 433e789a99 core: set URL to opaque if there is no path 2014-02-05 21:20:30 -08:00
Mitchell Hashimoto 85aa7db17e commands/box: repackage tests 2014-02-05 21:20:29 -08:00
Mitchell Hashimoto b194525521 core: output a newline after ask with no echo 2014-02-05 21:20:28 -08:00
Mitchell Hashimoto 1a7b78e00e core: UI supports not echoing 2014-02-05 21:20:27 -08:00
Mitchell Hashimoto 222ec288f2 website/docs: document Vagrantfile updates 2014-02-05 21:20:26 -08:00
Mitchell Hashimoto 286a503cb6 website/docs: docs for box versioning 2014-02-05 21:20:25 -08:00
Mitchell Hashimoto 7a6d1a3ff1 commands/box: update command can update a specific box now 2014-02-05 21:20:23 -08:00
Mitchell Hashimoto 386938f0b1 commands/box: update looks prettier on output 2014-02-05 21:20:22 -08:00
Mitchell Hashimoto cf9004241e core: output what we're updating and what we're not 2014-02-05 21:20:21 -08:00
Mitchell Hashimoto 43157fba18 core: output the version that is added with BoxAdd 2014-02-05 21:20:20 -08:00
Mitchell Hashimoto 88b64f93a4 commands/box: "update" command 2014-02-05 21:20:19 -08:00
Mitchell Hashimoto 61a1082d65 core: BoxCheckOutdated is *much* simpler, unified logic, tests 2014-02-05 21:20:18 -08:00
Mitchell Hashimoto 1a5ad9f3d5 providers/virtualbox: check for outdated on any start 2014-02-05 21:20:17 -08:00
Mitchell Hashimoto bfca65b098 core: better output for BoxCheckOutdated 2014-02-05 21:20:16 -08:00
Mitchell Hashimoto ea06202903 core: get rid of unnecessary lines 2014-02-05 21:20:15 -08:00
Mitchell Hashimoto b5157df2cc core: BoxCheckOutdated only runs if told to 2014-02-05 21:20:14 -08:00
Mitchell Hashimoto 8cc16d14fa core: BoxCheckOutdated checks locally 2014-02-05 21:20:13 -08:00
Mitchell Hashimoto d78194654d core: ability to hide success UI 2014-02-05 21:20:12 -08:00
Mitchell Hashimoto e537e02d9d core: BoxCheckOutdated can check if a box is outdated 2014-02-05 21:20:11 -08:00
Mitchell Hashimoto f2509f5c65 commands/box: outdated command to find outdated boxes 2014-02-05 21:20:10 -08:00
Mitchell Hashimoto b81686e2c9 core: BoxAdd adds the metadata URL 2014-02-05 21:20:08 -08:00
Mitchell Hashimoto bd9f375263 core: Box can store a metadata URL 2014-02-05 21:20:07 -08:00
Mitchell Hashimoto e9afe386c1 core: remove BoxUpgradeRequired exception 2014-02-05 21:20:06 -08:00
Mitchell Hashimoto 4cedd590d9 providers/virtualbox: use new HandleBox middleware 2014-02-05 21:20:05 -08:00
Mitchell Hashimoto d278fb2661 core: catch ENOENT as not a metadata URL 2014-02-05 21:20:04 -08:00
Mitchell Hashimoto 2ea6f92a6c core: Cleaner output for BoxAdd 2014-02-05 21:20:03 -08:00
Mitchell Hashimoto fa77d6810f core: BoxAdd expands URL paths 2014-02-05 21:20:02 -08:00
Mitchell Hashimoto d40ff9c390 kernel_v2: test for box_url 2014-02-05 21:20:01 -08:00
Mitchell Hashimoto 8ab3ae1bef core: BoxAdd UI looks better 2014-02-05 21:20:00 -08:00
Mitchell Hashimoto f0607c6df0 core: BoxAdd supports multiple URLs properly 2014-02-05 21:19:59 -08:00
Mitchell Hashimoto 38248c240c core: BoxAdd errors if name doesn't match metadata 2014-02-05 21:19:58 -08:00
Mitchell Hashimoto b23ad41c40 core: HandleBox reloads the box 2014-02-05 21:19:57 -08:00
Mitchell Hashimoto f2c4adc4ee core: use symbol names for providers everywhere 2014-02-05 21:19:56 -08:00
Mitchell Hashimoto e316e10552 core: make sure the env has the UI in it for adding boxes 2014-02-05 21:19:55 -08:00
Mitchell Hashimoto a73ea6ab7a core: fix hang in test 2014-02-05 21:19:54 -08:00
Mitchell Hashimoto a115750401 core: HandleBox works with metadata boxes 2014-02-05 21:19:52 -08:00
Mitchell Hashimoto b2fa785d07 core: Environment loads proper version of box 2014-02-05 21:19:51 -08:00
Mitchell Hashimoto 7e847a36b6 core: update error message for shorthand is bad 2014-02-05 21:19:50 -08:00
Mitchell Hashimoto d08866e9f3 core: nicer error if shorthand can't be found 2014-02-05 21:19:49 -08:00