diff --git a/docsite/rst/intro_configuration.rst b/docsite/rst/intro_configuration.rst index dda07fc4506..ca3fd006545 100644 --- a/docsite/rst/intro_configuration.rst +++ b/docsite/rst/intro_configuration.rst @@ -799,15 +799,22 @@ pipelining ========== Enabling pipelining reduces the number of SSH operations required to -execute a module on the remote server, by executing many ansible modules without actual file transfer. -This can result in a very significant performance improvement when enabled, however when using "sudo:" operations you must -first disable 'requiretty' in /etc/sudoers on all managed hosts. - -By default, this option is disabled to preserve compatibility with -sudoers configurations that have requiretty (the default on many distros), but is highly -recommended if you can enable it, eliminating the need for :doc:`playbooks_acceleration`:: - - pipelining=False +execute a module on the remote server, by executing many ansible modules without actual file transfer. +This can result in a very significant performance improvement when enabled. +As of Ansible 2.1.0 this option is enabled by default. + +In previous versions, this option was disabled because of a bad interaction +with some sudo configurations. If sudo was configured to 'requiretty' for +operation then pipelining would not work and ansible would fail to connect +properly. This could be remedied by removing 'requiretty' in /etc/sudoers on +all managed hosts. + +It is recommended to leave this option enabled. If you are stuck with an old +version of ansible your first choice option should be to remove requiretty +from the sudoers configuration and only disable pipelining if you cannot do +that. Enabling this eliminates the need for :doc:`playbooks_acceleration`:: + + pipelining=True .. _accelerate_settings: diff --git a/examples/ansible.cfg b/examples/ansible.cfg index 74aef7a0246..d77dfba0c07 100644 --- a/examples/ansible.cfg +++ b/examples/ansible.cfg @@ -226,13 +226,13 @@ # Enabling pipelining reduces the number of SSH operations required to # execute a module on the remote server. This can result in a significant -# performance improvement when enabled, however when using "sudo:" you must -# first disable 'requiretty' in /etc/sudoers +# performance improvement when enabled. It is enabled by default. # -# By default, this option is disabled to preserve compatibility with -# sudoers configurations that have requiretty (the default on many distros). -# -#pipelining = False +# In previous versions of ansible this was defaulted to off as it was +# incompatible with sudo's requiretty option. Ansible 2.1 and above contain +# a fix for that problem. +# +#pipelining = True # if True, make ansible use scp if the connection type is ssh # (default is sftp)