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
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
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
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
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
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
5da77dee5c
commands/box/remove: add --force flag
2014-04-23 06:16:51 -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
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
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
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
ba1676b232
providers/hyperv: fix tests and bug with usable?
2014-04-21 13:53:36 -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
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
21ac0810fd
communicators/winrm: more tests
2014-04-21 13:51:04 -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
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
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
d1caf8c624
core: Allow direct box adding again
2014-04-02 19:45:49 -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
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
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
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
Eric Saxby
31da3860e5
Add unit tests for smartos compatibility
2014-03-10 18:52:20 -07:00
Mitchell Hashimoto
06c881708d
Fix tests
2014-03-09 18:29:45 -07: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
35adc6063b
providers/hyperv: add test for windows guests
2014-03-05 18:50:31 -08:00
Mitchell Hashimoto
857b989c47
provisioners/docker: setting to not auto assign name
2014-03-04 07:31:13 -08:00
Mitchell Hashimoto
7926f7f051
core: box URLs can be authenticated by hooking
2014-03-01 11:38:04 +01: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
6c5179602c
provisioners/salt: error if minion_config missing [GH-2893]
2014-02-24 07:58:12 -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
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
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
d18e80e1fd
Fix tests for kernel/v2
2014-02-05 21:24:34 -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
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