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
7f0cbd8fea
core: Vagrant.has_plugin? to check if plugin installed [GH-1736]
2013-09-02 15:22:40 -07:00
Mitchell Hashimoto
6168abf831
Set default internal encoding to UTF-8 [GH-1977]
2013-07-25 16:56:50 -05:00
Mitchell Hashimoto
3d8271a3a2
BatchAction for running actions in parallel
2013-04-03 08:31:42 -07:00
Mitchell Hashimoto
25f66cee51
Remove downloaders, no longer needed
2013-04-03 08:31:41 -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
327ca544ef
Don't load any plugins for `vagrant plugin` [GH-1418]
2013-03-14 12:58:24 -07: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
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
8f24d2d98c
Remove the "easy" plugins until a future version
2013-02-06 13:46:34 -08:00
Mitchell Hashimoto
3df6088db0
Make plugin loading more robust to errors
2013-02-03 14:13:27 -08:00
Mitchell Hashimoto
0d27cd5bcb
Warn if Vagrant is run outside of installers
2013-01-28 13:39:56 -08:00
Mitchell Hashimoto
7bdf54923a
Create the MachineState class
2013-01-21 11:25:28 -06:00
Mitchell Hashimoto
c0c3e7bf43
Remove Vagrant::DataStore
...
We just don't use it yet and the old implementation was sketchy. I was
not happy with it.
2012-12-26 21:45:24 -08:00
Mitchell Hashimoto
e8370f0098
Convert comands to V2 plugins.
2012-11-06 21:09:29 -08:00
Mitchell Hashimoto
a7b298b647
Remove Vagrant::VM
2012-08-18 19:36:50 -07:00
Mitchell Hashimoto
595e7cee0e
Move SSH communication to a plugin
2012-08-08 21:48:51 -07:00
Mitchell Hashimoto
a1cef830e3
Add the Communicator plugin API.
...
This allows communication protocols to be defined for the machine. This
is how things like SSH will be implemented.
2012-08-08 21:28:28 -07:00
Mitchell Hashimoto
984c4f4025
Add Util::SSH which has methods for checking key permissions and exec
2012-08-05 13:12:53 -07:00
Mitchell Hashimoto
2ef20586da
Remove the action registry feature.
...
This can be removed since in the future all actions will come from the
providers or something. There are still issues with box actions but
we'll get back to that later...
2012-07-26 21:57:11 -07:00
Mitchell Hashimoto
353610021c
Vagrant::Machine
...
This is the class that will represent a machine that is managed by
Vagrant. The class has a number of attributes associated with it and is
meant to be a single API for managing the machines.
2012-07-16 10:28:42 -07:00
Mitchell Hashimoto
3b82f2efc4
Create the basic provider plugin interface.
...
Non-functional at this point.
2012-07-14 16:57:54 -07:00
Mitchell Hashimoto
da15105a8f
Make Box2 the new Box
...
This involved defaulting all box searching at the moment to VirtualBox.
Additionally, box upgrading is not yet handled. This needs to be done at
some point.
2012-07-11 18:36:21 -07:00
Mitchell Hashimoto
a6d7bd48fd
Find boxes with new on-disk structure.
...
The box collection can now find new-style boxes with providers and
return proper Box objects. In the future, we'll also have to implement
upgrading old style ones as well.
2012-07-11 18:36:20 -07:00
Mitchell Hashimoto
42826356ad
Basic "Box2" implementation.
...
This is the beginning of the new box internals. The basic idea is that
the new box has a new field: provider. The provider will describe what
provider that box was built with and what provider it is made to work
with.
2012-07-11 18:36:20 -07:00
Mitchell Hashimoto
70bdd9f56e
Move host base class to a plugin component
2012-06-27 09:26:03 -07:00
Mitchell Hashimoto
53d8c28c8e
Move guests to Vagrant.plugin("1", :guest)
2012-06-26 16:28:49 -07:00
Mitchell Hashimoto
b23dda54b8
Move command base class to a plugin component
2012-06-26 16:18:02 -07:00
Mitchell Hashimoto
7258daf535
Support specifying a component for Vagrant.plugin
...
The future of subclassing things like configuration bases and so on will
be to use `Vagrant.plugin(version, component)`. For example:
`Vagrant.plugin("1", :provisioner)`.
2012-06-26 15:47:26 -07:00
Mitchell Hashimoto
2e00a007ce
Move provisioner superclass into the V1 namespace
2012-06-26 15:06:04 -07:00
Mitchell Hashimoto
ffab8cab68
Renamespace V1 plugin root to Vagrant::Plugin::V1::Plugin
...
This is mostly a transparent change to end users, but I'm going to put
all base classes for V1 into Vagrant::Plugin::V1.
2012-06-24 14:24:52 -07:00
Mitchell Hashimoto
a677c15e86
Use `next` instead of `return` for 1.8.x compatibility.
...
Since we're not calling this lambda from inside a method, the `return`
causes a LocalJumpError on 1.8.x. It appears this functionality works
fine on 1.9.x but we'd like to support both. The correct behavior
appears to use `next`.
2012-06-23 10:47:01 -07:00
Mitchell Hashimoto
d8c16035c8
Don't use Pathname#each_child for 1.8.7 compat [GH-979]
...
each_child is a 1.9.x feature. The implementation however is simple
enough that I copied it over and just use the 1.8.7 compatible version.
2012-06-22 20:47:43 -07:00
Mitchell Hashimoto
3204b3a580
Vagrant.configure and versioned configuration
...
Vagrant.configure is now how configuration is done in Vagrantfiles
(previously it was Vagrant::Config.run). This function takes a single
argument which is the version of configuration to use.
Various internals were updated for this new versioned configuration.
Note that multiple versions of configuration aren't yet used so aren't
fully supported by Vagrant, but the foundation is being set here.
2012-05-21 21:47:01 -07:00
Mitchell Hashimoto
bc0643613a
Vagrant.require_plugin [GH-916]
2012-05-06 14:01:10 -07:00
Mitchell Hashimoto
31ac7271aa
Rename EasyCommand namespace to Easy
2012-05-05 22:16:13 -07:00
Mitchell Hashimoto
00aba5ac03
Plugin easy commands.
...
Easy commands are well... easy! They don't offer the full power of
creating a completely custom command class, but they let you do the
basics (what almost everyone needs) with minimal fuss. Example:
class MyPlugin < Vagrant.plugin("1")
name "my-plugin"
easy_command "foo" do |action|
puts "HELLO!"
end
end
NOTE: The "action" stuff isn't done yet, but will be soon!
2012-05-05 18:57:29 -07:00
Mitchell Hashimoto
9956e6d012
Better directory structure for plugins
2012-04-20 16:53:01 -07:00
Mitchell Hashimoto
1489854d70
Move commands into plugins
2012-04-19 13:59:48 -07:00
Mitchell Hashimoto
661f20bb91
Move hosts to a plugin system
2012-04-18 22:20:45 -07:00
Mitchell Hashimoto
1cbac3167f
Move provisioners into plugins
2012-04-18 21:53:19 -07:00
Mitchell Hashimoto
1b2fa748f9
Move all guests to plugins, even the distros
2012-04-18 21:23:25 -07:00
Mitchell Hashimoto
dd459170dd
Start moving guest configuration out into plugins
2012-04-18 17:38:20 -07:00
Mitchell Hashimoto
98d6bf958e
Move core config into a plugin
2012-04-17 22:12:27 -07:00
Mitchell Hashimoto
2eebc2cb68
Basic Plugin class
2012-04-15 15:34:44 -05:00
Mitchell Hashimoto
b38083fb9b
OpenBSD guest [GH-773]
2012-03-10 14:03:09 -08:00
Mitchell Hashimoto
97cf6ddfba
Update CHANGELOG
2012-03-04 16:39:35 -08:00
Wayne E. Seguin
9990311f20
Added Fedora 16 handling.
2012-03-04 18:42:37 -05:00
Achim Herwig
7c1fcbdde0
Added openSuSE as host system.
...
Init script for NFS-server differs.
2012-02-28 11:55:39 +01:00
Mitchell Hashimoto
2f420705da
Output version at the top of every log
2012-02-22 10:00:19 -08:00
Mitchell Hashimoto
fbcb2c6ddc
Merge branch 'f-vagrant-gem'
2012-02-07 22:42:34 -08:00
Mike Lundy
00953073e7
Add Gentoo support for NFS
2012-02-07 21:14:47 -08:00
Mitchell Hashimoto
13fddfa6f9
Load plugins with the private gem path.
...
This changed plugin loading semantics a tiny bit, since they are
no longer loaded when Vagrant is loaded but instead when the
Vagrant::Environment is initialized. I'll note this in the CHANGELOG.
2012-02-06 22:39:35 -05:00
Mitchell Hashimoto
d19f7a44e5
Starting on the `vagrant gem` command.
2012-02-06 22:16:37 -05:00
Mitchell Hashimoto
88ba3a3619
Change middleware internals to make plugin lives easier [GH-684]
2012-01-28 17:31:50 -08:00
Mitchell Hashimoto
527b79853c
Log output now goes on stderr by stdout
2012-01-19 17:12:18 -08:00
Mitchell Hashimoto
3ab8aaa1b0
Clarify invalid log level message [GH-645]
2012-01-18 09:40:51 -08:00
Mitchell Hashimoto
ba5cd9b88a
Windows host
2012-01-08 11:14:01 -08:00
Mitchell Hashimoto
a94cf520c6
Log4r levels need to be defined before we can check for them
2012-01-07 21:16:40 -08:00
Mike Fiedler
e05bfb7efc
missing bracket closure fails rake tests
2012-01-07 21:16:28 -08:00
Mitchell Hashimoto
87b1a6660d
Handle invalid log levels more gracefully
2012-01-07 21:16:22 -08:00
Mitchell Hashimoto
00a31ff27b
Communication abstraction. Started SSH.
2012-01-06 20:07:31 -08:00
Mitchell Hashimoto
4c7059eaf6
Remove virtualbox dep
2011-12-21 14:36:51 -08:00
Mitchell Hashimoto
9debf5abe9
Attach a driver to each VM. Use that to detect VirtualBox.
2011-12-20 21:20:45 -08:00
Mitchell Hashimoto
98df762f8c
`vagrant init` uses new OptParse based CLI
2011-12-17 21:06:00 -08:00
Mitchell Hashimoto
9bdff4c507
Styling
2011-12-17 19:53:57 -08:00
Mitchell Hashimoto
e29c5436e1
Box commands
2011-12-17 19:52:48 -08:00
Mitchell Hashimoto
780722386b
`vagrant status`
2011-12-17 17:36:11 -08:00
Mitchell Hashimoto
1176c65138
`vagrant ssh-config`
2011-12-17 17:29:52 -08:00
Mitchell Hashimoto
e34f0a8af7
`vagrant ssh`
2011-12-17 17:24:02 -08:00
Mitchell Hashimoto
19adc3189d
`vagrant package`
2011-12-17 16:58:54 -08:00
Mitchell Hashimoto
bdc39aa2e0
Suspend command
2011-12-17 12:04:35 -08:00
Mitchell Hashimoto
c5ec4b4a30
Provision, reload, resume
2011-12-17 11:53:26 -08:00
Mitchell Hashimoto
6c7e88c3ec
`vagrant halt`
2011-12-17 11:14:56 -08:00
Mitchell Hashimoto
e71007d47e
`vagrant destroy`
2011-12-17 11:05:49 -08:00
Mitchell Hashimoto
43cadfe830
`vagrant up`
2011-12-17 09:14:05 -08:00
Mitchell Hashimoto
27491b554c
Remove thor from requirements. Start revamping Vagrant::CLI
2011-12-16 23:34:30 -08:00
Mitchell Hashimoto
1fcca71ce9
Re-namespace all systems to the Vagrant::Guest module
2011-12-15 21:05:19 -08:00
Mitchell Hashimoto
eda286b476
Config classes are registered via a registry now
2011-12-15 20:32:33 -08:00
Mitchell Hashimoto
e5303a82e0
Autoload provisioners.
2011-12-14 22:49:14 -08:00
Mitchell Hashimoto
b428072bb5
Provisioners use the registry. Cleaned up the way config classes are searched for.
2011-12-14 22:43:45 -08:00
Mitchell Hashimoto
ee33588d10
Clean up system loading quite a bit
2011-12-12 00:03:28 -08:00
Mitchell Hashimoto
cdc01c449d
Re-order things in vagrant.rb slightly
2011-12-11 23:24:23 -08:00
Mitchell Hashimoto
668bab0ba9
Better host loading scheme
2011-12-11 23:22:44 -08:00
Mitchell Hashimoto
e201d9cacf
Rename action registry to just Vagrant::Registry
2011-12-11 18:22:06 -08:00
Mitchell Hashimoto
bbb8f0ac2c
Integrate new action runner/registry into Vagrant::Environment
2011-12-09 14:39:39 -08:00
Mitchell Hashimoto
e38e3cc652
Move VAGRANT_LOG logic into vagrant.rb so VAGRANT_LOG is always available
2011-12-03 17:12:07 -08:00
Mitchell Hashimoto
881045a85f
Find a way to autoload 'vagrant/ssh' since that is a slow loader.
...
This involved realizing that requiring 'openssl' in the context
of an autoload causes some strange exceptions down the road. See this
gist for the error: https://gist.github.com/dd0b105bf9edcb7daa85
2011-07-09 11:12:15 -07:00
Mitchell Hashimoto
29db4aefd5
Load vagrant/version so that `vagrant version` works again
2011-01-07 01:25:54 -08:00
Mitchell Hashimoto
9e27355d0e
Fix weird exception from autoloading Vagrant::SSH
2011-01-07 01:22:52 -08:00
Mitchell Hashimoto
8d529931ef
Be gone glob loader! Move everything to autoload or explicit require.
2011-01-07 01:12:16 -08:00
Mitchell Hashimoto
cb69377b06
Remove Radar until next release.
2010-09-21 10:11:16 -06:00
Mitchell Hashimoto
bae6c57230
Expose test helpers [closes GH-162]
2010-09-15 09:19:38 -06:00
Mitchell Hashimoto
d5fbf29ec0
Plugins. Documentation coming shortly.
2010-09-14 23:10:51 -06:00
Mitchell Hashimoto
0ee21998f6
New BoxCollection class to keep track of all boxes.
2010-09-11 10:17:26 -07:00
Mitchell Hashimoto
260f1dcec4
Refined some tests to use real Vagrantfiles instead of mocks
2010-09-03 19:25:48 -07:00
Mitchell Hashimoto
59e1e43c74
Autoload the util classes. HashWithIndifferentAccess for data store
2010-09-03 09:33:15 -07:00