Hi everyone,
I found some nice articles how to bootstrap FreeBSD machines with
ansible, as they lack a python install by default. Seems
bootstrapping pkg and installing python seems to be enough.
http://lampros.chaidas.com/index.php?controller=post&action=view&id_po
st=56
https://blog.codeways.org/ansible-freebsd/
https://docs.ansible.com/ansible/intro_bsd.html
But when using these kind of commands with ansible 2.0 from a OSX
machine, the command always hangs. When killing the process on the
freebsd machine, I get output similar to this:
ansible -vvv -k -u root XYZ -m raw -a 'env ASSUME_ALWAYS_YES=YES
/usr/sbin/pkg bootstrap -f' SSH password: <XYZ> ESTABLISH
CONNECTION FOR USER: root on PORT 22 TO freebsdmitnat
[...]
<XYZ> EXEC /usr/sbin/pkg bootstrap -f XYZ | FAILED | rc=143 >>
The package management tool is not yet installed on your system.
Do you want to fetch and install it now? [y/N]: Beendet
Apparently the ASSUME_ALWAYS_YES variable does not get set, and thus
the commands ask for confirmation (last two lines of output). When
calling the whole 'env ... -f' command on the freebsd machine, this
works like a charm.
I also tried using root, using a user via sudo or su, but each time
the same behaviour.
Question:
Is this a (known) regression with ansible 2.0 or earlier? All the
articles are a little bit old, maybe this has changed in the meantime?
Anyone having a solution?
Setting ansible_shell_type to csh via host_vars/group_vars/... does
not work.
Thanks in advance,
Johannes