Commit Graph

969 Commits

Author SHA1 Message Date
Mitchell Hashimoto 5ee3a06740 provisioners/chef: fix validate return so that it is properly formatted 2013-12-03 13:59:59 -08:00
Mitchell Hashimoto d9dc2d6cfd guests/linux: --no-wait on emit [GH-2564] 2013-12-03 12:14:10 -08:00
Mitchell Hashimoto 9cd9e6e55d communicators/ssh: add -E to sudo to preserve env 2013-12-03 12:07:14 -08:00
Mitchell Hashimoto d2bc1dbc3b Merge pull request #2560 from phinze/vbox-nfs-dhcp-support
providers/virtualbox: support DHCP interfaces for NFS
2013-12-03 11:49:54 -08:00
Paul Hinze c25172d0f7 providers/virtualbox: support DHCP interfaces for NFS
Previously, we required a host-only interface with a static IP for NFS
to work in VirtualBox, because we needed access to the guest's IP in
order to properly configure mount commands.

After boot, VirtualBox exposes the IP addresses of a guest's network
adapters via the "guestproperty" interface.

This adds support for reading VirtualBox guest properties to the
VirtualBox driver and utilizes that support to prepare NFS settings,
which removes the necessity for a static IP for NFS to work.

In this commit we also start building out scaffolding for unit testing
vbox actions and drivers.

Test plan:
 - Prepare a Vagrantfile with the following:
   * private network with type: :dhcp
   * synced folder with nfs: true
 - Boot a VM from this Vagrantfile using the virtualbox provider
 - Machine should boot successfully with working synced folder
2013-12-03 10:21:28 -05:00
Emiliano Ticci 578393ac8e Add cleanup routine to synced folder plugin implementation 2013-12-02 11:19:09 +01:00
Mitchell Hashimoto 72edddbb09 core: do proper type conversions for box checksum types 2013-12-01 23:03:21 -08:00
Mitchell Hashimoto 555f4c7dcf kernel/v2: support checksum on box config 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
Nicolas Delaby 7cd7077467 salt-bootstrap.sh: options are only allowed before install arguments 2013-11-29 15:52:12 +01:00
Fabio Rehm 3289141fc3 provisioners/docker: Clean up some leftovers from vocker 2013-11-29 10:22:06 -02:00
Fabio Rehm 82fc9330af provisioners/docker: Simplify raising of Docker related errors 2013-11-29 10:22:06 -02:00
Fabio Rehm 0536817e90 provisioners: Import Docker provisioner code from Vocker 2013-11-29 10:22:06 -02:00
Mitchell Hashimoto cfb258a55b provisioners/shell: s/unless/if !/ 2013-11-29 00:02:20 -08:00
Paul Hinze fef60242b0 provisioners/shell: fix validation for args [GH-1949]
The logic change in 57d4775140 introduced
a bug where neither strings nor arrays provided as `args` for shell
provisioners would pass validation.

This fixes that problem along with a few extras:

