Can you please check and see if you have a problem on Ansible 1.7.2?

We can't support older versions on this list.



On Tue, Nov 4, 2014 at 5:04 PM, Sean McGowan <spmcgo...@gmail.com> wrote:

> Background:  I am using Ansible 1.5 on RedHat.  Apparently
> system-config-network creates a hard link to /etc/hosts and
> /etc/resolve.conf.  I want to be able to copy the correct hosts file in
> place if is not there, whether or not the file links is > 1.
>
> What happens:  If the source file is already the same as the destination,
> I get FAILED with a message "absolute paths are required".
>
> I can find this message in the code of the file module, not the copy
> module.  Also, if the source file is different, the copy works fine.  I am
> assuming that it gets to the file module somehow after the atomic copy call
> in the copy module.
>
> Anyhow, can someone please tell me if this should be expected and/or if
> there is a good work around?
>
> Below is an example... Thanks in advance!
>
> ### /etc/hosts has > 1 links
> [root@padishah1 ansible]# ls -l /etc/hosts
> -rw-r--r--. 2 root root 13888 May 16 17:21 /etc/hosts
> [root@padishah1 ansible]# find /etc -xdev -samefile /etc/hosts
> /etc/sysconfig/networking/profiles/default/hosts
> /etc/hosts
>
> ### hosts.bkp = hosts && hosts.different != hosts
> [root@padishah1 ansible]# md5sum /etc/hosts /etc/hosts.{bkp,different}
> 0f7cc9afcb0f17a9864b45391027a6ad  /etc/hosts
> 0f7cc9afcb0f17a9864b45391027a6ad  /etc/hosts.bkp
> 9c5799def96f6f2e7309a3914075589b  /etc/hosts.different
>
> ### Trying to use the copy module with an identical file fails
> [root@padishah1 ansible]# ansible all -i <(echo -e "localhost
> ansible_connection=local") -m copy -a "src=/etc/hosts.bkp dest=/etc/hosts
> mode=0644 owner=root group=root" --check
> localhost | FAILED >> {
>     "failed": true,
>     "md5sum": "0f7cc9afcb0f17a9864b45391027a6ad",
>     "msg": "absolute paths are required"
> }
>
> ### Trying to copy with a new file is sucessful
> [root@padishah1 ansible]# ansible all -i <(echo -e "localhost
> ansible_connection=local") -m copy -a "src=/etc/hosts.different
> dest=/etc/hosts mode=0644 owner=root group=root" --check
> --- before: /etc/hosts
> +++ after: /etc/hosts.different
> ---diff redacted---
> +
> localhost | success >> {
>     "changed": true
> }
>
> ### This is not the case when links = 1
> [root@padishah1 ansible]# cp -p --remove-destination /etc/hosts.bkp
> /etc/hosts
> cp: overwrite `/etc/hosts'? yes
> [root@padishah1 ansible]# ls -l /etc/hosts
> -rw-r--r--. 1 root root 13888 May 16 17:21 /etc/hosts
>
> ### Identical file is now successful (changed: false is expected)
> [root@padishah1 ansible]# ansible all -i <(echo -e "localhost
> ansible_connection=local") -m copy -a "src=/etc/hosts.bkp dest=/etc/hosts
> mode=0644 owner=root group=root" --check
>
> localhost | success >> {
>     "changed": false,
>     "dest": "/etc/hosts",
>     "gid": 0,
>     "group": "root",
>     "md5sum": "0f7cc9afcb0f17a9864b45391027a6ad",
>     "mode": "0644",
>     "owner": "root",
>     "path": "/etc/hosts",
>     "secontext": "unconfined_u:object_r:etc_t:s0",
>     "size": 13888,
>     "state": "file",
>     "uid": 0
> }
>
> [root@padishah1 ansible]# ansible all -i <(echo -e "localhost
> ansible_connection=local") -m copy -a "src=/etc/hosts.different
> dest=/etc/hosts mode=0644 owner=root group=root" --check
> --- before: /etc/hosts
> +++ after: /etc/hosts.different
> ---diff redacted---
> +
>
> localhost | success >> {
>     "changed": true
> }
>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Ansible Project" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to ansible-project+unsubscr...@googlegroups.com.
> To post to this group, send email to ansible-project@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ansible-project/40c40d20-daec-400c-8db4-23bef72f7c9d%40googlegroups.com
> <https://groups.google.com/d/msgid/ansible-project/40c40d20-daec-400c-8db4-23bef72f7c9d%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to ansible-project+unsubscr...@googlegroups.com.
To post to this group, send email to ansible-project@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/CA%2BnsWgyerQCvk5Gki2dz_EMoGUWH0D-EqAUEdc4Vs03HokAqNw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to