Commit Graph

3034 Commits

Author SHA1 Message Date
Mitchell Hashimoto 7c995caae5 core: Catch plugin load errors and show them to the user ina friendly way 2014-01-08 14:45:43 -08:00
Mitchell Hashimoto 010874ffad core: has_plugin? uses the new plugin manager class to check for gems 2014-01-08 10:50:28 -08:00
Mitchell Hashimoto e9f6c81ab7 hosts/*: proper detect API 2014-01-07 21:18:36 -08:00
Mitchell Hashimoto 5f832467b3 core: event he default host shuld have proper API 2014-01-07 21:16:48 -08:00
Mitchell Hashimoto a6c7cc481e convert more hosts: arch and linux 2014-01-07 20:53:39 -08:00
Mitchell Hashimoto bdb88da743 hosts/bsd: convert to new style 2014-01-07 20:39:24 -08:00
Mitchell Hashimoto 09a425030b core: pass environment into all host caps 2014-01-07 20:34:33 -08:00
Mitchell Hashimoto 93e365bb33 core: Vagrant::Environment uses new host settings 2014-01-07 19:11:08 -08:00
Mitchell Hashimoto 21a610b59b core: whitespace 2014-01-07 18:39:38 -08:00
Mitchell Hashimoto 5922241fcb core: Modify plugin interfaces and API for hosts 2014-01-07 18:38:49 -08:00
Mitchell Hashimoto 04a5e6bcd2 core: Remove Vagrant::Hosts and add Vagrant::Host, a CapabilityHost 2014-01-07 18:34:19 -08:00
Mitchell Hashimoto 40babfc3f7 core: modify Guest to use new CapabilityHost mixin 2014-01-07 16:27:12 -08:00
Mitchell Hashimoto 1f760b2c48 core: pass extra args to detect? when detecting capability host 2014-01-07 16:26:58 -08:00
Mitchell Hashimoto b15cb22e3e core: errors expose their extra data 2014-01-07 16:15:32 -08:00
Mitchell Hashimoto 1f6095f912 core: Vagrant::CapabilityHost is a module for adding capabilities to
things
2014-01-07 16:12:12 -08:00
Mitchell Hashimoto e24f6e50b5 core: depend on Vagrant by path, rather than by version 2014-01-07 14:04:13 -08:00
Mitchell Hashimoto 3f4058471c core: installing a plugin from a gem doesn't constrain it 2014-01-07 13:56:51 -08:00
Mitchell Hashimoto 4f623f6422 Remove temporary line 2014-01-07 10:52:07 -08:00
Mitchell Hashimoto 582e1096e4 Allow forcing plugins with VAGRANT_FORCE_PLUGINS 2014-01-07 10:50:10 -08:00
Mitchell Hashimoto b353865da1 core: specific versions "0.1.0" don't equate to "= 0.1.0" 2014-01-07 10:13:30 -08:00
Mitchell Hashimoto 3cefcda1e3 core: when installig local plugins, don't fetch remote 2014-01-06 10:52:14 -08:00
Mitchell Hashimoto 5197d3d86f core: generate bogus gemfile so that a random lockfile isn't loaded 2014-01-06 10:43:20 -08:00
Mitchell Hashimoto 86cab61c27 commands/plugin: support installing from file 2014-01-06 09:27:37 -08:00
Mitchell Hashimoto 3f9fb2ef03 core: reset the specification lookup when isolating gems 2014-01-06 09:27:26 -08:00
Mitchell Hashimoto 677275e43c core: whoops, don't print Gemfile 2014-01-05 23:14:43 -08:00
Mitchell Hashimoto f612ec7549 core: support plugin sources, and mask Bundler errors 2014-01-05 23:13:49 -08:00
Mitchell Hashimoto 84ecca5c15 core: statefile can track sources, not sure if we'll use it though 2014-01-05 22:50:55 -08:00
Mitchell Hashimoto 0117521744 commands/plugin: vagrant update is fancier now (see website docs) 2014-01-05 22:33:05 -08:00
Mitchell Hashimoto 576075f1ac core: remove "update" => true because its not needed 2014-01-05 21:37:39 -08:00
Mitchell Hashimoto f778d706f7 core: set the Bundler UI in initialization 2014-01-05 21:37:24 -08:00
Mitchell Hashimoto 5fe2994005 commands/plugin: convert all actions to use the new classes 2014-01-05 20:50:25 -08:00
Mitchell Hashimoto 8904319beb commands/plugin: install version and entrypoints work 2014-01-05 20:47:02 -08:00
Mitchell Hashimoto 0c73a5ee05 remove clean on install... doesn't work right now 2014-01-05 17:40:38 -08:00
Mitchell Hashimoto a571222431 core: tolerate errors in gemrc 2014-01-05 17:12:01 -08:00
Mitchell Hashimoto 2fd144611e Cleaning gems properly only removes them from the local dir 2014-01-05 17:04:50 -08:00
Mitchell Hashimoto eabc0f04fa friendly errors if a non-existent gem install is tried 2014-01-05 16:57:51 -08:00
Mitchell Hashimoto 36f64db874 Always setup plugins, but just don't always require them 2014-01-05 16:49:25 -08:00
Mitchell Hashimoto e69723b63c core: Plugin::Manager.installed_specs doesn't use Bundler 2014-01-05 16:31:49 -08:00
Mitchell Hashimoto f8b49afe8a Nice error message on plugin install conflict 2014-01-05 16:28:05 -08:00
Mitchell Hashimoto 73c71dbcc6 Work some things around so that Bundler is not setup with no plugins 2014-01-05 16:16:04 -08:00
Mitchell Hashimoto e1c9431085 commands/plugin: uninstall works again 2014-01-05 16:02:00 -08:00
Mitchell Hashimoto 8cfa24143d Put plugins in their own Gemfile group so we can load on their own 2014-01-05 15:57:10 -08:00
Mitchell Hashimoto 91751f6e41 load with bundler context 2014-01-05 15:26:44 -08:00
Mitchell Hashimoto 86610bf735 installing gems works 2014-01-05 14:54:50 -08:00
Mitchell Hashimoto 1eef75a715 commands/plugin: list uses PluginManager 2014-01-05 08:42:34 -08:00
Mitchell Hashimoto 8450f20e87 Move StateFile into Vagrant::Plugin core 2014-01-04 16:45:41 -08:00
Mitchell Hashimoto d98868d150 core: Vagrant.require_plugin is gone 2014-01-04 16:35:28 -08:00
Mitchell Hashimoto 8adef9c15f warn if running in a bundler env, don't load plugins 2014-01-04 16:29:22 -08:00
Mitchell Hashimoto f2c6175d16 Use bundler to load plugins 2014-01-04 16:15:12 -08:00
Mitchell Hashimoto 92413d0393 core: error if vagrant ssh -c with password 2014-01-03 11:26:41 -08:00
Mitchell Hashimoto 074bb2c7fb core: fix potential exception case in SSHExec middleware 2014-01-03 11:19:17 -08:00
Mitchell Hashimoto b3a9e6a088 insert_public_key cap, and use that if it exists 2014-01-03 11:13:21 -08:00
Mitchell Hashimoto 664aaa0088 core: raise exceptions if they happen in WaitForCommunicator threads 2014-01-03 10:57:04 -08:00
Mitchell Hashimoto d1fdee7ae3 core: warn if password only on `vagrant ssh` 2014-01-03 10:45:42 -08:00
Mitchell Hashimoto e115322e78 core: accept passwords in ssh_info 2014-01-03 09:48:35 -08:00
Mitchell Hashimoto 862331fbf0 Merge branch '1.4.3'
Conflicts:
	CHANGELOG.md
	lib/vagrant/version.rb
2014-01-02 10:16:52 -08:00
Mitchell Hashimoto 4f0eb9504c v1.4.3 2014-01-02 10:16:06 -08:00
Mitchell Hashimoto 3fbaaa5acc changelog for 1.4.3 2014-01-02 10:10:07 -08:00
Mitchell Hashimoto 3f2d3886b2 providers/virtualbox: fix package [GH-2739] 2014-01-02 10:09:05 -08:00
Mitchell Hashimoto b5c2a8e570 Update changelog 2014-01-01 20:49:29 -08:00
Mitchell Hashimoto e02ff58dc4 up version for dev 2013-12-31 14:19:34 -08:00
Mitchell Hashimoto f9e418a92b v1.4.2 2013-12-31 13:30:33 -08:00
Mitchell Hashimoto 54f4cffc00 providers/virtualbox: export after checking if package exists [GH-2380] 2013-12-31 08:45:56 -08:00
Mitchell Hashimoto 6cacb86817 core: undo last for now 2013-12-31 08:39:36 -08:00
Mitchell Hashimoto 619fe9a056 core: warn if no provider is specified that we can't check for it 2013-12-31 08:38:58 -08:00
Mitchell Hashimoto d86efdb9be core: box add fails early if box already exists [GH-2621] 2013-12-31 08:34:59 -08:00
Mitchell Hashimoto 13c8235963 core: correct some doc comments 2013-12-31 08:19:43 -08:00
Mitchell Hashimoto 8c03e48320 core: re-arrange some code to make things easier to read later 2013-12-31 08:18:26 -08:00
Mitchell Hashimoto 757ad016b1 core: ctrl-c no longer raises trap-context exception 2013-12-30 12:42:21 -08:00
Mitchell Hashimoto 5d39cc381f Merge pull request #2694 from tmatilai/plugin-json-errors
core: show more informative error if plugin.json parsing fails
2013-12-28 13:12:59 -08:00
Mitchell Hashimoto 9333f550e5 style 2013-12-28 13:49:43 -07:00
Mitchell Hashimoto 5146bc2696 Merge pull request #2713 from tmatilai/log_plugin_versions
core: log loaded plugin versions
2013-12-28 12:49:00 -08:00
Mitchell Hashimoto 7f78f18218 core: handle EOFError when checking checksum [GH-2716] 2013-12-28 13:45:36 -07:00
Teemu Matilainen 42d156cce7 core: Log loaded plugin versions
One more piece of information to help support.
2013-12-23 18:23:30 -03:00
Teemu Matilainen e5032071f6 core: Vagrant.has_plugin? tries to match gem name first
Search primary from the list of gem names which have been loaded by
`Vagrant.require_plugin`. Fall back to matching registered plugin names.
2013-12-20 17:36:10 -03:00
Teemu Matilainen a5b84f413e core: More informative error if plugin.json parsing fails 2013-12-20 07:10:10 -03:00
Mitchell Hashimoto 4d7d47086f core: configure version can be an int [GH-2689] 2013-12-19 08:03:15 -08:00
Mitchell Hashimoto 0823dc7b84 Up version for dev 2013-12-18 10:13:03 -08:00
Mitchell Hashimoto a7dd35690c v1.4.1 2013-12-18 09:03:28 -08:00
Teemu Matilainen 8dbad22d72 core: list VAGRANT_* env vars in debug log
Help support and debugging by printing all `VAGRNAT_*` environment
variables that have been set by either user or Vagrant.
2013-12-18 00:07:17 -03:00
Mitchell Hashimoto da91572ce7 commands/init: error if can't write Vagrantfile [GH-2660] 2013-12-15 11:28:51 -08:00
Mitchell Hashimoto 2bebf188d6 hosts/bsd: check for exports file issues prior to exporting NFS 2013-12-13 22:14:13 -08:00
Mitchell Hashimoto c1141dded3 providers/virtualbox: don't clear /etc/exports on BSDs for NFS [GH-2645] 2013-12-13 22:03:14 -08:00
Mitchell Hashimoto 86f8ff8816 core: SSHRun uses new ShellQuote util 2013-12-13 21:18:12 -08:00
Mitchell Hashimoto 72398faeaf core: put shell quoting into its own util class, it is useful 2013-12-13 21:17:15 -08:00
Mitchell Hashimoto 902b769e6b core: -t/-T work for vagrant ssh -c [GH-2618] 2013-12-13 21:07:54 -08:00
Mitchell Hashimoto a55a53e6a4 core: execute SSH commands in context of login shell [GH-2636] 2013-12-13 21:02:00 -08:00
Mitchell Hashimoto 8a0241f2b4 core: box removal of a V1 box works 2013-12-12 16:17:53 -08:00
John Bellone 4194da19c6 [vagrant] Update Registry with #keys method.
This helper method to return the keys for the registry will give capability to eliminate some code. Example:

```ruby
keys = [] 
@subcommands.each { |k,v| keys << k }
keys.sort.each { |k| o.seperator "#{k}" }
```

Versus:

```ruby
@subcommands.keys.sort.each { |k| o.seperator "#{k}" }
```
2013-12-12 09:38:50 -05:00
Olle Lundberg 0c853ccb3c Update is_port_open.rb 2013-12-10 21:23:11 +01:00
Mitchell Hashimoto 163947bc36 up version for dev 2013-12-08 22:51:58 -08:00
Mitchell Hashimoto 059de113a7 v1.4.0 2013-12-08 22:51:22 -08:00
Mitchell Hashimoto ba18d98d45 core: improve guest type detection
/cc @fgrehm - I figured you might be interested in this. :)
2013-12-08 11:14:18 -08:00
Mitchell Hashimoto 581841a195 core: style nitpicks 2013-12-07 20:59:54 -08:00
Teemu Matilainen cf1d94b22b core: Print info message if provisioning is skipped by the sentinel file
Tell the user if the VM has already been provisioned and no
`--[no-]provision` option has been specified. This should reduce the
confusion of the 1.3+ functionality.
2013-12-07 17:09:04 -03:00
Mitchell Hashimoto 2c65d247da core: Allow options to be passed down into SF cleanup 2013-12-06 16:40:24 -08:00
Teemu Matilainen ee8f962537 Fix plugin loading
Regression from d354cdd.
2013-12-04 18:25:29 -03:00
Mitchell Hashimoto d354cdda4a core: request users upgrade plugins if they're old 2013-12-04 11:43:39 -08:00
Mitchell Hashimoto 255608d9c5 core: note Ruby and RubyGems version in logs 2013-12-03 23:44:08 -08:00
Mitchell Hashimoto 0a43cf2b6f core: fix exception when checksum type is nil
Thanks @johnbellone
2013-12-03 18:52:44 -08:00
Mitchell Hashimoto 9a58917d3a core: only set I18n setting on newer versions
/cc @fgrehm - Looks like only the later versions have this.
2013-12-03 18:43:19 -08:00
Mitchell Hashimoto 1a51f42ee7 core: update rspec, fix deprecations 2013-12-03 18:42:21 -08:00
Mitchell Hashimoto ae4fa1a946 core: better synced folder plugin docs 2013-12-03 18:33:24 -08:00
Mitchell Hashimoto c04fa5e54e core: clean up tests for synced folder built-ins 2013-12-03 18:30:59 -08:00
Mitchell Hashimoto ca521887eb Merge pull request #2561 from emyl/synced-folder-cleanup-v2
core: Enhance the synced folder plugin implementation with a cleanup routine
2013-12-03 18:08:42 -08:00
Mitchell Hashimoto 42fd5f1db0 Merge pull request #2575 from fgrehm/remove-18n-deprecation-warning
Set I18n.config.enforce_available_locales to true to avoid an annoying deprecation warning
2013-12-03 17:54:08 -08:00
Fabio Rehm 954641d801 core: Set I18n.config.enforce_available_locales to true to avoid an annoying deprecation warning 2013-12-03 21:20:37 -02:00
Mitchell Hashimoto d2bc1dbc3b Merge pull request #2560 from phinze/vbox-nfs-dhcp-support
providers/virtualbox: support DHCP interfaces for NFS
2013-12-03 11:49:54 -08:00
Mitchell Hashimoto 900a8a4ec1 Merge pull request #2569 from mitchellh/fix-hook-with-methods
core: fix hook with methods
2013-12-03 11:44:16 -08:00
Mitchell Hashimoto 1550946b0c core: build action builder if responds to call 2013-12-03 11:43:38 -08:00
Paul Hinze c25172d0f7 providers/virtualbox: support DHCP interfaces for NFS
Previously, we required a host-only interface with a static IP for NFS
to work in VirtualBox, because we needed access to the guest's IP in
order to properly configure mount commands.

After boot, VirtualBox exposes the IP addresses of a guest's network
adapters via the "guestproperty" interface.

This adds support for reading VirtualBox guest properties to the
VirtualBox driver and utilizes that support to prepare NFS settings,
which removes the necessity for a static IP for NFS to work.

In this commit we also start building out scaffolding for unit testing
vbox actions and drivers.

Test plan:
 - Prepare a Vagrantfile with the following:
   * private network with type: :dhcp
   * synced folder with nfs: true
 - Boot a VM from this Vagrantfile using the virtualbox provider
 - Machine should boot successfully with working synced folder
2013-12-03 10:21:28 -05:00
Fabio Rehm ae472dece9 core: Fix hooking when using a `Method` object as a callable on action runner 2013-12-02 22:53:59 -02:00
Emiliano Ticci 578393ac8e Add cleanup routine to synced folder plugin implementation 2013-12-02 11:19:09 +01:00
Mitchell Hashimoto ac45e08cd8 Revert "core: use keyword args to simplify BoxCollection#add"
This reverts commit 4281af338f.
2013-12-01 23:04:24 -08:00
Mitchell Hashimoto 98fa06044c Revert "core: check for Ruby 2.0"
This reverts commit 9be6b4f0d3.
2013-12-01 23:04:11 -08:00
Mitchell Hashimoto 27a35194fa core: require file checksum for box add 2013-12-01 23:03:50 -08:00
Mitchell Hashimoto 72edddbb09 core: do proper type conversions for box checksum types 2013-12-01 23:03:21 -08:00
Mitchell Hashimoto 555f4c7dcf kernel/v2: support checksum on box config 2013-12-01 23:03:21 -08:00
Mitchell Hashimoto 84ea952df3 core: output UI when checksumming 2013-12-01 23:03:21 -08:00
Mitchell Hashimoto 1094ac976e core: support checksum on box add 2013-12-01 23:03:20 -08:00
Mitchell Hashimoto 4281af338f core: use keyword args to simplify BoxCollection#add 2013-12-01 23:03:20 -08:00
Mitchell Hashimoto 9be6b4f0d3 core: check for Ruby 2.0 2013-12-01 23:03:20 -08:00
Fabio Rehm 9753f988b0 core: Fix regression caused by recent changes that allowed multiple private keys [GH-907] 2013-11-29 00:19:21 -02:00
phinze ee44e717f0 core: fix small comment typo 2013-11-27 18:56:48 -06:00
Mitchell Hashimoto db9c8dd6b3 core: validate box_download_ca_cert_file, expand 2013-11-26 21:10:33 -08:00
Mitchell Hashimoto d0f14250d6 core: can specify config.vm.box_download_ca_cert 2013-11-26 19:35:04 -08:00
Mitchell Hashimoto cd3e19306c commands/box/add: custom CA cert [GH-2337] 2013-11-26 19:32:56 -08:00
Mitchell Hashimoto fef24b2b24 core: output available commands in machine-readable 2013-11-26 19:06:33 -08:00
Mitchell Hashimoto d7b74ca8b9 core: config.vm.box_url can be array of urls [GH-1958] 2013-11-25 21:57:20 -08:00
Mitchell Hashimoto 21bed5c0aa core: cleanup HandleBoxURL 2013-11-25 19:11:26 -08:00
Mitchell Hashimoto 13b52f6b6e Merge branch 'client-certs' of https://github.com/sthulb/vagrant into sthulb-client-certs
Conflicts:
	config/default.rb
	lib/vagrant/action/builtin/handle_box_url.rb
	plugins/commands/box/command/add.rb
2013-11-25 16:50:11 -08:00
Mitchell Hashimoto 45e09eb677 core: allow multiple private keys [GH-907] 2013-11-25 15:45:39 -08:00
Mitchell Hashimoto 3bedc77cc4 Merge branch '2293-track-box-url' of https://github.com/fgrehm/vagrant into fgrehm-2293-track-box-url
Conflicts:
	plugins/commands/box/command/list.rb
2013-11-25 13:20:26 -08:00
Mitchell Hashimoto 5f1cf5872f core: create sentinel just before provisioning [GH-2488] 2013-11-25 11:52:48 -08:00
Fabio Rehm 35476328a0 Update version to 1.4.0.dev
Since plugin devs might not be aware of the bump, at least they'll know that master is now 1.4 after a `bundle update`

/cc @mitchellh
2013-11-25 14:18:30 -02:00
Mitchell Hashimoto 3701b955cb core: allow hooking around provisioner runs
/cc @fgrehm - :) I think you'll understand.
2013-11-24 21:15:22 -08:00
Mitchell Hashimoto d6fb083507 Merge pull request #2405 from fgrehm/2044-provisioner-hooking
core: support hooking around provisioners runs
2013-11-24 21:07:53 -08:00
Mitchell Hashimoto 8d99382993 core: allow custom callables in hooks 2013-11-24 21:07:11 -08:00
Mitchell Hashimoto ec5727dfe0 core: expose the hook method from the env 2013-11-24 21:02:18 -08:00
Mitchell Hashimoto f5cc112a4b core: allow hooks to send arbitrary data 2013-11-24 21:01:41 -08:00
Mitchell Hashimoto 4bc4317607 core: fix exception case regression from yesterday 2013-11-24 16:38:32 -08:00
Mitchell Hashimoto 42a71a953d commands/status: add machine-readable output 2013-11-24 11:11:38 -08:00
Mitchell Hashimoto c5a7ab7953 core: Add the MachineReadable UI, --machine-readable flag 2013-11-24 11:04:54 -08:00
Mitchell Hashimoto 0379853202 core: get rid of dependencies on @env from mixin 2013-11-23 22:05:59 -08:00
Mitchell Hashimoto f0f8b4e3ee core: use OpenSSH for ssh exec 2013-11-23 17:21:38 -08:00
Mitchell Hashimoto bc9d048066 core: enable SSH compression for `vagrant ssh` 2013-11-23 16:50:39 -08:00
Mitchell Hashimoto 97c80c0a62 Merge pull request #2424 from tmatilai/store_provision_enabled
core: store the final `provision_enabled` value to env
2013-11-23 16:46:55 -08:00
Mitchell Hashimoto 3cdc0ef445 core: allow env access in plugin loaded middleware 2013-11-23 16:40:19 -08:00
Mitchell Hashimoto 49b14114a2 core: style nitpick
/cc @fgrehm - I prefer this style. :) No big deal, just pointing it out
2013-11-23 16:39:30 -08:00
Mitchell Hashimoto 1ea39ab605 Merge pull request #2437 from fgrehm/plugins-loaded-hook
core: plugins loaded hook with no vagrantfiles
2013-11-23 16:38:45 -08:00
Mitchell Hashimoto 0e20c51c7f core: allow provisioner cleanup to happen after call 2013-11-23 16:37:18 -08:00
Mitchell Hashimoto 46d9ded812 commands/box/add: add --clean flag to ignore continuation 2013-11-23 15:55:52 -08:00
Mitchell Hashimoto b78be4625d core: remove old temp files for boxes 2013-11-23 15:53:45 -08:00
Mitchell Hashimoto a290480ec9 core: output when resuming box download 2013-11-23 15:51:10 -08:00
Mitchell Hashimoto 5d9c002bdd core: don't make all downloads continuable 2013-11-23 15:47:42 -08:00
Mitchell Hashimoto 034c151720 Merge branch 'resumable-download' of https://github.com/rconradharris/vagrant into rconradharris-resumable-download
Conflicts:
	CHANGELOG.md
2013-11-23 15:42:48 -08:00
Mitchell Hashimoto 97389d4255 core: output synopsis with command [GH-2249] 2013-11-23 14:00:42 -08:00
Mitchell Hashimoto 1b8c3b62af core: scope hash override synced folder settings 2013-11-23 13:38:15 -08:00
Mitchell Hashimoto de9d38de21 core: don't load vagrantfile on plugin command 2013-11-23 13:25:33 -08:00
Mitchell Hashimoto e9fd622406 core: vagrant version requirements in vagrantfile [GH-2322] 2013-11-23 12:23:34 -08:00
Mitchell Hashimoto bf72c7cb5d core: human friendly error for corrupt box metadata 2013-11-23 11:54:42 -08:00
Mitchell Hashimoto ab70dc271b core: verify explicit sf types are usable 2013-11-23 10:47:06 -08:00
Mitchell Hashimoto 0b9861db7d providers/virtualbox: fix broken NFS check 2013-11-22 17:29:35 -08:00
Mitchell Hashimoto 125584aaf4 core: SyncedFolders middleware passes inoptions 2013-11-22 17:13:14 -08:00
Mitchell Hashimoto 079ac12f5d core: remove NFS action 2013-11-22 16:53:17 -08:00
Mitchell Hashimoto 52fe93cc41 synced_folders/nfs: begin implementation (not functional) 2013-11-22 16:51:55 -08:00
Mitchell Hashimoto 93a4066339 core: SyncedFolders built-in middleware 2013-11-22 16:12:51 -08:00
Mitchell Hashimoto 97148379d2 providers/virtualbox: implement the synced folder plugin 2013-11-21 17:38:17 -08:00
Mitchell Hashimoto ee0086ddee core: Add synced_folder plugin type 2013-11-21 15:56:37 -08:00
Rick Harris 87a47abee8 Add resumable downloads
Since VM images can be fairly large and connections rather flaky, it would be
nice to support resumable downloads whereby, if a download is interrupted for
some reason, on the next attempt, it picks up where it left off.

To implement this, the following changes were made:

* The temporary download filename is now constructed from a SHA1 of the
  `box_url` instead of a timestamp. This allows separate invocations of
  Vagrant to 'share' the download-path if the URLs exactly match.

* Add `--continue-at -` option to `curl` which tells it to automatically resume
  downloading where it left off

* Modify the `recover` method in `box_add` to not remove the temporary
  download path if the download was interrupted

Known Issue:

* The progress on a resumed download will look a bit wonky in the sense that,
  it starts at 0% each time, instead of where it left off. Since Vagrant is
  pulling this directly from `curl`, this is more of an upstream issue.

Fixes #57
2013-11-20 15:15:38 -06:00
AJCStriker a567e658c8 Add invalid character replacement
This fixes the bug seen here:
http://pastebin.com/QzWQQndK

Which would generate an Argument Error causing "vagrant up" and other such commands to fail.
2013-11-20 01:44:49 +00:00
Fabio Rehm a0c1cc0231 core: Add spec for running environment hooks with a custom Action::Runner 2013-10-29 13:28:04 -02:00
Fabio Rehm bbe7b3ffc5 core: Add support for plugins to hook into the environment load process before configurations are parsed 2013-10-29 13:11:08 -02:00
Fabio Rehm 500deb5138 core: Persist box URL and download date into a JSON file under boxes directory 2013-10-29 13:09:24 -02:00
Fabio Rehm 05a8cf523a core: Get rid of code that deals with box info on a separate statefile 2013-10-29 13:09:24 -02:00
Fabio Rehm fcfb431362 core: Improve RemoveBoxInfo and WriteBoxInfo docs a bit 2013-10-29 13:09:24 -02:00
Fabio Rehm 1c689d2211 core: Remove box information from state file after box removal 2013-10-29 13:09:23 -02:00
Fabio Rehm e4b5db829e commands/box: Extract box removal code from `box remove` command into a builtin action 2013-10-29 13:09:23 -02:00
Fabio Rehm 1443d634c7 core: Write box information after download 2013-10-29 13:09:23 -02:00
Fabio Rehm 670a441a99 core: Scaffold an action for persisting box information 2013-10-29 13:09:23 -02:00
Fabio Rehm 4fa12d896f core: Pass on the newly added box to the rest of the middleware stack 2013-10-29 13:09:23 -02:00
Fabio Rehm a5c15fd230 core: Fix action name used for ProvisionerRun 2013-10-29 13:08:52 -02:00
Fabio Rehm 2debce9dd9 core: Improve provisioner hooking by introducing a new builtin action for wrapping provisioner runs 2013-10-29 13:08:52 -02:00
Fabio Rehm 00ce442de8 core: Allow hooking before and after provisioners 2013-10-29 13:08:52 -02:00
Emiliano Ticci 6bf842326a Machine ID should always be a string 2013-10-29 00:01:38 +01:00
Teemu Matilainen 88673e4d2e Store the final `provision_enabled` value to env
Let other middleware actions to know if we are really going to run the
provisioners.
2013-10-27 16:01:22 -03:00
Mitchell Hashimoto eb6256316c core: improved commenting in bin/vagrant 2013-10-23 23:20:27 -07:00
Tianxiang Chen e1abceee8c Sleep to avoid 100% CPU in waiting time of 'vagrant up' 2013-10-20 20:16:28 -07:00
Mitchell Hashimoto 57e95323b6 up version for dev 2013-10-15 12:58:22 -10:00
Mitchell Hashimoto a40522f5fa v1.3.5 2013-10-15 11:55:44 -10:00
Mitchell Hashimoto 225da651f8 core: Show error message if _key dynamically passed into error [GH-2328] 2013-10-05 09:21:38 -07:00
Mitchell Hashimoto bf70fba936 Up version for dev 2013-10-02 11:17:27 -07:00
Mitchell Hashimoto 0ac2a87388 v1.3.4 2013-10-02 08:42:06 -07:00
Mitchell Hashimoto 557172b4be core: defined action hook names can be strings, convert to symbols 2013-10-01 21:56:43 -07:00
Mitchell Hashimoto 00f61e67e1 core: errors can use error_message to specify string error message 2013-10-01 21:45:05 -07:00
Mitchell Hashimoto 138024d74c core: Unset DYLD_LIBRARY_PATH if setuid/setgid [GH-2243] 2013-09-20 17:43:11 -07:00
Mitchell Hashimoto 47120a86a2 core: modify DYLD_LIBRARY_PATH only if executing in installer [GH-2231] 2013-09-20 17:38:49 -07:00
Mitchell Hashimoto 33a36830fe core: don't output \e[0K on Windows [GH-2246] 2013-09-20 17:20:29 -07:00
Mitchell Hashimoto 590566095a Up version for dev 2013-09-18 14:09:49 -07:00
Mitchell Hashimoto db8e7a9c79 v1.3.3 2013-09-18 13:45:41 -07:00
Mitchell Hashimoto 5b2a28cd4c core: set the DYLD_LIBRARY_PATH before other env vars 2013-09-18 09:42:18 -07:00
Mitchell Hashimoto 7c3b342add core: restore the old DYLD_LIBRARY_PATH specifically 2013-09-18 09:41:57 -07:00
Mitchell Hashimoto 91ff1ec8ae Revert "core: don't delete state data if id=nil [GH-2201]"
This reverts commit 1a780bf5b2.

Conflicts:
	CHANGELOG.md
2013-09-18 09:20:37 -07:00
Mitchell Hashimoto 06bf3c6fdc core: Remove DYLD_LIBRARY_PATH if command not in installer [GH-2219] 2013-09-17 18:53:35 -07:00
Mitchell Hashimoto e721960392 Up version for dev 2013-09-17 16:15:57 -07:00
Mitchell Hashimoto 9a394588a6 v1.3.2 2013-09-17 15:36:36 -07:00
Mitchell Hashimoto cac28c82de core: Vagrantfile must be file [GH-2216] 2013-09-17 12:42:57 -07:00
Mitchell Hashimoto d95567e4c7 Revert "core: better cleanup of ".vagrant"" [GH-2201]
This reverts commit 5b42994406.
2013-09-16 20:56:28 -07:00
Mitchell Hashimoto 1a780bf5b2 core: don't delete state data if id=nil [GH-2201] 2013-09-16 20:56:14 -07:00
Fabio Rehm 9cba88b711 Remove dead code 2013-09-16 16:30:57 -03:00
Mitchell Hashimoto 3090e313f1 core: Create directory before real_path [GH-2196] 2013-09-15 19:50:10 -07:00
Mitchell Hashimoto e515ca22ab core: sleep between state checks for communicator [GH-2163] 2013-09-15 17:33:05 -07:00
Mitchell Hashimoto 5054ae95fd core: log when OUT actions are called in middleware 2013-09-15 17:18:34 -07:00
Fabio Rehm 87f8bd8c23 core: Report the proper invalid state when waiting for the guest machine to be ready 2013-09-14 14:35:50 -03:00
Fabio Rehm 7b440339f3 core: Allow strings to be used when checking for Guest capabilities 2013-09-11 19:56:14 -03:00
Paul Hinze abe7830421 core: fix NoMethodError in Vagrant.has_plugin? [GH-1736] 2013-09-11 15:13:21 -05:00
Eric G. Wolfe 1186c86718 [GH-1977] revert and alternate fix
@mitchellh, the internal encoding doesn't seem to work.  Therefore,
I reverted that previous change to vagrant.rb.

However, I found two alternate solutions.  Either transcoding,
`/etc/redhat-release` to ISO-8859-1 on open, or using something
like File.binread to transcode the file contents to raw.
2013-09-07 13:40:23 -04:00
Mitchell Hashimoto a477d950fe Update version for dev 2013-09-06 16:28:49 -07:00
Mitchell Hashimoto b12c7e8814 v1.3.1 2013-09-06 16:08:12 -07:00
Mitchell Hashimoto 20c46d020c core: fix interpolation error on v1=>v2 upgrade warinings [GH-2142] 2013-09-06 08:51:03 -07:00
Mitchell Hashimoto 90289544d4 core: handle EACCES when cleaning up .vagrant dir 2013-09-06 00:26:39 -07:00
Mitchell Hashimoto afab61a05f core: don't use active_machines too much, deletes data 2013-09-06 00:10:23 -07:00
Mitchell Hashimoto 95aba27e59 core: VAGRANT_VAGRANTFILE affects only project vagrantfile [GH-2130] 2013-09-05 14:46:26 -07:00
Mitchell Hashimoto 6512eb5cbb Up version for development 2013-09-04 20:50:57 -07:00
Mitchell Hashimoto 0224c62323 v1.3.0
This will actually be released tomorrow, most likely, but I want
to get the installers all ready.
2013-09-04 20:50:14 -07:00
Mitchell Hashimoto 4c35f6d071 core: exec with the proxy command if specified 2013-09-04 17:23:43 -07:00
Mitchell Hashimoto 763bdc42f4 Merge pull request #1537 from wormzer/master
communicator/ssh: Additional proxy_command option
2013-09-04 17:18:59 -07:00
Brian Porter accff3689b Comment typo fixes
Only comment changes.

Removed stray apostrophe from Util::Downloader.initialize() doc block. Corrected open => options for .download! description.
2013-09-04 14:37:17 -05:00
Mitchell Hashimoto be25238381 core: Show what machine error messages are for [GH-1668] 2013-09-02 15:53:59 -07:00
Mitchell Hashimoto 896ae7b9ba core: vagrant -v no longer loads Vagrantfile 2013-09-02 15:43:59 -07:00
Mitchell Hashimoto 7f0cbd8fea core: Vagrant.has_plugin? to check if plugin installed [GH-1736] 2013-09-02 15:22:40 -07:00
Mitchell Hashimoto b8dc881792 commands/up: validate provision-with args [GH-1957] 2013-09-02 15:06:03 -07:00
Mitchell Hashimoto ac1404b9ac commands/plugin: Add "update" subcommand 2013-09-02 09:31:26 -07:00
Mitchell Hashimoto e2ddab532d core: Don't provision after first `up` by default [GH-1776] 2013-09-02 09:03:46 -07:00
Fabio Rehm 77dd626341 guest: Remove dead code 2013-09-01 17:41:17 -03:00
Fabio Rehm b581936434 Bump version 2013-09-01 17:39:13 -03:00
Mitchell Hashimoto c63d4fd6b8 hosts/bsd: nice error if can't read exports file [GH-2038] 2013-09-01 10:25:00 -07:00
Mitchell Hashimoto 4608e75b48 core: clean up machine directory when id = nil 2013-08-31 23:02:16 -07:00
Mitchell Hashimoto 5a4c06f75e core: config.ssh.timeout => config.vm.boot_timeout 2013-08-29 16:41:36 -07:00
Mitchell Hashimoto c38fadfd2f core: config.vm.graceful_halt_timeout to specify graceful halt timeout 2013-08-29 16:38:02 -07:00
Mitchell Hashimoto 261d0ef6cd core: WaitForCommunicator - more robust wait for boot
This is a new built-in middleware that is more robust for
waiting for boots. The "max_tries" configuration is now gone, it is
timeout based. Future commits will make this even better as the
SSH communicator will implement the new "wait_for_ready" in a better
way.
2013-08-29 16:27:00 -07:00
Mitchell Hashimoto 5b42994406 core: better cleanup of ".vagrant" 2013-08-29 11:45:57 -07:00
Mitchell Hashimoto 38a6f863e7 core: Inherit CommandUnavailableWindows from CommandUnavailable 2013-08-29 11:18:21 -07:00
Mitchell Hashimoto d4c7e20110 core: ProvisionerCleanup task to run cleanup on provisioners 2013-08-29 11:13:43 -07:00
Mitchell Hashimoto 471dc2dc7d core: strip newlines off of IDs [GH-2024] 2013-08-09 11:42:18 -07:00
Mitchell Hashimoto d24caac5ae Merge pull request #1914 from b2jrock/darwin-guest
OS X (darwin) guest support.
2013-08-09 10:53:29 -07:00
Brian Johnson 3611ff39f4 Change mount_nfs_folder cap to be more like the linux version, adding a
bunch of retires rather than a long sleep.

Add DarwinNFSMountFailed error. This might move be more appropriate at
the plugin level.

Integrate some of tvsutton's work in configure_networks to get the
implementation closer to working in both fusion and virtualbox.

Add shell_expand_guest_path capability (also copied from linux)
2013-08-05 17:39:44 -07:00
Mitchell Hashimoto 16002d03c0 Up version for dev 2013-07-29 08:35:02 -07:00
Mitchell Hashimoto 7ec0ee1d00 v1.2.7 2013-07-28 21:43:53 -07:00
Mitchell Hashimoto ff36a46178 Set user agent to Vagrant + version
/cc @fgrehm
2013-07-28 20:51:35 -07:00
Fabio Rehm c7aed1a6a1 Provide a custom user agent header to cURL request so that URL shorteners are able to track the amount of downloads 2013-07-28 20:23:27 -03:00
Fabio Rehm eefb90ff9d Fix small typo on comment 2013-07-28 19:51:28 -03:00
Mitchell Hashimoto 5be16cc194 up version for dev 2013-07-26 21:04:16 -07:00
Mitchell Hashimoto 22b76517d6 v1.2.6 2013-07-26 20:21:04 -07:00
Michael Glass 9a00473029 fix regression preventing boxes that specify support for multiple formats.
don't know if this is the right place for this fix.  maybe formats should be an array of symbols.
2013-07-26 13:16:53 -07:00
Mitchell Hashimoto 536ea95ea3 Up version for dev 2013-07-26 11:26:34 -07:00
Mitchell Hashimoto ec2305a9a6 v1.2.5 2013-07-26 10:27:35 -07:00
Mitchell Hashimoto 6168abf831 Set default internal encoding to UTF-8 [GH-1977] 2013-07-25 16:56:50 -05:00
Mitchell Hashimoto 7ef6c5d9d7 Unused config objects are finalized properly [GH-1877] 2013-07-23 17:36:48 -05:00
Mitchell Hashimoto a786bb53d0 --provider on box add supports any format of that provider 2013-07-23 17:36:47 -05:00
Mitchell Hashimoto af66f5f930 box_download_insecure to not validate https of box_url [GH-1712] 2013-07-20 00:18:02 -04:00
Mitchell Hashimoto 4151df884a Forwarded ports don't auto-correct by default [GH-1701] 2013-07-20 00:15:11 -04:00
Mitchell Hashimoto eb70c0d6bb Show an error message if ansible fails to run [GH-1699] 2013-07-20 00:07:09 -04:00
Mitchell Hashimoto cf0ba53fbb box_url works with all box formats a provider supports [GH-1752] 2013-07-19 00:50:00 -04:00
Mitchell Hashimoto 25895b5099 handle_box_url uses new formats 2013-07-19 00:50:00 -04:00
Mitchell Hashimoto f3bbad8c2e Refactor box collection to support looking for boxes multi-provider 2013-07-19 00:50:00 -04:00
Fabio Rehm 264a220461 Merge branch 'more-concise-box-not-found-error-message' of https://github.com/akalyaev/vagrant into akalyaev-more-concise-box-not-found-error-message 2013-07-18 23:32:15 -03:00
Mitchell Hashimoto 900f7e4d63 Error if VBox 4.2.14 is running. 2013-07-18 13:54:53 -04:00
Mitchell Hashimoto bd378ea2b0 VAGRANT_DOTFILE_PATH [GH-1524] 2013-07-18 11:58:11 -04:00
Mitchell Hashimoto b68c489991 Fix missing translation for non existent CWD [GH-1947] 2013-07-18 10:43:12 -04:00
Mitchell Hashimoto 3028940adb NFS allows access from all networks on VM [GH-1204] 2013-07-18 00:01:49 -04:00
Mitchell Hashimoto a0543d7c7c Use 32-bit integer for NFS fsuid for older kernels [GH-1127] 2013-07-17 23:34:47 -04:00
Mitchell Hashimoto 203594e41a NFS exports with wrong casing on case-insensitive work [GH-1202] 2013-07-17 10:53:24 -07:00
Mitchell Hashimoto 4bf6dc5743 Method for getting the case-correct path of a path [GH-1202] 2013-07-17 10:48:39 -07:00
Mitchell Hashimoto 792ac4556d Code for testing case sensitivity of filesystem [GH-1202] 2013-07-17 10:36:57 -07:00
Mitchell Hashimoto 3c86719ed8 Up version for dev 2013-07-16 18:02:38 -07:00
Mitchell Hashimoto 0219bb8772 v1.2.4 2013-07-16 17:05:45 -07:00
Mitchell Hashimoto 986eda4a4f Add DSAAuthentication=yes flag to SSH [GH-1900] 2013-07-16 16:46:00 -07:00
Mitchell Hashimoto 7adffcb880 CHANGELOG 2013-07-16 16:34:53 -07:00
korya a0774b5b5f Vagrant reports properly error for not found command 2013-07-15 08:52:53 +03:00
Mitchell Hashimoto 5f5203559f style nitpick 2013-07-12 16:05:56 +09:00
Mitchell Hashimoto 78ef3ded2b Expand symlinks for NFS host path [GH-1101] 2013-07-10 20:21:13 -07:00
Mitchell Hashimoto e941c549f2 box_url downloading happens before config validation [GH-1061] 2013-07-10 20:10:33 -07:00
Mitchell Hashimoto f38b6801f9 vagrant destroy exits with 1 if any confirmation are declined [GH-923] 2013-07-10 19:39:20 -07:00
Mitchell Hashimoto abd22dfe72 Up version for development 2013-07-09 19:10:56 -07:00
Mitchell Hashimoto 95d308caae v1.2.3 2013-07-09 17:01:01 -07:00
Mitchell Hashimoto 2e969065b7 Merge pull request #1911 from emyl/no_route_fix
Raise a proper SSH error on EHOSTUNREACH
2013-07-09 16:45:35 -07:00
Fabio Rehm b2b7643dfc Merge pull request #1720 from tawan/patch-1
Fix typo.
2013-07-09 09:19:48 -07:00
Emiliano Ticci b0b18c64dd Raise a proper SSH error on EHOSTUNREACH 2013-07-09 14:35:07 +02:00
Simon Thulbourn ea9fde9433 Merge branch 'master' into client-certs 2013-07-02 09:29:39 +01:00
Thomas Linkin d95b202346 Vagrant::Action::Builder RDoc correction
The RDoc comments for `Vagrant::Action::Builder#to_app` reference an
instance of `Vagrant::Action::Environment` as the passed paramter. There
is no class `Vagrant::Action::Environment` available. The param being
passed is actually a `Hash` that represents the "action environment".

This commit corrects the RDoc lines for
`Vagrant::Action::Builder#to_app` to correctly reference the passed
`Hash`.
2013-06-24 13:10:32 -04:00
Mitchell Hashimoto 6c99f3dfa7 tweaks for style 2013-06-09 13:51:19 -07:00
Mitchell Hashimoto 8906ae01a8 Merge pull request #1783 from Aigeruth/issue-654
Check for binaries as part of Subprocess
2013-06-09 13:48:21 -07:00
Mitchell Hashimoto 80f06605fb config.vm.guest now forces guest setting again [GH-1800] 2013-06-09 13:17:23 -07:00
Gabor Nagy a4979c4824 [GH-654] Missing condition and translations 2013-06-03 00:04:25 +02:00
Gabor Nagy 4c00abe69e Modifies to use util/which [GH-654] 2013-06-02 03:48:47 +02:00
Gabor Nagy 0936267314 Fixes [GH-654] on Windows 8x64 and Ruby 1.9.3p374
Replaces the command with absolute path version if it exists.
2013-06-01 14:29:45 +02:00
Simon Thulbourn ef98c7b8b1 passes client cert option from Vagrant file to box_add 2013-05-23 15:13:04 +01:00
Simon Thulbourn 7dd7957a97 adds client cert 2013-05-21 11:42:19 +01:00
Simon Thulbourn c495fb7c5c adds options for client certs to downloader class
Adds :client_cert to the env array and then passes it into the curl
options array
2013-05-21 11:39:43 +01:00
Tawan Sierek 52f7c53707 Fix typo. 2013-05-12 16:32:15 +03:00
Anton Kalyaev 6c5a580006 more concise message for BoxNotFound error
Now we have different providers, but the error message didn't tell
anything about it. Suppose I want to remove one of my boxes:

    vagrant box remove opscode-ubuntu-12.04 vritualbox

There is a typo in provider name. The error message is:

    Box 'opscode-ubuntu-12.04' could not be found.

Therefore I need to double check the box name, and only than I will see
the typo.

This commit make the error message looks like this:

    Box 'opscode-ubuntu-12.04' with 'vritualbox' provider could not be
found.
2013-05-05 18:23:12 +04:00
Mitchell Hashimoto ccfd321ef9 Properly convert provider name to symbol when searching for boxes
[GH-1691]
2013-05-04 09:51:13 -07:00
Mitchell Hashimoto 4c5262690e Ignore "guest not ready" error when graceful halting [GH-1679] 2013-05-01 18:50:40 -07:00
Mitchell Hashimoto 7f32af980e SmartOS support for setting hostnames [GH-1672] 2013-04-30 15:07:41 -07:00
Mitchell Hashimoto 52448c97cc Up version for development 2013-04-24 14:23:11 -07:00
Mitchell Hashimoto 7e400d00a3 v1.2.2 2013-04-23 13:05:18 -07:00
Mitchell Hashimoto 7524e7a3c0 Box add URL with windows drive letter works properly 2013-04-22 20:41:47 -07:00
Mitchell Hashimoto 14d70776ca Better locking within handle_box_url
This improves locking in the face of parallel providers and
handling box_url parameters. This avoids downloading a box multiple
times.
2013-04-20 14:31:29 -06:00
Mitchell Hashimoto c29e4d6334 In a multi-machine environment, don't download box multiple [GH-1467] 2013-04-19 23:51:53 -06:00
Mitchell Hashimoto 04d9872674 Improve the thread safety of BoxCollection 2013-04-19 23:48:05 -06:00
Mitchell Hashimoto e8d8188474 Error if a box override changes the box setting... 2013-04-19 23:10:17 -06:00
Mitchell Hashimoto 661b982502 Handle box overrides in provider-specific overrides properly [GH-1617] 2013-04-19 23:05:32 -06:00
Mitchell Hashimoto 780a312fc9 Built-in DestroyConfirm middleware 2013-04-19 14:14:29 -06:00
Mitchell Hashimoto 4a6939096c Up version for development 2013-04-17 08:22:00 -07:00
Mitchell Hashimoto a7853fe7b7 v1.2.1 2013-04-16 21:29:18 -07:00
Mitchell Hashimoto 2239036b59 Use Mozilla CA cert bundle for SSL validation 2013-04-16 17:32:30 -07:00
Mitchell Hashimoto 0f089c5671 `--[no-]parallel` for vagrant up 2013-04-16 15:22:14 -07:00
Mitchell Hashimoto f3cf23e873 Ability to specify no parallelism on the environment 2013-04-16 15:13:00 -07:00
Mitchell Hashimoto dc31725049 Follow redirects when downloading boxes [GH-1607] 2013-04-16 13:25:32 -07:00
Mitchell Hashimoto d3f415133b Up version for dev 2013-04-16 13:21:54 -07:00
Mitchell Hashimoto f5ece47c51 v1.2.0 2013-04-16 09:42:34 -07:00
Benjamin Schwarze 13c914f85e fix root cause for error message when running in multi-vm environment:
SSH Defaults:
* The following settings don't exist: forward_agent, forward_x11
2013-04-10 22:05:57 +02:00
Mitchell Hashimoto 8e5b52c00c Get rid of unused autoload 2013-04-10 10:49:10 -07:00
Mitchell Hashimoto 98a23be689 Get rid of unused class 2013-04-10 10:48:56 -07:00
Mitchell Hashimoto d03938e3c1 config.ssh properly overrides provder-detected [GH-1479] 2013-04-08 20:50:15 -07:00
Mitchell Hashimoto 66ff86fda5 Auto-detect policy server IP for CFEngine 2013-04-08 15:30:41 -07:00
Mitchell Hashimoto ba2c749d6d Running provisioner output shows provisioner shortcut, not class 2013-04-08 14:50:22 -07:00
Mitchell Hashimoto c457285fb6 Basic CFEngine boostrapping 2013-04-08 13:46:03 -07:00
Mitchell Hashimoto 9599d8a45d Starting work on CFEngine, installs on Debian 2013-04-08 13:05:53 -07:00
Mitchell Hashimoto 376eb0b327 UI on Machine 2013-04-08 12:38:15 -07:00
Mitchell Hashimoto 2ddefd49a1 Convert capability name to symbol for lookup 2013-04-08 10:44:56 -07:00
Mitchell Hashimoto efaabea5c0 Use vagrant tmp directory for boxes [GH-1442] 2013-04-07 14:48:56 -07:00
Mitchell Hashimoto 998122e076 Box adding is done in a helper that ensures temporary files are cleaned 2013-04-07 14:43:52 -07:00
Mitchell Hashimoto f203c29fbb Builders are merged when using hooks. [GH-1555] 2013-04-07 14:17:40 -07:00
Mitchell Hashimoto 9f49b9298e vagrant ssh on Cygwin won't output DOS path file warnings 2013-04-07 13:57:24 -07:00
Mitchell Hashimoto 5fe8cbb083 Proper clear line text for Cygwin 2013-04-07 13:48:26 -07:00
Mitchell Hashimoto 162239d2cd Expand file paths when adding boxes in Cygwin 2013-04-07 13:46:46 -07:00
Mitchell Hashimoto 373a1d8633 Properly expand cygwin paths to Windows path for vboxmanage 2013-04-06 22:06:33 -07:00
Mitchell Hashimoto 96ebd3e8f7 Providers can support multiple box formats if they choose to.
Currently, providers must match a box format exactly the same
as that provider's name. i.e. the virtuabox provider needs a
"virtualbox" box and the "vmware_fusion" provider needs a
"vmware_fusion" box. Now, the provider can specify what the box format
is they want and support multiple if wanted.

Other box formats are specified in the provider definition within
a plugin:

    class Plugin < Vagrant.plugin("2", "provider")
      # ... other stuff

      provider("foo", box_format: ["virtualbox", "other_format"]) do
        # .. same
      end
    end

Now when using the example "foo" provider above, boxes for both
"virtualbox" or "other_format" are searched for. If both are found,
the order in which the formats exist determines precedence.
2013-04-06 18:21:16 -07:00
Mitchell Hashimoto 868f8d4061 Detect PuTTY Link on Windows and show error [GH-1518] 2013-04-06 16:50:59 -07:00
Mitchell Hashimoto 0874d4a77a Assume Cygwin has a TTY for input [GH-1430] 2013-04-06 16:07:20 -07:00
Mitchell Hashimoto 5ca89383f8 Simplify cygwin check everywhere 2013-04-06 16:05:13 -07:00
Mitchell Hashimoto fb9c311b4d Always colorize Cygwin output 2013-04-06 16:03:25 -07:00
Mitchell Hashimoto fbdd46a130 On Windows, prefer USERPROFILE for home directory path 2013-04-06 15:53:58 -07:00
Mitchell Hashimoto 744c879998 Don't repair forwarded port to used forwarded port 2013-04-06 14:12:33 -07:00
Mitchell Hashimoto 17a312b293 Expand the file URL when adding a box 2013-04-05 21:27:00 -07:00
Mitchell Hashimoto 1957efb4e1 Nicer error if ansible-playbook is not installed on the host 2013-04-04 14:01:26 -07:00
Mitchell Hashimoto cf9eb509a9 Don't preserve modified time when untarring files [GH-1539] 2013-04-04 13:32:37 -07:00
Mitchell Hashimoto 067f431ee9 Better debugging on searching for capabilities 2013-04-03 23:46:39 -07:00
Mitchell Hashimoto 2f232e0175 Halt and mount NFS are caps 2013-04-03 23:33:20 -07:00
Mitchell Hashimoto 61d2f9f96f SetHostname uses new cap system 2013-04-03 23:18:12 -07:00
Mitchell Hashimoto 63f28a9011 Nicer error messages for new linux caps 2013-04-03 23:14:24 -07:00
Mitchell Hashimoto 28d3f274d8 First capability for linux 2013-04-03 23:01:43 -07:00
Mitchell Hashimoto 819ef46fca Tests for registering guest capabilities 2013-04-03 22:43:35 -07:00
Mitchell Hashimoto c5c15fdaa6 Machine#guest returns the proper guest detected 2013-04-03 22:40:30 -07:00
Mitchell Hashimoto f48b0796a5 Forward arguments down to capability 2013-04-03 22:20:45 -07:00
Mitchell Hashimoto cf3c1b73d2 Guest#capability to execute capabilities 2013-04-03 22:19:20 -07:00
Mitchell Hashimoto 06a9968ec4 Guest#capability? for testing for capabilities 2013-04-03 22:03:03 -07:00
Mitchell Hashimoto 52f3847b0a Laying the foundation for the new guest plugin 2013-04-03 21:47:57 -07:00
Mitchell Hashimoto 4ffc2c3b74 Invalid configuration keys are caught and shown in user friendly way
[GH-1484]
2013-04-03 16:18:37 -07:00
Mitchell Hashimoto 52a2f48b20 Provider-specific configuration overrides via 2nd block param
Example:

Vagrant.configure("2") do |config|
  # ...

  config.vm.provider :virtualbox do |p, vb_config|
    vb_config.vm.box = "virtualbox_box"
  end
end
2013-04-03 14:57:14 -07:00
Matt Wormley 00c9f2c973 added ssh.proxy_command to handle waiting for aws ssh connection when ssh proxy in place. use config.ssh.proxy_command = "ssh -q <user>@<proxy_host> nc %h %p" 2013-04-03 13:54:47 -07:00
Mitchell Hashimoto 0f0c0b0396 Add max redirects for download 2013-04-03 12:01:12 -07:00
Mitchell Hashimoto 5e2549fe8b Add "--insecure" flag for downloader 2013-04-03 11:57:40 -07:00
Mitchell Hashimoto 58b7c65a69 Remove the downloaders 2013-04-03 11:45:46 -07:00
Mitchell Hashimoto ab19b506bd Get rid of unnecessary variable 2013-04-03 08:31:43 -07:00
Mitchell Hashimoto d1eccbf98f SafeChdir all the things for thread safety 2013-04-03 08:31:43 -07:00
Mitchell Hashimoto bd60d6b283 Lock around chdir in Subprocess for thread safety 2013-04-03 08:31:43 -07:00
Mitchell Hashimoto c84c609633 Gracefully handle errors in parallel cases 2013-04-03 08:31:43 -07:00
Mitchell Hashimoto 368dddd950 Allow only one Environment#batch to run at a time per env 2013-04-03 08:31:42 -07:00
Mitchell Hashimoto d6a84b5ca4 Environment#batch and forcing disable through env var 2013-04-03 08:31:42 -07:00
Mitchell Hashimoto 3d8271a3a2 BatchAction for running actions in parallel 2013-04-03 08:31:42 -07:00
Mitchell Hashimoto 7446b3c4ef Make the Basic/Colored UI objects threadsafe 2013-04-03 08:31:42 -07:00
Mitchell Hashimoto 7b0745abcc UI objects use "scopes" now 2013-04-03 08:31:42 -07:00
JD Harrington 8cd74fee16 Allow override of default_provider
Set the VAGRANT_DEFAULT_PROVIDER environment variable to override the
value of default_provider.
2013-04-03 08:31:42 -07:00
Mitchell Hashimoto 2e50a238fc Provider plugins can provide arbitrary options 2013-04-03 08:31:42 -07:00
Mitchell Hashimoto 87f7cba16b Fix cURL parsing with invalid blanks 2013-04-03 08:31:41 -07:00
Mitchell Hashimoto d1e2596ce5 Properly accumulate and parse cURL output for progress 2013-04-03 08:31:41 -07:00
Mitchell Hashimoto 05c6379abb Setup file protocol if adding a box from a file 2013-04-03 08:31:41 -07:00
Mitchell Hashimoto 25f66cee51 Remove downloaders, no longer needed 2013-04-03 08:31:41 -07:00
Mitchell Hashimoto 6c1eb2b007 Download boxes using CURL! 2013-04-03 08:31:41 -07:00
Mitchell Hashimoto 94dd210be7 Return the value of the yielded block in Busy 2013-04-03 08:31:41 -07:00
Mitchell Hashimoto b9a2855fcb Tests for the downloader 2013-04-03 08:31:41 -07:00
Mitchell Hashimoto 913e0e529d Initial downloader implementation 2013-04-03 08:31:40 -07:00
Mitchell Hashimoto 06d055f443 Up the version to 1.2.0 development 2013-04-03 08:31:40 -07:00
Mitchell Hashimoto 8aff752cfb v1.1.6 2013-04-03 08:31:10 -07:00
Mitchell Hashimoto 90f18c41be v1.1.5 2013-04-02 15:13:41 -07:00
Mitchell Hashimoto 4f1a3dad8c Retry SSH on Errno::EACCES 2013-03-31 20:27:08 -07:00
Mitchell Hashimoto e5539eb769 Only prepend/append once for hooks 2013-03-30 14:57:47 -07:00
Mitchell Hashimoto c6a2d01cdf Allow disabling prepend/append hooks 2013-03-30 14:51:10 -07:00
Mitchell Hashimoto 30053638af Human friendly error on exit code 126 from VBoxManage 2013-03-29 13:14:00 -07:00
Mitchell Hashimoto 8156185f5d Don't error too early when config.vm.box is not properly set 2013-03-29 12:54:01 -07:00
Mitchell Hashimoto 72e0a691db Don't load plugins.json plugins in Bundler env 2013-03-28 17:02:54 -07:00
Mitchell Hashimoto 64921db66f Error message if private key not owned by right user [GH-1503] 2013-03-28 16:54:39 -07:00
Mitchell Hashimoto 0272db698b Up version for development 2013-03-28 15:34:25 -07:00
Mitchell Hashimoto 87613ec939 v1.1.4 2013-03-25 14:33:00 -07:00
Mitchell Hashimoto 0903e62add v1.1.3 2013-03-25 11:48:10 -07:00
Mitchell Hashimoto 43d85930ed Improve network interface detection to avoid crash [GH-1480] 2013-03-22 10:51:07 -07:00
Mitchell Hashimoto 7e125db669 Fix obscure error with world writable temp dir 2013-03-21 17:31:23 -07:00
Mitchell Hashimoto a4745fb426 Properly handle forward port collision detection with auto-correct
[GH-1472]
2013-03-21 16:33:06 -07:00
Mitchell Hashimoto 11ad039275 Get rid of Vagrant::SSH, unused 2013-03-20 16:18:14 -07:00
Fabio Rehm 4108574b17 Remove Vagrant::TestHelpers
Things are easier to test now. The module is not used internally neither it is
up to date with recent changes.
2013-03-20 15:04:52 -03:00
Mitchell Hashimoto 847cbb9ed3 Allow anything that can #to-s for Vagrant.plugin 2013-03-18 21:34:37 -07:00
Mitchell Hashimoto 715539eac3 Up version for development 2013-03-18 14:35:03 -07:00
Mitchell Hashimoto 67bd4d30f7 v1.1.2 2013-03-18 13:51:15 -07:00
Mitchell Hashimoto 5ad6c2a94a Up version for development 2013-03-18 11:24:18 -07:00
Mitchell Hashimoto f743fed3cc v1.1.1 2013-03-17 23:05:16 -07:00
Mitchell Hashimoto 022c1daec0 Raise error if no hostonly network on VBox with NFS [GH-1437] 2013-03-17 22:33:02 -07:00
Mitchell Hashimoto 5427392459 Logger statements for copying each box file during add 2013-03-16 10:14:32 -07:00
Martin Ehrnhoefer 24aaa7f282 Adding a box fails on Windows [GH-1424]
The Dir.mkdir statement fails on Windows if src and dest
reside on different partitions. Files are therefore copied
one-by-one. The #6715 workaround is not needed anymore.
2013-03-16 13:04:33 +01:00
Mitchell Hashimoto 9464796c6d Human friendly error when metadata.json is missing from a box 2013-03-15 11:12:50 -07:00
Mitchell Hashimoto d40ba7968c Fix `vagrant package` to avoid nil errors [GH-1423] 2013-03-14 20:40:52 -07:00
Mitchell Hashimoto 327ca544ef Don't load any plugins for `vagrant plugin` [GH-1418] 2013-03-14 12:58:24 -07:00
Mitchell Hashimoto 43f3764e5b Properly quote regular expression inputs to StringBlockEditor 2013-03-14 12:41:03 -07:00
Mitchell Hashimoto 64d1b54d51 Up version for development. Moving forward. 2013-03-14 11:55:03 -07:00
Mitchell Hashimoto 1949489993 v1.1.0 2013-03-13 23:36:31 -07:00
Mitchell Hashimoto c8b829c4d2 Properly resolve cygwin paths in Cygwin environments [GH-1366] 2013-03-13 21:50:41 -07:00
Mitchell Hashimoto 57a5edbc39 Merge pull request #1366 from johnb0011/master
Solve Virtualbox pathing issue running under Cygwin
2013-03-13 21:41:34 -07:00
Mitchell Hashimoto 82d8285df6 Give a success message after adding a box 2013-03-13 21:24:03 -07:00
Mitchell Hashimoto dea881cad2 vagrant box add --force works again [GH-1413] 2013-03-13 21:20:25 -07:00
Fabio Rehm cc20d2f91e raise ChildProcess::LaunchError with the original message to ease debugging when running subprocesses 2013-03-09 15:31:28 -03:00
Fabio Rehm 54e0c37dbf Fix typo on logging output 2013-03-06 19:47:28 -03:00
Mitchell Hashimoto 360051e032 Greatly improve http_proxy/https_proxy detection for box downloads 2013-03-05 00:33:56 -08:00
Mitchell Hashimoto 36b805367d Fix all core code to use the new networking syntax 2013-03-01 16:48:10 -08:00
Mitchell Hashimoto ade5d8a579 Human-friendly error if error copying private key [GH-580] 2013-03-01 13:51:11 -08:00
Mitchell Hashimoto b482870173 Capture stdout/stderr when loading plugins so that it doesn't just
happen
2013-03-01 11:55:06 -08:00
Mitchell Hashimoto 7547a0d34a V2 missing key returns a DummyConfig as well 2013-02-28 00:17:58 -08:00
Mitchell Hashimoto af2690635e Unknown keys return a DummyConfig rather than OpenStruct 2013-02-28 00:16:43 -08:00
Mitchell Hashimoto d15acde8c0 Capture missing key calls in V1 configs and record them as warnings 2013-02-28 00:06:49 -08:00
Mitchell Hashimoto c9ad55d9e7 Built-in hostname middleware for setting hostname 2013-02-27 21:28:09 -08:00
Mitchell Hashimoto 4254b35b7d Fix the forward port collision handling 2013-02-27 13:40:11 -08:00
Mitchell Hashimoto 1505fc9d22 Autoload he port collision middleware 2013-02-27 13:37:50 -08:00
Mitchell Hashimoto 68aa9c8acf Output the UI when repairing port collisions 2013-02-26 13:43:06 -08:00
Mitchell Hashimoto 79609d42bb Additional options for the collision detection 2013-02-26 13:08:06 -08:00
Mitchell Hashimoto e97c330281 First pass at a forwarded port collision middleware 2013-02-26 12:10:26 -08:00
Mitchell Hashimoto 499d1ff8bf VAGRANT_VAGRANTFILE env var to specify alternate filename for Vfile 2013-02-23 12:07:23 -08:00
Mitchell Hashimoto 1bda157188 Only look for `Vagrantfile` if no more specific was given 2013-02-23 11:59:44 -08:00
Mitchell Hashimoto 60a1b035e7 For hooks, put the environment in the action env 2013-02-22 15:52:57 -08:00
Mitchell Hashimoto 3b2a82003e The hook callable has to be an Action builder so the hooks are called 2013-02-22 15:28:48 -08:00
Mitchell Hashimoto 29600d3d06 Always log the exception raised when error loading a plugin 2013-02-22 15:11:01 -08:00
Mitchell Hashimoto 1b6538354d Be smarter about determining if plugin load failed 2013-02-22 15:10:34 -08:00
Mitchell Hashimoto 9750069312 Better logging around environment hooks 2013-02-22 14:43:43 -08:00
Mitchell Hashimoto 46db50680b environment_unload hook 2013-02-22 13:54:28 -08:00
Mitchell Hashimoto 3c343c0623 Environment#hook allows hooks to be run at arbitrary points 2013-02-22 12:22:10 -08:00
Mitchell Hashimoto c68bf33d66 Specify action_name for all machine actions for action hooks 2013-02-22 12:14:15 -08:00
Mitchell Hashimoto be01d57034 action_hooks can hook into specific actions 2013-02-22 12:12:55 -08:00
Mitchell Hashimoto 18524628b7 Hooks allow parameters and blocks to middlewares 2013-02-22 12:00:35 -08:00
Mitchell Hashimoto 6a12edeb71 Get rid of unused variable 2013-02-20 20:41:19 -08:00
John Barney a390b9dddf Removing tabs added by a bad .vimrc 2013-02-10 03:49:15 -08:00
John Barney 73eb86bad0 Adding Cygwin detection, and fixing pathing issue in VirtualBox driver under Cygwin 2013-02-09 19:36:56 -08:00
Mitchell Hashimoto f837d32ae4 Rename FileUtil to Which since its too close to FileUtils 2013-02-08 22:29:53 -08:00
Mitchell Hashimoto 38e160055b Style nitpicks on FileUtil 2013-02-08 22:20:00 -08:00
Patrick Wyatt bd06bea3e5 Enable Windows users with SSH installed to use 'vagrant ssh' 2013-02-08 22:09:11 -08:00
Mitchell Hashimoto 595d6f7848 Record invalid key accesses as an error on config 2013-02-08 16:54:24 -08:00
Mitchell Hashimoto d659071a82 Check for NFS errors only if we actually have NFS folders 2013-02-08 16:25:41 -08:00
Mitchell Hashimoto 6afb4326fa Move NFS to a built-in middleware 2013-02-08 15:34:04 -08:00
Mitchell Hashimoto 050cb482f3 Better logging in the BoxAdd action 2013-02-07 18:19:42 -08:00
Mitchell Hashimoto 4144db5042 More gracefully handled plugins which cannot be found 2013-02-07 11:55:45 -08:00
Mitchell Hashimoto cd3d2a1e8c Call properly modifies original environment 2013-02-06 18:36:05 -08:00
Mitchell Hashimoto 4a1a990491 Raise a proper SSH error on ECONNRESET 2013-02-06 18:08:55 -08:00
Mitchell Hashimoto acbd024fa2 Put the machine action in the middleware env 2013-02-06 16:23:35 -08:00
Mitchell Hashimoto 1df4891371 Spread out methods in provision so subclass can override 2013-02-06 16:14:59 -08:00
Mitchell Hashimoto 352fec0359 Fix some issues to get hooks working 2013-02-06 15:42:48 -08:00
Mitchell Hashimoto b20dcc9eb8 Setup hooks in the runner 2013-02-06 15:37:12 -08:00
Mitchell Hashimoto aa7193471f Plugins can define action hooks via action_hook 2013-02-06 15:27:14 -08:00
Mitchell Hashimoto 83bba789a4 Hook#apply 2013-02-06 15:21:34 -08:00
Mitchell Hashimoto d720205810 Builder supports action hooks 2013-02-06 15:06:13 -08:00
Mitchell Hashimoto 9251b880f5 Addition docs on the hook class 2013-02-06 14:30:15 -08:00
Mitchell Hashimoto 80a7c8a0cb Hook class 2013-02-06 14:21:31 -08:00
Mitchell Hashimoto 8f24d2d98c Remove the "easy" plugins until a future version 2013-02-06 13:46:34 -08:00
Mitchell Hashimoto 87026b2d9e Remove old TOOD that was fulfilled 2013-02-05 22:17:00 -08:00
Mitchell Hashimoto 9f15fdeabc Only override the SSH host/user/etc if not specified by provider 2013-02-05 21:21:56 -08:00
Mitchell Hashimoto 79beefdb0a Do proper provider configuration merging 2013-02-05 12:22:00 -08:00
Mitchell Hashimoto 864f1b7506 Pass a proper Pathname for SSHExec to check key perms 2013-02-04 21:17:12 -08:00
Mitchell Hashimoto 434cc79a83 Properly expand config.ssh.private_key_path 2013-02-04 21:13:29 -08:00
Mitchell Hashimoto a72cfdbc00 Improved logging and such around SSH 2013-02-04 11:44:56 -08:00
Mitchell Hashimoto 82c9b658d0 Expose the home_path to the action runner 2013-02-04 10:42:44 -08:00
Mitchell Hashimoto b568ad0b8a Fix package to probably put output box in pwd 2013-02-04 10:38:50 -08:00
Mitchell Hashimoto 55c905b43b `vagrant plugin license` command. 2013-02-04 10:32:04 -08:00
Mitchell Hashimoto 7e71b73e4a Reformat some comments to be within 80 chars 2013-02-04 10:04:31 -08:00
Eric Tipton 421c2a9b2e fix args parser w/r/t ssh "-t" option -- it was failing b/c any associated shell commands need to be the last part of the system command 2013-02-04 06:16:32 -05:00
Mitchell Hashimoto 5d75a65382 Get rid of error "status codes" and just exit with 1 2013-02-03 18:04:43 -08:00
Mitchell Hashimoto 635949980b Handle the case a plugin install is a plugin not found 2013-02-03 14:29:29 -08:00
Mitchell Hashimoto 2079941e7d If the ID file doesn't exist, then don't delete it 2013-02-03 14:23:25 -08:00
Mitchell Hashimoto 01756dc964 Fix the UI so the output shows the proper machine name 2013-02-03 14:23:07 -08:00
Mitchell Hashimoto 78e9853b71 The resource in the UI doesn't show up if it is nil 2013-02-03 14:20:40 -08:00
Mitchell Hashimoto 3df6088db0 Make plugin loading more robust to errors 2013-02-03 14:13:27 -08:00
Mitchell Hashimoto 1162c2dbfc Instead of shelling out, use the RubyGems API to install plugins
This gets us an accurate name of the gem even if it is installed
from a file.
2013-02-03 13:59:43 -08:00
Mitchell Hashimoto 5882d5dad6 VAGRANT_NO_PLUGINS can be used to skip plugin loading 2013-02-03 13:03:00 -08:00
Mitchell Hashimoto 693b825eb1 Don't use the RC file, use the JSOn state file 2013-02-03 12:53:52 -08:00
Mitchell Hashimoto fa50f06a4c Error if RubyGems failed. 2013-02-02 23:31:53 -08:00
Mitchell Hashimoto a2ef7790de Start creating the plugin middleware sequences 2013-02-02 18:42:04 -08:00
Mitchell Hashimoto ec995b5ddf Avoid cross-device moves when adding boxes [GH-1350] 2013-02-02 16:37:46 -08:00
Mitchell Hashimoto 165dd63f78 New HandleBoxUrl built-in middleware to handlet the "box_url" config 2013-02-01 11:31:08 -08:00
Mitchell Hashimoto 4e6496bed7 Improve subprocess logging 2013-01-31 19:47:54 -08:00
Mitchell Hashimoto a8c7ad30ee Be a bit more fine grained about errors that are reported for Vfiles 2013-01-31 18:52:29 -08:00
Mitchell Hashimoto 67c2e205be Create rgloader/loader.rb files for encoded files 2013-01-31 18:48:56 -08:00
Mitchell Hashimoto 1392d9b4a5 Detect if a VM name is already taken for VirtualBox 2013-01-30 23:22:45 -08:00
Mitchell Hashimoto 7fe19d3a11 Use box directory as temporary directory to avoid cross-device [GH-1199] 2013-01-30 21:54:07 -08:00