ansible/ansible — pull request #656 by jpmens (2012-07-23 12:42:19+00:00)
Title: Support for angry (i.e. failed) cows

One of Ansible's *wow* (or should I say: cow?) features is support for _cowsay_. Unfortunately, failed tasks still had smiling cows. This patch fixes that: )

```
___________________________________________________________
/ FAILED: [127.0.0.1] => (item=None) => {failed: true, msg: \
\ Destination /tmp/u//yyy.cgi not writable} /
-----------------------------------------------------------
\ . . .
\ . . . ` ,
\ .; . : .' : : : .
\ i..`: i` i.i.,i i .
\ `,--.|i |i|ii|ii|i:
UxxU\.'@@@@@@`.||'
\__/(@@@@@@@@@@)'
(@@@@@@@@)
`YY~~~~YY'
|| ||
```

If `$ANSIBLE_COWVOICE` is set, that is used instead: e.g.

```

___________________________________________________________
/ FAILED: [127.0.0.1] => (item=None) => {failed: true, msg: \
\ Destination /tmp/u//yyy.cgi not writable} /
-----------------------------------------------------------
\ / \ //\
\ |\___/| / \// \\
/0 0 \__ / // | \ \
/ / \/_/ // | \ \
@_^_@'/ \/_ // | \ \
//_^_/ \/_ // | \ \
( //) | \/// | \ \
( / /) _|_ / ) // | \ _\
( // /) '/,_ _ _/ ( ; -. | _ _\.-~ .-~~~^-.
(( / / )) ,-{ _ `-.|.-~-. .~ `.
(( // / )) '/\ / ~-. _ .-~ .-~^-. \
(( /// )) `. { } / \ \
(( / )) .----~-.\ \-' .~ \ `. \^-.
///.----..> \ _ -~ `. ^-` ^-_
///-._ _ _ _ _ _ _}^ - - - - ~ ~-- ,.-~
/.-~

```