Gilles Cornu
f96636587a
provisioners/ansible: don't read/write known_hosts
...
Like Vagrant's default SSH behaviors (e.g ssh or ssh-config commands),
the Ansible provisioner should by default not modify or read the user
known host file (e.g. ~/.ssh/known_hosts).
Given that `UserKnownHostsFile=/dev/null` SSH option is usually combined
with `StrictHostKeyChecking=no`, it seems quite reasonable to bind the
activation/disactivation of both options to `host_key_checking`
provisioner attribute.
For the records, a discussion held in Ansible-Development mailing list
clearly confirmed that there is no short-term plan to adapt Ansible to
offer an extra option or change the behavior of
ANSIBLE_HOST_KEY_CHECKING. For this reason, the current implementation
seems reasonable and should be stable on the long run.
Close #3900
Related References:
- https://groups.google.com/forum/#!msg/ansible-devel/iuoZs1oImNs/6xrj5oa1CmoJ
- https://github.com/ansible/ansible/issues/9442
2014-11-30 09:55:48 +01:00
Gilles Cornu
178942cf27
provisioners/ansible: change arguments arrangement
...
- force `--connection=ssh` (any other modes like paramiko or smart are not
supported)
- give the highest priority to `raw_arguments` for sake of simplicity (in
usage, in code and in documentation)
- fix position of the `--limit` argument (the generated inventory could be
shadowed by `raw_arguments`, while ansible.limit was able to override
`raw_arguments`
ref #3396
2014-11-30 09:50:50 +01:00
Gilles Cornu
306c4f7eda
provisioners/ansible: force --connection=ssh
...
When `--connection` argument is not specified, Ansible will use the
'smart' mode, which can either use `ssh` or `paramiko` transports,
depending of the version of OpenSSH available. If OpenSSH version is new
enough to support ControlPersist technology, `ssh` will be used.
See also http://docs.ansible.com/intro_configuration.html#transport .
In order to support some advanced features of Vagrant (e.g. multiple ssh
private key identities or ssh forwarding), the Ansible provisioner
already must force `ssh` connection mode.
Having to deal with the possible fallback to `paramiko` increase the
burden of special cases that Ansible provisioner must handle, without
any added value, as Vagrant is based on OpenSSH and its users are
usually using modern operating systems.
With this change, the Ansible provisioner will officially only support
`ssh`. It will still be possible to switch to another connection mode
via `raw_arguments`, but it will breach the "contract", and no
(community) support can be expected in such use case.
ref #3900 , #3396
2014-11-30 09:50:50 +01:00
Gilles Cornu
1c884fa4e5
provisioners/ansible: Show Ansible command when VAGRANT_LOG=debug
2014-11-25 08:12:43 +01:00
Mitchell Hashimoto
f8a2322459
core: only delete state if not created on initialize only
...
/cc @sethvargo
2014-11-10 16:29:19 -08:00
Seth Vargo
5b1211fc63
Merge pull request #4792 from mwrock/state_refresh_fix
...
fixes infinite loop in machine state call if provider calls machine.action
2014-11-10 12:24:24 -05:00
Seth Vargo
f232dc38c9
Automatically install Chef when provisioning with Chef
2014-11-07 15:56:22 -05:00
Seth Vargo
b7c03ddbe2
Update config tests to reflect new structure
2014-11-07 15:56:21 -05:00
Matt Wrock
dc628cd722
fixes infinite loop in machine state call if provider calls machine.action
2014-11-06 08:51:47 -08:00
Seth Vargo
1464a63928
Merge pull request #4777 from voxik/remove-useless-expect-with
...
Remove useless expect_with
2014-11-04 09:29:29 -05:00
Vít Ondruch
dff40a193d
Remove useless expect_with.
...
This seems to be relict of old days and it just forces unnecessary
dependency on Ruby's test unit.
2014-11-04 10:01:32 +01:00
Seth Vargo
59eb0ad2e8
Add Chef Apply provisioner
2014-10-30 15:32:15 -04:00
Seth Vargo
3b416db299
Tabs -> Spaces
2014-10-30 13:43:26 -04:00
Seth Vargo
f5b9044e39
Add tests for Chef Zero config
2014-10-30 13:43:26 -04:00
Seth Vargo
a8a35757ee
Add tests for Chef Solo config
2014-10-30 13:43:26 -04:00
Seth Vargo
9c56061fa9
Add tests for Chef Client config
2014-10-30 13:43:25 -04:00
Seth Vargo
8b3ec500c8
Remove :focus tag (accidentally left from previous commit)
2014-10-30 13:43:25 -04:00
Seth Vargo
f009db6101
Add tests for Chef base Config
2014-10-30 13:43:25 -04:00
Mitchell Hashimoto
f4dec575ed
core: Vagrant::Util::Keypair for generating keypairs
2014-10-24 09:33:44 -07:00
Mitchell Hashimoto
97f9948fce
core: provisioners are defined differently now
2014-10-23 18:40:14 -07:00
Mitchell Hashimoto
13dc1832b6
test: fix test for default provider
2014-10-23 16:41:24 -07:00
Mitchell Hashimoto
b7478e09f3
core: clean up default logic
2014-10-23 15:59:27 -07:00
Mitchell Hashimoto
768d453739
core: Environment#default_provider can look into machines
2014-10-23 15:52:42 -07:00
Mitchell Hashimoto
ad758bf69a
core: prefer providers in the Vagrantfile [GH-3812]
2014-10-23 15:32:54 -07:00
Mitchell Hashimoto
f0a73c7c05
core: call #state in any #action call [GH-4513]
2014-10-23 12:20:16 -07:00
Mitchell Hashimoto
4827469dee
core: recognize more complex content types for json [GH-4525]
2014-10-23 11:26:56 -07:00
Mitchell Hashimoto
2856df79ac
core: Vagrant.has_plugin? can take version requirements [GH-4650]
2014-10-23 10:52:02 -07:00
Mitchell Hashimoto
f122ed756c
Merge pull request #4571 from jperville/docker-provider-allow-multiple-links-to-same-backend
...
providers/docker: allow multiple links to same backend (different aliases)
2014-10-23 09:45:14 -07:00
Mitchell Hashimoto
5036d16461
update CHANGELOG
2014-10-23 09:15:47 -07:00
Mitchell Hashimoto
381f1332c8
Merge pull request #4670 from gildegoma/dry-check-ssh-perms
...
Check SSH key permissions in machine.ssh_info
2014-10-23 09:14:31 -07:00
Mitchell Hashimoto
7287604450
Merge pull request #4671 from jramnani/fix/master/nfs_exports_file_for_freebsd_guests
...
Fix #4658 . Bad NFS exports file on OS X & BSD hosts.
2014-10-23 09:12:00 -07:00
Mitchell Hashimoto
296d0639cc
providers/docker: support auth [GH-4042]
2014-10-22 13:12:31 -07:00
Mitchell Hashimoto
cff57c8d01
core: trigger machine_id_changed for reload [GH-3963]
2014-10-22 12:07:49 -07:00
Mitchell Hashimoto
7988f0fb7c
Fix broken unit tests
2014-10-22 09:44:48 -07:00
Mitchell Hashimoto
82f806f438
Fix unit tests
2014-10-22 08:39:59 -07:00
Mitchell Hashimoto
9d4ab18f42
providers/docker: stop_timeout [GH-4504]
2014-10-21 17:50:45 -07:00
Jeff Ramnani
bd5fd7ab18
Fix #4658 . Bad NFS exports file on OS X & BSD hosts.
...
For FreeBSD guests, Virtualbox can sometimes report the private network
interface IP address as "0.0.0.0". This will cause an invalid NFS
exports file to be generated for FreeBSD and OS X hosts.
Fixed by not allowing Virtualbox to report a guest IP address of
"0.0.0.0".
2014-10-20 12:35:30 -05:00
Gilles Cornu
89a4a29d65
Memoize machine.ssh_info when ready for connection
2014-10-20 17:45:02 +02:00
Gilles Cornu
4e81be879c
Check SSH key permissions in machine.ssh_info
...
With this change, any caller of machine.ssh_info is assured that best
efforts will be done to fix possible wrong permissions on the private
key files.
Fix #4652
2014-10-20 17:33:06 +02:00
Shawn Neal
220e4f23b2
Merge pull request #4209 from mwrock/smb_sync
...
adding smb sync folder implementation for windows guests addressing #3699
2014-10-07 08:19:26 -07:00
Julien Pervillé
97341c3234
providers/docker: allow multiple links to same backend (different aliases).
2014-09-29 18:46:01 +02:00
Ray Ruvinskiy
5a7e00c5b1
Add HTTPS download options to `box update` and `box outdated`
...
Vagrant::Box.load_metadata did not provide a way to specify the HTTPS
download options that could be specified when downloading boxes
(ca cert, ca path, client cert, insecure). As a result, while it was
possible to add a box whose metadata file needed to be downloaded with one of
those options specified, it was impossible to check for updates. The following
changes have been made to address the situation:
1. Create a DownloadMixins module to provide the --insecure, --cacert, --capth,
and --cert command line options to all of `vagrant box add`,
`vagrant box update`, and `vagrant box outdated`.
2. Extend `Vagrant::Box.has_update?` and `Vagrant::Box.load_metadata` to accept
said download options.
3. Extend `box outdated` and `box update` commands to pass download options
down.
4. Extend `Vagrant::Builtin::Action::BoxCheckOutdated` to honour download
options.
5. Options specified on the command line take precedence over options specified
in the machine configuration, if any.
6. Fix bug in `vagrant box add` where client cert was being passed down using
the wrong environment key.
7. Unit test coverage in update_test and box_check_outdated_test.
Resolves #4420
2014-09-07 23:57:34 -04:00
Mitchell Hashimoto
8655d212c3
kernel/v2: always forward SSH [GH-4437]
2014-09-04 14:19:47 -07:00
Mitchell Hashimoto
09d2b6fd86
core: add Checkpoint
2014-09-01 15:06:51 -07:00
Mitchell Hashimoto
41f4ec1e4d
guests/redhat: set hostname on EL7 [GH-4352]
2014-08-31 09:58:12 -07:00
Mitchell Hashimoto
083dce5c61
Revert "core: guard against SSH to localhost:22 [GH-4070]"
...
This reverts commit 62561f2844
.
This broke WinRM. Will fix in a future version.
2014-08-30 22:55:13 -07:00
Eric Saxby
dd77295533
Ensure rsync_post has find permissions on smartos
2014-08-29 14:17:28 -07:00
Mitchell Hashimoto
a6163d4062
Fix failing test
2014-08-29 11:26:09 -07:00
Leo Simons
fec14cf04c
Use -f argument to rm to force-remove files.
...
When using pty=true, removing files using sudo may request confirmation,
which will hang the connection.
Similarly, sometimes assumptions about file existence may be wrong and
in those cases it seems better to continue on as long as the file does
not exist, so -f makes sense there, too.
2014-08-29 10:51:31 +02:00
Veres Lajos
4ef996dca9
typofixes - https://github.com/vlajos/misspell_fixer
2014-08-25 20:12:25 +01:00
Mitchell Hashimoto
a53156e426
core: don't allow '/' in VM name [GH-4289]
2014-08-11 09:21:31 -07:00
Matt Wrock
e64f84491e
adding smb sync folder implementation for windows guests addressing #3699
2014-08-11 00:07:21 -07:00
Mitchell Hashimoto
b675be383b
core: disallow brackets in VM names [GH-4319]
2014-08-10 21:05:29 -07:00
Mitchell Hashimoto
e198652e75
core: don't load curlrc [GH-4328]
2014-08-10 20:49:53 -07:00
Mitchell Hashimoto
15f1823d5c
core: box names with colons work on Windows [GH-4100]
2014-08-08 14:47:17 -07:00
Mitchell Hashimoto
27bf597214
Add box collection test for colons
2014-08-08 14:35:05 -07:00
Mitchell Hashimoto
62561f2844
core: guard against SSH to localhost:22 [GH-4070]
2014-08-08 11:58:53 -07:00
Mitchell Hashimoto
a08d9078da
commands/rsync-auto: check machine ID prior to sync [GH-4031]
2014-08-06 16:56:09 -07:00
Mitchell Hashimoto
7f5f720e0a
core: Machine#reload
2014-08-06 16:46:31 -07:00
Mitchell Hashimoto
94841ef1bc
Merge pull request #4094 from mitchellh/improved-winrm-command-failure-messaging
...
provisioners/winrm: Better WinRM command failure messaging
2014-08-06 10:44:35 -07:00
Mitchell Hashimoto
2cdcc29902
provisioners/chef: put global lock around knife exec
2014-08-06 10:24:05 -07:00
Mitchell Hashimoto
f5854c5618
Merge pull request #4234 from b-dean/fixnum-array-args-fix
...
provisioner/shell: fix cannot handle Fixnum array args
2014-08-05 17:29:59 -07:00
Mitchell Hashimoto
7aff08f9a1
Merge pull request #4271 from Scythril/winrm_mkdir_rm_filter
...
communicator/winrm: Fixed some WinRM command filters
2014-08-05 17:22:24 -07:00
Mitchell Hashimoto
bd94fbd9ba
Merge pull request #4274 from sax/smartos_rsync
...
guests/smartos: rsync on SmartOS should use pfexec
2014-08-05 17:20:38 -07:00
Franz Pletz
6def193567
Add config.vm.box_server_url setting
...
This commits adds a new config setting `config.vm.box_server_url` to set
the URL of a local VagrantCloud instance in the Vagrantfile. If the
environment variable `VAGRANT_SERVER_URL` is set, it will still be
preferred.
2014-08-01 14:38:55 +02:00
Eric Saxby
0cb7ec2d52
rsync on SmartOS should use pfexec
2014-07-31 14:41:06 -07:00
Richard Guin
08732f5a39
Added/updated unit tests for WinRM mkdir/rm command filters
2014-07-31 14:42:11 -04:00
Ben Dean
7dc0e4340e
adding failing tests for fixnum args in an array.
...
The args need to be strings so that an error won't happen with `text.gsub` in bb052366f7/plugins/provisioners/shell/provisioner.rb (L122)
See my comments on mitchellh/vagrant#2982 as to why it needs to test for this.
2014-07-22 15:41:01 -04:00
Shawn Neal
911406ed4a
Addressed issues with Windows guest renaming on Win7/8
...
Removed dependency upon netdom which is not always available on all Windows versions. This implementation that uses PowerShell and WMI should work on all OS and PowerShell versions.
Fixed another issue where host renames would always happen when the hostname was longer than 15 characters. The COMPUTERNAME environment variable only returns the first 15 characters so we no longer use that to check the current host name.
2014-06-25 12:15:01 -07:00
Shawn Neal
c72a412600
Better WinRM command failure messaging
...
Command failures include the stdout and stderr in the error message just like the SSH communicator.
Its now possible to specify only an error_class and have that use the correct error_key by default.
2014-06-24 10:09:11 -07:00
Shawn Neal
d4bd05883d
Fixed issue 3987
...
Reboot the Windows guest after renaming the computer so changes take affect immediately before attempting to provision the box.
- Changed rename from wmic to netdom since netdom seems to work correctly in Windows 2008R2 and newer OSs.
- Fixed Windows guest error translations, the wrong namespace was specified in the yaml file.
2014-06-09 22:46:03 -07:00
Kalman Hazins
bb052366f7
Change symbols inside hashes to 1.9 JSON-like syntax
2014-05-22 12:35:12 -04:00
Mitchell Hashimoto
d7fa60b5df
communicators/winrm: use winrm_info cap if available [GH-3832]
2014-05-20 20:13:36 -07:00
Shawn Neal
0d3979f80d
Fixed issue 3816
...
Elevated command line is now rendered to a script which is uploaded to the guest and executed. This allows the command line itself to be less than 100 chars to start the script and any user commands are puts into the script which has unlimited* length.
2014-05-19 08:04:59 -07:00
YungSang
a2ed1cd014
Revise the unit case, too
2014-05-13 15:23:38 -07:00
Mitchell Hashimoto
ca6e2393bd
core: providers can choose to not be defaultable [GH-3742]
2014-05-09 16:02:09 -07:00
Mitchell Hashimoto
745bdf6766
providers/docker: ability to specify build dir synced folder opts [GH-3727]
2014-05-08 18:46:03 -07:00
Mitchell Hashimoto
a9029842a6
kernel/v2: multiple synced folder lines override each other
2014-05-08 18:39:13 -07:00
Mitchell Hashimoto
434a13b4e4
kernel/v2: automatically forward winrm if comm is winrm [GH-3685]
2014-05-08 17:00:55 -07:00
Gosha Arinich
7558524482
docker container links is actually a hash, fix tests
2014-05-08 21:27:58 +03:00
Mitchell Hashimoto
338328fa15
kernel/v2: hostnames can be one character [GH-3713]
2014-05-08 09:10:13 -07:00
Gilles Cornu
919b5245ff
provisioners/chef: Rename a unit test file
...
This way these tests are part of `rake test:unit`
Similar to [GH-3673]
2014-05-08 06:00:58 +02:00
Fabio Rehm
7538d07233
providers/docker: Ensure long flags are used
2014-05-07 12:12:16 -03:00
Fabio Rehm
3ab5064e02
providers/docker: Add required configs and specs (build is green now)
2014-05-07 12:12:16 -03:00
Fabio Rehm
89db0f64e5
providers/docker: Rename test files for consistency
2014-05-07 11:19:36 -03:00
Mitchell Hashimoto
ca428388d8
providers/docker: can set default provider to docker [GH-3662]
2014-05-06 21:49:49 -07:00
Mitchell Hashimoto
d4087db7c5
core: no active machines if there is no vagrant env
2014-05-06 13:36:42 -07:00
Mitchell Hashimoto
45fc89877c
core: MachineIndex valid test is better
2014-05-05 21:50:51 -07:00
Mitchell Hashimoto
5d94ab9e60
core: if state ID is NOT_CREATED_ID, destroy machine state
2014-05-05 21:44:34 -07:00
Mitchell Hashimoto
d7a9bcda47
providers/docker: vagrant_machine setting works proprely
2014-05-05 21:13:15 -07:00
Mitchell Hashimoto
958684fd7e
guests/debian: more tests for hostname
2014-05-05 09:31:54 -07:00
Mitchell Hashimoto
8e334d2f24
guests/debian: fix tests
2014-05-05 09:29:23 -07:00
Gilles Cornu
e884dfad71
provisioners/ansible: try to improve unit tests
...
I still cannot explain the cause of these random errors in this unit test,
but it is anyway safe and suitable to update the test code as following:
- use stricter regular expression matching (-l is included in --limit)
- array lengths substraction instead of array contents substraction
2014-05-05 09:25:35 +02:00
Gilles Cornu
52a44de10c
provisioners/ansible: show ansible-playbook in use
...
Motivation:
By printing out the ansible command used behind the scene, we can ease
the support effort to very quickly identify whether a problem is due to
Vagrant provisioner or Ansible itself.
2014-05-04 22:54:12 +02:00
Gilles Cornu
a394d80254
provisioners/ansible: minor change in unit tests
2014-05-04 21:25:43 +02:00
Mitchell Hashimoto
c5b3dbbf75
core: fix final test
2014-05-01 10:12:36 -07:00
Mitchell Hashimoto
cca9bffa90
core: Can exclude providers
2014-05-01 09:50:35 -07:00
Mitchell Hashimoto
ab9f91568e
core: more intuitive logic around default providers
2014-05-01 09:46:40 -07:00
Mitchell Hashimoto
ba6272cc48
Update tests
2014-05-01 09:41:59 -07:00
Mitchell Hashimoto
a9dfb6b3bd
core: default provider chosen by usability and prority
2014-05-01 09:40:52 -07:00
Mitchell Hashimoto
429bd73495
core: provider has default priority of 5
2014-05-01 09:26:36 -07:00
Shawn Neal
f4b67df978
Removed unused halt timeout and check interval settings.
2014-05-01 08:00:41 -07:00
Shawn Neal
309f301a16
Added test to verify Windows symlinks to shares are fixed
2014-04-30 17:36:36 -07:00
Mitchell Hashimoto
d6b7f3a855
Fix tests
2014-04-29 17:02:10 -07:00
Mitchell Hashimoto
b08c1a62ce
Removing some old files
2014-04-29 16:48:12 -07:00
Mitchell Hashimoto
c818a14072
providers/docker: expose ports
2014-04-27 18:37:25 -07:00
Mitchell Hashimoto
ac040102f9
Merge pull request #3544 from benesch/rsync-conservative-chown
...
synced_folders/rsync: only chown when necessary
2014-04-27 15:59:40 -07:00
Mitchell Hashimoto
8c8099aebc
Merge pull request #3551 from benesch/3550
...
core: return {} if cached synced folders file missing [GH-3550]
2014-04-27 15:55:25 -07:00
Shawn Neal
cf71634813
DRY'd up Chef command building
...
There's very little difference between the command building on Linux and Windows other than path formatting. All Chef provisioners support the --no-color argument now.
Added unit tests to verify changes.
2014-04-26 21:07:26 -07:00
Shawn Neal
ebca0e7e44
Fixed bug in CommandBuilderWindows
...
CommandBuilderWindows would not include the Chef binary in the command when the binary_path was specified in the config.
Backfilled unit tests for CommandBuilderWindows
2014-04-26 21:07:26 -07:00
Shawn Neal
f18a397289
Allow WinRM commands to be run elevated via scheduled task
2014-04-26 21:07:26 -07:00
Nikhil Benesch
54e580149a
core: return {} if cached synced folders file missing [GH-3550]
...
A missing synced folders cache indicates an empty cache, not a failure
that should be handled by the caller. The cache file is missing from
data dirs created by an earlier version of Vagrant.
Fixes #3550 .
2014-04-26 15:39:25 -04:00
Gilles Cornu
de6ad1d5d3
provisioners/ansible: fix unit tests for [GH-3491]
2014-04-26 14:08:10 +02:00
jjshoe
7ef8477e43
provisioners/ansible: Don't run with two --limits
...
Conflicts:
test/unit/plugins/provisioners/ansible/provisioner_test.rb
2014-04-26 11:55:59 +02:00
Gilles Cornu
557a451e2f
provisioners/ansible: fix an error in a unit test
2014-04-25 22:11:13 +02:00
Gilles Cornu
4465eba753
provisioners/ansible: minor change in unit tests
...
Combine a maximum of options in the last test:
- Ansible Vault options from [GH-3338]
- raw_arguments
Note: it is not expected from Vagrant to reject incoherent combinations
2014-04-25 21:59:39 +02:00
Nikhil Benesch
2df36892dd
synced_folders/rsync: only chown when necessary [GH-3525]
...
Run remote rsync as root to guarantee that rsync can write to guestpath.
This obviates the need to chown the guestpath to the SSH user prior to
sync.
This brings a substantial speedup (2x on a moderately-sized shared
folder) and properly triggers filesystem notifications on only the files
changed by a given sync.
2014-04-25 15:00:12 -04:00
Mitchell Hashimoto
1a08c4def5
core: Box#in_use? as an API
2014-04-25 02:02:49 -07:00
Mitchell Hashimoto
4fb9832589
core: clean up the lock cleanup code, tests
2014-04-25 01:33:25 -07:00
Mitchell Hashimoto
de6759f94d
Merge pull request #3538 from mitchellh/f-box-usage
...
Track box usage (local) to know if envs are using boxes
2014-04-24 10:42:02 -07:00
Shawn Neal
4a2a147926
Refactored WinRM test command filter
2014-04-23 21:15:05 -07:00
Shawn Neal
1525aa0f78
Added WinRM grep command filter
...
This is needed because isn't available on Windows and Vagrant guest detection attempts to use grep for some OSs.
2014-04-23 20:37:15 -07:00
Shawn Neal
3efb4b1def
Allow WinRM shell test less restrictive
...
This will allow the shell class to append additional commands like exit $EXITCODE
2014-04-23 18:05:53 -07:00
Shawn Neal
96ab8f60c5
Added WinRM command filters
...
These will be used to replace the guest side command_alias script that is sent with every communicator execute call. This avoids some uncessary remote calls to the guest, makes it unit testable, and allows larger PowerShell commands to be invoked.
2014-04-23 17:50:20 -07:00
Shawn Neal
fdb6461af4
Fixed Windows tests to use modern Ruby hash style
2014-04-23 16:16:08 -07:00
Shawn Neal
59c140ab82
Fixed Windows test code style to use more elegant tap method
2014-04-23 16:12:27 -07:00
Mitchell Hashimoto
da69bd60a4
Fix some tests
2014-04-23 06:22:58 -07:00
Mitchell Hashimoto
5da77dee5c
commands/box/remove: add --force flag
2014-04-23 06:16:51 -07:00
Mitchell Hashimoto
85f4a4d5ee
commands/box/remove: if box is in use, warn user, ask for confirmation
2014-04-23 06:13:16 -07:00
Mitchell Hashimoto
e985308e9a
core: MachineIndex::Entry#valid? method and tests
2014-04-22 17:09:44 -07:00
Mitchell Hashimoto
2660252ede
core: Store the actual box data, not just the name
2014-04-22 16:46:11 -07:00
Mitchell Hashimoto
519c8af971
core: MachineIndex stores the box associated with a machine when ID is set
2014-04-22 15:26:56 -07:00
Shawn Neal
dbe73e842f
Added guest network tests for Windows guests
2014-04-22 14:03:07 -07:00
Shawn Neal
929e41aa5c
Backfilled unit tests for Windows guest support
...
- Fixed typo in helper test
- Removed extraneous machine.config prefix from Windows guest config validation
- Added WinRM communicator unit tests
- Added Windows guest capability unit tests
2014-04-22 11:03:37 -07:00
Mitchell Hashimoto
afd3f1ff43
synced_folders/nfs: can say functional is false explicitly
2014-04-21 20:37:14 -07:00
Mitchell Hashimoto
4372ab034e
providers/virtualbox: merge customizations properly
2014-04-21 13:56:32 -07:00
Emilien Kenler
744e5b9b30
More tests
2014-04-21 13:56:17 -07:00
Emilien Kenler
b77bd3e6bb
Unit test + vault password file existence check
2014-04-21 13:56:16 -07:00
Mitchell Hashimoto
8171471628
providers/docker: make merge logic a bit more sensible
2014-04-21 13:56:13 -07:00
Mitchell Hashimoto
862414af12
core: lock around machine actions
2014-04-21 13:56:09 -07:00
Mitchell Hashimoto
8a76c2bc76
providers/docker: can force a host VM optionally
2014-04-21 13:56:08 -07:00
Mitchell Hashimoto
79793ab130
providers/docker: config validation and specs
2014-04-21 13:56:07 -07:00
Mitchell Hashimoto
d2e2ccb625
core: A function for diffing synced folders
2014-04-21 13:55:56 -07:00
Mitchell Hashimoto
81df70eee0
providers/docker: support building Dockerfiles
2014-04-21 13:55:54 -07:00
Mitchell Hashimoto
61388186e9
providers/docker: can set custom container name
2014-04-21 13:55:51 -07:00
Mitchell Hashimoto
58ddc66b9c
providers/docker: can specify links
2014-04-21 13:55:50 -07:00
Mitchell Hashimoto
71d615212d
providers/docker: can set environmental variables
2014-04-21 13:55:49 -07:00
Mitchell Hashimoto
704ff98200
providers/docker: only sync folders if they're not already there
2014-04-21 13:55:26 -07:00
Mitchell Hashimoto
6883109d27
Fix tests
2014-04-21 13:55:25 -07:00
Mitchell Hashimoto
cabacae4cb
core: return nil if cached synced folders file doesn't exist
2014-04-21 13:55:24 -07:00
Mitchell Hashimoto
4557ece4df
core: SyncedFolders middleware saves what it synced
2014-04-21 13:55:23 -07:00
Mitchell Hashimoto
794cd4f287
core: MixinSyncedFolders have methods for save/reading from cache
2014-04-21 13:55:22 -07:00
Mitchell Hashimoto
ea864986fd
core: Add more tests for what we recently added
2014-04-21 13:55:21 -07:00
Mitchell Hashimoto
3c9219b8c9
core: Builtin SyncedFolders accepts alternate config
2014-04-21 13:55:18 -07:00
Mitchell Hashimoto
0153e0ccbb
core: Machine#action_raw for calling raw callables
2014-04-21 13:55:17 -07:00
Mitchell Hashimoto
d8bdb62ed4
core: MixinSyncedFolders lets a custom config through
2014-04-21 13:55:15 -07:00
Mitchell Hashimoto
646f0fa907
core: MachineIndex preserves the local data path for an env
2014-04-21 13:55:02 -07:00
Mitchell Hashimoto
e78d087c27
Tests passing
2014-04-21 13:54:59 -07:00
Mitchell Hashimoto
aa1abdd1c4
core: SSHExec middleware can have ssh info overridden
2014-04-21 13:54:53 -07:00
Mitchell Hashimoto
2add94ee28
core: BatchAction can run arbitrary code
2014-04-21 13:54:46 -07:00
Mitchell Hashimoto
8c7ab333a0
Squash the f-docker-hostmachine branch.
...
Initial work
commands/up: make sure all names to with_target_vms are strings
providers/docker: create a docker host VM if needed
providers/docker: executor abstraction for driver to eventually support remote
providers/docker: vagrant executor
providers/docker: support creating the machine
providers/docker: status works if host VM is gone
providers/docker: use start fence to get real docker output
core: Call preserves stack ordering
core: support Message post option
providers/docker: Guard some features with HasSSH checks
providers/docker: much better messaging around create/destroy
providers/docker: output the container ID on create
providers/docker: copy the hostmachine Vagrantfile to the data dir
providers/docker: should make host machine before any up action
providers/docker: HandleBox before the host machine
providers/virtualbox: functional_vboxsf to disable vboxsf
providers/virtualbox: synced folder usable method should take 2 args
providers/docker: default machine name to :default
2014-04-21 13:54:33 -07:00
Mitchell Hashimoto
2b07dec059
core: Use the MachineIndex#vagrant_env method
2014-04-21 13:54:31 -07:00
Mitchell Hashimoto
09ff31e3a3
commands/global-status: add --prune flag
2014-04-21 13:54:29 -07:00
Mitchell Hashimoto
6bf1f51e5b
core: add global-status tests
2014-04-21 13:54:26 -07:00
Mitchell Hashimoto
9b22ccbd32
core: MachineIndex updates existing entry if name, provider, path match
2014-04-21 13:54:25 -07:00
Mitchell Hashimoto
d72c18a8b1
MachineIndexTest
2014-04-21 13:54:24 -07:00
Mitchell Hashimoto
0dc40e1680
core: MachineIndex can have extra data attached to it
2014-04-21 13:53:38 -07:00
Mitchell Hashimoto
ba1676b232
providers/hyperv: fix tests and bug with usable?
2014-04-21 13:53:36 -07:00
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
9dd9fff637
core: check if provider is usable when requesting a machine
2014-04-21 13:53:10 -07:00
Mitchell Hashimoto
bc2e3727a9
core: Add usable? check to providers
2014-04-21 13:53:07 -07:00
Mitchell Hashimoto
ab2cae2379
providers/docker: synced folder usable? raises error, tests
...
/cc @fgrehm
2014-04-21 13:53:05 -07:00
Mitchell Hashimoto
2e13feb130
providers/docker: Clean up config and make a spec
2014-04-21 13:53:04 -07:00
Mitchell Hashimoto
61ffa53134
kernel/v2: boxes can be optional if a provider says so
...
/cc @fgrehm - For the DOcker provider, we can now make boxes optional. :)
No more dummy boxes!
2014-04-21 13:53:03 -07:00
Mitchell Hashimoto
e52556b5f5
tests passing
2014-04-21 13:53:00 -07:00
Mitchell Hashimoto
aad8e7f80d
core: provision "once" or "always" [GH-2421]
2014-04-21 13:52:30 -07:00
Mitchell Hashimoto
f6fb9016a1
core: can specify a "post_up_message" [GH-1968]
2014-04-21 13:52:28 -07:00
Mitchell Hashimoto
c4a4b998df
core: Test eager loading of WinRM
2014-04-21 13:51:51 -07:00
Fabio Rehm
e5375715ef
providers/docker: Update driver to docker 0.9
2014-04-21 13:51:45 -07:00
Fabio Rehm
5a60e568ce
providers/docker: Import code from https://github.com/fgrehm/docker-provider with some initial tweaks
2014-04-21 13:51:31 -07:00
Fabio Rehm
efc1122c42
provisioners/docker: Change to VagrantPlugins::DockerProvisioner namespace
2014-04-21 13:51:30 -07:00
Mitchell Hashimoto
a0e9f46251
core: commands can use the IDs from anywhere to control
2014-04-21 13:51:24 -07:00
Mitchell Hashimoto
48cf2c38f7
core: MachineIndex is enumerable
2014-04-21 13:51:21 -07:00
Mitchell Hashimoto
13a4db391a
core: Machine updates state cache when querying state
2014-04-21 13:51:20 -07:00
Mitchell Hashimoto
44e379e961
core: Machine sets index entries on ID sets
2014-04-21 13:51:19 -07:00
Mitchell Hashimoto
8a6bdbf710
core: Environment#machine_index
2014-04-21 13:51:17 -07:00
Mitchell Hashimoto
a29f5d7e01
core: Add MachineIndex#delete
2014-04-21 13:51:16 -07:00
Mitchell Hashimoto
ac032db6a6
core: MachineIndex has precision locking for entries
2014-04-21 13:51:14 -07:00
Mitchell Hashimoto
016afc7922
core: Basic MachineIndex class, starting point
2014-04-21 13:51:13 -07:00
Mitchell Hashimoto
21ac0810fd
communicators/winrm: more tests
2014-04-21 13:51:04 -07:00
Mitchell Hashimoto
f07ee5754a
core: Configurable communicator
2014-04-21 13:51:02 -07:00
Mitchell Hashimoto
40d89cf5ea
kernel/v2: configurable communicator (doesn't do anything yet)
2014-04-21 13:51:01 -07:00
Mitchell Hashimoto
eebebd8837
communicators/winrm: Config unit tests (a little)
2014-04-21 13:50:59 -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
Kenny Rasschaert
fc95e77237
provisioners/salt: error if minion_config missing
2014-04-19 23:24:30 +02:00
Mitchell Hashimoto
20473fe4ca
core: allow overriding default SSH port [GH-3474]
2014-04-15 10:37:08 -07:00
Mitchell Hashimoto
e7e9bcd360
Fix tests
2014-04-12 18:04:17 -07:00
Gilles Cornu
7ed17ae9ed
provisioners/ansible: use strict boolean options
...
With this change, the ansible provisioner fully complies with
the current user documentation.
2014-04-12 13:48:15 +02:00
Gilles Cornu
ad038890bb
provisioners/ansible: update specs after [GH-3436]
2014-04-12 10:53:02 +02:00
Gilles Cornu
baf0649dcf
provisioners/ansible: add more unit tests
...
Remove wrong usage of shared examples and introduce embedded class methods
(as kind of simple "RSpec macros") to reduce code duplication.
2014-04-12 10:53:01 +02:00
Gilles Cornu
e32783312b
provisioners/ansible: improve unit tests (wip)
...
- Don't mock the config object, but use a true instance
- When possible, take advantage of Rpsec before/after hooks to
reduce code repetitions
- Add an example ("with inventory_path option")
- Use a global variable to store the path of the generated inventory
- Miscellaneous changes in existing examples (style, fixes)
2014-04-12 08:18:35 +02:00
Gilles Cornu
f0a596b47c
provisioners/ansible: add first unit tests
2014-04-12 08:18:34 +02:00
Mitchell Hashimoto
2cb6a21a5a
core: Fix tests, which found broken logic in synced folders
2014-04-11 16:28:38 -07:00
Mitchell Hashimoto
3aad85fa30
style
2014-04-11 09:56:35 -07:00
Mitchell Hashimoto
794ca7a4df
Tests passing again
2014-04-09 10:57:00 -07:00
Mitchell Hashimoto
800cf7539b
synced_folders/rsync: don't crash if comm error during rsync-auto [GH-3419]
2014-04-09 08:58:56 -07:00
Mitchell Hashimoto
5f12126d32
core: network issues don't halt Vagrant during box update check [GH-3391]
2014-04-05 09:25:03 -07:00
Mitchell Hashimoto
0e46c5d9de
core: Raise predictable error if box metadata downlaod fails
2014-04-05 09:20:03 -07:00
Mitchell Hashimoto
5b360d0990
core: BoxCollection#find version constraint can benil
2014-04-02 19:50:44 -07:00
Mitchell Hashimoto
d1caf8c624
core: Allow direct box adding again
2014-04-02 19:45:49 -07:00
Mitchell Hashimoto
32d86ca42b
core: don't allow version for old-style box [GH-3260]
2014-04-02 09:32:34 -07:00
Mitchell Hashimoto
af7a589231
core: outdated check checks local boxes [GH-3321]
2014-04-02 08:37:03 -07:00
Mitchell Hashimoto
36ad327ec1
core: ignore if box doesn't exist on update check [GH-3326]
2014-04-02 08:24:38 -07:00
Mitchell Hashimoto
097dd2917c
core: better error when adding box with malformed version [GH-3332]
2014-04-01 22:48:52 -07:00
Mitchell Hashimoto
8195f7faab
core: add test for removing box version [GH-3364]
...
/cc @berendt - Added a test
2014-04-01 21:47:51 -07:00
Mitchell Hashimoto
600d01d792
Merge pull request #3102 from sax/smartos
...
guests/smartos
2014-03-20 17:50:20 -07:00
Paulo Bittencourt
1f694d4978
kernel/v2: allow provisioner plugins to register without config
2014-03-19 17:37:52 -04:00
Mitchell Hashimoto
846f942ff0
core: check for data_dir [GH-3208]
2014-03-14 14:04:00 -07:00
Fabio Rehm
99547eef8f
For some weird reason the changes introduced by transpec made this spec fail, this should fix it
2014-03-14 12:09:07 -03:00
Fabio Rehm
54656151cf
Convert specs to RSpec 2.14.8 syntax with Transpec
...
This conversion is done by Transpec 1.10.2 with the following command:
transpec test/unit/
* 507 conversions
from: obj.should
to: expect(obj).to
* 394 conversions
from: == expected
to: eq(expected)
* 260 conversions
from: obj.should_receive(:message)
to: expect(obj).to receive(:message)
* 85 conversions
from: obj.stub(:message)
to: allow(obj).to receive(:message)
* 25 conversions
from: its(:attr) { }
to: describe '#attr' do subject { super().attr }; it { } end
* 19 conversions
from: obj.should_not
to: expect(obj).not_to
* 7 conversions
from: obj.should_not_receive(:message)
to: expect(obj).not_to receive(:message)
* 3 conversions
from: Klass.any_instance.should_receive(:message)
to: expect_any_instance_of(Klass).to receive(:message)
2014-03-14 12:02:07 -03:00
Mitchell Hashimoto
513efa6739
core: Downloads with user/pass use curl -u flag [GH-3183]
2014-03-13 08:53:18 -07:00
Mitchell Hashimoto
012c28606f
kernel/v2: validate forwarded ports [GH-3187]
2014-03-13 08:32:05 -07:00
Eric Saxby
f36d372b32
Resolve confusion around SmartOS rsync_pre
...
rsync should *always* be pre-installed in SmartOS (global and local zones), as
it's part of the kernel. Previous commits incorrectly attributed #rsync_install
to running rsync, rather than to installing the rsync command.
2014-03-12 22:35:32 -07:00
Mitchell Hashimoto
8634cc309b
core: error earlier if adding a path that doesn't exist
2014-03-12 20:33:12 -07:00
Mitchell Hashimoto
56dd0e8531
synced_folders/rsync: don't watch excluded paths [GH-3159]
2014-03-12 19:40:18 -07:00
Mitchell Hashimoto
a6eafd6a12
synced_folders/rsync: execute rsync_post cap if it exists [GH-3163]
2014-03-12 18:43:59 -07:00
Mitchell Hashimoto
8624e2cbf2
Fix failing tests on Windows
2014-03-11 11:09:37 -07:00
Eric Saxby
31da3860e5
Add unit tests for smartos compatibility
2014-03-10 18:52:20 -07:00
Eric Saxby
edb4efa10a
Dummy communicator runs :test correctly
2014-03-10 18:51:47 -07:00
Mitchell Hashimoto
ee23b87eb6
core: Private boxes authenticate metadata box URLs too
2014-03-09 19:24:54 -07:00
Mitchell Hashimoto
06c881708d
Fix tests
2014-03-09 18:29:45 -07:00
Mitchell Hashimoto
4c9e6e46b2
provisioners/salt: don't use exteranl deep_merge [GH-2348]
2014-03-07 09:18:34 -08:00
Mitchell Hashimoto
d4511131b4
synced_folders/rsync: allow custom args [GH-3070]
2014-03-06 11:27:58 -08:00
Mitchell Hashimoto
4104f6c21f
Fix Hyper-V tests
2014-03-06 09:04:23 -08:00
Mitchell Hashimoto
79df69392f
core: initialize synced folder class only once [GH-3067]
2014-03-06 08:35:21 -08:00
Mitchell Hashimoto
35adc6063b
providers/hyperv: add test for windows guests
2014-03-05 18:50:31 -08:00
Mitchell Hashimoto
7f2fe524b3
core: use default color by default (not white)
2014-03-05 10:19:53 -08:00
Mitchell Hashimoto
857b989c47
provisioners/docker: setting to not auto assign name
2014-03-04 07:31:13 -08:00
Mitchell Hashimoto
4437bcd77f
core: better error if attempting to uninstall system plugin
2014-03-03 15:05:32 -08:00
Mitchell Hashimoto
b5637da6c4
core: plugin manager marks system gems as system
2014-03-03 14:55:34 -08:00
Mitchell Hashimoto
efddef0a80
core: add tests fornew systems path for plugin manager
2014-03-03 09:50:16 -08:00
Mitchell Hashimoto
7710fd16fa
core: load system plugins if they are installed
2014-03-03 09:44:29 -08:00
Mitchell Hashimoto
616bf15df5
core: Vagrant.installer_embedded_dir
2014-03-03 09:37:22 -08:00
Mitchell Hashimoto
5018e4d8a4
core: checksums supported when adding box from metadata
2014-03-01 12:03:22 +01:00
Mitchell Hashimoto
23bd397cb8
core: BoxMetadata supports checksums
2014-03-01 11:59:16 +01:00
Mitchell Hashimoto
ce350fe872
core: box checksums just work properly again for direct box adds
2014-03-01 11:54:37 +01:00
Mitchell Hashimoto
7926f7f051
core: box URLs can be authenticated by hooking
2014-03-01 11:38:04 +01:00
Mitchell Hashimoto
c735e81e4d
core: expand IsState to support inversions
2014-02-27 08:13:12 -08:00
Mitchell Hashimoto
e93038fd0e
providers/hyperv: suspend/resume
2014-02-27 08:13:11 -08:00
Mitchell Hashimoto
5d19285774
providers/hyperv: wait for IP on boot
2014-02-27 08:12:57 -08:00
Mitchell Hashimoto
7c0948c81d
providers/hyperv: clean up status script
2014-02-27 08:12:55 -08:00
Mitchell Hashimoto
fe93b0d2a5
providers/hyperv: more checks on machine import
2014-02-27 08:12:53 -08:00
Mitchell Hashimoto
784a5b2e32
providers/hyperv: all sorts of tests to verify Windows/admins
2014-02-27 08:12:51 -08:00
Mitchell Hashimoto
a1958ee12f
providers/hyperv: shuffle things around
2014-02-27 08:12:48 -08:00
Mitchell Hashimoto
5f1caf3ada
core: re-ask if confirmation bad input [GH-3027]
2014-02-26 08:01:45 -08:00
Mitchell Hashimoto
b8676a65dd
core: Vagrant.server_url should default if empty
2014-02-25 21:39:05 -08:00
Mitchell Hashimoto
1ed3be138e
core: add a test for last PR
2014-02-25 07:27:13 -08:00
Mitchell Hashimoto
6c5179602c
provisioners/salt: error if minion_config missing [GH-2893]
2014-02-24 07:58:12 -08:00
Mitchell Hashimoto
34c000419f
Fix failing tests
2014-02-23 22:33:04 -08:00
Teemu Matilainen
eea9c07029
provisioners/chef: set `encrypted_data_bag_secret` to `nil` if it's not uploaded
...
/cc @shanegibbs
Fixes #2984
2014-02-16 18:14:56 -03:00
Teemu Matilainen
ad34d474bc
provisioners/chef: DRY and unify encrypted data bag secret handling
...
Pull up encrypted data bag secret management into the base classes, thus
also unifying the functionality.
Especially this complements the issues:
* Upload the secret to provisioning path also with chef-solo [GH-1246]
* Delete the secret also with chef-client [GH-2712]
* Remove the secret before uploading also with chef-client [GH-1111]
2014-02-15 22:46:48 -03:00
Ryan Uber
a4e923bec7
Removed excess whitespace
2014-02-14 12:02:27 -08:00
Ryan Uber
fff4f595c5
Added unit test for passing a single fixnum as an argument to the shell
...
provisioner
2014-02-14 11:53:17 -08:00
Ryan Uber
509e29043a
Added handling of fixnum values for shell provisioner options both as the value
...
of `args` itself and as an element inside of an `args` array. Added validation
around passing in arrays for arguments. Just knowing that it is an array is not
enough, because arrays can contain any other type.
2014-02-14 11:47:36 -08:00
Mitchell Hashimoto
a4f64d0148
core: ui can hide details
2014-02-13 21:09:02 -08:00
Mitchell Hashimoto
b1bed68bed
providers/virtualbox: cap to read forwarded ports
2014-02-13 16:34:34 -08:00
Mitchell Hashimoto
12b2572687
kernel/v2: capture error if provider config is bad [GH-2959]
2014-02-11 11:55:04 -08:00
Mitchell Hashimoto
8d3afa73d2
providers/virtualbox: config to skip guest additions check
2014-02-08 18:35:09 -08:00
Mitchell Hashimoto
e6ca9d6f81
core: Ui::Prefixed can take prefix_spaces option
2014-02-08 15:14:21 -08:00
Mitchell Hashimoto
2d7c161f49
core: Ui#dup works properly
2014-02-08 15:11:51 -08:00
Mitchell Hashimoto
9026e54da9
core: fix Environment tests
2014-02-08 14:54:40 -08:00
Mitchell Hashimoto
86454ddac9
core: Environment#lock tests
2014-02-08 14:50:52 -08:00
Mitchell Hashimoto
1e50e7aca1
core: Prefixed UI only requests bolding if not specified at instance-level
2014-02-08 14:26:26 -08:00
Mitchell Hashimoto
efc1bf50dd
core: Machine#with_ui
2014-02-08 14:03:31 -08:00
Mitchell Hashimoto
40cbfb95e3
core: fix Machine tests
2014-02-07 09:24:09 -08:00
Mitchell Hashimoto
8e9ceeaf5c
core: Machine has reference to Vagrantfile
2014-02-07 09:16:55 -08:00
Mitchell Hashimoto
3533256cd7
core: Vagrantfile can create machines, Environment#machine uses that
2014-02-06 21:31:11 -08:00
Mitchell Hashimoto
506e1a433f
core: Vagrantfile#machine_config returns more info now
2014-02-06 21:04:59 -08:00
Mitchell Hashimoto
d40dc919d8
core: plugin tests no longer obliterate manager
2014-02-06 20:50:51 -08:00
Mitchell Hashimoto
cdf1d7f318
core: get rid of all uses of config_global
2014-02-06 20:22:15 -08:00
Mitchell Hashimoto
e2403c093d
core: Vagrantfile class now adheres to box_version
2014-02-06 20:17:24 -08:00
Mitchell Hashimoto
7549704c5b
core: Environment#config_global is gone!
2014-02-06 20:12:16 -08:00
Mitchell Hashimoto
e3a67f7ab6
core: Environment uses the new Vagrantflie class
2014-02-06 20:12:15 -08:00
Mitchell Hashimoto
99346cc516
core: add Vagrantfile class, tests
2014-02-06 20:11:12 -08:00
Mitchell Hashimoto
d18e80e1fd
Fix tests for kernel/v2
2014-02-05 21:24:34 -08:00
Mitchell Hashimoto
cac0fdb490
core: Add the default server URL
2014-02-05 21:20:37 -08:00
Mitchell Hashimoto
becc349846
core: handle native windows paths like 'c:\foo.box'
...
[GH-2081]
2014-02-05 21:20:35 -08:00
Mitchell Hashimoto
848fe5d166
kernel/v2: check for box updates by default
...
/cc @pearkes @armon
2014-02-05 21:20:33 -08:00
Mitchell Hashimoto
751b4da2c6
core: if box is unversioned, check update does nothing
2014-02-05 21:20:32 -08:00
Mitchell Hashimoto
647563edaf
core: shorthand boxes must be foo/bar formatted, better errors
2014-02-05 21:20:31 -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
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
8cc16d14fa
core: BoxCheckOutdated checks locally
2014-02-05 21:20:13 -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
b81686e2c9
core: BoxAdd adds the metadata URL
2014-02-05 21:20:08 -08:00
Mitchell Hashimoto
bd9f375263
core: Box can store a metadata URL
2014-02-05 21:20:07 -08:00
Mitchell Hashimoto
d40ff9c390
kernel_v2: test for box_url
2014-02-05 21:20:01 -08:00
Mitchell Hashimoto
f0607c6df0
core: BoxAdd supports multiple URLs properly
2014-02-05 21:19:59 -08:00
Mitchell Hashimoto
38248c240c
core: BoxAdd errors if name doesn't match metadata
2014-02-05 21:19:58 -08:00
Mitchell Hashimoto
b23ad41c40
core: HandleBox reloads the box
2014-02-05 21:19:57 -08:00
Mitchell Hashimoto
f2c4adc4ee
core: use symbol names for providers everywhere
2014-02-05 21:19:56 -08:00
Mitchell Hashimoto
a73ea6ab7a
core: fix hang in test
2014-02-05 21:19:54 -08:00
Mitchell Hashimoto
a115750401
core: HandleBox works with metadata boxes
2014-02-05 21:19:52 -08:00
Mitchell Hashimoto
b2fa785d07
core: Environment loads proper version of box
2014-02-05 21:19:51 -08:00
Mitchell Hashimoto
d08866e9f3
core: nicer error if shorthand can't be found
2014-02-05 21:19:49 -08:00
Mitchell Hashimoto
5aba445cac
core: shorthand box adds wor
2014-02-05 21:19:47 -08:00
Mitchell Hashimoto
f9fe025d10
core: helper to get the server URL
2014-02-05 21:19:46 -08:00
Mitchell Hashimoto
b71cde6b99
core: make box add UI much icer
2014-02-05 21:19:44 -08:00
Mitchell Hashimoto
c7fc9d1d46
core: BoxRemove works, tests
2014-02-05 21:19:42 -08:00
Mitchell Hashimoto
29da748702
commands/box/remove: update for new syntax
2014-02-05 21:19:41 -08:00
Mitchell Hashimoto
f9c9559320
core: ask what provider to use if multiple providers
2014-02-05 21:19:38 -08:00
Mitchell Hashimoto
05eeefbe36
core: Fix Downloader tests
2014-02-05 21:19:34 -08:00
Mitchell Hashimoto
8f0f0506d6
core: BoxAdd requires name if old-style box
2014-02-05 21:19:32 -08:00
Mitchell Hashimoto
09e8666296
core: BoxAdd now works with HTTP URLs
2014-02-05 21:19:31 -08:00
Mitchell Hashimoto
03b22ab9a1
core: add the box_added to the middleware
2014-02-05 21:19:30 -08:00
Mitchell Hashimoto
1ca7f86f76
core: verify providers with direct box adding
2014-02-05 21:19:29 -08:00
Mitchell Hashimoto
75cffe53d1
core: BoxAdd checks if box already exists for metadata
...
unless force
2014-02-05 21:19:28 -08:00
Mitchell Hashimoto
c1989603be
core: adding from metadata wlil force if specified
2014-02-05 21:19:27 -08:00
Mitchell Hashimoto
2a08302145
core: BoxAdd can add old boxes (happy path)
2014-02-05 21:19:26 -08:00
Mitchell Hashimoto
ee139eb79d
core: more output for box adding
2014-02-05 21:19:22 -08:00
Mitchell Hashimoto
5b075fa34e
core: BoxAdd adds matching provider even if lower version
2014-02-05 21:19:20 -08:00
Mitchell Hashimoto
80194cde35
core: BoxMetadata#version can constrain by providers
2014-02-05 21:19:19 -08:00
Mitchell Hashimoto
7d44cd61c9
core: BoxAdd can add from metadata, version constraints, more
2014-02-05 21:19:18 -08:00
Mitchell Hashimoto
15aa91b073
core: can add/search boxes with slashes in name
2014-02-05 21:19:17 -08:00
Mitchell Hashimoto
96e92167d9
commands/box: broken box adding, but more options/tests
2014-02-05 21:19:16 -08:00
Mitchell Hashimoto
8abcc6e5f2
core: BoxMetadata can read the JSON description
2014-02-05 21:19:15 -08:00
Mitchell Hashimoto
e8197c4e87
commands/box: list works with the new versions
2014-02-05 21:19:14 -08:00
Mitchell Hashimoto
e111b7a691
core: environment tests pass
2014-02-05 21:19:12 -08:00
Mitchell Hashimoto
16ced8d36c
core: boxcollection test tests versions
2014-02-05 21:19:11 -08:00
Mitchell Hashimoto
d87c414327
core: Box has a version field
2014-02-05 21:19:10 -08:00
Mitchell Hashimoto
87a85488d1
core: all box collection tests pass
2014-02-05 21:19:09 -08:00
Mitchell Hashimoto
4c1fa7359d
core: BoxCollection can find with version constraints
2014-02-05 21:19:07 -08:00
Mitchell Hashimoto
77b5fa94b7
core: BoxCollection#all returns versions
2014-02-05 21:19:06 -08:00
Mitchell Hashimoto
6cddb92407
core: error if newer home dir version is detected
2014-02-05 21:19:05 -08:00
Mitchell Hashimoto
b52d33e0af
core: upgrade to v1.5 box dir format if it can
2014-02-05 21:19:04 -08:00
Mitchell Hashimoto
a03bc763f9
core: tests around the environment setup_version
2014-02-05 21:19:01 -08:00
Mitchell Hashimoto
86ede835ea
Fix tests for new _finalize! changes
2014-02-05 21:16:47 -08:00
Mitchell Hashimoto
f72db0c611
core: config raises NoMethodError on bad calls once finalized
2014-02-05 16:14:58 -08:00
Mitchell Hashimoto
5030a16f84
kernel/v2: default all configs properly, remove config/default.rb
2014-02-05 15:36:35 -08:00
Teemu Matilainen
ca56c913aa
kernel/v2: fix provisioner config with blocks
...
Regression from 10d5416
.
2014-02-04 00:51:01 -03:00
Mitchell Hashimoto
d864187b1a
provisioners/docker: configuration is mergeable
2014-02-03 22:23:26 +01:00
Mitchell Hashimoto
2cc56119b7
kernel/v2: support the preserve_order option (documented)
2014-02-03 22:03:20 +01:00
Mitchell Hashimoto
3aaa57cac9
kernel/v2: support merging properly
2014-02-03 21:30:01 +01:00
Mitchell Hashimoto
10d5416a90
kernel/v2: support overriding provisioner settings
2014-02-03 16:56:39 +01:00
Mitchell Hashimoto
debc14f883
kernel/v2: more tests
2014-02-03 16:42:47 +01:00
Mitchell Hashimoto
0e5840a14d
kernel/v2: test for some config
2014-02-03 16:40:02 +01:00
Mitchell Hashimoto
1d69e95c1c
provisioners/docker: config to disablize -d flag
2014-02-03 16:14:59 +01:00
Mitchell Hashimoto
f63ef395f1
Merge branch 'rsync_install' of https://github.com/tmatilai/vagrant into tmatilai-rsync_install
...
Conflicts:
plugins/guests/freebsd/plugin.rb
plugins/guests/netbsd/plugin.rb
plugins/guests/openbsd/plugin.rb
2014-02-03 12:12:49 +01:00
Teemu Matilainen
bc96a054be
provisioners/file: add unit tests for the provisioner
2014-02-01 01:23:57 -03:00
Teemu Matilainen
9771c8bd52
provisioners/file: Add unit tests for the config
2014-02-01 01:22:53 -03:00
Teemu Matilainen
ee2ae94c25
synced_folders/rsync: Install `rsync` on guest if needed
...
Add new `rsync_installed` and `rsync_install` guest capabilities
to detect and install `rsync`.
Also copy `rsync_pre` capability to all Unix guests.
2014-01-31 02:12:57 -03:00
Mitchell Hashimoto
78e7e2746f
core: fix machine tests with provider changes
2014-01-26 14:33:22 -08:00
Mitchell Hashimoto
a924a7b48c
core: provider capabilities
2014-01-26 14:15:06 -08:00
Mitchell Hashimoto
00530303fb
core: color success Ui green
2014-01-23 13:15:07 -08:00
Mitchell Hashimoto
2b9e7ca14e
core: merge default synced folders ,don't override [GH-2873]
2014-01-21 20:13:08 -08:00
Mitchell Hashimoto
e80552b6aa
core: if synced folder type is blank, use default
2014-01-21 20:10:32 -08:00
Mitchell Hashimoto
d81af187ea
core: add tests for MachineReadable and frozen strings
2014-01-21 12:13:54 -08:00
Mitchell Hashimoto
06f1ebf752
core: add more tests for MachineReadable UI
2014-01-21 12:11:53 -08:00
Mitchell Hashimoto
f2f58655e8
core: get rid of more references to scope, old terminology
2014-01-21 12:06:04 -08:00
Mitchell Hashimoto
a32e154e6e
core: use cleaner UI abstractions
2014-01-20 17:18:36 -08:00
Mitchell Hashimoto
fc86a10796
core: only bold when output is part of a machine
2014-01-20 16:37:06 -08:00
Mitchell Hashimoto
0eec9aa599
core: extensive tests for Vagrant::UI classes
2014-01-17 21:31:07 -08:00
Mitchell Hashimoto
f713e43b00
Fix tests for new UI methods
2014-01-17 21:03:02 -08:00
Mitchell Hashimoto
dd33a26422
providers/virtualbox: network config uses proper format, tests [GH-2854]
2014-01-17 09:53:02 -08:00
Mitchell Hashimoto
2dff1ac417
core: get tests passing on Windows, more tweaks
2014-01-15 21:30:47 -08:00
Mitchell Hashimoto
73b72deb0a
synced_folders/rsync: convert path to cygpath on Windows
2014-01-15 21:13:08 -08:00
Mitchell Hashimoto
285bda7a68
synced_folders/nfs: don't nfs_prune on hosts that don't support it
2014-01-15 20:28:27 -08:00
Mitchell Hashimoto
99a23242ec
core: tests for more shared_helpers
2014-01-15 18:31:58 -08:00
Mitchell Hashimoto
7dc4cbb785
core: tests for shared_helpers.rb
...
/cc @tmatilai
2014-01-15 18:06:33 -08:00
Mitchell Hashimoto
35a19f829c
provider/virtualbox: fix NFS tests on Windows
2014-01-15 11:48:07 -08:00
Mitchell Hashimoto
e2ec46bb4d
core: environment tests passing on Windows
2014-01-15 11:40:53 -08:00
Mitchell Hashimoto
7248797fa5
core: add test for fs_real_path on Windows
2014-01-15 11:32:53 -08:00
Mitchell Hashimoto
4fab57576b
synced_folders/rsync: run hostpath through fs_real_path
...
This fixes issues with drive letter casing on Windows
2014-01-15 11:30:32 -08:00
Mitchell Hashimoto
8a56d0ae5e
core: be sure to close tempfile handle so Windows can delete it
2014-01-15 11:24:03 -08:00
Mitchell Hashimoto
aabe5124c4
core: don't test fork(1) on Windows
2014-01-15 11:12:13 -08:00
Mitchell Hashimoto
0fcce91d69
core: fix more cases where ".path" was being called on strings
2014-01-15 11:10:38 -08:00
Mitchell Hashimoto
008dd8e6e7
core: fix tests failing on WIndows dueo to bad temp dir gen
2014-01-15 11:09:00 -08:00
Mitchell Hashimoto
e85e355ddb
core: fix Windows failures on machine tests
2014-01-15 11:01:38 -08:00
Mitchell Hashimoto
b386e1dbbd
test: allow skipping certain tests on Windows
2014-01-15 10:54:50 -08:00
Mitchell Hashimoto
37e9553bf5
core: don't use Tempdir for tests, use Dir.mktmpdir
...
Tempdir didn't work on Windows, just spun forever.
2014-01-15 10:48:19 -08:00
Mitchell Hashimoto
2ca498a5dd
provisioners/docker: build images using new DSL
2014-01-14 09:22:55 -08:00
Mitchell Hashimoto
31b239fba2
provisioners/docker: unit tests for config
...
/cc @fgrehm - I'm starting to unit test more and more of the plugins.
Just showing you an example because it is quite easy. :)
2014-01-14 08:27:34 -08:00
Mitchell Hashimoto
8d771de9ba
Merge pull request #2820 from mitchellh/f-rsync-listen
...
`rsync-auto` command
2014-01-14 07:38:38 -08:00
Mitchell Hashimoto
04f1854840
synced_folders/rsync: unit tests for the callback, fix bug
2014-01-13 22:01:09 -08:00
Mitchell Hashimoto
9cf0387e00
core: interrupt in Cli exits with 1
2014-01-13 21:42:40 -08:00
Mitchell Hashimoto
ae9b74464d
core: MixinSyncedFolders#synced_folders does scoped hash override
2014-01-13 11:39:11 -08:00
Mitchell Hashimoto
b4b62daf5c
synced_folders/rsync: expand host paths relative to root path
2014-01-13 11:34:49 -08:00
Mitchell Hashimoto
309d12a16b
synced_folders/rsync: `vagrant rsync` syncs the folders
2014-01-13 11:25:29 -08:00
Mitchell Hashimoto
59218ded68
synced_folders/rsync: move rsync logic out to helper
2014-01-13 11:01:50 -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
08b1aee00d
core: default commands to primary
2014-01-11 09:15:14 -08:00
Mitchell Hashimoto
f05388349c
core: non-primary commands aren't shown in basic `vagrant -h`
2014-01-11 09:07:38 -08:00
Mitchell Hashimoto
13e9f8037a
test: get all the tests passing with new CLI changes
2014-01-11 08:59:13 -08:00
Mitchell Hashimoto
ad99b4f250
core: CLI understands new plugin definition format
2014-01-11 08:53:25 -08:00
Mitchell Hashimoto
4a99cdccdf
core: allow command plugins to have options
2014-01-11 08:38:27 -08:00
Mitchell Hashimoto
7b2a0716f1
synced_folders/rsync: warn if password auth
2014-01-10 20:37:11 -08:00
Mitchell Hashimoto
60f3d224c9
synced_folders/rsync: can exclude files
2014-01-10 18:01:38 -08:00
Mitchell Hashimoto
2e3fcf576c
synced_folders/rsync: allow guests to execute things before
2014-01-10 17:51:44 -08:00
Mitchell Hashimoto
38fbbb6c56
synced_folders/rsync: Initial commit working
2014-01-10 17:40:29 -08:00
Mitchell Hashimoto
213000fd3d
core: update Registry tests to make sure #keys doesn't load
2014-01-10 16:20:33 -08:00
Mitchell Hashimoto
fbcc08b3ee
Merge pull request #2637 from johnbellone/patch-1
...
core: Update Registry with #keys method.
2014-01-10 16:19:53 -08:00
Mitchell Hashimoto
365bef0e61
core: use dummy provider in tests so VirtualBox isn't required
2014-01-10 15:48:42 -08:00
Mitchell Hashimoto
9a58caaf9c
synced_folders/nfs: always prune [GH-2738]
2014-01-10 15:41:57 -08:00
Mitchell Hashimoto
a48ef2ec97
core: more user-friendly errors for caps on guests
2014-01-09 10:24:25 -08:00
Mitchell Hashimoto
ba5400b89b
core: raise user-friendly errors if capabilities exception in Guest
2014-01-09 10:13:33 -08:00
Mitchell Hashimoto
9fe702a000
core: tests for Guest#name
2014-01-09 09:09:40 -08:00
Mitchell Hashimoto
68a355931c
core: test that forking is allowed in a BatchAction
2014-01-08 21:43:46 -08:00
Mitchell Hashimoto
5e835f4201
Merge pull request #2792 from smoyer/redhat_hostname_patch
...
guests/redhat: use FQDN for hostname
2014-01-08 20:58:59 -08:00
Mitchell Hashimoto
7631a38601
core: refactor error initialization logic
...
/cc @tmatilai - This includes a test case for the symbol stuff, should
be okay now.
2014-01-08 19:53:43 -08:00
smoyer
3964298504
This was introduced in 1.4.1 with d26c147
.
...
This PR sets the active hostname back to the name specified in the Vagrantfile (fqdn) and updates the unit tests.
Setting it to the short name causes loads of problems while configuring the system. I've had issues with sudoers hostname matching, Weblogic certificate generation and a few others. Even if I changed all of the Chef recipes, the fqdn is set in /etc/sysconfig/network so the active hostname will switch to the fqdn after a reboot.
2014-01-08 17:49:54 -05: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
09a425030b
core: pass environment into all host caps
2014-01-07 20:34:33 -08:00
Mitchell Hashimoto
5e490e3746
Get tests to pass
2014-01-07 19:26:03 -08:00
Mitchell Hashimoto
93e365bb33
core: Vagrant::Environment uses new host settings
2014-01-07 19:11:08 -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
c1d56da1ca
core: get tests passing for changes
2014-01-07 16:29:05 -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
3f4058471c
core: installing a plugin from a gem doesn't constrain it
2014-01-07 13:56:51 -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
198e142794
commands/plugin: add more tests for installgem
2014-01-06 10:55:34 -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
35d711c91b
commands/plugin: add tests for UpdateGems
2014-01-05 22:37:29 -08:00
Mitchell Hashimoto
e231890e7e
commands/plugin: UninstallPlugin tests
2014-01-05 21:10:43 -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
8904319beb
commands/plugin: install version and entrypoints work
2014-01-05 20:47:02 -08:00
Mitchell Hashimoto
fe8842c795
Fix failing tests
2014-01-05 16:54:10 -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
b3a9e6a088
insert_public_key cap, and use that if it exists
2014-01-03 11:13:21 -08:00
Mitchell Hashimoto
e115322e78
core: accept passwords in ssh_info
2014-01-03 09:48:35 -08:00
Mitchell Hashimoto
2f7163386d
providers/virtualbox: don't error when intnet set to "true" [GH-2751]
2014-01-03 08:31:14 -08:00
Paul Hinze
fc66ec1660
providers/virtualbox: allow and prefer static guest IPs for NFS
...
Since vbox guest properties are proving to be less reliable than we had
hoped, bring back the static config parsing mechanism for finding a
guest IP to hand to NFS. If we find a static IP (or set of IPs) we'll
use that instead of trying to probe guest properties.
This retains NFS support for DHCP interfaces while regaining the
reliability that we previously had when static IPs were required.
2013-12-28 17:01:08 -06: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
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
John Bellone
8909018af6
Add unit tests for Registry#keys.
2013-12-16 18:16:19 -05:00
Charlie Huggard
0e2b7a7c0b
Unit tests for ChangeHostName on Enterprise Linux
2013-12-16 01:57:11 -06:00