87 Commits

Author SHA1 Message Date
Brian Cain
11ddd0136d
(#9044) Show all box providers in command outdated
Prior to this commit, when the `--global` flag was used with the
`vagrant box outdated` command, it would ignore box providers and not
inform the user of all outdated boxes. This commit fixes that by
displaying each box within the users environment, and includes the
provider of the box in the message.
2018-01-08 09:43:28 -08:00
Brian Cain
324a08bd75 (#8719) Add force flag for box upgrade command
Prior to this commit, if a state was reached where the action_box_add
command needed a force flag, it would fail requesting the user to
provide that flag to override adding a new box. However that flag did
not exist on the box update command, and could not be passed onto the
action_box_add action. This commit updates that to include a force flag,
and if used, pass that value onto the action_box_add action.
2017-08-09 16:21:13 -07:00
Chris Roberts
5f955c3d38 Convert atlas references to vagrant cloud 2017-06-23 10:01:51 -07:00
Gökhan Şengün
51a15d23bd Correct box version sorting of box list command.
Boxes are already correctly sorted as a result of PRs #7956 and #8334. The extra sort here breaks.
2017-03-29 00:56:42 +03:00
Björn Brala
3ef9968c59 Add new prune command as discussed in: #6863 #5633
Usage: vagrant box prune [options]

Options:

    -p, --provider PROVIDER          The specific provider type for the boxes to destroy.
    -n, --dry-run                    Only print the boxes that would be removed.
        --name NAME                  The specific box name to check for outdated versions.
    -f, --force                      Destroy without confirmation even when box is in use.
    -h, --help                       Print this help
2016-11-09 09:19:49 +01:00
Renat Zaripov
d490d0a846 Fix operation name in help message 2016-06-08 15:05:09 +03:00
Seth Vargo
dab4537682
core/boxes: Do not update the same box twice
Vagrant's environment (which includes the known list of boxes and
versions) is established at the start of the Vagrant run. This means
that box downloads which occur during the run are not contained in the
set until the next run. This causes duplicate box downloads to raise an
error in multi-machine Vagrantfiles.

This commit fixes that issue by pre-processing the machines by provider
and version, creating a unique set of boxes to update.

Fixes GH-6042
2016-05-31 23:08:51 -04:00
Mitchell Hashimoto
32f6accb25 commands/box: don't halt on metadata download failure [GH-6453] 2015-11-19 18:50:50 -08:00
Mitchell Hashimoto
1ccd91aada Merge pull request #4473 from rtkrruvinskiy/https_metadata
Add HTTPS download options to `box update` and `box outdated`
2015-11-19 16:16:48 -08:00
Christian Berendt
3f4a372d57 Remove all available versions of a box
This patch introduces a new parameter --all for the remove
command of the box plugin. Setting this parameter will remove
all available versions of a specific box.

Example usage:

```
$ vagrant box list
ubuntu/trusty64 (virtualbox, 20150427.0.0)
ubuntu/trusty64 (virtualbox, 20150430.0.0)
ubuntu/trusty64 (virtualbox, 20150506.0.0)
```

```
$ vagrant box remove ubuntu/trusty64
You requested to remove the box 'ubuntu/trusty64' with provider
'virtualbox'. This box has multiple versions. You must
explicitly specify which version you want to remove with
the `--box-version` flag. The available versions for this
box are:

 * 20150427.0.0
 * 20150430.0.0
 * 20150506.0.0
```

With the --all parameter it is possible to remove all versions at once.

```
$ vagrant box remove --all ubuntu/trusty64
Removing box 'ubuntu/trusty64' (v20150506.0.0) with provider 'virtualbox'...
Removing box 'ubuntu/trusty64' (v20150430.0.0) with provider 'virtualbox'...
Removing box 'ubuntu/trusty64' (v20150427.0.0) with provider 'virtualbox'...
```
2015-11-09 09:32:18 +00:00
Dmitry Moskalchuk
26e3994319 Add option to enable trusted HTTP redirects 2015-05-31 09:34:02 -07:00
Seth Vargo
2e4f854725 Vagrant Cloud -> Atlas 2014-12-08 17:42:29 -08:00
Ray Ruvinskiy
5a7e00c5b1 Add HTTPS download options to box update and box outdated
Vagrant::Box.load_metadata did not provide a way to specify the HTTPS
download options that could be specified when downloading boxes
(ca cert, ca path, client cert, insecure). As a result, while it was
possible to add a box whose metadata file needed to be downloaded with one of
those options specified, it was impossible to check for updates. The following
changes have been made to address the situation:

1. Create a DownloadMixins module to provide the --insecure, --cacert, --capth,
   and --cert command line options to all of `vagrant box add`,
   `vagrant box update`, and `vagrant box outdated`.
2. Extend `Vagrant::Box.has_update?` and `Vagrant::Box.load_metadata` to accept
   said download options.
3. Extend `box outdated` and `box update` commands to pass download options
   down.
4. Extend `Vagrant::Builtin::Action::BoxCheckOutdated` to honour download
   options.
5. Options specified on the command line take precedence over options specified
   in the machine configuration, if any.
6. Fix bug in `vagrant box add` where client cert was being passed down using
   the wrong environment key.
7. Unit test coverage in update_test and box_check_outdated_test.

Resolves #4420
2014-09-07 23:57:34 -04:00
Mitchell Hashimoto
e5a7bfebbc commands/box/update: proper provider is updated [GH-4374] 2014-08-29 12:05:44 -07:00
Mitchell Hashimoto
059243670f commands/box: update gives nice message if no box 2014-08-29 11:19:54 -07:00
Mitchell Hashimoto
f99b2bac5d comamnds/box/add: change help text 2014-05-25 12:54:48 -07:00
Adam Spiers
a87cfbeea2 make box add --help text more accurate
Fixes #3898.
2014-05-24 20:37:47 +01:00
Mitchell Hashimoto
ac7012279c commands/box/add: clarify help text 2014-05-24 11:24:25 -07:00
Kalman Hazins
bb052366f7 Change symbols inside hashes to 1.9 JSON-like syntax 2014-05-22 12:35:12 -04:00
Rémi Paulmier
00a2670406 added capath option to curl Downloader 2014-05-19 18:08:23 +02:00
Mitchell Hashimoto
5da77dee5c commands/box/remove: add --force flag 2014-04-23 06:16:51 -07:00
Mitchell Hashimoto
ae8be9356e commands/box/update: show current version [GH-3467] 2014-04-14 18:55:22 -07:00
Mitchell Hashimoto
00962c7c2a commands/box/repackage: better error if box not found 2014-04-12 18:00:33 -07:00
Mitchell Hashimoto
adca39b471 commands/box/repackage: works with new stuff [GH-3372] 2014-04-12 17:57:51 -07:00
Christian Berendt
764c007a93 When there are multiple versions of a box are available it should be checked if an update is available for the highest version.
Example:

There are version 0.2.10 and 0.2.11 available. The latest update is version 0.2.12.

```
berendt/ubuntu-14.04-amd64          (virtualbox, 0.2.10)
berendt/ubuntu-14.04-amd64          (virtualbox, 0.2.11)
```

Without this patch it will be checked if a higher version than 0.2.10 is available.

```
Checking for updates to 'berendt/ubuntu-14.04-amd64'
Version constraints: > 0.2.10
Provider: virtualbox
Updating 'berendt/ubuntu-14.04-amd64' with provider 'virtualbox' from version
'0.2.10' to '0.2.12'...
Loading metadata for box 'https://vagrantcloud.com/berendt/ubuntu-14.04-amd64'
Adding box 'berendt/ubuntu-14.04-amd64' (v0.2.12) for provider: virtualbox
Downloading: https://vagrantcloud.com/berendt/ubuntu-14.04-amd64/version/23/provider/virtualbox.box
Successfully added box 'berendt/ubuntu-14.04-amd64' (v0.2.12) for 'virtualbox'!
```

with this patch it will be checked if a higher version than 0.2.11 is available (the expected behaviour).

```
Checking for updates to 'berendt/ubuntu-14.04-amd64'
Version constraints: > 0.2.11
Provider: virtualbox
Updating 'berendt/ubuntu-14.04-amd64' with provider 'virtualbox' from version
'0.2.11' to '0.2.12'...
Loading metadata for box 'https://vagrantcloud.com/berendt/ubuntu-14.04-amd64'
Adding box 'berendt/ubuntu-14.04-amd64' (v0.2.12) for provider: virtualbox
Downloading: https://vagrantcloud.com/berendt/ubuntu-14.04-amd64/version/23/provider/virtualbox.box
Successfully added box 'berendt/ubuntu-14.04-amd64' (v0.2.12) for 'virtualbox'!
```
2014-04-12 11:03:04 +02:00
Mitchell Hashimoto
d45eb1f183 commands/box: show version 2014-04-01 22:04:49 -07:00
Christian Berendt
50bf36e747 display version by default when listing boxes
example usage:

$ vagrant box list
berendt/ubuntu-14.04-amd64 (virtualbox) [0.1.3]
berendt/ubuntu-14.04-amd64 (virtualbox) [0.1.4]
berendt/ubuntu-14.04-amd64 (virtualbox) [0.1.5]

related to issue #3313
2014-03-25 18:45:13 +01:00
gnawhleinad
fbcac2978e clean up usage 2014-02-08 00:20:50 -08:00
Mitchell Hashimoto
cdf1d7f318 core: get rid of all uses of config_global 2014-02-06 20:22:15 -08:00
Mitchell Hashimoto
85aa7db17e commands/box: repackage tests 2014-02-05 21:20:29 -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
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
b5157df2cc core: BoxCheckOutdated only runs if told to 2014-02-05 21:20:14 -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
b71cde6b99 core: make box add UI much icer 2014-02-05 21:19:44 -08:00
Mitchell Hashimoto
c1d5c8f33c commands/box: remove has --box-version flag 2014-02-05 21:19:43 -08:00
Mitchell Hashimoto
29da748702 commands/box/remove: update for new syntax 2014-02-05 21:19:41 -08:00
Mitchell Hashimoto
acc57a3c18 core: clarify output for boxadd error message 2014-02-05 21:19:36 -08:00
Mitchell Hashimoto
28a6beaa56 commands/box: can constrain the version 2014-02-05 21:19:25 -08:00
Mitchell Hashimoto
96e92167d9 commands/box: broken box adding, but more options/tests 2014-02-05 21:19:16 -08:00
Mitchell Hashimoto
e8197c4e87 commands/box: list works with the new versions 2014-02-05 21:19:14 -08:00
Mitchell Hashimoto
5030a16f84 kernel/v2: default all configs properly, remove config/default.rb 2014-02-05 15:36:35 -08:00
Mitchell Hashimoto
72edddbb09 core: do proper type conversions for box checksum types 2013-12-01 23:03:21 -08:00
Mitchell Hashimoto
1094ac976e core: support checksum on box add 2013-12-01 23:03:20 -08:00
Mitchell Hashimoto
cd3e19306c commands/box/add: custom CA cert [GH-2337] 2013-11-26 19:32:56 -08:00