- split out arg validation into a private method
- update comment describing valid args
- add a few unit tests around config validation
2013-11-28 19:54:10 -06:00
Elan Ruusamäe 1df4f5a8ed require pld/cap/change_host_name 2013-11-27 09:38:28 +02:00
Elan Ruusamäe 2416149aa3 fix hostname change on pld 2013-11-27 09:35:18 +02:00
Mitchell Hashimoto db9c8dd6b3 core: validate box_download_ca_cert_file, expand 2013-11-26 21:10:33 -08:00
Mitchell Hashimoto d0f14250d6 core: can specify config.vm.box_download_ca_cert 2013-11-26 19:35:04 -08:00
Mitchell Hashimoto cd3e19306c commands/box/add: custom CA cert [GH-2337] 2013-11-26 19:32:56 -08:00
Mitchell Hashimoto 798432febe provisioners/chef: validate environments path [GH-2381] 2013-11-26 18:57:27 -08:00
Mitchell Hashimoto 6f2d6981cb website/docs: better Chef docs [GH-2436] 2013-11-26 11:44:16 -08:00
Mitchell Hashimoto fc190fad9f guests/redhat: DHCP_HOSTNAME set to hostname [GH-2441] 2013-11-26 11:28:47 -08:00
Mitchell Hashimoto 5790235a54 Merge pull request #2539 from bearstech/debian_ifdown_ifup
guests/debian: ifdown is not enough for network config
2013-11-26 11:16:37 -08:00
Mitchell Hashimoto cd106986b4 provisioners/ansible: use the first private key
/cc @gildegoma - Does Ansible support multiple private keys? Vagrant
now does, so this isn't exactly safe.
2013-11-26 10:07:52 -08:00
Mathieu Lecarme 09a86bd70a Sometimes, ifdown is not enough. 2013-11-26 13:40:50 +01:00
Mitchell Hashimoto 9dfac9557b provisioners/puppet: fix some bonehead mistakes 2013-11-25 22:46:10 -08:00
Mitchell Hashimoto 25a8491465 provisioners/puppet: manifests path can be in the VM [GH-1805] 2013-11-25 22:39:20 -08:00
Mitchell Hashimoto d7b74ca8b9 core: config.vm.box_url can be array of urls [GH-1958] 2013-11-25 21:57:20 -08:00
Mitchell Hashimoto d88e3dcff2 kernel/v2: new style default box url 2013-11-25 18:46:54 -08:00
Mitchell Hashimoto 7d1fe7c6fe kernel/v2: properly set default value for client cert 2013-11-25 16:51:22 -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 8581a93e76 provisioners/chef: upload encrypted data bag secret to prov path
[GH-1246]
2013-11-25 15:55:00 -08:00
Mitchell Hashimoto 45e09eb677 core: allow multiple private keys [GH-907] 2013-11-25 15:45:39 -08:00
Mitchell Hashimoto d08e3f7ab3 provisioners/puppet: use better flags for one-time run 2013-11-25 15:28:17 -08:00
Mitchell Hashimoto 4a3259443d provisioners/puppet: make the output a bit clearer 2013-11-25 15:18:35 -08:00
Mitchell Hashimoto e72cd9c98e provisioners/puppet: can specify a client key/cert 2013-11-25 15:17:05 -08:00
Mitchell Hashimoto 57c25a26ad provisioners/puppet: update config to new style 2013-11-25 15:07:12 -08:00
Mitchell Hashimoto 57d4775140 provisioners/shell: allow array args [GH-1949] 2013-11-25 13:36:51 -08:00
Mitchell Hashimoto 741930b439 Merge pull request #1949 from mpapis/feature/shell_provisoner_array_args
provisioners/shell: implement array arguments from #1569
2013-11-25 13:31:48 -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 195f0d9639 guests/linux: emit upstart event for vagrant mounted if avail [GH-2502] 2013-11-25 11:31:15 -08:00
Mitchell Hashimoto 602505a136 providers/virtualbox: some validation around internal networks 2013-11-25 11:25:10 -08:00
Mitchell Hashimoto 2d957cdaab providers/virtualbox: internal networks [GH-2020] 2013-11-25 11:13:46 -08:00
Mitchell Hashimoto cc57933675 update changelog 2013-11-24 21:29:04 -08:00
Mitchell Hashimoto 10daa6fddf Merge pull request #2366 from gildegoma/ansible-extra-vars
provisioners/ansible: Improvements for 'extra_vars' argument
2013-11-24 21:21:44 -08:00
Mitchell Hashimoto 6baab10df4 communicators/ssh: pty can be enabled 2013-11-24 16:48:07 -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
phinze 688bca14f5 refactoring ubuntu/debian change_host_name
there's been a lot of churn around this code, so i figure it was worth
trying to clean it up.

 - the methods were doing a lot, so make them into template methods with
   one helper per step
 - spread out /etc/hosts regexp into a couple of helper variables for
   clarity
 - remove handling for broken hostname implementations (like basing all
   of the checks on name.split('.')[0]), since it seems reasonable to
   remove code dedicated only to handling broken boxes
 - DRY up the shared code between debian/ubuntu implementations, which
   clarifies the differences as well
 - add unit tests around the behavior; this will help us in the future
   to separate flaws in our understanding from flaws in implementation
 - includes a new DummyCommunicator in tests which should be useful in
   supporting additional unit testing of this kind
 - manually tested this on squeeze, wheezy, precise, quantal, raring,
   and saucy successfully.

