36 Commits

Author SHA1 Message Date
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
Mark Whelan
b22259107b fix typos 2014-09-23 14:38:26 -04:00
Emilien Kenler
dd06dffe85 Ansible Vault support
Add the following options to the Ansible provisioner:
- ask_vault_pass
- vault_password_file
2014-04-21 13:56:15 -07:00
follower
24e551a1dc Document solution for wrong SSH user with Ansible
As per: https://github.com/mitchellh/vagrant/pull/2710#issuecomment-32192976
2014-04-03 03:17:36 +13:00
Jaik Dean
e8c7468885 Minor grammar corrections to Ansible provisioning documentation 2014-03-27 15:06:52 +00:00
jjshoe
9cdcdeb42a Nit-picky grammer making it easier to read. 2014-03-10 17:26:48 -05:00
Gilles Cornu
1d09fc4a79 provisioners/ansible: add new option raw_ssh_args
Since the Ansible provisioner now potentially exports ANSIBLE_SSH_ARGS
variable, it is fair to allow to extend the content of this environment
variable (`ssh_args` parameters from ansible.cfg file have lower
priority)
2014-03-09 22:47:24 +01:00
Gilles Cornu
c39912287d website/docs: remove unwanted brackets (typo) 2014-03-06 23:57:47 +01:00
Gilles Cornu
1d328f7021 provisioners/ansible: Disable host key checking
Close #3060
2014-03-06 23:55:08 +01:00
Gilles Cornu
49b5b6515d Ansible Docs: Tip about wrong remote user
Hint motivated by misleading situations reported in #2710.
2014-02-25 06:59:39 +01:00
Gilles Cornu
84eb0d972c Ansible Docs: Tip to ship a local ansible.cfg
Hint motivated by misleading situations reported in #2302.
2014-02-25 06:57:10 +01:00
Gilles Cornu
f83f863d4d website/docs: Update Ansible URLs 2014-02-24 17:02:39 +01:00
Gilles Cornu
1cd2fe56a0 ansible: generate inventory in .vagrant/... 2014-02-24 16:52:38 +01:00
Gilles Cornu
d5055c6252 provisioners/ansible: improve inventory_path doc
Related to discussion held in #3004.
2014-02-24 16:47:10 +01:00
Gilles Cornu
74c4ae06c1 Ansible Docs: Tip about Parallel Multi-Machine 2014-02-17 22:36:46 +01:00
Gilles Cornu
17a4d75fd5 Ansible: Try to document the limit breaking change 2014-02-17 22:34:38 +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
b723f0d43d provisioners/ansible: Document new default limit
- explain new default ansible.limit
- shift `ansible.groups` part to Inventory section
- change/add inventory examples
2014-02-03 11:45:03 +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
5c4973beb8 Merge pull request #2658 from gildegoma/ansible_doc_small_improvements
website/docs: cosmetic improvements on Ansible
2014-01-07 14:07:57 -08: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
d584a56ac2 Ansible Docs: Display multiline examples in block 2013-12-14 16:14:20 +01:00
Mark Aaron Shirley
7dc660fd7f Add Ansible groups docs. 2013-12-08 23:33:51 -08:00
Gilles Cornu
5aff4a1f20 Ansible: Improvements for 'extra_vars' argument
`extra_vars` argument can now:
- contains a hierarchical set of parameters (instead of flat Key-Value Pairs)
- alternatively refers to a configuration file (instead of embedded Hash)

See Ansible Documentation for version requirement details:
http://www.ansibleworks.com/docs/playbooks_variables.html#passing-variables-on-the-command-line
2013-10-12 00:29:39 +02:00
Matthew Johnson
eb5fc9d261 remove extra alias for vvv verbosity 2013-10-04 15:29:26 -04:00
Matthew Johnson
e5a2f1e8b7 fix ansible-playbook runs when verbosity is not specified 2013-10-04 02:58:49 -04:00
Matthew Johnson
131ce4fc97 add ansible.host_key_checking configuration parameter 2013-09-13 22:48:12 -04:00
Mitchell Hashimoto
9e878b3bfb Merge pull request #2153 from gildegoma/ansible-docs-cleanup-and-vv
provisioners/ansible: Update documentation, Code Cleanup (and Extend Log Verbosity option)
2013-09-07 17:46:28 -07:00
Gilles Cornu
eb5b6a8bf6 Ansible Docs: Add beginner warning
Apply the same warning as in Chef or Puppet pages
2013-09-07 15:58:11 +02:00
Gilles Cornu
ce4f2824f4 Ansible: Support three available verbosity levels 2013-09-07 15:17:43 +02:00
Gilles Cornu
8a925e3461 Ansible: code cleanup and documentation update
Clean Up (code logic is kept unmodified):
* Remove repetition around `ansible.limit` option (merge conflict issue)
* Re-add missing comments from GH-1697 (merge conflict issue)
* Reorder instructions

Documentation for following changes:
* [GH-1697] add more options
* [GH-1979] extra verbosity option
2013-09-07 14:49:12 +02:00
Mitchell Hashimoto
b5fd021694 website/docs: page titles on everything, cover more info 2013-09-06 09:50:43 -07:00
Mitchell Hashimoto
72b6fe6167 website/docs: bring in changes from docs.vagrantup.com 2013-09-03 11:59:49 -07:00
Mitchell Hashimoto
d03110eaa3 website: add docs back to the main Vagrant repo 2013-09-03 11:08:28 -07:00