Mitchell Hashimoto
1c29c39f1b
core: generalize the autostart stuff so we don't have a bunch of specials
2014-04-21 13:53:35 -07:00
Mitchell Hashimoto
d7a009f447
style
2014-04-21 13:53:34 -07:00
Mitchell Hashimoto
ac5a0cf326
commands/ssh-config: work without target into multi-machine env [GH-2844]
2014-04-21 13:52:59 -07:00
Mitchell Hashimoto
f6fb9016a1
core: can specify a "post_up_message" [GH-1968]
2014-04-21 13:52:28 -07:00
Mitchell Hashimoto
e14216da4e
commands/global-status: initial go at it
2014-04-21 13:51:22 -07:00
Ramon de la Fuente
f6a5e20688
Add autostart as an option for vagrant boxes
...
Added specs for the environment and vagrantfile. Added a methd to retrieve
autostart_machine_names. Changed the plugin up/command to use autostart_machine_names
when no argument was given to the command.
2014-04-21 13:50:57 -07:00
Mitchell Hashimoto
ae8be9356e
commands/box/update: show current version [GH-3467]
2014-04-14 18:55:22 -07:00
Mitchell Hashimoto
00962c7c2a
commands/box/repackage: better error if box not found
2014-04-12 18:00:33 -07:00
Mitchell Hashimoto
adca39b471
commands/box/repackage: works with new stuff [GH-3372]
2014-04-12 17:57:51 -07:00
Christian Berendt
764c007a93
When there are multiple versions of a box are available it should be checked if an update is available for the highest version.
...
Example:
There are version 0.2.10 and 0.2.11 available. The latest update is version 0.2.12.
```
berendt/ubuntu-14.04-amd64 (virtualbox, 0.2.10)
berendt/ubuntu-14.04-amd64 (virtualbox, 0.2.11)
```
Without this patch it will be checked if a higher version than 0.2.10 is available.
```
Checking for updates to 'berendt/ubuntu-14.04-amd64'
Version constraints: > 0.2.10
Provider: virtualbox
Updating 'berendt/ubuntu-14.04-amd64' with provider 'virtualbox' from version
'0.2.10' to '0.2.12'...
Loading metadata for box 'https://vagrantcloud.com/berendt/ubuntu-14.04-amd64 '
Adding box 'berendt/ubuntu-14.04-amd64' (v0.2.12) for provider: virtualbox
Downloading: https://vagrantcloud.com/berendt/ubuntu-14.04-amd64/version/23/provider/virtualbox.box
Successfully added box 'berendt/ubuntu-14.04-amd64' (v0.2.12) for 'virtualbox'!
```
with this patch it will be checked if a higher version than 0.2.11 is available (the expected behaviour).
```
Checking for updates to 'berendt/ubuntu-14.04-amd64'
Version constraints: > 0.2.11
Provider: virtualbox
Updating 'berendt/ubuntu-14.04-amd64' with provider 'virtualbox' from version
'0.2.11' to '0.2.12'...
Loading metadata for box 'https://vagrantcloud.com/berendt/ubuntu-14.04-amd64 '
Adding box 'berendt/ubuntu-14.04-amd64' (v0.2.12) for provider: virtualbox
Downloading: https://vagrantcloud.com/berendt/ubuntu-14.04-amd64/version/23/provider/virtualbox.box
Successfully added box 'berendt/ubuntu-14.04-amd64' (v0.2.12) for 'virtualbox'!
```
2014-04-12 11:03:04 +02:00
Mitchell Hashimoto
cc99719717
Merge pull request #3293 from emyl/machine-readable-plugin-list
...
Add machine readable output for `vagrant plugin list` command
2014-04-01 22:29:21 -07:00
Mitchell Hashimoto
d45eb1f183
commands/box: show version
2014-04-01 22:04:49 -07:00
Christian Berendt
50bf36e747
display version by default when listing boxes
...
example usage:
$ vagrant box list
berendt/ubuntu-14.04-amd64 (virtualbox) [0.1.3]
berendt/ubuntu-14.04-amd64 (virtualbox) [0.1.4]
berendt/ubuntu-14.04-amd64 (virtualbox) [0.1.5]
related to issue #3313
2014-03-25 18:45:13 +01:00
Emiliano Ticci
08e7a76962
Add machine readable output for `vagrant plugin list` command
2014-03-23 13:09:16 +01:00
Mitchell Hashimoto
b6cd952fc4
commands/status: target for machine readable [GH-3218]
2014-03-14 13:05:24 -07:00
Mitchell Hashimoto
5db58d6a33
commands/plugin: list notes system gems
2014-03-03 14:57:42 -08:00
Mitchell Hashimoto
dd9dd5127c
Merge pull request #2948 from gnawhleinad/master
...
command/*: clean up usage
2014-02-10 09:02:32 -08:00
Lukasz Jastrzebski
654870a185
Fixing ssh_config proxy_command is not included
2014-02-09 16:27:32 -08:00
gnawhleinad
fbcac2978e
clean up usage
2014-02-08 00:20:50 -08:00
Mitchell Hashimoto
8e9ceeaf5c
core: Machine has reference to Vagrantfile
2014-02-07 09:16:55 -08:00
Mitchell Hashimoto
cdf1d7f318
core: get rid of all uses of config_global
2014-02-06 20:22:15 -08:00
Mitchell Hashimoto
85aa7db17e
commands/box: repackage tests
2014-02-05 21:20:29 -08:00
Mitchell Hashimoto
7a6d1a3ff1
commands/box: update command can update a specific box now
2014-02-05 21:20:23 -08:00
Mitchell Hashimoto
386938f0b1
commands/box: update looks prettier on output
2014-02-05 21:20:22 -08:00
Mitchell Hashimoto
cf9004241e
core: output what we're updating and what we're not
2014-02-05 21:20:21 -08:00
Mitchell Hashimoto
88b64f93a4
commands/box: "update" command
2014-02-05 21:20:19 -08:00
Mitchell Hashimoto
61a1082d65
core: BoxCheckOutdated is *much* simpler, unified logic, tests
2014-02-05 21:20:18 -08:00
Mitchell Hashimoto
b5157df2cc
core: BoxCheckOutdated only runs if told to
2014-02-05 21:20:14 -08:00
Mitchell Hashimoto
d78194654d
core: ability to hide success UI
2014-02-05 21:20:12 -08:00
Mitchell Hashimoto
e537e02d9d
core: BoxCheckOutdated can check if a box is outdated
2014-02-05 21:20:11 -08:00
Mitchell Hashimoto
f2509f5c65
commands/box: outdated command to find outdated boxes
2014-02-05 21:20:10 -08:00
Mitchell Hashimoto
b71cde6b99
core: make box add UI much icer
2014-02-05 21:19:44 -08:00
Mitchell Hashimoto
c1d5c8f33c
commands/box: remove has --box-version flag
2014-02-05 21:19:43 -08:00
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
Mitchell Hashimoto
47fe278667
`vagrant box add` works again. Box verification remove temporarily.
...
The built-in middleware sequences will now be hardcoded onto
Vagrant::Action. Other plugins can hook into these sequences to provide
verification and so on. So the VirtualBox plugin will hook into that
action sequence and add verification.
2012-08-18 16:13:14 -07:00
Mitchell Hashimoto
85a4fb82a8
`vagrant package` a single VM works!
2012-08-15 21:04:37 -07:00
Mitchell Hashimoto
b659191a02
`vagrant up`!
2012-08-14 22:38:41 -07:00
Mitchell Hashimoto
aaeb060f33
`vagrant provision`
2012-08-14 21:21:31 -07:00
Mitchell Hashimoto
7aa083d259
`vagrant reload` now works with the new machine abstraction
2012-08-14 21:12:41 -07:00
Mitchell Hashimoto
2fc18f7207
`destroy` gets a little farther, and properly halts the VM
2012-08-13 23:18:50 -07:00
Mitchell Hashimoto
bca8663742
`vagrant resume` works with the new machine abstraction
2012-08-13 20:03:35 -07:00
Mitchell Hashimoto
db11c16b79
ssh_config works with new machine abstraction
2012-08-13 19:48:26 -07:00
Mitchell Hashimoto
83b908f3d8
`vagrant suspend` works with new machine abstraction
2012-08-13 19:30:41 -07:00
Mitchell Hashimoto
7efee573b8
`vagrant ssh -c` now exits with the proper exit code
2012-08-11 20:35:34 -07:00
Mitchell Hashimoto
5e70ad0ec2
`vagrant ssh -c` now uses a middleware sequence
2012-08-10 00:57:23 -07:00
Mitchell Hashimoto
f1c1dfad2f
Some SSH command cleanup
2012-08-07 11:31:55 -07:00
Mitchell Hashimoto
e0ec679838
`vagrant ssh` with full console works with new provider.
...
This works by now calling the `:ssh` action on the provider. This action
is allowed to do whatever it pleases, but should at some point probably
call the `SSHExec` built-in middleware.
The `SSHExec` built-in middleware was added. This uses the information
returned by `Machine#ssh_info` and uses the `Vagrant::Util::SSH` helper
to exec into the remote machine. The provider should do any work upfront
in verifying that the machine is ready to be SSHed into.
2012-08-05 13:45:24 -07:00
Mitchell Hashimoto
002a83d7f7
Update SSH config help to properly reflect "--host" usage.
2012-07-30 11:42:29 -07:00
Mitchell Hashimoto
31a3a3f2e2
Start moving the halt commands over to the new provider interface
2012-07-28 10:43:16 -07:00
Mitchell Hashimoto
118377e6f0
Destroy sequence asks the user for confirmation.
2012-07-27 19:29:40 -07:00
Mitchell Hashimoto
5eed3b8417
Building up the `destroy` action again using new provider API.
...
This shows me moving the built-in middleware sequences to the provider
and how I'm organizing all that.
2012-07-26 22:39:27 -07:00
Mitchell Hashimoto
c634cbedcc
Handle interrupts more gracefully on the warning message
2012-07-11 18:47:41 -07:00
Mitchell Hashimoto
f20666e230
Automatically upgrade the boxes all over.
2012-07-11 18:36:23 -07:00
Mitchell Hashimoto
23dfc45df2
`box repackage` now uses new Box API
2012-07-11 18:36:22 -07:00
Mitchell Hashimoto
6bb621026f
`vagrant box add` uses the new API.
...
This assumes VirtualBox boxes for now, which is fine.
2012-07-11 18:36:22 -07:00
Mitchell Hashimoto
5b18a6525d
`vagrant box remove` uses new API
2012-07-11 18:36:22 -07:00
Mitchell Hashimoto
6386ec2b79
`vagrant box list` uses the new collection stuff
2012-07-11 18:36:22 -07:00
Mitchell Hashimoto
2995b6439d
Interrupt when asking to destroy a VM should exit. [GH-1017]
2012-07-11 18:33:28 -07:00
Mitchell Hashimoto
b23dda54b8
Move command base class to a plugin component
2012-06-26 16:18:02 -07:00
Mitchell Hashimoto
a1b37980e3
Defer loading for commands to last possible moment
2012-05-23 16:18:29 -07:00
Mitchell Hashimoto
8846a19c70
Convert all command plugins to use the new `activated` block
2012-05-21 22:43: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
582f214024
Fix some basic mistakes with commands
2012-04-21 17:32:13 -07:00
Mitchell Hashimoto
9956e6d012
Better directory structure for plugins
2012-04-20 16:53:01 -07:00