handles the issue in #2333
2013-11-24 11:46:12 -06: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 c8be50c69e providers/virtualbox: get rid of some 4.3 global state 2013-11-23 16:30:09 -08:00
Mitchell Hashimoto 2044c7445e Merge pull request #2484 from andyfowler/virtualbox-parallel-import
provider/virtualbox: virtualbox parallel box import
2013-11-23 16:23:07 -08:00
Mitchell Hashimoto cfe17076b5 providers/virtualbox: nitpick on style 2013-11-23 16:16:45 -08:00
Mitchell Hashimoto 56eb53d8af Merge pull request #2483 from andyfowler/retryable-customize
providers/virtualbox: use Retryable for Virtualbox customize & sane_defaults actions
2013-11-23 16:12:20 -08:00
Mitchell Hashimoto b65b22cef2 update changelog 2013-11-23 16:05:44 -08:00
Mitchell Hashimoto 2a35ec425c Merge pull request #2505 from jaugustin/shell-keep-color
provisioner/shell: add keep_color option to allow custom color output
2013-11-23 16:03:15 -08:00
Mitchell Hashimoto 46d9ded812 commands/box/add: add --clean flag to ignore continuation 2013-11-23 15:55:52 -08:00
Mitchell Hashimoto 45702f9d44 Merge branch 'issue_2333' of https://github.com/elliotsegler/vagrant into elliotsegler-issue_2333
Conflicts:
	plugins/guests/ubuntu/cap/change_host_name.rb
