Mitchell Hashimoto
29da748702
commands/box/remove: update for new syntax
2014-02-05 21:19:41 -08:00
Mitchell Hashimoto
acc57a3c18
core: clarify output for boxadd error message
2014-02-05 21:19:36 -08:00
Mitchell Hashimoto
28a6beaa56
commands/box: can constrain the version
2014-02-05 21:19:25 -08:00
Mitchell Hashimoto
96e92167d9
commands/box: broken box adding, but more options/tests
2014-02-05 21:19:16 -08:00
Mitchell Hashimoto
e8197c4e87
commands/box: list works with the new versions
2014-02-05 21:19:14 -08:00
Mitchell Hashimoto
5030a16f84
kernel/v2: default all configs properly, remove config/default.rb
2014-02-05 15:36:35 -08:00
Mitchell Hashimoto
8bc36824bf
commands/list-commands: lists all commands primary and non-primary
2014-01-11 09:32:13 -08:00
Mitchell Hashimoto
ea502c5c3d
commands/plugin: vagrant plugin install can accept multiple
2014-01-07 14:17:48 -08:00
Mitchell Hashimoto
24a2892236
Update CHANGELOG and website
2014-01-07 14:11:33 -08:00
Ryan S. Brown
b53ae446d2
Allow `vagrant (un)install plugin1 plugin2 plugin3`
2014-01-07 14:09:31 -08:00
Mitchell Hashimoto
86cab61c27
commands/plugin: support installing from file
2014-01-06 09:27:37 -08:00
Mitchell Hashimoto
f612ec7549
core: support plugin sources, and mask Bundler errors
2014-01-05 23:13:49 -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
561e65ec72
commands/plugin: list shows version constraints and entrypoints
2014-01-05 21:16:41 -08:00
Mitchell Hashimoto
bef7051943
commands/plugin: InstallGem tests
2014-01-05 21:08:55 -08:00
Mitchell Hashimoto
aeb0d1a480
commands/plugin: fix plugin existence middleware, add tests
2014-01-05 20:57:55 -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
9dc1307b7c
commands/plugin: remove --plugin-prerelease
2014-01-05 17:46:20 -08:00
Mitchell Hashimoto
d368b3cf62
core: Tolerate syntax errors in ~/.gemrc [GH-2760]
2014-01-05 17:11:24 -08:00
Mitchell Hashimoto
8823f43f3a
commands/plugin: error if uninstall non-existent plugin
2014-01-05 16:03:00 -08:00
Mitchell Hashimoto
e1c9431085
commands/plugin: uninstall works again
2014-01-05 16:02:00 -08:00
Mitchell Hashimoto
95aeb9443d
commands/plugin: Remove PruneGems
2014-01-05 14:55: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
279b171339
commands/plugin: remove unnecessary line
2014-01-04 17:22:07 -08:00
Mitchell Hashimoto
ae17dc09eb
commands/plugin: list plugins uses Bundler
2014-01-04 17:21:53 -08:00
Mitchell Hashimoto
8450f20e87
Move StateFile into Vagrant::Plugin core
2014-01-04 16:45:41 -08:00
Mitchell Hashimoto
5387984e0f
commands/plugin: allow within Bundler env (cause we always are)
2014-01-04 16:32:46 -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
0316665ad8
commands/plugin: use default version requirement
2013-12-28 14:10:57 -07:00
Teemu Matilainen
a5b84f413e
core: More informative error if plugin.json parsing fails
2013-12-20 07:10:10 -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
2c568a75f2
commands/ssh: use proper variable
2013-12-13 22:32:01 -08:00
Mitchell Hashimoto
902b769e6b
core: -t/-T work for vagrant ssh -c [GH-2618]
2013-12-13 21:07:54 -08:00
Teemu Matilainen
294f4def91
Fix `vagrant plugin` commands
...
`StateFile#installed_plugins` returns now a Hash instead of Array.
Fixes regression from 39b2539
.
2013-12-04 18:25:33 -03:00
Mitchell Hashimoto
d354cdda4a
core: request users upgrade plugins if they're old
2013-12-04 11:43:39 -08:00
Mitchell Hashimoto
236141ba90
commands/plugin: old state files default to 0 for vagrant version
2013-12-04 11:29:17 -08:00
Mitchell Hashimoto
39b2539ec7
commands/plugin: state file keeps track of the Vagrant version
2013-12-04 11:17:48 -08:00
Mitchell Hashimoto
4f17a70c4e
commands/plugin: ignore default gems when pruning
...
For modern RubyGems compatibility
2013-12-03 23:48:06 -08:00
Mitchell Hashimoto
72edddbb09
core: do proper type conversions for box checksum types
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
cd3e19306c
commands/box/add: custom CA cert [GH-2337]
2013-11-26 19:32:56 -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
48973a72d5
commands/box/list: clean up
2013-11-25 13:26:46 -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
7ba9d2d0a0
commands/init: add --output flag [GH-1364]
2013-11-24 11:53:15 -08:00
Mitchell Hashimoto
5cbc54d570
commands/box: list has machine-readable output
2013-11-24 11:42:24 -08:00
Mitchell Hashimoto
15d639c8dc
website: document machine-readable output
2013-11-24 11:37:57 -08:00
Mitchell Hashimoto
42a71a953d
commands/status: add machine-readable output
2013-11-24 11:11:38 -08:00
Mitchell Hashimoto
f66d08d73c
commands/plugin: style nitpick
2013-11-23 16:45:45 -08:00
Mitchell Hashimoto
63005fc1c6
Merge pull request #2420 from tmacedo/rubygems_2_compatibility
...
core: compatibility with rubygems 2.x
2013-11-23 16:44:10 -08:00
Mitchell Hashimoto
46d9ded812
commands/box/add: add --clean flag to ignore continuation
2013-11-23 15:55:52 -08:00
Mitchell Hashimoto
97389d4255
core: output synopsis with command [GH-2249]
2013-11-23 14:00:42 -08:00
Fabio Rehm
48875124b9
commands/box: Read box URL and downloaded date from JSON
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
18cf66e83a
commands/box: List base box downloaded URL and datetime when `-i` gets provided to `box list`
2013-10-29 13:09:24 -02:00
Fabio Rehm
cbc7e7eedb
commands/box: Preparing to display additional box information on `box list`
2013-10-29 13:09:23 -02:00
Fabio Rehm
031119a858
commands/box: Extract a base class for dealing with StateFile instantiation
2013-10-29 13:09:23 -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
17fd5f9e4e
commands/box: Introduce a StateFile for keeping track of downloaded boxes
2013-10-29 13:09:23 -02:00
Tiago Macedo
2d66d94ebe
compatibility with rubygems 2.x
2013-10-25 11:27:17 +02:00
canausa
10883b3be6
Add --no-parallel to provision
2013-10-21 10:19:42 -04: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
c95a68ed5d
commands/reload: dont' provision by default
2013-09-02 09:13:22 -07:00
Mitchell Hashimoto
e2ddab532d
core: Don't provision after first `up` by default [GH-1776]
2013-09-02 09:03:46 -07:00
Mitchell Hashimoto
c4e79db552
commmands/box/remove: fix exception when no provider specified [GH-2100]
2013-08-30 09:43:35 -07:00
Mitchell Hashimoto
c2012ff944
commands/up: flag --no-destroy-on-error [GH-2011]
2013-08-29 12:13:02 -07:00
Mitchell Hashimoto
602a5ce0b4
commands/plugin/install: nitpick on style
...
/cc @ipwnstuff - Just nitpicking and CCing you so you can see. I dislike
the "if (val = something)" syntax so I axed that. Then I simplified
logic a bit.
2013-08-09 11:26:39 -07:00
Mitchell Hashimoto
8e3422403f
Merge pull request #1986 from ipwnstuff/feature/plugin-post-install-message
...
commands/plugin/install: Display a plugin's post install message if available
2013-08-09 11:24:19 -07:00
Marc-André Courtois
ed03add533
Start padding with 25 characters to keep original behavior
2013-08-01 13:23:18 -04:00
Marc-André Courtois
97aed37aea
Use longest machine name to pad in status cmd
2013-08-01 13:17:55 -04:00
Mitchell Hashimoto
e1c0c48ffa
Show the correct installed plugin [GH-1834]
2013-07-28 21:38:48 -07:00
Erran Carey
2033eba2d4
Display post install messages if a plugin has any
2013-07-26 01:50:35 -05: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
80666c03d6
vagrant help <foo> works [GH-1578]
2013-07-18 12:11:36 -04:00
Mitchell Hashimoto
3840e07adb
vagrant box remove doesn't need provider if box only has one [GH-1032]
2013-07-10 19:57:53 -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
Simon Thulbourn
ea9fde9433
Merge branch 'master' into client-certs
2013-07-02 09:29:39 +01:00
Marcel Hecko
4b9c21b5a6
[status command print formatting]
...
the result line needs space between the name of the VM and short_description - otherwise the formatting of the output breaks when the name of the VM is too long - the name of the VM gets smashed together with the short_description rendering
2013-06-05 14:10:24 +02:00
Simon Thulbourn
e216b9a1d2
adds param for client certs
...
adds an option to the command parser for client certicates
2013-05-21 11:41:15 +01: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
45267c85fe
Fix vagrant package --base [GH-1615]
2013-04-17 08:22:26 -07:00
Mitchell Hashimoto
0f089c5671
`--[no-]parallel` for vagrant up
2013-04-16 15:22:14 -07:00
Mitchell Hashimoto
c1acdc2409
Get rid of ruby warning from shadowing in SSH command
2013-04-07 22:10:50 -07:00
Mitchell Hashimoto
8b2bf72e8a
Fix parsing SSH extra args in multi-machine envs [GH-1545]
2013-04-07 22:07:55 -07:00
Mitchell Hashimoto
5e2549fe8b
Add "--insecure" flag for downloader
2013-04-03 11:57:40 -07:00
Mitchell Hashimoto
df93a221e1
Up command now uses Environment#batch
2013-04-03 08:31:42 -07:00
Mitchell Hashimoto
54f7930b84
Run "up" in a batch action so it parallelizes
2013-04-03 08:31:42 -07:00
Mitchell Hashimoto
fcd93bb133
Logging on gem sources
2013-03-20 22:33:50 -07:00
Mitchell Hashimoto
408eee746d
Stylistic changes for GH-1461
2013-03-20 22:30:31 -07:00
Hugues Malphettes
135adc8904
Support a few more gem parameters - take 2
2013-03-20 14:02:32 +08:00
Mitchell Hashimoto
dea881cad2
vagrant box add --force works again [GH-1413]
2013-03-13 21:20:25 -07:00
Mitchell Hashimoto
c74251a1d9
FIx vagrant package --base to work again, wrong Machine args [GH-1410]
2013-03-11 15:46:52 -07:00
Mitchell Hashimoto
bfc8c62ffe
vagrant plugin list works properly with isolated gem env
2013-03-01 12:14:12 -08:00
Mitchell Hashimoto
a2cd7936ea
`vagrant package` works again
2013-02-21 11:14:39 -08:00
Mitchell Hashimoto
7bc72028bd
Use custom Gem.configuration to avoid loading gemrc files
2013-02-07 16:32:11 -08:00
Mitchell Hashimoto
1b3250e3b6
`vagrant plugin i nstall` shows version it installed
2013-02-06 17:08:48 -08:00
Mitchell Hashimoto
bc7237130d
Use the HashiCorp gem source for plugin installs
2013-02-04 11:18:57 -08:00
Mitchell Hashimoto
c6a4bd529d
Missing interpolated variable for output message on plugin command
2013-02-04 10:43:35 -08:00
Mitchell Hashimoto
85e458b9a8
Forgot an autoload for plugins
2013-02-04 10:41:35 -08:00
Mitchell Hashimoto
55c905b43b
`vagrant plugin license` command.
2013-02-04 10:32:04 -08:00
Mitchell Hashimoto
036fa3e96a
Set more force flags when uninstalling gems to remove monkeypatch
2013-02-03 17:33:51 -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
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
368ca71d72
Remove the `gem` command.
2013-02-03 13:21:39 -08:00
Mitchell Hashimoto
455745277c
List plugins should have output when no plugins
2013-02-03 13:13:22 -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
9690754983
Plugin listing is a bit more sophisticated, shows version
2013-02-03 12:59:32 -08:00
Mitchell Hashimoto
bc54875a25
Move the plugins.json to the home directory
2013-02-03 12:49:21 -08:00
Mitchell Hashimoto
b6821a4fc7
Fix some include requirements for pruning
2013-02-03 10:49:26 -08:00
Mitchell Hashimoto
0d7322578b
`vagrant plugin uninstall`
2013-02-03 10:47:32 -08:00
Mitchell Hashimoto
e055bc893b
Sort the state file as well for sanity
2013-02-03 10:35:59 -08:00
Mitchell Hashimoto
76457eff16
Make sure the state file only contains unique fields
2013-02-03 10:34:43 -08:00
Mitchell Hashimoto
491356c938
Better logging for prune
2013-02-03 10:33:39 -08:00
Mitchell Hashimoto
60d21e35c9
Be silent when uninstalling gems
2013-02-03 10:32:31 -08:00
Mitchell Hashimoto
572142df7e
Perform gem uninstallation for prune
2013-02-03 10:30:52 -08:00
Mitchell Hashimoto
472d4182c1
Basic logic behind prune action is good.
2013-02-03 10:15:46 -08:00
Mitchell Hashimoto
f257d1211f
List actually compares state with gems
2013-02-02 23:59:48 -08:00
Mitchell Hashimoto
8ac7b62075
A really basic "list" command
2013-02-02 23:52:34 -08:00
Mitchell Hashimoto
53667d44db
Have a base class to invoke actions on the plugins
2013-02-02 23:38:44 -08:00
Mitchell Hashimoto
150cae86b7
Only show error if exit code != 0 of gem
2013-02-02 23:33: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
db2e27bab6
Initial plugin command plugin
2013-02-02 17:12:46 -08:00
Mitchell Hashimoto
b3571eb5bb
Add message about removing box so something is clearly happening
2013-02-02 16:43:16 -08:00
Mitchell Hashimoto
2dc14af825
`vagrant up` says what provider it will use
2013-02-01 14:03:59 -08:00
Mitchell Hashimoto
26adfb0de6
Put the provider name in the status output
2013-02-01 13:54:52 -08:00
Mitchell Hashimoto
d19194d95b
`vagrant provision` accepts `--provision-with` [GH-1167]
2013-01-30 22:54:28 -08:00
Mitchell Hashimoto
25713e4568
Show proper message when viewing status for multi-machine
2013-01-30 20:22:29 -08:00
Mitchell Hashimoto
72c10b53e7
Convert provision types to symbols so they work
2013-01-30 19:51:04 -08:00
Mitchell Hashimoto
b91d7203eb
Pass the start options into the actions so that they have effect
2013-01-30 19:49:18 -08:00
Mitchell Hashimoto
75ea4e5bdd
--provision-with works properly again
2013-01-30 19:42:54 -08:00
Mitchell Hashimoto
e0f0066c99
--no-provision works properly again
2013-01-30 19:39:21 -08:00
Mitchell Hashimoto
aa980f2234
Forced halts work
2013-01-29 10:55:40 -08:00
Mitchell Hashimoto
f7b39476a0
vagrant destroy --force works [GH-1340]
2013-01-29 10:33:40 -08:00
Mitchell Hashimoto
2d2f9577af
Fix repackage command to actually work properly
2013-01-28 13:06:18 -08:00
Mitchell Hashimoto
8c4a7350fe
vagrant status uses new MachineState results
2013-01-21 11:35:46 -06:00
Mitchell Hashimoto
cfe55eb57f
Whitespace weirdness in the `status` command file
2013-01-21 10:47:29 -06:00
Mitchell Hashimoto
10a051a64b
box add works even if no provider is set
2013-01-16 22:52:44 -08:00
Mitchell Hashimoto
124a2ee5d3
Add the --provider optional flag to `box add`
2013-01-11 21:24:57 -08:00
Mitchell Hashimoto
2cfc5986d2
Wording changes in the status command. VM => machine
2012-12-24 10:00:28 -08:00
Mitchell Hashimoto
8fe0f86dbd
The --provider flag for `up` now actually does something.
2012-12-23 21:23:08 -08:00
Paul McKellar
2b0c4e6385
Change description of plugins to avoid self referencial definitions. e.g. 'destroy' will destroy your VM
2012-11-19 13:10:04 -08:00
Mitchell Hashimoto
67855be77b
Add the Environment#machine method
...
This will eventually replace the Environment#vms method. Because of the
introduction of providers, the environment doesn't know what the backing
of the machines will be (and they're _machines_ now, not _vms_).
Instead, users of Environment will now call `#machine` on the
environment to retrieve a machine with the given backing provider as it
needs it.
2012-11-07 21:45:09 -08:00
Mitchell Hashimoto
e8370f0098
Convert comands to V2 plugins.
2012-11-06 21:09:29 -08:00
Mitchell Hashimoto
391dc39267
Merge branch 'machine-abstraction'
...
This branch brings in the "machine abstraction" code. This is a major
milestone in the development of Vagrant as it abstracts all of the
VirtualBox-specific code out into a plugin. There is zero VirtualBox
specific code in the core ("lib/") directory at this point. Read on for
important points.
== Gotchas
White it is technically possible now to write plugins for other
providers, there is still major work to be done to make this feasible.
The plugin interface itself is pretty much done, but there are some
issues:
* ":virtualbox" is the hardcoded provider to be used at the moment.
* There is no way to configure a provider. For example,
`config.vm.customize` would never work for anything other than
VirtualBox, so there needs to be a way to have provider-specific
configuration. This will come soon.
* Shared folders and networking need to be rearchitected to be friendly
for multiple providers, since it is unrealistic that a provider such as
EC2 could provide the same level of networking, for example.
* There is no way easy way (like `vagrant package --base`) to create
boxes for providers other than VirtualBox. This will be addressed in a
whole new feature of Vagrant probably in a future release after
provider stuff has shipped.
== Writing a Provider
To write a provider, you create a Vagrant plugin that defines a
"provider". See the "plugins/providers/virtualbox/plugin.rb" for more
details. Providers themselves have an exremely simple API. The burden
for writing providers mostly rests on the fact that you must define
complex middleware sequences.
Lots more work to come in the future, but this is a BIG MILESTONE!
2012-08-19 19:27:09 -07:00
Mitchell Hashimoto
ba0e426507
Get vagrant package --base working in some hacky way.
...
`vagrant package --base` is deprecated for a future feature so I didn't
want to waste any brain cycles on how to do this the "right" way since a
new system will be introduced to do this sort of thing in teh future.
2012-08-19 18:51:36 -07:00