Seth Vargo
2acaaff801
state_file: fsync and binmode
2016-07-18 21:59:18 -04:00
Seth Vargo
ea17ad4530
Merge pull request #7550 from cgwalters/plugin-atomic-rewrite
...
plugin: Write out state file via create-new-then-rename
2016-07-18 21:58:23 -04:00
Seth Vargo
8f10dbca90
Merge pull request #7587 from alexmv/disabled-conflicts
...
Skip checking for conflicts on ports that are disabled
2016-07-18 21:55:33 -04:00
Seth Vargo
3b2ffae400
guests/bsd: Print a very descriptive error when mounting vbox folders
...
BSD-based guests do not support VirtualBox shared folders. This is a
common source of confusion in Vagrant. This new error clearly explains
that this is not a bug in Vagrant and provides instructions on how to
disable them.
2016-07-18 21:12:58 -04:00
Seth Vargo
7e88266999
guests/linux: Properly escape and retry vbox shared folder mounting
2016-07-18 21:12:57 -04:00
Alex Vandiver
3d2fde9260
Skip checking for conflicts on ports that are disabled
...
Currently, the supported way (see GH#1922) to disable the default port
2222 port forward is:
config.vm.network :forwarded_port, guest: 22, host: 2222, disabled: true
However, the port collision detection runs on all ports, regardless of
the `disabled` flag. This leads it to attempt to connect to port
2222, notice it is taken, and abort with a port conflict -- even
though it will not be attempting to use the port at all.
Skip disabled ports when doing port conflict detection.
A workaround that does not require a Vagrant upgrade to one containing
this fix is to instead set `auto_correct` on the disabled port:
config.vm.network :forwarded_port, guest: 22, host: 2222, disabled: true, auto_correct: true
This allows the disabled port to be reshuffled off to some other
unused port.
2016-07-14 19:52:38 -07:00
Colin Walters
72c1972181
plugin: Write out state file via create-new-then-rename
...
This makes updates atomic, so it's useful generally. However
I'm making this change specifically to support rpm-ostree.
For more information, see:
https://bugzilla.redhat.com/show_bug.cgi?id=1352152
2016-07-12 16:42:24 -04:00
Markus Rossi
4730602ceb
Strip leading slash left in front of drive letter by uri.path (see GH-7570).
2016-07-12 15:20:04 +03:00
Markus Rossi
8768d7921d
Fix for #7568 Windows drive letter in config.vm.box_url is ignored
2016-07-12 12:01:23 +03:00
Seth Vargo
05aafedc6d
core/bundler: Reset specs in a way that works with new Rubygems
2016-06-20 15:19:21 -07:00
Seth Vargo
23e50c98f9
core/box_collection: Ensure removal
...
The docs for Ruby say Pathname#rmtree will recursively delete, but
apparently that is a lie, at least on Windows (see GH-7496). Switch to
using FileUtils to ensure the directory is deleted.
Fixes GH-7496
2016-06-20 07:16:08 -04:00
Seth Vargo
177b7784dd
guests/darwin: Allow ipv6 static networks
2016-06-19 12:01:52 -04:00
Seth Vargo
6284a9ac50
guests/bsd: Move NFS mounting logic into shared
...
A number of the BSD guests used very old mounting options or just
ignored some parameters entirely. This fixes that.
- Closes #7474
- Fixes #7466
2016-06-17 21:04:23 -04:00
Seth Vargo
d01ddeeb43
Check stdout instead of process output
...
Fixes GH-7465
2016-06-16 16:20:15 -04:00
Gilles Cornu
6ee69e3150
Merge pull request #7190 from electrofelix/ansible-parallel-race
...
Fix a race condition in the concurrent generations of the ansible inventory file, while running `vagrant up --parallel`.
Closes GH-6526
2016-06-09 14:56:03 +02:00
Mikhail Zholobov
db3aad3822
Require "vagrant/util/presence" in package action
2016-06-09 13:13:58 +03:00
Karl Isenberg
f084fc7d78
Revert 3f9fb2ef03
from GH-2769
...
- For compatibility with ba77d4b533
Fixes GH-7073
2016-05-31 14:52:43 -07:00
Seth Vargo
cf02135290
Merge pull request #7359 from mitchellh/sethvargo/cache_platform
...
Cache the results of common operations
2016-05-31 11:03:46 -04:00
Seth Vargo
7014aa3bab
Remove custom tempfile class
...
This is not actually providing any additional utility and also causes
namespace conflicts with people trying to use the real Tempfile class.
2016-05-30 23:21:47 -04:00
Seth Vargo
2a230a11e2
Cache the results of common operations
...
This commit changes Vagrant::Util::Platform to cache the result of some
common operations. These values are highly unlikely to change over the
course of a single Vagrant run and they are only cached for that run.
2016-05-30 18:27:12 -04:00
Seth Vargo
d44fcf2d52
Allow customization of keys_only & paranoid SSH
...
This adds two new SSH configuration options:
- `keys_only`
- `paranoid`
These values were previously hard-coded, but can now be user-specified.
Fixes GH-4275
2016-05-29 18:03:03 -04:00
Seth Vargo
159e1ec1f1
Use a real file for bundler
2016-05-29 00:41:59 -04:00
Seth Vargo
1b414d3d9e
That file has to exist
2016-05-29 00:18:33 -04:00
Seth Vargo
3d2390fc94
Give a unique, prefixed name to all tempfiles
...
This commit basically grepped the code base for all uses of Dir.mktmpdir
and Tempfile.new/open and ensures the value is unique within the
code base and also prefixed with `vagrant-`.
Previously, most invocations of these commands simply used "vagrant",
thus making them indistinguishable when trying to identify leaks.
2016-05-28 23:22:34 -04:00
Seth Vargo
fb7c4033a9
Do not create a tempfile when downloading box metadata
...
The only reason we were using Tempfile was to generate the path. This
commit switches to using `Dir::Tmpname.create`, which accomplishes the
same thing without the overhead of creating and removing a tempfile.
2016-05-28 23:22:34 -04:00
Seth Vargo
3a27c29577
Add a new util for generating tempfiles
2016-05-28 23:22:33 -04:00
Seth Vargo
cee6e6c7bc
Fix file leaking in bundler
2016-05-28 17:01:59 -04:00
Christian Hofstaedtler
ba77d4b533
Allow Vagrant to work with newer Rubygems
...
Fixes GH-7073
2016-05-27 17:19:33 -04:00
Seth Vargo
efdb148f61
Move pre-flight package validation to middleware
...
This commit separates the scratch and output directory creation from the
main package middleware into its own PackageSetupFolders middleware.
Additionally, the validation that ensures an output file does not exist
is moved into a validation function that can be shared across multiple
methods.
This refactor permits a pre-flight check to ensure box packaging would
be successful before actually stopping the VM.
Fixes GH-7351
2016-05-27 17:07:04 -04:00
Seth Vargo
2a02ceb870
Bump box resume delay to 24h
...
This commit bumps the box resume delay time to 24h and makes it a
constant because I had a bugger of a time actually finding this in the
code :frowny:.
Fixes GH-7272
2016-05-27 15:18:50 -04:00
Seth Vargo
bc74cb4008
Merge pull request #7158 from mitchellh/sethvargo/auth_metadata
...
Authenticate metadata box urls
2016-04-05 10:46:01 -04:00
Darragh Bailey
36ad4d53cf
core: Multi machine use of active_machines requires locking of index
...
Ensure multi machine access of other machine state information through
iterating `active_machines` and retrieval of cached machines cannot
have multiple threads update the state of machines simultaneously as
this triggers a Machine Lock exception.
Machine state information retrieved from the index, returns a locked
object. Since iteration of active_machine, and retrieval of each
machine from the cache can be triggered by any plugin, it is possible
for another machine to inadvertently access the state and trigger an
update, which the thread owning the machine is currently in the process
of updating it already. This results in a Machine Locked exception
occurring if the attempt to retrieve the cached state from the index
occurs before the other thread calls release.
Partially-Fixes: #6526
2016-03-31 17:27:36 +01:00
Seth Vargo
3305764f71
Rescue Errno::ENOTCONN
...
Fixes GH-7182
2016-03-31 17:02:50 +02:00
Seth Vargo
42a8ed658e
Authenticate metadata box urls
2016-03-19 17:05:43 -04:00
Pravinchandar Raajendiran
af9d0df635
Fix for #4608
...
Added support for Port forwarding in an IP aliased environment. The change
makes the following forwarding rule(s) possible.
Ex: eth0 is ip aliased to have a range of IP addresses 10.20.30.0/24.
In the Vagrant file, we can now have an entry like the following and
it will just work! Note the host port 8081 is the same for both .1 and .2.
Vagrant.configure("2") do |config|
config.vm.network "forwarded_port", guest: 80, host: 8080
config.vm.network "forwarded_port", guest: 81, host: 8081, host_ip: 10.20.30.1
config.vm.network "forwarded_port", guest: 82, host: 8081, host_ip: 10.20.30.2
end
2016-02-14 22:16:24 +11:00
Seth Vargo
27157b5408
Merge pull request #6893 from mmickan/prerelease-version-fix
...
Prerelease version fix
2016-02-03 09:57:25 -05:00
Seth Vargo
1166800b65
Use SSL and HTTPS links where appropriate
2016-01-25 13:14:54 -05:00
Mark Mickan
1378eebea9
Use pristine version string when constructing path to box
...
Without this change, the version string may be mutated when passed through
Gem::Version.new(version).to_s before being used to construct the box
directory. This is a problem when using prerelease version numbers because,
for example, it will look for "~/.vagrant.d/boxes/1.0.0.pre.alpha.1" when it
should be looking for "~/.vagrant.d/boxes/1.0.0-alpha.1".
2016-01-20 10:22:00 +10:30
Peter Mosmans
4b889ee641
Fix for #6761 (fixes incomplete #6598 )
2015-12-30 07:56:08 +10:00
Mitchell Hashimoto
cf4b03d701
core: do not convert drive letters to UNC paths [GH-6598]
2015-12-24 12:36:14 -08:00
Mitchell Hashimoto
0de44a116b
core: use env var for bundle retries [GH-6705]
2015-12-24 12:16:12 -08:00
Mitchell Hashimoto
06a1461081
Merge pull request #6662 from lukebakken/fixes/lrb/gh-4503-hyper-v-admin-privs
...
Fix for 4503
2015-12-14 15:56:55 -08:00
Mitchell Hashimoto
884782f3ce
Merge pull request #6603 from mitchellh/sethvargo/cleanup_output
...
Only run cleanup tasks when they are defined on the provisioner
2015-12-14 15:41:17 -08:00
Mitchell Hashimoto
739d29e8fa
Merge pull request #6612 from reedloden/virtualbox-checksum
...
Add checksum validation for the VirtualBox installs on Windows and OS X
2015-12-14 15:39:46 -08:00
Luke Bakken
57187c9f88
Add method to detect if a Windows user is a member of the "Hyper-V Administrators" group.
...
Modify Hyper-V provider to require a user to either be an Administrator or a member of "Hyper-V Administrators"
2015-12-10 07:04:39 -08:00
Seth Vargo
4e21dd78e4
Ignore case when comparing checksums
...
Fixes GH-6648
2015-12-07 10:30:46 -05:00
Mitchell Hashimoto
30d9e243bb
fix failing tests
2015-12-02 18:03:08 -08:00
Mitchell Hashimoto
5c4e71e317
core: machine output provider info for the machine
2015-12-02 13:06:07 -08:00
Mitchell Hashimoto
cee517d963
core: fix machine readable UI to contain target and have proper format
2015-12-02 13:06:07 -08:00
Reed Loden
7d81728e45
Add checksum validation for the VirtualBox installs on Windows and OS X
...
Use Vagrant::Util::FileChecksum to validate the downloaded VirtualBox
installers.
SHA-256 checksums for VirtualBox files are available at
https://www.virtualbox.org/download/hashes/5.0.10/SHA256SUMS .
Fixes #6611 .
2015-11-28 00:04:41 -08:00
Seth Vargo
64ff69c64b
Only run cleanup tasks when they are defined on the provisioner
...
This helps with some confusion caused in GH-2538, since the output says:
> Running cleanup tasks for 'shell' provisioner...
But that's actually not true. It is running the cleanup tasks iff the
provisioner defined a cleanup task. This commit changes the
provisioner_cleanup middleware to only run cleanup tasks if the subclass
defines a cleanup task.
The reason we can't just check if the provisioner `respond_to?` the
`cleanup` method is because the parent provisioner base class (which
all provisioners inherit from) defines a blank cleanup method. This is
important because it means we never risk calling an unimplemented
cleanup function, and it also helps define the public API for a
provisioner.
2015-11-26 13:11:51 -05:00
Timur Alperovich
5b910c186c
Fix the resolution of SafeEnv.
...
Recent change broke bundler.rb due to incorrect scope resolution (the
error is: uninitialized constant Vagrant::Bundler::SafeEnv
(NameError).
2015-11-24 12:18:50 -08:00
Seth Vargo
8c3f833e8e
Use the new presence helpers in the Chef provisioner
2015-11-23 18:33:47 -05:00
Seth Vargo
4c55c39b2d
Add presence helpers
2015-11-23 18:04:18 -05:00
Mitchell Hashimoto
7f93868c86
Merge pull request #6567 from mitchellh/b-prune-folders
...
core: remove saved synced folders not from Vagrantfile
2015-11-23 10:06:51 -08:00
Mitchell Hashimoto
21cacb6eb8
core: file:/// for windows paths [GH-5288]
2015-11-23 09:53:28 -08:00
Mitchell Hashimoto
1405395d81
core: catch EINVAL on setting env vars [GH-6017]
2015-11-23 09:39:51 -08:00
Mitchell Hashimoto
4e1ba3a027
core: fix file URLs from cygwin on Windows [GH-5747]
2015-11-23 09:30:27 -08:00
Mitchell Hashimoto
104066c678
core: assume all windows shells now have TTYs
2015-11-23 09:10:33 -08:00
Mitchell Hashimoto
d5fa7416ff
core: more heuristics for determining Cygwin
2015-11-21 11:17:36 -08:00
Mitchell Hashimoto
c471f37955
core: parse line numbers for Vagrantfile syntax errors on Win [GH-6445]
2015-11-20 15:34:52 -08:00
Mitchell Hashimoto
b6f0b498e4
core: expand Windows short paths
2015-11-20 14:49:21 -08:00
Mitchell Hashimoto
9c1b014536
core: remove saved synced folders not from Vagrantfile
2015-11-20 10:25:09 -08:00
Mitchell Hashimoto
2ade66443e
core: retry bundler network calls a few times [GH-6097]
2015-11-19 23:57:16 -08:00
Mitchell Hashimoto
d3ab73cf4a
core: when packaging, preserve generated key [GH-5780]
2015-11-19 18:18:51 -08:00
Seth Vargo
02a351841e
Use an array instead of map
2015-11-19 16:32:43 -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
Mitchell Hashimoto
e0ef592544
core: retry if server doesn't support byte ranges on download [GH-4479]
2015-11-19 16:14:13 -08:00
Mitchell Hashimoto
c541767949
core: add tests for box collection cleanup [GH-6002]
2015-11-19 15:59:58 -08:00
Mitchell Hashimoto
ed9bc1e847
Merge branch '3570-box-data-left' of https://github.com/ievgenp/vagrant into ievgenp-3570-box-data-left
2015-11-19 15:45:47 -08:00
Seth Vargo
eac1960d45
Fix some Ruby
2015-11-19 10:25:32 -08:00
Mitchell Hashimoto
2ffbe4e6e1
core: more robust WIndows admin check [GH-5616]
2015-11-18 20:27:07 -08:00
Mitchell Hashimoto
be29915bed
Merge pull request #6542 from mitchellh/b-dotfile
...
core: don't make dotfile path if no Vagrantfile
2015-11-18 18:10:19 -08:00
Mitchell Hashimoto
079ee6ea95
Merge pull request #6540 from mitchellh/b-non-http-head
...
core: don't do HEAD request for box on non-HTTP [GH-5477]
2015-11-18 18:09:31 -08:00
Mitchell Hashimoto
7c9fd58786
core: log if not checking box metadata
2015-11-18 18:09:18 -08:00
Mitchell Hashimoto
646414b347
core: don't make dotfile path if no Vagrantfile
2015-11-18 17:48:24 -08:00
Mitchell Hashimoto
7c49fd1418
core: fix crash on invalid checksum type [GH-6327]
2015-11-18 17:36:52 -08:00
Mitchell Hashimoto
891c47c742
core: don't do HEAD request for box on non-HTTP [GH-5477]
2015-11-18 16:52:40 -08:00
Mitchell Hashimoto
1a7937ed50
core: don't replace insecure key on base package [GH-5310]
2015-11-18 16:25:07 -08:00
Mitchell Hashimoto
0ce636d1a3
core: avoid locking in trap context
2015-11-18 16:07:49 -08:00
Mitchell Hashimoto
85f1e05e2a
core: prune machine if non-existent CWD from index [GH-4742]
2015-11-18 15:48:59 -08:00
Mitchell Hashimoto
9ce26393bb
Merge pull request #6479 from legal90/fix-fp-collision-handling
...
Bugfix: Remove redundant app call from action "handle_forwarded_port_collisions"
2015-11-18 15:13:40 -08:00
Mitchell Hashimoto
9e1a119a4b
Merge pull request #6475 from nikelmwann/linux-host-use-xfreerdp
...
Prefer xfreerdp for RDP connections on Linux hosts.
2015-11-18 15:12:47 -08:00
Mitchell Hashimoto
cccdb87388
Merge pull request #6407 from josephfrazier/patch-1
...
handle_forwarded_port_collisions.rb: fix typo: "Reparied" -> "Repaired"
2015-11-18 14:38:03 -08:00
Mitchell Hashimoto
d69d7047b2
Merge pull request #6386 from legal90/fix-osx-nic-order
...
Fix network configuration in OS X (Darwin) guests
2015-11-18 14:33:51 -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
Austin Schutz
96e4544949
use env.ui for action logging
2015-11-18 11:15:02 -08:00
Austin Schutz
566e21d3fc
add machine readable logging, action starts/ends
2015-11-18 11:15:02 -08:00
Gilles Cornu
c6ef73a6fa
Merge 'gildegoma/2103-ansible-local-v2'
...
Resolve conflict in CHANGELOG.md
2015-11-10 23:05:29 +01: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
Gilles Cornu
9bfdaf7e75
provisioners/ansible: introduce ansible_local
...
With this change, the existing host-based Ansible provisioner is
refactored to share a maximum of code with this new guest-based Ansible
provisioner.
At this stage of development, the existing unit tests are intentionally
modified as little as possible, to keep safe the existing funtionalities.
Other issues resolved by this changeset:
- Display a warning when running from a Windows host [GH-5292]
- Do not run `ansible-playbook` in verbose mode when the `verbose` option
is set to an empty string.
2015-11-08 10:42:48 +01:00
Mitchell Hashimoto
baea923e9c
commands/up: automatically install providers
2015-11-05 13:58:15 -08:00
Mitchell Hashimoto
69d9bc0fe8
Environment can_install_provider and install_provider
2015-11-05 11:50:10 -08:00
Mitchell Hashimoto
dad5962ebb
hosts/darwin: support virtualbox install
2015-11-04 15:47:56 -08:00
Mitchell Hashimoto
d4ddb3c2f3
commands/provider
2015-11-04 14:20:48 -08:00
Mikhail Zholobov
c60e116121
Remove redundant app call from action "handle_forwarded_port_collisions"
...
This call should not be in the `handle` helper method. It is specified in the `call` method already.
2015-11-03 17:16:31 +02:00
Eric Winkelmann
e687f81fce
Re-word Linux RDP error to include `xfreerdp`.
...
Changed the name of the error LinuxRDesktopNotFound to
LinuxRDPClientNotFound and re-worded error text in
templates/locales/en.yml to include `xfreerdp` when listing supported
RDP clients.
2015-11-02 23:42:01 -08:00
Mitchell Hashimoto
32e981ce7c
core: machine-readable output should include standard UI output
...
As a "ui" type
2015-10-26 18:10:26 -07:00
Joseph Frazier
a59dc04b69
handle_forwarded_port_collisions.rb: fix typo: "Reparied" -> "Repaired"
2015-10-17 19:42:58 -04:00
Mitchell Hashimoto
c17efbed75
core: ignore VAGRANT_DOTFILE_PATH if a child environment
...
This causes issues since the child environment almost certainly doesn't
share data with the parent. In a larger scope, we should find a way to
encode the data path somehow on `vagrant up`.
2015-10-16 10:28:30 -07:00
Mikhail Zholobov
f930fa94af
Move "cant_read_mac_addresses" error to the global space
...
Now it is used not only by Windows, but by Darwin guests as well.
2015-10-09 14:57:41 +03:00
Mitchell Hashimoto
36cfc77167
providers/virtualbox: make prepare clone a core thing
2015-10-08 16:02:37 -04:00
Mitchell Hashimoto
f0ddac8c9a
providers/virtualbox: clone
2015-10-08 12:33:55 -04:00
Mitchell Hashimoto
9e371277a9
core: IsEnvSet remove invert opt
2015-10-08 10:38:18 -04:00
Mitchell Hashimoto
ed4df21c85
commands/snapshot: push and pop
2015-10-07 22:52:27 -04:00
Mitchell Hashimoto
2c936b2e37
providers/virtualbox: tidying up the linked clone feature
2015-10-06 14:11:41 -04:00
Mitchell Hashimoto
d519d927fa
Merge branch 'VB-linked-clone-support' of https://github.com/mpoeter/vagrant into mpoeter-VB-linked-clone-support
2015-10-06 13:50:34 -04:00
Mitchell Hashimoto
ec0b0fb7f9
providers/virtualbox: IPv6 host only networks
2015-09-30 17:23:25 -07:00
Sam Phippen
eeb750cd33
Catch encoding problems with sources provided to Vagrant::Config::Loader#set
...
Here we implement a naive solution to #5605 which catches the case that
a provided source contains an object which cannot be inspected, because
an object contained within in has an #inspect string that returns a
string that is incompatible with the encoding in
`Encoding.default_external` or a string which cannot be downcast to
7-bit ascii.
The Ruby VM implementation of "#inspect" implements this checking on
these lines of code: http://git.io/vZYNS . A Ruby level override of
this method does not cause this problem. For example:
```ruby
class Foo
def inspect
"😍 ".encode("UTF-16LE")
end
```
will not cause the problem, because that's a Ruby implementation and the
VM's checks don't occur.
However, if we have an Object which **does** use the VM implementation
of inspect, that contains an object that has an inspect string which
returns non-ascii, we encounter the bug. For example:
```ruby
class Bar
def inspect
"😍 ".encode("UTF-16LE")
end
end
class Foo
def initialize
@bar = Bar.new
end
end
Foo.new.inspect
```
Will cause the issue.
The solution this patch provides basically catches the encoding error
and inserts a string which attempts to help the user work out which
object was provided without blowing up. Most likely, this was caused
by a user having a weird encoding coming out of one of the sources
passed in, but without a full repro case, it's not clear whether a patch
should be applied to a different object in the system.
Closes #5605 .
2015-09-08 17:30:50 +01:00
Seth Vargo
d64d229c0f
Merge pull request #5928 from mitchellh/sethvargo/ssh_exec_run_command
...
Use the same ssh args for ssh with a command as ssh exec
2015-07-27 11:02:36 -04:00
Seth Vargo
d88d126ad9
Use a properly-formatted custom User-Agent
2015-07-20 23:33:31 -04:00
Ievgen Prokhorenko
562ed26533
Fix #3570 'Box data left in ~/.vagrant.d/boxes after removal'
2015-07-19 16:44:38 +03:00
Manuel Pöter
f4d1d068f9
Merge branch 'master' into VB-linked-clone-support
2015-07-13 10:56:17 +02:00
Mitchell Hashimoto
dec5f70a1e
core: fix jailbreaking of plugins
...
/cc @sethvargo
2015-07-10 15:34:59 -06:00
Seth Vargo
fc1d2c29be
Use the same ssh args for ssh with a command as ssh exec
2015-07-10 13:55:00 -06:00
Gilles Cornu
faeb8a9440
core: plugin management requires bundler
...
With this change, the `Vagrant::plugins_enabled?` is now false when the
embedded Bundler is not available.
Resolve the broken RSpec unit tests after
479323f1e8
.
2015-07-10 13:37:33 +02:00
Mitchell Hashimoto
479323f1e8
for newer versions of Bundler, store the runtime
2015-07-09 22:12:47 -06:00
Seth Vargo
fafa3fa437
Add another log statement
2015-07-09 16:06:03 -06:00
Seth Vargo
68ef9676c7
Jailbreak out of the subprocess and restore original environment
2015-07-09 16:06:03 -06:00
Seth Vargo
46563560f4
Update with_clean_env helpers
2015-07-09 16:06:02 -06:00
Seth Vargo
50a64ea30b
Add a log statement
2015-07-09 16:06:02 -06:00
Seth Vargo
0a5d37fc8b
Reset the original environment if we are running something outside of the installer
2015-07-09 16:06:02 -06:00
Mitchell Hashimoto
cea44847de
Merge branch 'filter_synced_folders' of https://github.com/maxlinc/vagrant into maxlinc-filter_synced_folders
2015-07-09 15:05:52 -06:00
Mitchell Hashimoto
b0b9f67faf
Merge pull request #5514 from MiLk/fixes/several-boxes-same-name
...
Allow to use several boxes with the same name
2015-07-09 15:00:03 -06:00
Mitchell Hashimoto
b3e935203e
remove unuse dline
2015-07-09 14:25:10 -06: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
Seth Vargo
3ba10b43ab
Restore the original environment from Bundler and the installer if given
2015-07-09 13:14:34 -06:00
Seth Vargo
d8d5a66fa5
Add a function to get to the "original" environment with Vagrant
...
This function only works when used with the official Vagrant installer.
2015-07-09 12:34:04 -06:00
Mitchell Hashimoto
0b6938d8ab
core: don't prepare folders in disable ode
2015-07-08 15:43:42 -06:00
Mitchell Hashimoto
28bea401c0
core: if interrupted, don't open metadata file
2015-07-07 12:38:45 -06:00
Mitchell Hashimoto
71940c60ba
providers/virtualbox: error if uid mismatch
2015-07-06 18:13:59 -06:00
Mitchell Hashimoto
1330244fef
core: save the UID that created a machine
2015-07-06 18:04:16 -06:00
Mitchell Hashimoto
cb51b4fe7f
Merge pull request #5334 from legal90/fix-data-dir-creation
...
Create machine data directory only after the machine will be checked
2015-07-06 16:33:33 -06:00
Mitchell Hashimoto
6c06db776d
core: test for URI escaping
2015-07-06 16:26:06 -06:00
Mitchell Hashimoto
341534299d
core: ssh private_key_path overwrites insecure key [GH-5632]
2015-07-06 16:17:54 -06:00
Mitchell Hashimoto
79115d1ccc
core: retry SSH keygen on RSAError [GH-5056]
...
/cc @sethvargo
2015-07-06 14:44:23 -06:00
Mitchell Hashimoto
bb25bb3be9
core: actually get the proper encoded subprocess command [GH-5128]
2015-07-06 14:39:50 -06:00
Mitchell Hashimoto
80ce9ab1f3
core: change select timeout to 1 for WIndows [GH-5309]
2015-07-06 13:54:00 -06:00
Mitchell Hashimoto
ab27413954
core: make note that the box is being added directly [GH-5311]
2015-07-06 12:17:49 -06:00
Mitchell Hashimoto
e759df11a0
core: fix crash for missing options [GH-5550]
2015-07-06 10:36:41 -06:00
Mitchell Hashimoto
36fa04fd1e
providers/virtualbox: catch subprocess launch error [GH-1483]
2015-07-05 17:01:06 -07: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
Manuel Pöter
c3151c0b88
Ignore failure when trying to delete lock file.
...
Deleting the lock file can fail when another process is currently trying to acquire it (-> race condition).
It is safe to ignore this error since the other process will eventually acquire the lock and again try to delete the lock file.
2015-06-03 13:27:03 +02:00
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
Rob Kinyon
14b84a4a76
Added a --plugin-clean-sources parameter that will allow for
...
only those sources that are defined by the user to be used.
2014-10-28 21:53:41 -04: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
Mitchell Hashimoto
0e29dd5668
commands/rsync: handle proxy machines [GH-4066]
2014-10-22 16:17:39 -07:00
Mitchell Hashimoto
cff57c8d01
core: trigger machine_id_changed for reload [GH-3963]
2014-10-22 12:07:49 -07:00
Mitchell Hashimoto
7988f0fb7c
Fix broken unit tests
2014-10-22 09:44:48 -07:00
Mitchell Hashimoto
58f7310444
providers/virtualbox: detect conflict in name [GH-4681]
2014-10-21 15:56:32 -07:00
Seth Vargo
2f529d47e7
VMWare -> VMware
2014-10-21 18:37:53 -04:00
Gilles Cornu
89a4a29d65
Memoize machine.ssh_info when ready for connection
2014-10-20 17:45:02 +02:00
Gilles Cornu
4e81be879c
Check SSH key permissions in machine.ssh_info
...
With this change, any caller of machine.ssh_info is assured that best
efforts will be done to fix possible wrong permissions on the private
key files.
Fix #4652
2014-10-20 17:33:06 +02:00
Julien Vey
d7493892f4
Allow SSH LogLevel to be overridden
2014-10-15 08:25:29 +02:00
crypt1d
ca1456ff82
initial changes for forwarding port modifications
2014-10-10 13:01:04 +02:00
Michael Kuzmin
bdef7efb2d
Fix for ignored `config.vm.box_server_url` setting.
...
https://github.com/mitchellh/vagrant/pull/4282 introduced new setting to set alternate vagrant cloud server URLs, but it doesn't work actually.
This PR helps to process the value correctly.
2014-09-29 22:36:37 +04:00
mpoeter
c20624bfdc
Add support for linked clones for VirtualBox.
2014-09-09 19:17:04 +02: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
52e1b4ed5a
core: more logging
2014-09-02 09:15:32 -07:00
Mitchell Hashimoto
890e988ccd
core: Be more explicit about requiring version
2014-09-02 09:11:37 -07:00
Mitchell Hashimoto
140a1b8d4b
commands/version: use checkpoint data
2014-09-01 15:23:46 -07:00
Mitchell Hashimoto
09d2b6fd86
core: add Checkpoint
2014-09-01 15:06:51 -07:00
Mitchell Hashimoto
083dce5c61
Revert "core: guard against SSH to localhost:22 [GH-4070]"
...
This reverts commit 62561f2844
.
This broke WinRM. Will fix in a future version.
2014-08-30 22:55:13 -07:00
Mitchell Hashimoto
8cd2e58194
core: better messaging around box add not existing [GH-4414]
2014-08-29 13:17:40 -07:00
Mitchell Hashimoto
4138179207
commands/plugin: error if windows with space in dir [GH-4351]
2014-08-29 12:16:40 -07:00
Mitchell Hashimoto
be6665864d
communicators/ssh: nicer errors for SSH exceptions [GH-4367]
2014-08-29 11:40:50 -07:00
Mitchell Hashimoto
a0b95cb927
core: content-type is case insensitive for metadata check [GH-4369]
2014-08-29 11:27:50 -07:00
Mitchell Hashimoto
d1d8ce7d52
core: vagrant provision triggers sentinel creation [GH-4393]
2014-08-29 10:26:44 -07:00
Mitchell Hashimoto
7fe5b70d51
Merge pull request #4341 from databus23/patch-2
...
core: selecting for duration of timeout can cause hang
2014-08-29 09:52:33 -07:00
Mitchell Hashimoto
22438a481c
Update CHANGELOG
2014-08-29 09:49:38 -07:00
Mitchell Hashimoto
417c2b7c7b
Merge pull request #4387 from BackSlasher/allow-sudo
...
Ignoring SSHKeyBadOwner if user is root (uid 0)
2014-08-29 09:48:34 -07:00
Mitchell Hashimoto
023ed006bf
core: better bundler errors
2014-08-29 08:20:21 -07:00
Veres Lajos
4ef996dca9
typofixes - https://github.com/vlajos/misspell_fixer
2014-08-25 20:12:25 +01:00
Nitzan Raz
8cca8535e7
Ignoring SSHKeyBadOwner if user is root (uid 0)
...
Allows using `sudo vagrant up` without `chown`ing the insecure private key
2014-08-25 12:55:42 +03:00
Fabian Ruff
c72c8dce40
Selecting for duration of timeout can cause hang
...
When specifying a timeout, the subprocess used to select for timeout seconds on the stdout, stderr pipes.
This creates a race condition and can cause the `Subprocess#execute` to hang for the full timeout interval if the process has already exited and no more output is send to the pipes.
This race is happening with a higher probability if the subprocess is generating a lot of output.
2014-08-12 21:00:02 +02:00
Mitchell Hashimoto
e198652e75
core: don't load curlrc [GH-4328]
2014-08-10 20:49:53 -07:00
Mitchell Hashimoto
04835ae612
core: clean up Bundler tempfiles [GH-4103]
2014-08-08 16:48:53 -07:00
Mitchell Hashimoto
15f1823d5c
core: box names with colons work on Windows [GH-4100]
2014-08-08 14:47:17 -07:00
Mitchell Hashimoto
62561f2844
core: guard against SSH to localhost:22 [GH-4070]
2014-08-08 11:58:53 -07:00
Mitchell Hashimoto
7cce4cbc90
core: lock machine action on VF name too [GH-4065]
2014-08-08 11:39:49 -07:00
Mitchell Hashimoto
e673c3251c
core: forgot error for last commit
2014-08-08 11:24:39 -07:00
Mitchell Hashimoto
0da5d7b650
communicators/ssh: clean error on max session [GH-4044]
2014-08-08 09:11:25 -07:00
Mitchell Hashimoto
7f5f720e0a
core: Machine#reload
2014-08-06 16:46:31 -07:00
Mitchell Hashimoto
ac0d213c9b
core: fix crash case with provisioners [GH-4281]
2014-08-06 13:00:29 -07:00
Mitchell Hashimoto
145af54cec
core: preserve downloaded file in more cases [GH-4301]
2014-08-06 11:23:02 -07:00
Mitchell Hashimoto
d5c548a5c0
Merge pull request #4090 from mitchellh/improve-checksum-verification-performance
...
core: Improved box checksum verification performance
2014-08-06 10:29:15 -07:00
Mitchell Hashimoto
2cdcc29902
provisioners/chef: put global lock around knife exec
2014-08-06 10:24:05 -07:00
Mitchell Hashimoto
9748b5d2fa
Merge pull request #4159 from vassilevsky/windows-encodings
...
core: windows encoding fixes
2014-08-06 10:01:06 -07:00
Franz Pletz
6def193567
Add config.vm.box_server_url setting
...
This commits adds a new config setting `config.vm.box_server_url` to set
the URL of a local VagrantCloud instance in the Vagrantfile. If the
environment variable `VAGRANT_SERVER_URL` is set, it will still be
preferred.
2014-08-01 14:38:55 +02:00
Fabian Ruff
47de3225dd
Subprocess: respect listeners on final yield
2014-07-31 11:32:25 +02:00
Elan Ruusamäe
f6448e5553
Update shared_helpers.rb
...
typo fix
2014-07-27 11:46:18 +03:00
Ilya Vassilevsky
ad54e14d65
Encode directory names to filesystem encoding for proper comparison
...
Dir.entries have filesystem encoding (ANSI in Windows).
Path fragments have terminal encoding (DOS).
2014-07-08 19:01:43 +04:00
Ilya Vassilevsky
764be49b55
Encode string representation of Environment object for seamless printing
2014-07-08 18:58:58 +04:00
Shawn Neal
9c20014a85
Improved box checksum verification performance
...
When adding large boxes verifying the checksum took noticably longer than expected because the Ruby GC was needlessly working overtime.
2014-06-23 19:17:37 -07:00
Mitchell Hashimoto
4f0e527f5d
core: don't delete data dir if no data dir [GH-4017]
2014-06-12 11:30:10 -07:00
Kalman Hazins
bb052366f7
Change symbols inside hashes to 1.9 JSON-like syntax
2014-05-22 12:35:12 -04:00
Mitchell Hashimoto
07dbe40e98
Merge pull request #3848 from shtouff/feat-capath
...
added capath option to curl Downloader
2014-05-20 20:50:26 -07:00
Mitchell Hashimoto
f369c13e25
hosts/linux: niceer error if rdesktop not found
2014-05-20 19:58:12 -07:00
Mitchell Hashimoto
5798538b0c
core: don't port collision detect UDP [GH-3859]
2014-05-20 19:35:10 -07:00
Rémi Paulmier
00a2670406
added capath option to curl Downloader
2014-05-19 18:08:23 +02:00
Mitchell Hashimoto
6353c765ae
core: cygwin_path only uses cygpath in cygwin [GH-3804]
2014-05-17 12:07:43 -07:00
Mitchell Hashimoto
e107202050
core: WaitForCommunicator always asks for state
...
This forces global-status to be up-to-date typically
2014-05-17 11:55:12 -07:00
Mitchell Hashimoto
5e9cef4efd
core: only set ID on machine if data dir [GH-3827]
2014-05-17 11:41:22 -07:00
Mitchell Hashimoto
47d85d830d
core: don't double-include package in tar [GH-3637]
2014-05-10 10:36:38 -07:00
Mitchell Hashimoto
ca6e2393bd
core: providers can choose to not be defaultable [GH-3742]
2014-05-09 16:02:09 -07:00
Mitchell Hashimoto
9c684ad2b7
core: retry acquire of dotlock [GH-3735]
2014-05-09 10:28:37 -07:00
Mitchell Hashimoto
190ba4cd27
core: can add box with name of directory [GH-3732]
2014-05-09 09:24:29 -07:00
Mitchell Hashimoto
4e52facebc
core: properly yield in locker
2014-05-08 09:57:52 -07:00
Mitchell Hashimoto
86aef2249b
core: don't lock machines on SSH access
2014-05-08 09:55:23 -07:00
Takekazu Omi
7da9648089
fix subprocess external encode issue. https://github.com/mitchellh/vagrant/issues/3706
...
in io.rb
subprocess resuts convert external encoding to utf-8
in subprocess.rb
command line argument convert utf-8 to external encoding
2014-05-08 17:59:45 +09:00
Mitchell Hashimoto
d1a26bf8ca
core: add more logging to check box outdated
2014-05-07 17:21:17 -07:00
Alex Rodionov
34ec385c81
core: public_send vs send when merging configs
...
This fixes the problem when config keys collide with Kernel/Object
methods (private). An example is `exec` which is used in vagrant-exec
plugin.
Compare:
> old.send :exec
ArgumentError: wrong number of arguments (0 for 1+)
> old.public_send :exec
=> #<Vagrant::Config::V2::DummyConfig:0x007fe212cc05c8>
2014-05-07 19:02:21 +07:00
Mitchell Hashimoto
d4087db7c5
core: no active machines if there is no vagrant env
2014-05-06 13:36:42 -07:00
Mitchell Hashimoto
45fc89877c
core: MachineIndex valid test is better
2014-05-05 21:50:51 -07:00
Mitchell Hashimoto
5d94ab9e60
core: if state ID is NOT_CREATED_ID, destroy machine state
2014-05-05 21:44:34 -07:00
Mitchell Hashimoto
d526dd54fe
core: MachineIndex#valid? checks state and ID again
2014-05-05 21:29:40 -07:00
Mitchell Hashimoto
bc4d91fb73
core: Environment#cwd should expand path to full path
2014-05-05 21:17:48 -07:00
Brian Pitts
4d90fdfec5
Check usability of nfs on host
2014-05-03 16:09:08 -05:00
Mitchell Hashimoto
51ffa4181c
core: Show message when checksumming box [GH-3623]
2014-05-03 09:17:49 -07:00
Mitchell Hashimoto
604ae6caa3
communicators/ssh: detect if config.ssh.shell is non-functional [GH-3040]
2014-05-01 21:35:02 -07:00
Mitchell Hashimoto
4a53b138a0
core: Allow insecure RubyGems for plugins [GH-3610]
2014-05-01 21:14:47 -07:00
Mitchell Hashimoto
169a829cd8
core: dup the provider options so we can't overwrite them
2014-05-01 10:06:03 -07:00
Mitchell Hashimoto
52bb68ba73
core: Fix some tests, revert a change
2014-05-01 10:03:49 -07:00
Mitchell Hashimoto
cca9bffa90
core: Can exclude providers
2014-05-01 09:50:35 -07:00
Mitchell Hashimoto
ab9f91568e
core: more intuitive logic around default providers
2014-05-01 09:46:40 -07:00
Mitchell Hashimoto
a9dfb6b3bd
core: default provider chosen by usability and prority
2014-05-01 09:40:52 -07:00
Mitchell Hashimoto
429bd73495
core: provider has default priority of 5
2014-05-01 09:26:36 -07:00
Adam Spiers
36e924b73e
add support for bundler >= 1.6.x
...
bundler changed their API for Bundler::UI in 1.6.0 via this commit:
https://github.com/bundler/bundler/commit/5e38e2d7
This caused various issues, e.g.
https://github.com/mitchellh/vagrant/issues/3451
https://github.com/test-kitchen/test-kitchen/issues/401
which will hopefully be resolved by teaching vagrant to cope with both
API versions.
2014-04-30 23:32:16 +01:00
Mitchell Hashimoto
d90bc9889a
core: Lock in plugin install of a specific version
2014-04-29 16:53:12 -07:00
Mitchell Hashimoto
92df8cf6ae
Handle a lot of TODOs
2014-04-29 16:50:58 -07:00
Mitchell Hashimoto
0bb523ebb0
providers/docker: use ssh_run if asking for stdin on execute
2014-04-29 16:27:22 -07:00
Mitchell Hashimoto
68fe0b4258
core: Fix bug where if outputting empty string, would output nothing
2014-04-27 18:19:44 -07:00
Mitchell Hashimoto
03e18d1668
core: better logging around locks
2014-04-27 17:21:46 -07:00
Mitchell Hashimoto
5eeaff1662
whitespace
2014-04-27 16:36:43 -07:00
Mitchell Hashimoto
a1af2d920f
core: MachineIndex entry invalid if machine with name not in Vagrantfile
2014-04-27 16:35:54 -07:00
Mitchell Hashimoto
8c8099aebc
Merge pull request #3551 from benesch/3550
...
core: return {} if cached synced folders file missing [GH-3550]
2014-04-27 15:55:25 -07:00
Nikhil Benesch
54e580149a
core: return {} if cached synced folders file missing [GH-3550]
...
A missing synced folders cache indicates an empty cache, not a failure
that should be handled by the caller. The cache file is missing from
data dirs created by an earlier version of Vagrant.
Fixes #3550 .
2014-04-26 15:39:25 -04:00
Mitchell Hashimoto
1a08c4def5
core: Box#in_use? as an API
2014-04-25 02:02:49 -07:00
Mitchell Hashimoto
4fb9832589
core: clean up the lock cleanup code, tests
2014-04-25 01:33:25 -07:00
Mitchell Hashimoto
0ed3c5174b
core: delete environment lock files
2014-04-24 23:13:08 -07:00
Mitchell Hashimoto
84f889e801
core: more liberally release port leases
2014-04-24 22:59:17 -07:00
Mitchell Hashimoto
f2a2d93042
Revert "core: can't add boxes from network shares [GH-3279]"
...
This reverts commit 41636a8a9c
.
Conflicts:
CHANGELOG.md
2014-04-24 22:50:27 -07:00
Mitchell Hashimoto
6870de3f6d
core: add Vagrant.latest_version
2014-04-24 20:09:32 -07:00
Mitchell Hashimoto
e40b5d6cd3
core: environment_loaded doesn't load full env
2014-04-23 06:33:46 -07:00
Mitchell Hashimoto
85f4a4d5ee
commands/box/remove: if box is in use, warn user, ask for confirmation
2014-04-23 06:13:16 -07:00
Mitchell Hashimoto
a1e6d0a85e
core: Environment#action_runner sets machine_index
2014-04-22 17:15:33 -07:00
Mitchell Hashimoto
e985308e9a
core: MachineIndex::Entry#valid? method and tests
2014-04-22 17:09:44 -07:00
Mitchell Hashimoto
2660252ede
core: Store the actual box data, not just the name
2014-04-22 16:46:11 -07:00
Mitchell Hashimoto
519c8af971
core: MachineIndex stores the box associated with a machine when ID is set
2014-04-22 15:26:56 -07:00
Mitchell Hashimoto
ce08a37d5f
Very quiet mode for development
2014-04-21 13:56:39 -07:00
Mitchell Hashimoto
ee99f42e45
core: only output error on batch action if not forked
2014-04-21 13:56:36 -07:00
Mitchell Hashimoto
4ced49bf0d
core: Batch action says immediately when error occurred
2014-04-21 13:56:35 -07:00
Mitchell Hashimoto
d96c5a81af
core: Log around process locks
2014-04-21 13:56:34 -07:00
Mitchell Hashimoto
7829e9b167
core: FP collision leaser should compare ints
2014-04-21 13:56:24 -07:00
Mitchell Hashimoto
49693a6af7
core: Move FP collision leaser code to sep method so it works with alt impl
2014-04-21 13:56:22 -07:00
Mitchell Hashimoto
bd7b458cbe
core: forwarded port collision repair leases chosen ports [GH-2966]
...
In addition to checking if a port is open, we now check if a port is
"leased", which we do for a period of 60 seconds. This gives the provider
time to actually put the port into use.
2014-04-21 13:56:20 -07:00
Mitchell Hashimoto
862414af12
core: lock around machine actions
2014-04-21 13:56:09 -07:00
Mitchell Hashimoto
d2e2ccb625
core: A function for diffing synced folders
2014-04-21 13:55:56 -07:00
Mitchell Hashimoto
81df70eee0
providers/docker: support building Dockerfiles
2014-04-21 13:55:54 -07:00
Mitchell Hashimoto
623386f13c
core: port collision detector can swap open port checker
2014-04-21 13:55:38 -07:00
Mitchell Hashimoto
fe0db9a63e
core: nicer way to assure array for pviate key path
2014-04-21 13:55:34 -07:00
Mitchell Hashimoto
af7f55f47e
core: When disabling, only disable the proper folders
2014-04-21 13:55:33 -07:00
Mitchell Hashimoto
05572955f6
core: log when disabling a synced folder
2014-04-21 13:55:32 -07:00
Mitchell Hashimoto
4df8636c38
core: instantiate all keys in a V2 config prior to merging
...
This forces everything to get a new instance, so we don't accidentally
overwrite any values across multiple machines.
2014-04-21 13:55:30 -07:00
Mitchell Hashimoto
cd38f891da
providers/docker: disable synced folders on destroy
2014-04-21 13:55:27 -07:00
Mitchell Hashimoto
704ff98200
providers/docker: only sync folders if they're not already there
2014-04-21 13:55:26 -07:00
Mitchell Hashimoto
cabacae4cb
core: return nil if cached synced folders file doesn't exist
2014-04-21 13:55:24 -07:00
Mitchell Hashimoto
4557ece4df
core: SyncedFolders middleware saves what it synced
2014-04-21 13:55:23 -07:00
Mitchell Hashimoto
794cd4f287
core: MixinSyncedFolders have methods for save/reading from cache
2014-04-21 13:55:22 -07:00
Mitchell Hashimoto
10e51eb141
providers/docker: initial sync folders working through proxy VM
2014-04-21 13:55:20 -07:00
Mitchell Hashimoto
3c9219b8c9
core: Builtin SyncedFolders accepts alternate config
2014-04-21 13:55:18 -07:00
Mitchell Hashimoto
0153e0ccbb
core: Machine#action_raw for calling raw callables
2014-04-21 13:55:17 -07:00
Mitchell Hashimoto
d8bdb62ed4
core: MixinSyncedFolders lets a custom config through
2014-04-21 13:55:15 -07:00
Mitchell Hashimoto
e119a5714a
core: add "disable" method for synced folders, deprecate "prepare"
2014-04-21 13:55:09 -07:00
Mitchell Hashimoto
901d3c3558
core: MachineIndex sets paths to nil if empty
2014-04-21 13:55:06 -07:00
Mitchell Hashimoto
98af7c7992
core: Machine sets the local data path of the machine index
2014-04-21 13:55:04 -07:00
Mitchell Hashimoto
646f0fa907
core: MachineIndex preserves the local data path for an env
2014-04-21 13:55:02 -07:00
Mitchell Hashimoto
e947960c09
providers/docker: use a custom communicator to go through host VM
2014-04-21 13:54:56 -07:00
Mitchell Hashimoto
aa1abdd1c4
core: SSHExec middleware can have ssh info overridden
2014-04-21 13:54:53 -07:00
Mitchell Hashimoto
2add94ee28
core: BatchAction can run arbitrary code
2014-04-21 13:54:46 -07:00
Mitchell Hashimoto
144c874b5a
providers/docker: process-level lock on copying default Vagrantfile
2014-04-21 13:54:40 -07:00
Mitchell Hashimoto
dc2f729fd3
core: Environment#lock is more useful now
2014-04-21 13:54:39 -07:00
Mitchell Hashimoto
32c9707aa1
core: MachineIndex cleans up machine lock files
2014-04-21 13:54:38 -07:00
Mitchell Hashimoto
8c7ab333a0
Squash the f-docker-hostmachine branch.
...
Initial work
commands/up: make sure all names to with_target_vms are strings
providers/docker: create a docker host VM if needed
providers/docker: executor abstraction for driver to eventually support remote
providers/docker: vagrant executor
providers/docker: support creating the machine
providers/docker: status works if host VM is gone
providers/docker: use start fence to get real docker output
core: Call preserves stack ordering
core: support Message post option
providers/docker: Guard some features with HasSSH checks
providers/docker: much better messaging around create/destroy
providers/docker: output the container ID on create
providers/docker: copy the hostmachine Vagrantfile to the data dir
providers/docker: should make host machine before any up action
providers/docker: HandleBox before the host machine
providers/virtualbox: functional_vboxsf to disable vboxsf
providers/virtualbox: synced folder usable method should take 2 args
providers/docker: default machine name to :default
2014-04-21 13:54:33 -07:00
Mitchell Hashimoto
d42d62ead1
core: MachineIndex#vagrant_env should silence warnings
2014-04-21 13:54:32 -07:00
Mitchell Hashimoto
2b07dec059
core: Use the MachineIndex#vagrant_env method
2014-04-21 13:54:31 -07:00
Mitchell Hashimoto
a4addd0e25
core: MachineIndex keeps track of Vagrantfile name
2014-04-21 13:54:30 -07:00
Mitchell Hashimoto
09ff31e3a3
commands/global-status: add --prune flag
2014-04-21 13:54:29 -07:00
Mitchell Hashimoto
df4dfc36e7
MachineIndex lock is a monitor to allow recursion
2014-04-21 13:54:28 -07:00
Mitchell Hashimoto
5f5d3d5ef0
core: MachineIndex more aggressively reloads data
2014-04-21 13:54:27 -07:00
Mitchell Hashimoto
9b22ccbd32
core: MachineIndex updates existing entry if name, provider, path match
2014-04-21 13:54:25 -07:00
Mitchell Hashimoto
72030d2180
Note provisioners that don't work on Windows guests
2014-04-21 13:54:02 -07:00
Mitchell Hashimoto
0dc40e1680
core: MachineIndex can have extra data attached to it
2014-04-21 13:53:38 -07:00
Mitchell Hashimoto
1c29c39f1b
core: generalize the autostart stuff so we don't have a bunch of specials
2014-04-21 13:53:35 -07:00
Mitchell Hashimoto
9dd9fff637
core: check if provider is usable when requesting a machine
2014-04-21 13:53:10 -07:00
Mitchell Hashimoto
bc2e3727a9
core: Add usable? check to providers
2014-04-21 13:53:07 -07:00
Mitchell Hashimoto
aad8e7f80d
core: provision "once" or "always" [GH-2421]
2014-04-21 13:52:30 -07:00
Mitchell Hashimoto
c4a4b998df
core: Test eager loading of WinRM
2014-04-21 13:51:51 -07:00
Mitchell Hashimoto
d608e0bdfd
Eager load WinRM
...
/cc @sneal - How is this? It is dirty, but at least then it doesn't have
a global performance impact on Vagrant if you're not using WinRM
2014-04-21 13:51:50 -07:00
Mitchell Hashimoto
cddd878656
core: Don't set index uuid file if data dir is nil
2014-04-21 13:51:28 -07:00
Mitchell Hashimoto
b38876ac50
core: pass along the UI class so we don't get a silent UI
2014-04-21 13:51:26 -07:00
Mitchell Hashimoto
4349800374
core: Silence ruby warnings when loading external machines
2014-04-21 13:51:25 -07:00
Mitchell Hashimoto
a0e9f46251
core: commands can use the IDs from anywhere to control
2014-04-21 13:51:24 -07:00
Mitchell Hashimoto
9a16af10ad
core: Use Machine#state wherever possible so we update the index
2014-04-21 13:51:23 -07:00
Mitchell Hashimoto
48cf2c38f7
core: MachineIndex is enumerable
2014-04-21 13:51:21 -07:00
Mitchell Hashimoto
13a4db391a
core: Machine updates state cache when querying state
2014-04-21 13:51:20 -07:00
Mitchell Hashimoto
44e379e961
core: Machine sets index entries on ID sets
2014-04-21 13:51:19 -07:00
Mitchell Hashimoto
8a6bdbf710
core: Environment#machine_index
2014-04-21 13:51:17 -07:00
Mitchell Hashimoto
a29f5d7e01
core: Add MachineIndex#delete
2014-04-21 13:51:16 -07:00
Mitchell Hashimoto
69a290eb9d
core: replace "-" in UUIDs with ""
2014-04-21 13:51:15 -07:00
Mitchell Hashimoto
ac032db6a6
core: MachineIndex has precision locking for entries
2014-04-21 13:51:14 -07:00
Mitchell Hashimoto
016afc7922
core: Basic MachineIndex class, starting point
2014-04-21 13:51:13 -07:00
Mitchell Hashimoto
f07ee5754a
core: Configurable communicator
2014-04-21 13:51:02 -07:00
Ramon de la Fuente
f6a5e20688
Add autostart as an option for vagrant boxes
...
Added specs for the environment and vagrantfile. Added a methd to retrieve
autostart_machine_names. Changed the plugin up/command to use autostart_machine_names
when no argument was given to the command.
2014-04-21 13:50:57 -07:00
Mitchell Hashimoto
e05bfa979e
core: remove temp file when done with box
2014-04-17 08:58:38 -07:00
Mitchell Hashimoto
ec35190cfc
core: use process.alive? to avoid exceptions
2014-04-13 14:24:25 -07:00
Mitchell Hashimoto
00962c7c2a
commands/box/repackage: better error if box not found
2014-04-12 18:00:33 -07:00
Mitchell Hashimoto
2cb6a21a5a
core: Fix tests, which found broken logic in synced folders
2014-04-11 16:28:38 -07:00
Mitchell Hashimoto
2b47478d6a
core: all symlinks for synced folders are expanded [GH-3444]
2014-04-11 16:21:12 -07:00
Mitchell Hashimoto
3aad85fa30
style
2014-04-11 09:56:35 -07:00
Mitchell Hashimoto
cd2c99972b
core: No need to map! here
2014-04-11 09:32:25 -07:00
Mitchell Hashimoto
44d7c6849d
Merge pull request #3441 from berendt/sort_versions_and_print_listing
...
commands/box/remove: sort versions and print them as listing
2014-04-11 09:32:08 -07:00
Christian Berendt
8dffbe5db8
sort versions and print them as listing
...
before this patch:
```
$ vagrant box remove --box-version 0.2.9 berendt/ubuntu-14.04-amd64
You requested to remove the box 'berendt/ubuntu-14.04-amd64' version '0.2.9' with
provider 'virtualbox', but that specific version of the box is
not install. Please double-check and try again. The available versions
for this box are:
0.2.11, 0.2.10
```
after this patch:
```
You requested to remove the box 'berendt/ubuntu-14.04-amd64' version '0.2.9' with
provider 'virtualbox', but that specific version of the box is
not install. Please double-check and try again. The available versions
for this box are:
* 0.2.10
* 0.2.11
```
2014-04-11 11:39:38 +02:00
Christian Berendt
c43bd27ffe
print version when removing a specific box
...
Example:
$ vagrant box remove --box-version 0.2.9 berendt/ubuntu-14.04-amd64
Removing box 'berendt/ubuntu-14.04-amd64' with provider 'virtualbox' in version '0.2.9'...
2014-04-11 10:05:03 +02:00
Mitchell Hashimoto
41636a8a9c
core: can't add boxes from network shares [GH-3279]
2014-04-09 14:15:26 -07:00
Mitchell Hashimoto
d8ec7b02c4
commands/package: Nicer error if includes has symlinks [GH-3200]
2014-04-09 10:52:33 -07:00
Mitchell Hashimoto
e748aadf4f
core: give users chance to quit for upgrade [GH-3212]
2014-04-09 09:58:30 -07:00
Mitchell Hashimoto
1bef7dec61
Add comment to clarify
2014-04-05 09:37:59 -07:00
Mitchell Hashimoto
1cd266da9d
core: randomize perm test filename
2014-04-05 09:36:55 -07:00
Mitchell Hashimoto
5f12126d32
core: network issues don't halt Vagrant during box update check [GH-3391]
2014-04-05 09:25:03 -07:00
Mitchell Hashimoto
0e46c5d9de
core: Raise predictable error if box metadata downlaod fails
2014-04-05 09:20:03 -07:00
Mitchell Hashimoto
5b360d0990
core: BoxCollection#find version constraint can benil
2014-04-02 19:50:44 -07:00
Mitchell Hashimoto
d1caf8c624
core: Allow direct box adding again
2014-04-02 19:45:49 -07:00
Mitchell Hashimoto
3371c37162
TemplateRenderer can take a new root [GH-3231]
2014-04-02 09:53:20 -07:00
Mitchell Hashimoto
a1d9121852
synced_folders/smb: verify PowerShell v3 is running or later [GH-3257]
2014-04-02 09:45:42 -07:00
Mitchell Hashimoto
32d86ca42b
core: don't allow version for old-style box [GH-3260]
2014-04-02 09:32:34 -07:00
Mitchell Hashimoto
af7a589231
core: outdated check checks local boxes [GH-3321]
2014-04-02 08:37:03 -07:00
Mitchell Hashimoto
36ad327ec1
core: ignore if box doesn't exist on update check [GH-3326]
2014-04-02 08:24:38 -07:00
Mitchell Hashimoto
097dd2917c
core: better error when adding box with malformed version [GH-3332]
2014-04-01 22:48:52 -07:00
Mitchell Hashimoto
8c8c6c132c
core: lock prerelease gems
2014-04-01 22:28:33 -07:00
Mitchell Hashimoto
9c570adbd7
Merge pull request #3301 from mitchellh/fix-issue-3285
...
core: fix prerelease gem versions
2014-04-01 22:25:43 -07:00
Mitchell Hashimoto
b6259c2ae9
core: Ignore if temporary box file doesn't exist when adding
2014-04-01 22:18:49 -07:00
Mitchell Hashimoto
666b270e0b
core: can add boxes with spaces in paths [GH-3306]
2014-04-01 22:18:37 -07:00
Mitchell Hashimoto
7d0cbcb686
Merge pull request #3318 from ecoleman/patch-1
...
core: properly escape path in cygwin bash check
2014-04-01 22:02:29 -07:00
Mitchell Hashimoto
8195f7faab
core: add test for removing box version [GH-3364]
...
/cc @berendt - Added a test
2014-04-01 21:47:51 -07:00
Christian Berendt
7d38d78fee
handle exception when removing a non existinga box version
...
When trying to remove a not existing version of an existing box an
exception is thrown. The exception should be handled and some message
(box version 0.1.2 not available) should be printed.
With this patch the exception is handled correctly by using a newly
introduced exception BoxRemoveVersionNotFound.
Example output:
You requested to remove the box 'berendt/alpine-2.7.5-amd64' with provider
'virtualbox' in version '0.0.2'. The box 'berendt/alpine-2.7.5-amd64'
exists but not in the specified version '0.0.2'.
Please double-check and try again.
The available versions for this box are: 0.1.0
Fixes issue #3344
2014-03-31 20:32:34 +02:00
Eric Coleman
f32a865abd
Properly escape path in cygwin bash check
...
Quick attempt at properly fixing #3304
2014-03-25 18:36:05 -04:00
Shawn Neal
0a2992b92d
Fixed issue 3285
...
When using prerelease gems we need to ensure we store the gem version otherwise Bundler won't use the correct gem version since prerelease gems are not available by default. By storing the gem version for prerelease gems, we allow Bundler to properly resolve prerelease gems and not give potentially confusing errors to Vagrant users using prerelease plugins.
2014-03-21 08:15:24 -07:00
Mitchell Hashimoto
846f942ff0
core: check for data_dir [GH-3208]
2014-03-14 14:04:00 -07:00
Jonas Stendahl
d7320399e2
Fixed broken PowerShell scripts execution [GH-3192]
2014-03-14 12:42:28 +01:00
Mitchell Hashimoto
024056fc66
Set the Bundler UI only if we enable it [GH-3193]
2014-03-13 14:18:33 -07:00
Mitchell Hashimoto
513efa6739
core: Downloads with user/pass use curl -u flag [GH-3183]
2014-03-13 08:53:18 -07:00
Mitchell Hashimoto
8634cc309b
core: error earlier if adding a path that doesn't exist
2014-03-12 20:33:12 -07:00
Mitchell Hashimoto
621369ebba
core: Execute PowerShell scripts even with spaces in dir [GH-3100]
2014-03-12 19:49:45 -07:00
Mitchell Hashimoto
5863ffdf7b
core: Windows paths work for box add [GH-3132]
2014-03-11 11:27:35 -07:00
Mitchell Hashimoto
49471ffbf6
core: output when upgrading home path
2014-03-11 11:06:38 -07:00
Mitchell Hashimoto
eb9b85c388
core: UI#ask with no echo works even if noecho not supported [GH-3119]
2014-03-11 09:58:49 -07:00
Mitchell Hashimoto
2a93b6c396
core: Assume box isn't metadata if > threshold [GH-3107]
2014-03-11 08:44:05 -07:00
Mitchell Hashimoto
122319834c
core: Setup the tmp_path before calling setup_home_path [GH-3095]
2014-03-10 15:09:09 -07:00
Mitchell Hashimoto
b6830639dd
core: EINVAL is not a metadata URL
2014-03-10 14:33:30 -07:00
Mitchell Hashimoto
ee23b87eb6
core: Private boxes authenticate metadata box URLs too
2014-03-09 19:24:54 -07:00
Mitchell Hashimoto
04a19e05ca
synced_folders/rsync: convert to proper unix-style path [GH-3086]
2014-03-09 18:22:00 -07:00
Mitchell Hashimoto
c6b07e10c9
core: Cygwin path conversion must replace slashes first
2014-03-07 22:56:47 -08:00
Mitchell Hashimoto
914d177346
core: Fix misleading wording in pre-rubygems [GH-3078]
2014-03-07 10:44:00 -08:00
Mitchell Hashimoto
4c9e6e46b2
provisioners/salt: don't use exteranl deep_merge [GH-2348]
2014-03-07 09:18:34 -08:00
Mitchell Hashimoto
adc8151a4a
core: the provision sentinel should be backwards compatible
2014-03-06 09:25:29 -08:00
Mitchell Hashimoto
79df69392f
core: initialize synced folder class only once [GH-3067]
2014-03-06 08:35:21 -08:00
Mitchell Hashimoto
6fefef7538
core: packaging works again
2014-03-05 13:37:15 -08:00
Mitchell Hashimoto
7f2fe524b3
core: use default color by default (not white)
2014-03-05 10:19:53 -08:00
Mitchell Hashimoto
3348b5d7a6
core: set default server URL
2014-03-05 07:20:52 -08:00
Mitchell Hashimoto
c098a3296b
core: safer dup checks for synced folders
2014-03-03 20:38:59 -08:00
Mitchell Hashimoto
4437bcd77f
core: better error if attempting to uninstall system plugin
2014-03-03 15:05:32 -08:00
Mitchell Hashimoto
b5637da6c4
core: plugin manager marks system gems as system
2014-03-03 14:55:34 -08:00
Mitchell Hashimoto
7710fd16fa
core: load system plugins if they are installed
2014-03-03 09:44:29 -08:00
Mitchell Hashimoto
616bf15df5
core: Vagrant.installer_embedded_dir
2014-03-03 09:37:22 -08:00
Bernhard Morgenstern
9f612402e9
Read box file in binary mode for checksum
2014-03-02 02:31:29 +01:00
Mitchell Hashimoto
a858257ffe
core: duplicate URL array when authing so we don't mess up original
2014-03-01 12:32:58 +01:00
Mitchell Hashimoto
5018e4d8a4
core: checksums supported when adding box from metadata
2014-03-01 12:03:22 +01:00
Mitchell Hashimoto
23bd397cb8
core: BoxMetadata supports checksums
2014-03-01 11:59:16 +01:00
Mitchell Hashimoto
ce350fe872
core: box checksums just work properly again for direct box adds
2014-03-01 11:54:37 +01:00
Mitchell Hashimoto
7926f7f051
core: box URLs can be authenticated by hooking
2014-03-01 11:38:04 +01:00
Mitchell Hashimoto
736bd8d34e
core: remove unused variable from Message builtin
2014-02-28 05:17:52 -06:00
Mitchell Hashimoto
c735e81e4d
core: expand IsState to support inversions
2014-02-27 08:13:12 -08:00
Mitchell Hashimoto
e93038fd0e
providers/hyperv: suspend/resume
2014-02-27 08:13:11 -08:00
Mitchell Hashimoto
784a5b2e32
providers/hyperv: all sorts of tests to verify Windows/admins
2014-02-27 08:12:51 -08:00
Mitchell Hashimoto
a1958ee12f
providers/hyperv: shuffle things around
2014-02-27 08:12:48 -08:00
Mitchell Hashimoto
6b17783688
synced_folders/nfs: unavailable on Windows
2014-02-27 08:11:50 -08:00
Mitchell Hashimoto
5f1caf3ada
core: re-ask if confirmation bad input [GH-3027]
2014-02-26 08:01:45 -08:00
Mitchell Hashimoto
dfee3f8445
core: default URL will be https
2014-02-25 21:39:32 -08:00
Mitchell Hashimoto
b8676a65dd
core: Vagrant.server_url should default if empty
2014-02-25 21:39:05 -08:00
Lucas Heinlen
e530108b6a
Do not to_s the machine id if it is nil
...
When destroying a machine, the machine id is set to nil, the to_s causes it to be set to empty string. This can cause inconsistent behavior in anything (such as plugins) that tests the machine id.
2014-02-24 15:43:58 -05:00
Mitchell Hashimoto
4c070a04d2
core: if can't communicate, force halt right away
2014-02-23 22:25:59 -08:00
Mitchell Hashimoto
8bb0094113
Avoid locking in trap context
2014-02-23 22:22:18 -08:00
Mitchell Hashimoto
a667893cbf
provisioners/shell: error if invalid encoding [GH-3000]
2014-02-23 21:50:53 -08:00
Mitchell Hashimoto
399a3e48da
core: provisioner sentinel should check machine ID
2014-02-23 21:23:31 -08:00
Mitchell Hashimoto
0e3b3d654d
Depend on ChildProcess 0.5.0, fix bugs
2014-02-18 11:15:19 -08:00
Mitchell Hashimoto
4f89bdb947
core: disable parallelization if only one action
2014-02-15 16:37:27 -08:00
Mitchell Hashimoto
4e90aa7824
core: copy all sub-directories in a box properly
...
This avoids an Errno::EACCES on windows, although I'm really unsure why.
2014-02-15 15:55:33 -08:00
Mitchell Hashimoto
a4f64d0148
core: ui can hide details
2014-02-13 21:09:02 -08:00
Mitchell Hashimoto
d2d96a0726
core: keep process group for SSH childprocess
2014-02-13 16:45:45 -08:00
Mitchell Hashimoto
5fb64dfca2
core: use Process#wait since childprocess bug is fixed
2014-02-13 07:40:33 -08:00
Mitchell Hashimoto
8bfb4bda2b
core: make sure any Subprocess exits no matter what
2014-02-12 21:35:54 -08:00
Mitchell Hashimoto
42fa0a6540
core: poll for process exit on SSH#exec with subprocess
2014-02-12 21:31:05 -08:00
Mitchell Hashimoto
79581df71b
core: chomp the version so we can echo into it
2014-02-12 15:01:12 -08:00
Mitchell Hashimoto
2c72c32df0
core: Modify Bundler settings to work with restricted permissions
...
This includes two changes:
1. Change the Vagrant requirement to use the "= VERSION" constraint.
The "path:" previously requires write permission in the directory
of the gemspec, which we don't have in installers.
2. Set a BUNDLE_APP_CONFIG and BUNDLE_PATH setting. By setting this,
Bundler won't ask for sudo password. Bundler never actually needs it;
it is just overly aggressive in thinking it does.
2014-02-12 14:24:17 -08:00
Mitchell Hashimoto
06a7c88316
core: HandleBox keeps the same machine instance
2014-02-11 16:06:03 -08:00
Mitchell Hashimoto
c280af0b9c
core: keep the same UI when handling a box URL
2014-02-11 16:03:25 -08:00
Mitchell Hashimoto
2550a76edb
core: Machine can set box
2014-02-11 13:31:50 -08:00
Mitchell Hashimoto
dd9dd5127c
Merge pull request #2948 from gnawhleinad/master
...
command/*: clean up usage
2014-02-10 09:02:32 -08:00
Mitchell Hashimoto
342fba8182
core: Ui::Prefixed values instance-level opts
2014-02-08 15:15:06 -08:00
Mitchell Hashimoto
e6ca9d6f81
core: Ui::Prefixed can take prefix_spaces option
2014-02-08 15:14:21 -08:00
Mitchell Hashimoto
2d7c161f49
core: Ui#dup works properly
2014-02-08 15:11:51 -08:00
Mitchell Hashimoto
86454ddac9
core: Environment#lock tests
2014-02-08 14:50:52 -08:00
Mitchell Hashimoto
1e50e7aca1
core: Prefixed UI only requests bolding if not specified at instance-level
2014-02-08 14:26:26 -08:00
Mitchell Hashimoto
efc1bf50dd
core: Machine#with_ui
2014-02-08 14:03:31 -08:00
gnawhleinad
fbcac2978e
clean up usage
2014-02-08 00:20:50 -08:00
Mitchell Hashimoto
2846850306
core: HandleBox reloads machine from proper Vagrantfile
2014-02-07 11:51:04 -08:00
Mitchell Hashimoto
46a42eb9c2
core: when loading box metadata, specify JSON header
2014-02-07 10:51:57 -08:00
Mitchell Hashimoto
b9aa2acddc
core: request JSON type when getting the metadata URL
2014-02-07 10:33:08 -08:00
Mitchell Hashimoto
d4c753c48d
core: download metadata with JSON accept header
2014-02-07 10:30:25 -08:00
Mitchell Hashimoto
8e9ceeaf5c
core: Machine has reference to Vagrantfile
2014-02-07 09:16:55 -08:00
Mitchell Hashimoto
66f722ef68
core: Alphabetize functions and comment better in Environment
2014-02-06 21:36:57 -08:00
Mitchell Hashimoto
8af67cf241
core: update docs for Vagrant::Environment
2014-02-06 21:33:28 -08:00
Mitchell Hashimoto
3533256cd7
core: Vagrantfile can create machines, Environment#machine uses that
2014-02-06 21:31:11 -08:00
Mitchell Hashimoto
506e1a433f
core: Vagrantfile#machine_config returns more info now
2014-02-06 21:04:59 -08:00
Mitchell Hashimoto
e2403c093d
core: Vagrantfile class now adheres to box_version
2014-02-06 20:17:24 -08:00
Mitchell Hashimoto
7549704c5b
core: Environment#config_global is gone!
2014-02-06 20:12:16 -08:00
Mitchell Hashimoto
e3a67f7ab6
core: Environment uses the new Vagrantflie class
2014-02-06 20:12:15 -08:00
Mitchell Hashimoto
99346cc516
core: add Vagrantfile class, tests
2014-02-06 20:11:12 -08:00
Mitchell Hashimoto
cac0fdb490
core: Add the default server URL
2014-02-05 21:20:37 -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
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
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
7a6d1a3ff1
commands/box: update command can update a specific box now
2014-02-05 21:20:23 -08:00
Mitchell Hashimoto
43157fba18
core: output the version that is added with BoxAdd
2014-02-05 21:20:20 -08:00
Mitchell Hashimoto
61a1082d65
core: BoxCheckOutdated is *much* simpler, unified logic, tests
2014-02-05 21:20:18 -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
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