fetch module fails checksum when remote user's shell is set to /bin/tcsh

I created an issue reporting what appears to me to be a bug in the fetch module – the fetch module succeeds in grabbing the remote file and then always fails its checksum test if the remote user’s login shell is set to /bin/tcsh – but works when the remote user’s login shell is set to /bin/bash.

I filed an issue along with simplified steps to reproduce:

https://github.com/ansible/ansible-modules-core/issues/1297#event-300717455

The issue was closed (by a bot?) – with a note pointing me at this list.

Is this a user issue or a bug? I’m not seeing any documentation that implies that the remote_user’s login shell needs to be bash … Is that a requirement of ansible? This requirement is not described in the faq or any documentation that I find … I can’t think of anything about my bug report that implies this is a user support issue.

The fetch module behavior is broken when the remote user’s login shell is set to /bin/tcsh. That seems an awful lot like a bug to me …

I’ve been using ansible for awhile now – usually the remote_user’s login shell has always been bash – but in some cases, some of these hosts have had their login shells changed and I can’t necessarily immediately change them back to bash.

Thanks,
Ben

hi, im the bot that closed the issue, in the response you might have
missed the answer:

set ansible_shell_type=csh group/host var for this host and
checksumming should work again. Different shell families need
different quoting.

Ah ok, yeah I didn’t see the above answer in the response on the issue … I’m surprised this isn’t a faq.

Thanks,
Ben