# How do I know if pipelining is working

**URL:** <https://forum.ansible.com/t/how-do-i-know-if-pipelining-is-working/15177>\
**Category:** Ansible Project\
**Tags:** rhel\
**Created:** [May 6, 2014, 11:07pm UTC](https://forum.ansible.com/t/how-do-i-know-if-pipelining-is-working/15177 "2014-05-06T23:07:03Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jacob\_Weber1](https://avatars.discourse-cdn.com/v4/letter/j/94ad74/32.png) [@Jacob\_Weber1](https://forum.ansible.com/u/Jacob_Weber1)\
**Post date:** [May 6, 2014, 11:07pm UTC](https://forum.ansible.com/t/how-do-i-know-if-pipelining-is-working/15177/1 "2014-05-06T23:07:03Z")

</div>

Hello. I just tried enabling ssh pipelining in Ansible 1.6, by doing this:

- commenting out “Defaults requiretty” in the source and destination hosts
- adding “pipelining = True” to /etc/ansible.cfg

I timed a playbook with about 100 plays, a few times before and after, and it took around 1:05 each time. Is there anything else I need to try? Both hosts are on RHEL 6.4.  
Thanks.

---

<div class="post-metadata">

**Author:** ![Jacob\_Weber1](https://avatars.discourse-cdn.com/v4/letter/j/94ad74/32.png) [@Jacob\_Weber1](https://forum.ansible.com/u/Jacob_Weber1)\
**Post date:** [May 6, 2014, 11:11pm UTC](https://forum.ansible.com/t/how-do-i-know-if-pipelining-is-working/15177/2 "2014-05-06T23:11:25Z")

</div>

> commenting out “Defaults requiretty” in the source and destination hosts

FYI, this refers to the sudoers file. I also tried “Defaults !requiretty”, and the speed was the same.

---

<div class="post-metadata">

**Author:** ![Michael\_DeHaan1](https://avatars.discourse-cdn.com/v4/letter/m/5e9695/32.png) [@Michael\_DeHaan1](https://forum.ansible.com/u/Michael_DeHaan1)\
**Post date:** [May 7, 2014, 12:04am UTC](https://forum.ansible.com/t/how-do-i-know-if-pipelining-is-working/15177/3 "2014-05-07T00:04:13Z")

</div>

So, pipelining mode is only usable if you are using the SSH connection type (-c ssh), so I’d first check to make sure you are running on a system where that is the default – i.e. not Enterprise Linux (RHEL, CentOS, etc).

You’ve mentioned you are using RHEL, so this has to be explicitly requested, which is not the default – and due to lack of ControlPersist on this platform (which is why -c ssh is not the default there but is everywhere it’s available) it may not be as performant.

So, by default, your EL system is still using paramiko, which I hope explains things.

The other case is if your playbook uses “su” (not sudo), in which case pipelining is explicitly disabled due to technical limitations.

(I’d recommend maybe considering running from a Fedora – or even Ubuntu – host if you want it full-on optimized)

---

<div class="post-metadata">

**Author:** ![Jacob\_Weber1](https://avatars.discourse-cdn.com/v4/letter/j/94ad74/32.png) [@Jacob\_Weber1](https://forum.ansible.com/u/Jacob_Weber1)\
**Post date:** [May 7, 2014, 12:48am UTC](https://forum.ansible.com/t/how-do-i-know-if-pipelining-is-working/15177/4 "2014-05-07T00:48:38Z")

</div>

Makes sense. I’m not really too concerned about the speed, so I’ll leave it alone. Thanks for the explanation.
