[Bug 206498] sysutils/ansible -- tries to feed sh-syntax commands to csh

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Fri Jan 22 16:32:05 UTC 2016


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=206498

            Bug ID: 206498
           Summary: sysutils/ansible -- tries to feed sh-syntax commands
                    to csh
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: freebsd-ports-bugs at FreeBSD.org
          Reporter: matthew at FreeBSD.org
                CC: lifanov at mail.lifanov.com
             Flags: maintainer-feedback?(lifanov at mail.lifanov.com)
                CC: lifanov at mail.lifanov.com

Created attachment 165964
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=165964&action=edit
Derived from upstream commit 8647fdc7f25ba1c707c5333ca1581a1fa0ffe566

Seems there's a show-stopper bug in the latest ansible port:

% ansible -vvv stingray.fish.adestra.com -m setup
Using /usr/local/etc/ansible/ansible.cfg as config file
<stingray.fish.adestra.com> ESTABLISH SSH CONNECTION FOR USER: None
<stingray.fish.adestra.com> SSH: EXEC ssh -C -q -A -o ControlMaster=auto -o
ControlPersist=60s -o Port=22 -o KbdInteractiveAuthentication=no -o
PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o
PasswordAuthentication=no -o ConnectTimeout=10 -o
ControlPath=/home/matthew/.ansible/cp/ansible-ssh-%h-%p-%r -tt
stingray.fish.adestra.com '( umask 22 && mkdir -p "$( echo
${HOME}/.ansible/tmp/ansible-tmp-1453477395.69-234719990038675 )" && echo "$(
echo ${HOME}/.ansible/tmp/ansible-tmp-1453477395.69-234719990038675 )" )'
stingray.fish.adestra.com | 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-1453477395.69-234719990038675 )\" && echo \"$(
echo ${HOME}/.ansible/tmp/ansible-tmp-1453477395.69-234719990038675 )\" ),
exited with result 1: Illegal variable name.\r\n",
"unreachable": true
}

On FreeBSD machines, where root's shell is by default /bin/csh, ansible ends up
using that trying to run commands with /bin/sh syntax. Which simply doesn't
work.

This has been reported upstream (Issues: #13745, #13882) and this fix has been
committed to ansible github:

https://github.com/ansible/ansible/commit/8647fdc7f25ba1c707c5333ca1581a1fa0ffe566

Would it be possible to add this as a patch to the ansible FreeBSD port until
the next release comes out?

poudriere testport: OK

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-ports-bugs mailing list