Problems with 2.0 and ansible_shell_type

It appears Ansible 2.0 doesn’t like my hosts, though 1.9 was working fine. I control a bunch of FreeBSD 10.2 boxes from an OS X host.

Upon upgrading, my playbooks started to fail with errors like:

fatal: [tor1.2bit.co]: UNREACHABLE! => {“changed”: false, “msg”: “ERROR! Authentication or permission failure. In some cases, you may have been able to authenticate and did not have permissions on the remote directory. Consider changing the remote temp path in ansible.cfg to a path rooted in "/tmp". Failed command was: ( umask 22 && mkdir -p "$( echo $HOME/.ansible/tmp/ansible-tmp-1452896480.9-272021513985184 )" && echo "$( echo $HOME/.ansible/tmp/ansible-tmp-1452896480.9-272021513985184 )" ), exited with result 1: Illegal variable name.\r\n”, “unreachable”: true}

Did some googling and discovered the new ansible_shell_type setting. The remote user in this case is using tcsh. I’ve tried setting ansible_shell_type to ‘csh’, which works a bit better, but dies on the first copy action with:

fatal: [tor1.2bit.co]: FAILED! => {“changed”: false, “checksum”: “7ca01754a9742fd49cedbff1d8a43d3d88584214”, “failed”: true, “module_stderr”: “”, “module_stdout”: “{"group": "wheel", "uid": 0, "changed": false, "owner": "root", "state": "file", "gid": 0, "mode": "0644", "invocation": {"module_args": {"directory_mode": null, "force": false, "remote_src": null, "path": "/etc/mail/aliases", "owner": "root", "follow": false, "group": "wheel", "state": null, "content": null, "serole": null, "diff_peek": null, "setype": null, "dest": "/etc/mail/aliases", "selevel": null, "original_basename": "aliases", "regexp": null, "validate": null, "src": "aliases", "seuser": null, "recurse": false, "delimiter": null, "mode": "0644", "backup": null}}, "path": "/etc/mail/aliases", "size": 1700}\r\nSyntax error: Bad fd number\r\n”, “msg”: “MODULE FAILURE”, “parsed”: false}

Not really sure what to do from here. I’ve back-revved to 1.9 and the playbooks continue to run fine there, so it appears to be something specifically broken by using 2.0.

Any ideas?

  • Chip