Commit Graph

275 Commits

Author SHA1 Message Date
Gilles Cornu 1cd2fe56a0 ansible: generate inventory in .vagrant/... 2014-02-24 16:52:38 +01:00
Gilles Cornu 709f3f4e6f provisioners/ansible: Change --limit behaviours
- The implicit default limit is always set
- ansible.limit as an empty string won't disable the default limit, but
  will be passed as "--limit=" argument and ansible-playbook will return
  an error (provided host list is empty)
2014-02-16 11:39:15 +01:00
Gilles Cornu c2663f5d30 provisioners/ansible: Fix Group Management
- Support arbitrary depth of "groups of groups of ... groups"
- Skip ':vars' suffix, but allow group names with ':' (yes, Ansible
  accepts this character)
- Like for groups of machines, groups of groups can result "empty", but
  it is not an issue for Ansible. Recursive filter on the group tree is
  a bit hard to implement, and don't brind real added value at Vagrant
  level.
2014-02-16 11:20:00 +01:00
Gilles Cornu 466cf58476 ansible generated inventory: skip group variables
Except ':children' for groups of groups, it is safer to avoid generating
':suffix' blocks. At the moment Ansible only supports (but doesn't
recommend) group variables (:vars), and the Vagrant Ansible provisioner
won't support this way to define variables.
2014-02-02 23:28:04 +01:00
Gilles Cornu f564bf7410 Ansible Groups: Accept single item as String
Syntax errors in `ansible.groups` definition are not well handled:
Error returned: undefined method `each' for "machine1":String (NoMethodError)

Being tolerant here doesn't hurt and may avoid people get
confused/annoyed.
2014-02-02 23:21:06 +01:00
Gilles Cornu 84308964e2 ansible generated inventory: deal with orphan VMs
env.active_machines can potentiall return 'invalid' machines:
- Ignore machines that are not declared in current Vagrantfile
- Warn when machines are missing (it usually occurs when the VM is
  removed without `vagrant destroy` and some orphan metadata remains
  in .vagrant/machines/...)
2014-02-02 23:06:27 +01:00
Mark Aaron Shirley 3bf5032d4b Update Ansible provisioner to only create a single inventory file
The Ansible provisioner will now only create a single inventory file named,
"vagrant_ansible_inventory". All defined Vagrant machines will be added to
this inventory file. Provisioning will now include a "--limit=#{machine}"
option to scope Ansible provisioning tasks to just the current machine. Setting
the Ansible provisioner's "limit" config option will override the new default
limit. Ansible provisioning scripts will now have access to all other defined
machines and what groups they reside in.
2014-02-01 13:04:20 -08:00
Mitchell Hashimoto 09955be2cd provisioners/docker: configure auto start properly for new Docker
[GH-2874]
2014-01-21 20:52:27 -08:00
Mitchell Hashimoto a19e442cf2 provisoiners/docker: only add user to group if not in it [GH-2838] 2014-01-16 10:34:08 -08:00
Mitchell Hashimoto ead1382343 provisioners/docker: fix wrong variable usage
caught by @pda
2014-01-15 17:33:55 -08:00
Mitchell Hashimoto 2ca498a5dd provisioners/docker: build images using new DSL 2014-01-14 09:22:55 -08:00
Mitchell Hashimoto b3de12702a Merge branch 'add_building_local_dockerfiles' of https://github.com/jpfuentes2/vagrant into jpfuentes2-add_building_local_dockerfiles 2014-01-14 08:17:44 -08:00
Mitchell Hashimoto 6a7e07c53f provisioners/chef: don't follow symlink when chown 2014-01-11 08:02:59 -08:00
Mitchell Hashimoto fcae8dd687 Merge pull request #2766 from graingert/patch-1
provisioners/salt: Allow defining of <install-type> and <install-type-args>
2014-01-10 15:43:25 -08:00
Teemu Matilainen 64ea647e09 provisioners/chef-solo: Fix copy&paste "Puppet" from a deprecation message 2014-01-08 13:27:35 -03:00
Thomas Grainger feb748f488 Allow defining of <install-type> and <install-type-args> 2014-01-06 12:22:43 +00:00
Mitchell Hashimoto e29bcba955 provisioners/puppet: alphabetize 2014-01-02 14:44:49 -08:00
Mitchell Hashimoto 040e1a2e0a provisioners/chef: synced_folder_type 2014-01-02 14:40:57 -08:00
Mitchell Hashimoto 1da271c536 provisioners/puppet: synced_folder_type [GH-2709] 2014-01-02 14:37:47 -08:00
Mitchell Hashimoto 7f5c85cf20 provisioners/chef-solo: delete data bag secret [GH-2712] 2013-12-31 10:44:08 -08:00
Marc Meszaros 13ff159d8c Fix salt provisioner error namespace to be more consistent with other provisioners 2013-12-27 22:38:44 -05:00
Marc Meszaros 194d7d11cd Add error messages to localization file for salt provisioner 2013-12-27 22:37:54 -05:00
Tobias Bähr 364488eba8 Set default value to avoid a prompt 2013-12-22 18:48:14 +01:00
Mitchell Hashimoto 9ac4ec85dd Merge pull request #2677 from purpleidea/fix_puppet_apply
provisioner/puppet: do not prepend default path because it can override modules.
2013-12-18 08:31:21 -08:00
James Shubin d4c76d1bcf Do not prepend default path because it can override modules.
It is common for Puppet to manage itself. If the puppet code you are
deploying pushes files to /etc/puppet/modules/, then prepending this
path can break deployment because it will override the module path if
the deployment code is changing. There is no good reason to include this
path. Puppet has built in defaults for this reason.
2013-12-17 14:29:54 -05:00
Charles Blaxland 7518bf94eb Force rm of chef config files #2669 2013-12-17 17:53:52 +11:00
Gilles Cornu e5f45e2b79 Ansible: Fix a bug in `raw_arguments` option
Without this change, it is not possible to pass more than one "raw"
argument, which was not the expected behavior. In addition to Array
format, String (for a single argument) is still accepted (for sake of
"backward compatibility" and ease of use).

Note: Due to low/expert usage of this option, I think that it is not
necessary to add more robust validation on this parameter (e.g. Array
of String type checking or argument syntax pattern matching). Use it at
your own risk ;-)
2013-12-16 21:20:10 +01:00
Gilles Cornu 213534d185 Merge pull request #2606 from maspwr/ansible-groups
Add ability to use Ansible groups in generated inventory. Fixes #2551.
2013-12-14 07:03:22 -08:00
Fabio Rehm 46ba43e6ac provisioners/docker: Display warning in case a version get specified on the Vagrantfile and the guest is a RedHat-ian guest [GH-2649] 2013-12-13 23:06:20 -02:00
Fabio Rehm 6f304d5e29 provisioners/docker: Move DockerConfigureVagrantUser capability up to Linux guests [GH-2649] 2013-12-13 23:06:20 -02:00
Fabio Rehm 5a842fc609 provisioners/docker: Check if epel-release is installed on RedHat-ian guests before attempting installation [GH-2649] 2013-12-13 23:06:20 -02:00
Naoto TAKAHASHI 746d406558 add docker for redhat 2013-12-14 02:35:34 +09:00
Teemu Matilainen d321b9199e provisioners/chef: fix node/client deletion when node_name is not set [GH-2345]
V2 config uses `hostname` instead of `host_name`.
2013-12-13 00:51:22 -03:00
Arthur Neves c57073da7b Rename docker_client and docker_installer
We can rename those classes and remove the docker_ prefix as they
already have a module namespace.
2013-12-12 14:59:03 -05:00
Jacques Fuentes 579cc8e558 Remove defunct @build_options reference 2013-12-09 18:36:57 -05:00
Jacques Fuentes 1738f9dccf Add option to Docker provisioner to build local images 2013-12-09 17:54:32 -05:00
Mark Aaron Shirley 906579d25a Add ability to use Ansible groups in generated inventory. Fixes #2551. 2013-12-08 23:08:03 -08:00
Mitchell Hashimoto 89f4e14ab3 Merge pull request #2585 from mitchellh/2585-fix-docker-image-assignment
provisioner/docker: unable to run multiple docker containers based off the same image
2013-12-06 14:56:15 -08:00
Teemu Matilainen b0919b916b Remove extraneous character
Going down? ;)
2013-12-06 18:57:27 -03:00
Mitchell Hashimoto 17b68f7d50 provisioners/puppet: use unique directory for each definition 2013-12-06 12:39:50 -08:00
Mitchell Hashimoto f8223d4704 provisioners/chef: support proper counter for multiple chefs 2013-12-06 12:26:48 -08:00
Mitchell Hashimoto 38f931ba93 provisioners/shell: array args properly work 2013-12-06 11:28:32 -08:00
Fabio Rehm 8688c6b8b2 provisioners/docker: Only assign the `image` config in case it was not specified 2013-12-05 22:12:44 -02:00
John Bellone bebaa63063 [provisioner/chef]: Update base to fix typo.
It seems this was introduced by accident with #2281.
2013-12-05 15:24:53 -05:00
Fabio Rehm 7e0b0a5a3c provisioners/docker: Extract container lookup method 2013-12-04 22:13:17 -02:00
Fabio Rehm c7a5592b96 provisioners/docker: Ensure checks for whether the container exists / is running works accross multiple Docker versions [GH-2579] 2013-12-04 22:10:39 -02:00
Mitchell Hashimoto 3df245f1fd provisioners/chef: create/chown backup folders [GH-2281] 2013-12-04 11:51:05 -08:00
Mitchell Hashimoto 146bc34019 Merge pull request #2549 from mitchellh/f-docker-provisioner
docker provisioner
2013-12-03 17:47:42 -08:00
Mitchell Hashimoto 8f4fa897d0 provisioners/docker: use proper UNSET_VALUE for no value 2013-12-03 16:19:08 -08:00
Mitchell Hashimoto 999ce22354 provisioners/docker: output version when installing 2013-12-03 14:39:32 -08:00