2013-11-23 15:38:49 -08:00
Mitchell Hashimoto 97389d4255 core: output synopsis with command [GH-2249] 2013-11-23 14:00:42 -08:00
Mitchell Hashimoto 23bdbd6fd8 synced_folders/nfs: specify nfs_udp false to disable udp [GH-2304] 2013-11-23 13:43:48 -08:00
Mitchell Hashimoto 88425f0146 Merge pull request #2390 from borgstrom/master
core: allow owner & group to be supplied as an Integer and skip lookup
2013-11-23 11:46:50 -08:00
Mitchell Hashimoto a4fe547536 Merge pull request #2444 from tmatilai/debian_hostname_fix
guests/debian: Fix hostname setting also in Debian, part N
2013-11-23 11:45:38 -08:00
Mitchell Hashimoto aed61291e8 Update CHANGELOG 2013-11-23 11:45:06 -08:00
Mitchell Hashimoto 4e75e39ee5 Merge pull request #2426 from tmatilai/virtualbox_memory
providers/virtualbox: Add shortcut for setting the memory size for VirtualBox VM
2013-11-23 11:44:13 -08:00
Mitchell Hashimoto 5b71cf87f3 Merge pull request #2450 from onejli/master
guests/redhat: ifdown ethN before munging ifcfg-ethN
2013-11-23 11:40:02 -08:00
Mitchell Hashimoto 05e9dc6e59 Update CHANGELOG 2013-11-23 11:36:20 -08:00
Mitchell Hashimoto dcf57bd2cc guests/linux: increase sleep time btween NFS mount retries 2013-11-23 11:35:27 -08:00
Mitchell Hashimoto 52c27cd498 Merge pull request #2448 from rimckenn/patch-1
hosts/bsd: don't set both maproot and mapall
2013-11-23 11:34:27 -08:00
Mitchell Hashimoto 9362063623 Merge pull request #2487 from hatsuseno/master
hosts/gentoo: Restart NFS on Gentoo host instead of starting [GH-2487]
2013-11-23 11:25:42 -08:00
Mitchell Hashimoto c00b045f53 providers/virtualbox: retry suspended check [GH-2479] 2013-11-23 11:20:22 -08:00
Mitchell Hashimoto 33273ee561 Merge pull request #2529 from markpeek/markpeek-freebsd-nobashshell
guests/freebsd: Allow the FreeBSD plugin to install without bash [GH-2485]
2013-11-23 11:04:29 -08:00
Mitchell Hashimoto 0425d1712b synced_folders/nfs: config goes here 2013-11-23 10:49:51 -08:00
Mitchell Hashimoto 2c8b6ace7f providers/virtualbox: output UI 2013-11-22 19:33:17 -08:00
elliotsegler 803e78a5d4 fixing error in comment #2333 2013-11-23 10:18:59 +08:00
Mitchell Hashimoto 0b9861db7d providers/virtualbox: fix broken NFS check 2013-11-22 17:29:35 -08:00
Mitchell Hashimoto 850c9ea7a6 kernel: handle new NFS types 2013-11-22 17:22:47 -08:00
Mitchell Hashimoto 22a5430068 synced_folders/nfs: use proper error classes 2013-11-22 17:18:08 -08:00
Mitchell Hashimoto be6d4cc116 providers/virtualbox: make sure sf host paths are strings 2013-11-22 17:16:21 -08:00
Mitchell Hashimoto 35ac7da5a0 providers/virtualbox: don't use NFS middleware anymore 2013-11-22 17:13:53 -08:00
Mitchell Hashimoto 52fe93cc41 synced_folders/nfs: begin implementation (not functional) 2013-11-22 16:51:55 -08:00
Mitchell Hashimoto 9d3818a380 providers/virtualbox: use new SyncedFolders middleware 2013-11-22 16:21:14 -08:00
Mark Peek d5dcf84d62 Allow the FreeBSD plugin to install without bash [GH-2485]
The default shell is "bash -l" which does not get installed by default
on FreeBSD. This change allows the plugin to override the default shell
and use a known installed shell (sh).
2013-11-22 15:30:12 -08:00
elliotsegler a80de51054 Fixes recommended by phinze for #2333 2013-11-22 11:55:17 +08:00
Mitchell Hashimoto 97148379d2 providers/virtualbox: implement the synced folder plugin 2013-11-21 17:38:17 -08:00
Mitchell Hashimoto 504707f96a Merge pull request #2482 from andyfowler/safer-vbox-names
core: safer default VM names for Virtualbox
2013-11-21 15:01:31 -08:00
Daniel Miller 31894171d3 Make salt bootstrap work on systems without python 2013-11-21 10:42:06 -05:00
phinze 4225b0eb7b provider/virtualbox: fix bad constant reference in dhcp error
refs #2454
2013-11-20 11:15:25 -06:00
jaugustin 722e9e6afb [Provisioner][Shell] add keep_color option to allow custom color output 2013-11-16 13:34:58 +01:00
Rudolf Leermakers aa749db079 Restart NFS on Gentoo host instead of starting
In the case that NFS is already started on a Gentoo host, /etc/init.d/nfs start will not reload exports, but fail. /etc/init.d/nfs reload is known to fail for some esoteric configurations of /etc/exports, restart should be safe for existing connections.
2013-11-11 12:30:40 +01:00
Andy Fowler b13122cab7 use Retryable for virtualbox customize + defaults
when up-ing several boxes at once, VBoxManage modifyvm gets cranky and throws random lock errors. this adds the existing retryable logic to
the customize and sane_defaults actions, both of which fire a bunch of
modifyvm commands, all of which are fine to run multiple times.
2013-11-09 18:16:47 -05:00
Andy Fowler d775756d18 use a safer default name for virtualbox
if the same vagrantfile is up'd in the same second in the same basedir
this caused a conflict,

most notably, all jenkins jobs sit in a 'workspace' directory, which
breaks if more than one job launches from the same trigger.
2013-11-09 15:54:46 -05:00
Andy Fowler 2e9286b4d3 use vbox4.2 driver parallel-safe box import in 4.3
uses what @smoyer did for vbox 4.2 in vbox 4.3,
tested against VBoxManage 4.3.2
2013-11-08 12:48:37 -05:00
Scott Moyer c2a3a30e35 Update the virtualbox driver to import base boxes into a unique(ish) VM folder to prevent collisions. 2013-11-07 17:07:29 -05:00
Jonathan Li 1ad756d52c ifdown ethN before munging ifcfg-ethN (i.e. removing previous vagrant config for network interface) 2013-11-02 12:35:37 -07:00
rimckenn 3047b81256 Update host.rb
mapall= and maproot= are mutually exclusive options. Currently, when trying to use maproot=, mapall= is getting automatically added, which prevents us from using the NFS mount. This change turns off the adding of mapall= if maproot= has been specified as an option.
2013-11-01 14:44:49 +00:00