I have set of servers that are Solaris 10. When ansible is invoked against the remote hosts, it creates a ‘~’ directory in the home directory instead of viewing ‘~’ as the users home directory.
xx64473z:apache$ pwd
/export/home/apache/~/.ansible/tmp
xx64473z:apache$ ls -l
total 8
drwx------ 2 apache staff 512 Oct 11 11:13 ansible-tmp-1507734837.83-37778909106509
drwx------ 2 apache staff 512 Oct 11 11:14 ansible-tmp-1507734843.04-65780739271966
drwx------ 2 apache staff 512 Oct 11 11:14 ansible-tmp-1507734843.27-42994154513941
drwx------ 2 apache staff 512 Oct 11 11:14 ansible-tmp-1507734846.05-28584204910152
The ansible commands run except for unarchive which receives the following error:
fatal: [xx64473z.xx.xxxxxx]: FAILED! => {“changed”: false, “failed”: true, “msg”: “Source ‘/export/home/apache/.ansible/tmp/ansible-tmp-1507734843.04-65780739271966/source’ failed to transfer”}
It is looking for the source file in the what should be the default remote_tmp directory. But since the directory is actually ‘/export/home/apache/~/.ansible/tmp’, it is not able to find the source and fails.
Here is my ansible host version:
ansible 2.3.2.0
config file = /etc/ansible/ansible.cfg
configured module search path = Default w/o overrides
python version = 2.7.5 (default, Aug 29 2016, 10:12:21) [GCC 4.8.5 20150623 (Red Hat 4.8.5-4)]
And the remove server info:
“ansible_distribution”: “Solaris”,
“ansible_distribution_release”: “Oracle Solaris 10 1/13 s10s_u11wos_24a SPARC”,
“ansible_distribution_version”: “10”,
I do not know if this is considered a bug. I know I can override the remote_tmp in the ansible.cfg file, but do not want to make this a global change. Ansible works correctly on all of the other hosts.
Is it possible to set remote_tmp for a single playbook? Or for a subset of servers?
Any suggestions on how to get around this error?