Seth Vargo
03b8105571
Super primitive implementation of Environment#push
2014-12-08 11:35:10 -08:00
Seth Vargo
b6c5ca6b7a
Add Push command and tests
2014-12-08 11:35:10 -08:00
Seth Vargo
d79a0d52dd
Do not use Enumerable in Registry
...
Calling methods like #first in Registry is misleading because it returns
a different result than registry.get(registry.keys.first).
2014-12-08 11:35:10 -08:00
Seth Vargo
c0b107ff69
Add Registry#empty? to check if a registry has any items
2014-12-08 11:35:10 -08:00
Seth Vargo
2b03838fba
Make Registry enumerable
...
Registry already responds to #each, so including the Enumerable module
gives us nice methods like #select and #collect fo' free!
2014-12-08 11:35:10 -08:00
Seth Vargo
bc4bbb9fc0
Add #length and #size methods to Registry
2014-12-08 11:35:10 -08:00
Seth Vargo
60a8472891
Use a pushes registry instead of data hash
2014-12-08 11:35:09 -08:00
Seth Vargo
72affa0a10
Accept a list of options in #push signature
2014-12-08 11:35:09 -08:00
Seth Vargo
5b9240ad8a
Add Push to the PLUGIN_COMPONENTS
2014-12-08 11:35:09 -08:00
Seth Vargo
87b4e1f2cc
Accept an environment in the push config
2014-12-08 11:35:09 -08:00
Seth Vargo
a93fff103f
Add base skeleton for `vagrant push`
2014-12-08 11:35:09 -08:00
Seth Vargo
9242e39a23
Revert "Merge pull request #4861 from obfusk/fix-tmpdir-delete"
...
This reverts commit 00e388a897
, reversing
changes made to d1691c21c7
.
2014-12-02 12:32:31 -05:00
Felix C. Stegerman
023e4b8c23
force rm tempfiles (no rescue nil); use right var
2014-11-24 16:59:15 +01:00
Felix C. Stegerman
aca273c996
fix broken tempdir removal
2014-11-24 02:26:54 +01:00
Seth Vargo
1d23fb75a2
Merge pull request #4801 from mitchellh/sethvargo/with_clean_env
...
Add Env.with_clean_env for resetting the Ruby and Rubygems environment
2014-11-10 19:38:41 -05:00
Mitchell Hashimoto
f8a2322459
core: only delete state if not created on initialize only
...
/cc @sethvargo
2014-11-10 16:29:19 -08:00
Seth Vargo
f86189a2fe
Add Env.with_clean_env for resetting the Ruby and Rubygems environment
2014-11-10 12:00:23 -05:00
Matt Wrock
dc628cd722
fixes infinite loop in machine state call if provider calls machine.action
2014-11-06 08:51:47 -08:00
Mitchell Hashimoto
cb6f3e526a
Fix failing test
2014-10-24 15:51:52 -07:00
Mitchell Hashimoto
7b5e5668c5
core: add option to not lock for Machine#action [GH-4574]
2014-10-24 15:47:37 -07:00
Mitchell Hashimoto
533004e932
core: Package copies private key
2014-10-24 10:31:23 -07:00
Mitchell Hashimoto
94b2a8a56b
communicators/ssh: insert random key, remove insecure key
2014-10-24 09:58:18 -07:00
Mitchell Hashimoto
f4dec575ed
core: Vagrant::Util::Keypair for generating keypairs
2014-10-24 09:33:44 -07:00
Mitchell Hashimoto
37a4000722
providers/virtualbox: more descriptive error if empty version [GH-4657]
2014-10-24 09:20:08 -07:00
Mitchell Hashimoto
370ca050db
Merge pull request #3707 from takekazuomi/fix/master/encodeissue
...
fix subprocess external encode issue.
2014-10-23 23:18:19 -07:00
Mitchell Hashimoto
7d6f9a60b2
core: ability to set env var for silent internal upgrade [GH-3870]
2014-10-23 22:39:58 -07:00
Mitchell Hashimoto
fbd568a03e
core: load ".vagrantplugins" in root path [GH-3775]
2014-10-23 19:58:57 -07:00
Mitchell Hashimoto
6ea8dc8e20
core: cleaner output of what provisioner is running if named
2014-10-23 18:47:03 -07:00
Mitchell Hashimoto
97f9948fce
core: provisioners are defined differently now
2014-10-23 18:40:14 -07:00
Mitchell Hashimoto
9d8c85e966
core: provision-with works with provisioner IDs [GH-2850]
2014-10-23 18:27:02 -07:00
Mitchell Hashimoto
cba76c3b68
core: VirtualBox is no longer the fallback, not hardcoded anywhere
...
This commit finally removes all traces of VirtualBox defaults from
Vagrant core. Vagrant now completely relies on its automated provider
detection to pick the best and most relevant provider that is available
on the system and for a specific development environment.
A "vagrant up" on one development environment might prefer VirtualBox,
another might prefer Docker. As a result of this commit (plus the few
prior), the developer doesn't need to know anymore and doesn't need to
specify a `--provider` flag. Vagrant just figures out the correct
provider.
Yay. :)
2014-10-23 16:32:36 -07:00
Mitchell Hashimoto
b7478e09f3
core: clean up default logic
2014-10-23 15:59:27 -07:00
Mitchell Hashimoto
59dbe51ef2
core: Call default_provider with the machine for commands
2014-10-23 15:53:22 -07:00
Mitchell Hashimoto
768d453739
core: Environment#default_provider can look into machines
2014-10-23 15:52:42 -07:00
Mitchell Hashimoto
4d85e0e145
core: fix failig test around choosing default provider
2014-10-23 15:37:28 -07:00
Mitchell Hashimoto
ad758bf69a
core: prefer providers in the Vagrantfile [GH-3812]
2014-10-23 15:32:54 -07:00
Gilles Cornu
097886b2ce
core: fully revert stuff from ssh_info memoization
...
5036d16461
only partially reverted
89a4a29d65
.
Related to #4670 .
2014-10-23 23:01:33 +02:00
Mitchell Hashimoto
f0a73c7c05
core: call #state in any #action call [GH-4513]
2014-10-23 12:20:16 -07:00
Mitchell Hashimoto
4827469dee
core: recognize more complex content types for json [GH-4525]
2014-10-23 11:26:56 -07:00
Mitchell Hashimoto
46b3ea64d1
core: retry download without continue if byte range not supported
...
[GH-4479]
2014-10-23 11:06:29 -07:00
Mitchell Hashimoto
2856df79ac
core: Vagrant.has_plugin? can take version requirements [GH-4650]
2014-10-23 10:52:02 -07:00
Mitchell Hashimoto
b5642e0671
Merge pull request #4573 from mkuzmin/fix-server-url
...
config.vm.box_server_url setting is ignored
2014-10-23 09:39:33 -07:00
Mitchell Hashimoto
a6c0989bc6
Revert "Merge pull request #4616 from crypt1d/master"
...
This reverts commit aec69c4627
, reversing
changes made to 88754d2904
.
2014-10-23 09:30:46 -07:00
Mitchell Hashimoto
aec69c4627
Merge pull request #4616 from crypt1d/master
...
Consider the host_ip value when handling port collisions
2014-10-23 09:26:31 -07:00
Mitchell Hashimoto
5036d16461
update CHANGELOG
2014-10-23 09:15:47 -07:00
Mitchell Hashimoto
381f1332c8
Merge pull request #4670 from gildegoma/dry-check-ssh-perms
...
Check SSH key permissions in machine.ssh_info
2014-10-23 09:14:31 -07:00
Mitchell Hashimoto
4e9c82f364
core: ignore capability error [GH-4684]
2014-10-22 21:10:36 -07:00
Anduin Withers
855bda8c26
Fix typo that prevents "vagrant box add --cert certfile -name foo URL" from working.
2014-10-22 23:19:15 -04:00
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
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