Commit Graph

35 Commits (8f18e6574e1d16b27bd19ede72b094c2f21290ca)

Author SHA1 Message Date
Abhijit Menon-Sen 3ad9b4cba6 Rework additional ssh argument handling
Now we have the following ways to set additional arguments:

1. [ssh_connection]ssh_args in ansible.cfg: global setting, prepended to
   every command line for ssh/scp/sftp. Overrides default ControlPersist
   settings.
2. ansible_ssh_common_args inventory variable. Appended to every command
   line for ssh/scp/sftp. Used in addition to ssh_args, if set above, or
   the default settings.
3. ansible_{sftp,scp,ssh}_extra_args inventory variables. Appended to
   every command line for the relevant binary only. Used in addition to
   #1 and #2, if set above, or the default settings.
3. Using the --ssh-common-args or --{sftp,scp,ssh}-extra-args command
   line options (which are overriden by #2 and #3 above).

This preserves backwards compatibility (for ssh_args in ansible.cfg),
but also permits global settings (e.g. ProxyCommand via _common_args) or
ssh-specific options (e.g. -R via ssh_extra_args).

Fixes #12576
9 years ago
Abhijit Menon-Sen d4af7d256b Mention ansible_ssh_pipelining in intro_inventory 9 years ago
Jeff Widman 3f135e3fac Clarified that .yml, .yaml, and .json are allowable file extensions for inventory variables files. 9 years ago
Abhijit Menon-Sen f56a6e0951 Rename ansible_ssh_{host,port,user} in docs to ansible_*
The _ssh variants will continue to work, but the shorter, more generic
names are preferred now.
9 years ago
James Cammarata 6650ba7654 Squashed commit of the following:
commit 9921bb9d20
Author: Abhijit Menon-Sen <ams@2ndQuadrant.com>
Date:   Mon Aug 10 20:19:44 2015 +0530

    Document --ssh-extra-args command-line option

commit 8b25595e7b
Author: Abhijit Menon-Sen <ams@2ndQuadrant.com>
Date:   Thu Aug 13 13:24:57 2015 +0530

    Don't disable GSSAPI/Pubkey authentication when using --ask-pass

    This commit is based on a bug report and PR by kolbyjack (#6846) which
    was subsequently closed and rebased as #11690. The original problem was:

        «The password on the delegated host is different from the one I
        provided on the command line, so it had to use the pubkey, and the
        main host doesn't have a pubkey on it yet, so it had to use the
        password.»

    (This commit is revised and included here because #11690 would conflict
    with the changes in #11908 otherwise.)

    Closes #11690

commit 119d032389
Author: Abhijit Menon-Sen <ams@2ndQuadrant.com>
Date:   Thu Aug 13 11:16:42 2015 +0530

    Be more explicit about why SSH arguments are added

    This adds vvvvv log messages that spell out in detail where each SSH
    command-line argument is obtained from.

    Unfortunately, we can't be sure if, say, self._play_context.remote_user
    is obtained from ANSIBLE_REMOTE_USER in the environment, remote_user in
    ansible.cfg, -u on the command line, or an ansible_ssh_user setting in
    the inventory or on a task or play. In some cases, e.g. timeout, we
    can't even be sure if it was set by the user or just a default.

    Nevertheless, on the theory that at five v's you can use all the hints
    available, I've mentioned the possible sources in the log messages.

    Note that this caveat applies only to the arguments that ssh.py adds by
    itself. In the case of ssh_args and ssh_extra_args, we know where they
    are from, and say so, though we can't say WHERE in the inventory they
    may be set (e.g. in host_vars or group_vars etc.).

commit b605c285ba
Author: Abhijit Menon-Sen <ams@2ndQuadrant.com>
Date:   Tue Aug 11 15:19:43 2015 +0530

    Add a FAQ entry about ansible_ssh_extra_args

commit 49f8edd035
Author: Abhijit Menon-Sen <ams@2ndQuadrant.com>
Date:   Mon Aug 10 20:48:50 2015 +0530

    Allow ansible_ssh_args to be set as an inventory variable

    Before this change, ssh_args could be set only in the [ssh_connection]
    section of ansible.cfg, and was applied to all hosts. Now it's possible
    to set ansible_ssh_args as an inventory variable (directly, or through
    group_vars or host_vars) to selectively override the global setting.

    Note that the default ControlPath settings are applied only if ssh_args
    is not set, and this is true of ansible_ssh_args as well. So if you want
    to override ssh_args but continue to set ControlPath, you'll need to
    repeat the appropriate options when setting ansible_ssh_args.

    (If you only need to add options to the default ssh_args, you may be
    able to use the ansible_ssh_extra_args inventory variable instead.)

commit 37c1a5b679
Author: Abhijit Menon-Sen <ams@2ndQuadrant.com>
Date:   Mon Aug 10 19:42:30 2015 +0530

    Allow overriding ansible_ssh_extra_args on the command-line

    This patch makes it possible to do:

        ansible somehost -m setup \
            --ssh-extra-args '-o ProxyCommand="ssh -W %h:%p -q user@bouncer.example.com"'

    This overrides the inventory setting, if any, of ansible_ssh_extra_args.

    Based on a patch originally by @Richard2ndQuadrant.

commit b023ace8a8
Author: Abhijit Menon-Sen <ams@2ndQuadrant.com>
Date:   Mon Aug 10 19:06:19 2015 +0530

    Add an ansible_ssh_extra_args inventory variable

    This can be used to configure a per-host or per-group ProxyCommand to
    connect to hosts through a jumphost, e.g.:

        inventory:
            [gatewayed]
            foo ansible_ssh_host=192.0.2.1

        group_vars/gatewayed.yml:
            ansible_ssh_extra_args: '-o ProxyCommand="ssh -W %h:%p -q bounceuser@gateway.example.com"'

    Note that this variable is used in addition to any ssh_args configured
    in the [ssh_connection] section of ansible.cfg (so you don't need to
    repeat the ControlPath settings in ansible_ssh_extra_args).
9 years ago
Charles Chan 980f44ccba Update intro_inventory.rst
Change 'SSH' to upper case.
9 years ago
Christian Jensen b5f5404e63 Tiny typo fix 9 years ago
Brian Coca 6e2aca2261 Merge pull request #11670 from jody-frankowski/update-intro-inventory-params
Fix intro_inventory documented params. Update for the new 'become' system
9 years ago
Andy Dirnberger 02589ffbba Fix formatting of Groups of Groups
The example in the Groups of Groups section was being rendered as a quote.
Switching to the `::` notation causes it to render as preformatted text instead.
This could have also been done with a `.. code:` block, but I chose to be
consistent with other sections in the document.
9 years ago
Jody Frankowski 4713e58b57 modify intro inventory params docs to be shorter, ansible_su/do is moved out 9 years ago
Jody Frankowski f7c9b5382d Fix intro_inventory documented params. Update for the new 'become' system 9 years ago
Jacek Laskowski 796c7accd1 Update intro_inventory.rst
Minor fix for consistency (and more engaging language :))
9 years ago
Mike Putnam 02aa76d518 Remove docs remnant re: var use. 9 years ago
Mike Putnam 515de1e6eb Be more specific describing groups of groups,
Fixes #11397
9 years ago
Dave James Miller 652daf3db4 Remove duplicated "By default" in docs 10 years ago
E. Dunham 20df50e11c Fix confusing wording about aliases
Point out that nicknames for hosts can go in the hosts file, by fixing wording that seemed contradictory.
10 years ago
Brian Coca daa2c3a956 Merge pull request #9584 from Sgoettschkes/issue_docs_missing_ansible_sudo
Adding inventory parameter to documentation
10 years ago
Toshio Kuratomi fe53d86a83 inventory is ini-like but not quite like other implementations 10 years ago
Toshio Kuratomi fb5b682989 Use "override" instead of "loaded second" to be clear about what happens
Need for clarification brought up here:
https://github.com/ansible/ansible/issues/9877
10 years ago
Sebastian Göttschkes 9660afd3e0 Adding inventory parameter to documentation
Adding the inventory parameter `ansible_sudo` to the list of behavioural
inventory parameters in the intro_inventory documentation.
10 years ago
Bruno BAILLUET 4e5dc754fa Added a comment to mention that ansible_sudo_exe is available from version 1.8 and beyond 10 years ago
Bruno BAILLUET a25da4af05 Add a new inventory parameter (ansible_sudo_exe) to specify sudo command path. 10 years ago
Hagai a552c07230 Added note on which version did dirs in group_vars start working 11 years ago
Hagai e2cc510e37 Update docs to include directories inside group_vars 11 years ago
James Cammarata fd27afdc0d Adding ansible_shell_type and basic environment construction on it
Previously we assumed the shell on the target systems were 'sh'-
compliant when formatting environment variables preceding command
strings. This patch corrects that by basing the target shell type
on the DEFAULT_EXECUTABLE setting, which can be overridden on a
per-host basis using the inventory variable 'ansible_shell_type'.

Fixes #7352
11 years ago
Michael DeHaan 0720af11ae Merge pull request #7186 from jf/docfix-obvious-quick-simples
Obvious quick fixes:
11 years ago
Michael DeHaan cff4b5d412 Clarify .ssh/config port usage. 11 years ago
Jeffrey 'jf' Lim d80f4624d4 Obvious quick fixes:
- extra 'the' in intro_inventory
- capitalization in playbooks_roles
11 years ago
Randy Stauner df67830dbf Reference --ask-sudo-pass for ansible_sudo_pass
It looks like the description for `ansible_sudo_pass` was copy/pasted from `ansible_ssh_pass` and not fully updated.
11 years ago
Michael DeHaan 81fdd5d02a Add a note about hosts being ok in multiple groups. 11 years ago
Michael DeHaan 1c29f043b4 Add contents to various pages with more than one topic per page. 11 years ago
Michael DeHaan 041cea134f New Sphinx theme has sidebar navigation so don't need TOC on each page. 11 years ago
Matt Martz ea2ec6237a Add ansible_sudo_pass hostvar support 11 years ago
Jérémie Augustin ddf1d71b7d [doc] duplicate group in usa:children group 11 years ago
Michael DeHaan 0cd09dd54f Remove extra "latest/" subdirectory in docs build structure. 11 years ago