# How to convince ansible-playbook to colorize output?

**URL:** <https://forum.ansible.com/t/how-to-convince-ansible-playbook-to-colorize-output/17021>\
**Category:** Ansible Project\
**Created:** [December 11, 2014, 9:50am UTC](https://forum.ansible.com/t/how-to-convince-ansible-playbook-to-colorize-output/17021 "2014-12-11T09:50:55Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Bryan\_Berry](https://avatars.discourse-cdn.com/v4/letter/b/f04885/32.png) [@Bryan\_Berry](https://forum.ansible.com/u/Bryan_Berry)\
**Post date:** [December 11, 2014, 9:50am UTC](https://forum.ansible.com/t/how-to-convince-ansible-playbook-to-colorize-output/17021/1 "2014-12-11T09:50:55Z")

</div>

Dear Ansiblists,

I have written a tool that wraps ansible-playbook to enforce a client’s fairly complex workflow and provides helper functions specific to their use case. The only thing that I lose by doing is the colorized output. Is there anyway I can trick ansible-playbook and other commands to output colorized output?

I use this invocation of subprocess.Popen to spawn the ansible playbook and flush the stdout

p = subprocess.Popen('ansible-playbook . . . ', stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)  
flush\_subprocess\_stdout(p.stdout)

# this function is located elsewhere

def flush\_subprocess\_stdout(stdout\_fd):  
lines =   
while True:  
line = stdout\_fd.readline()  
if not line:  
break  
lines.append(line)  
print line.strip()  
return lines

I found these lines in ansible-playbook, which appear to determine what output is colorized and which is not. I also looked at the display method in ansible.callbacks. It’s still not clear to me how I can convince ansible-playbook to colorize stdout. Any suggestions?

> <https://github.com/ansible/ansible/blob/devel/bin/ansible-playbook#L287-L303>

Bryan

---

<div class="post-metadata">

**Author:** ![Brian\_Coca](https://avatars.discourse-cdn.com/v4/letter/b/6de8d8/32.png) [@Brian\_Coca](https://forum.ansible.com/u/Brian_Coca)\
**Post date:** [December 11, 2014, 3:31pm UTC](https://forum.ansible.com/t/how-to-convince-ansible-playbook-to-colorize-output/17021/2 "2014-12-11T15:31:08Z")

</div>

try setting the environment variable in your master's shell ANSIBLE\_COLOR=True

---

<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:** [December 11, 2014, 4:05pm UTC](https://forum.ansible.com/t/how-to-convince-ansible-playbook-to-colorize-output/17021/3 "2014-12-11T16:05:25Z")

</div>

Actually, it’s just

export ANSIBLE\_FORCE\_COLOR=True

unset the variable to remove the behavior

---

<div class="post-metadata">

**Author:** ![Bryan\_Berry](https://avatars.discourse-cdn.com/v4/letter/b/f04885/32.png) [@Bryan\_Berry](https://forum.ansible.com/u/Bryan_Berry)\
**Post date:** [December 11, 2014, 5:33pm UTC](https://forum.ansible.com/t/how-to-convince-ansible-playbook-to-colorize-output/17021/4 "2014-12-11T17:33:21Z")

</div>

tks guys! that’s fantastic
