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 <[email protected]> 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 [email protected].
> To post to this group, send email to [email protected].
> 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 [email protected].
To post to this group, send email to [email protected].
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