Commit Graph

439 Commits

Author SHA1 Message Date
Brian Cain 87b7514603 (#7188) Clean up vagrant snapshot restore/delete error messages
This commit adds some better handling around the snapshot restore and
delete commands for the virtualbox provider. If a user attempts to restore from
a vm that does not exist, instead of exiting 0 it will raise an
exception saying the virtual machine has not been created yet.
Addtionally, if a user attempts to restore from a snapshot id that does
not exist, instead of printing a complicated exception from the
virtualbox cli tool, it prints a more useful error message telling the
user that the snapshot does not exist.
2017-06-07 09:12:20 -07:00
Brian Cain 1ade699936 (#6827) Introduce tty flag for ssh command execution
Prior to this commit, if a user ran the `vagrant ssh -c CMD` command, it
would not allow the user to configure pseudo-terminal allocation. This
commit introduces a -t flag for the `vagrant ssh` command which defaults
to true if not specified.
2017-06-02 17:32:02 -07:00
Brian Cain eadb0ac831 Raise exception if provider doesn't have snapshot capability
Prior to this commit, if a user attempted to use the `vagrant snapshot
save` or `vagrant snapshot list` commands on a vm whose provider did not
support snapshots, it would simply print a warning. This commit changes
that behavior by instead raising an error.
2017-05-26 15:22:25 -07:00
Brian Cain 6ddba4f7b3 (#7810) Enforce unique snapshot names
Prior to this commit, the vagrant snapshot plugin would save snapshots
with existing names which lead to duplicate snapshot names being saved.
This commit fixes that by checking to see if the given snapshot name
already exists and if so, fails telling the user the given snapshot name
already exists. If a user passes a --force flag, vagrant will first
delete the existing snapshot, and take a new one with the given name.
2017-05-25 16:28:17 -07:00
Chris Roberts 39606e833f Update method documentation to correctly describe method 2017-05-09 09:13:14 -07:00
Chris Roberts df069deac0 Validate plugin sources and report errors if detected. 2017-04-04 17:53:04 -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
Chris Roberts 256ce3b0d5 Merge pull request #8264 from hasyimibhar/command-validate
Add validate command
2017-03-23 09:52:12 -07:00
Chris Roberts e7abd1114b Merge pull request #8393 from chrisroberts/fix/default-provider-env-var
Prevent other provider install attempts when explicit provider given
2017-03-23 09:35:59 -07:00
Chris Roberts 72d0eb497d Isolate push deprecation to atlas strategy only 2017-03-21 15:08:17 -07:00
Chris Roberts 7c4252e24a Prevent other provider install attempts when explicit provider given 2017-03-21 10:58:06 -07:00
Chris Roberts e1e3df68da Merge pull request #7967 from apupier/removeRequirementsOnPathWithoutSpace
Remove requirements on path without space as issue was fixed in Ruby
2017-03-06 09:08:06 -08:00
Chris Roberts 60cd9057a7 Add command deprecation module to push 2017-02-24 06:47:44 -08:00
Hasyimi Bahrudin cbda9f0906 Add validate command for validating Vagrantfile 2017-02-07 13:43:49 +08:00
Chris Roberts 4bbd43c73f Display default on expunge command questions. Prompt user on invalid input. 2017-01-12 07:16:57 -08:00
Raymond P. Burkholder 30ea15994a Update command.rb
Issue #8159

while using:
$ vagrant package --base ${VIRTUALBOXNAME}

this error occurs:

/usr/share/rubygems-integration/all/gems/vagrant-1.9.0/plugins/commands/package/command.rb:59:in `package_base': uninitialized constant VagrantPlugins::CommandPackage::Command::SecureRandom (NameError)
Did you mean?  SecureRandom
        from /usr/share/rubygems-integration/all/gems/vagrant-1.9.0/plugins/commands/package/command.rb:42:in `execute'
        from /usr/share/rubygems-integration/all/gems/vagrant-1.9.0/lib/vagrant/cli.rb:42:in `execute'
        from /usr/share/rubygems-integration/all/gems/vagrant-1.9.0/lib/vagrant/environment.rb:274:in `cli'
        from /usr/share/rubygems-integration/all/gems/vagrant-1.9.0/bin/vagrant:118:in `<top (required)>'
        from /usr/bin/vagrant:22:in `load'
        from /usr/bin/vagrant:22:in `<main>'
2016-12-28 19:02:13 -04:00
Alvaro Miranda Aguilera 06271f55c6 Show comma separated include 2016-12-10 21:56:21 +01:00
Bjorn Brala 457c58fe71 Mention `--base` option is VirtualBox only in package command. 2016-12-08 21:22:24 +01:00
Chris Roberts cc37207f9c Update key names when passing to install action 2016-11-28 16:56:00 -08:00
Chris Roberts b0a3cfa978 Provide error information on plugin repair error.
Also includes original exception information within logger output.
2016-11-28 07:48:16 -08:00
Chris Roberts d9c1c36b3c Iterate plugin list using manager result to retain sorting 2016-11-21 09:25:56 -08:00
Chris Roberts 23b40a31ed Skip reinstallation of system plugins 2016-11-17 16:40:30 -08:00
Chris Roberts ae21c31a6c Use Manager#installed_plugins information to display updates 2016-11-16 13:27:05 -08:00
Chris Roberts 1806cc1c5c Remove deprecated plugin install option 2016-11-11 15:13:03 -08:00
Chris Roberts 2d6071a55b Merge pull request #7793 from chrisroberts/enhancement/bundler-less
[core] Remove bundler usage for plugin management
2016-11-09 16:17:47 -08: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
Aurelien Pupier c423619cd7 Remove requirements on path without space as issue was fixed in Ruby 2016-11-08 16:39:43 +01:00
Chris Roberts f045f74d86 Only proceed if confirmation is matched. Do not continue if user aborted. 2016-11-07 19:25:32 -08:00
Chris Roberts b15ef3a6ff Add plugin expunge command to remove all user installed plugins 2016-11-07 18:48:51 -08:00
Chris Roberts 5d68c8c30b Include plugin repair command 2016-11-07 18:48:51 -08:00
Chris Roberts 703513bd0f Revert "Fix incorrect ssh-config output when '--host' is defined"
This reverts commit c77326438b.
2016-10-07 16:50:12 -07:00
guessi c77326438b Fix incorrect ssh-config output when '--host' is defined
Fixes: #7728
Signed-off-by: guessi <guessi@gmail.com>
2016-10-07 23:47:56 +08:00
Chris Roberts f577ca3d23 commands/package: provide machine data directory for base box 2016-08-17 06:49:12 -07:00
Chris Roberts ee185f4b9e Set private_key_path and log_level within hash construction 2016-08-11 12:13:11 -07:00
Zack Train cb70749bd8 redux of pr 7398 for ssh-agent key fix 2016-08-11 11:48:10 -07: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
Seth Vargo bba1cbc72f
Add --box-version to `vagrant init`
This also adds a test suite for that particular command, updates the
documentation, and adds some examples.

Fixes GH-5004
2016-05-30 15:33:58 -04:00
Seth Vargo 07389ffc04
Update command help to show id too 2016-05-29 01:06:51 -04:00
Seth Vargo cee6e6c7bc
Fix file leaking in bundler 2016-05-28 17:01:59 -04:00
Seth Vargo f313c89d74 Merge pull request #7059 from markpeek/markpeek-no-provision-on-resume
Do not ignore the sentinal file when running resume
2016-05-27 17:07:41 -04:00
Seth Vargo 2d0943b0ad Print a warning when token and envvar are set
Fixes GH-7206
2016-04-08 10:16:10 -04:00
Paul Hinze 32519b226c Merge pull request #6879 from jtopper/allow_no_delete_snapshot_on_pop
Add missing features to snapshot restore/pop
2016-03-04 11:40:54 -06:00
Jon Topper a7008ef5ec Fix up style nit. 2016-03-04 17:35:54 +00:00
Mark Peek 563ce33738 Do not ignore the sentinal file when running resume
The sentinal file was always being ignored when running the
resume command. This is fixed along with allowing provision
options to be used with resume. Fixes #6787
2016-02-19 18:24:48 -08:00
Seth Vargo 202692f940 Merge pull request #6909 from willonymous/regex_up
Fix `vagrant up --install-provider` regular expression handling
2016-02-03 09:56:19 -05:00
Seth Vargo b5a6c6e6ab Fix whitespace 2016-02-03 09:55:10 -05:00
Seth Vargo 803ccfa7ae Merge pull request #6899 from tompscanlan/fix_proxy_login
fix login behind proxy (#6898)
2016-02-03 09:54:49 -05:00
Seth Vargo 1166800b65 Use SSL and HTTPS links where appropriate 2016-01-25 13:14:54 -05:00
William Oldwin 5791cd5185 Fix `vagrant up --install-provider` regular expression handling
Fixes GH-6908
2016-01-21 15:23:55 +00:00
Tom Scanlan 661b6a4813 fix login behind proxy (#6898)
we're using rest_client 1.6.9, which doesn't use proxy passed in
to the RestClient::Request.execute.  Must set RestClient.proxy
instead
2016-01-20 16:15:50 -05:00
Jon Topper eff2b2d7b4 Support provisioning flags on snapshot rollback 2016-01-16 16:07:57 +00:00
Jon Topper 7ba398ead8 Add --no-delete to 'snapshot pop' command
In our test environments, it's good to be able to roll back to the same,
anonymous, snapshot repeatedly.  This patch adds a `--no-delete` option
to the `snapshot pop` command allowing this.

This makes the new core snapshot behaviour more consistent with what we
were doing with vagrant-multiprovider-snap
(https://github.com/scalefactory/vagrant-multiprovider-snap)
2016-01-15 18:21:47 +00:00
Mitchell Hashimoto 2d67b9ea3f commands/up: take into account forced provider 2015-12-24 12:27:38 -08:00
Mitchell Hashimoto 12b81600fb commands/up: check machine index for provider 2015-12-24 12:24:47 -08:00
Michael Kuzmin 546649fb9e Fix `uninitialized constant` error in `vagrant powershell` command 2015-12-05 17:24:58 +03:00
Mitchell Hashimoto 350da6e1d5 commands/ssh_config: output machine readable output 2015-12-02 17:53:08 -08:00
Romulo De Lazzari a9e1ef4fe3 update help message on --provision-with to add by provisioner name 2015-11-26 15:17:09 +00:00
Seth Vargo 050f8d4d71 Allow specifying the guest port search 2015-11-24 16:33:09 -05:00
Seth Vargo 4cebe283e8 Remove debug/todo comments 2015-11-24 16:33:09 -05:00
Seth Vargo beb84d3212 Move to I18n 2015-11-24 16:33:09 -05:00
Seth Vargo 958ce8983b Remove todo comment 2015-11-24 16:33:08 -05:00
Seth Vargo 063f60e593 Add `vagrant port` command 2015-11-24 16:33:08 -05:00
Seth Vargo bd48d24825 Respect proxy envvars for login command 2015-11-23 20:19:45 -05:00
Mitchell Hashimoto 32f6accb25 commands/box: don't halt on metadata download failure [GH-6453] 2015-11-19 18:50:50 -08:00
Eli Skeggs 2b9173e15a Support environment variable forwarding, fixes #4131
Signed-off-by: Eli Skeggs <eskeggs@globesherpa.com>
2015-11-19 16:25:54 -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
Seth Vargo c743d88ad6 Fix bad options 2015-11-18 15:26:45 -08:00
Mitchell Hashimoto 3d6b11375a commands/plugin: plugin-clean-sources 2015-11-18 11:21:39 -08:00
Mitchell Hashimoto 946d2fe154 Merge pull request #4738 from robkinyon/skip_default_sources
Added a --plugin-clean-sources parameter
2015-11-18 11:20:34 -08:00
Mitchell Hashimoto b69d635f75 commands/up: use sets 2015-11-18 10:59:29 -08:00
Mitchell Hashimoto fdd3b5c7ec Merge pull request #5981 from jkburges/named_provision_with
Allow provisioner instance names to be specified for `up` and `reload…
2015-11-18 10:54:22 -08:00
Seth Vargo 176b38880d Merge pull request #6534 from mitchellh/sethvargo/less_access_token
Only append access_token the first time
2015-11-18 10:53:34 -08:00
Mitchell Hashimoto 6bc286a70b website: update docs for powershell 2015-11-18 10:51:18 -08:00
Mitchell Hashimoto e34af86acf commands/powershell 2015-11-18 10:46:17 -08:00
Seth Vargo ff95fc5c1e Only append access_token the first time
This fixes GH-6395 by only appending the access_token once. It also fixes a
bug that was never reported. If a user supplied an access_token for a box URL,
Vagrant would silently overwrite it.

After this commit, Vagrant only appends an access_token to the URL if no
value exists at the key.
2015-11-18 10:44:35 -08:00
Mitchell Hashimoto 8bbf6f56f4 Merge pull request #4400 from mwrock/ps-cmd
Add a ps command to vagrant that drops the user into a remote powershell shell
2015-11-18 10:41:36 -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
Mitchell Hashimoto baea923e9c commands/up: automatically install providers 2015-11-05 13:58:15 -08:00
Mitchell Hashimoto dad5962ebb hosts/darwin: support virtualbox install 2015-11-04 15:47:56 -08:00
Mitchell Hashimoto 72e13ee9ef test: add tests for provider command 2015-11-04 14:26:22 -08:00
Mitchell Hashimoto d4ddb3c2f3 commands/provider 2015-11-04 14:20:48 -08:00
Mitchell Hashimoto ec0326f1c8 Merge pull request #6377 from mitchellh/f-cap-command
"cap" command
2015-10-08 10:52:14 -04:00
Mitchell Hashimoto 50638b2e55 commands/cap: require_relative 2015-10-08 10:42:10 -04:00
Mitchell Hashimoto 0a52e06298 commands/snapshot: use require relative 2015-10-08 10:40:46 -04:00
Mitchell Hashimoto 0b2d60ac39 commands/cap: better help 2015-10-08 10:36:44 -04:00
Mitchell Hashimoto 99d29f17fa commands/cap 2015-10-08 10:35:36 -04:00
Mitchell Hashimoto 0abc17eaed commands/snapshot: push now uses caps to be more resilient 2015-10-08 08:55:13 -04:00
Mitchell Hashimoto 7480b65e9d providers/virtualbox: use caps for snapshot list 2015-10-08 08:46:36 -04:00
Mitchell Hashimoto ed4df21c85 commands/snapshot: push and pop 2015-10-07 22:52:27 -04:00
Mitchell Hashimoto a99ebcb3ce commands/snapshot 2015-10-07 15:52:37 -04:00
Jon Burgess 209556c3cd Allow provisioner instance names to be specified for `up` and `reload` commands and option `--provision-with`
Ref: https://github.com/mitchellh/vagrant/issues/5139
2015-07-17 14:26:13 +10:00
Mitchell Hashimoto 3cad495064 Merge pull request #5887 from msabramo/config.ssh.ssh_command
Add setting config.ssh.ssh_command
2015-07-09 14:24:48 -06:00
Mitchell Hashimoto 0b9ec53f46 commands/rdp: support username param [GH-5460] 2015-07-06 23:07:22 -06:00
Marc Abramowitz 9240ea30b6 Add setting config.ssh.ssh_command
Lets the user specify what ssh to use or even direct Vagrant to use an
ssh wrapper like sshrc (https://github.com/Russell91/sshrc).
2015-07-01 23:33:13 -07:00
Matt Wrock e6daf2f172 fix pscommand error messaging 2015-06-05 22:24:05 -07:00
Matt Wrock 740877065a marshall back command output when passing a command to ps 2015-06-05 05:07:14 -07:00
Matt Wrock 47e57a7cd9 fix relative path 2015-06-05 05:07:12 -07:00
Matt Wrock 1cd1033093 fixes from @sethvargo comments. 2015-06-05 05:07:12 -07:00
Matt Wrock c60a020096 adds a ps command to vagrant that drops the user into a remote powershell shell 2015-06-05 05:07:11 -07:00