following up on this... is this a bug or an expected behaviour? On Friday, November 7, 2014 9:43:45 AM UTC-5, Sean McGowan wrote: > > > > On Friday, November 7, 2014 9:25:43 AM UTC-5, Michael DeHaan wrote: >> >> Can you please be explicit about what the "not a very cool behavior" is ? >> > > no problem. what the example below shows is that when using the copy > module with file parameters (e.g. mode, owner, group) that the --check flag > works if and only if the src and dest checksums do not match. When they > are equal, ansible happily makes the file parameter changes, regardless of > --check usage. I updated to 1.7.2 from 1.5 and this behavior did not exist > before. In 1.5, if the files were the same and the mode was different (for > example), ansible would flag it as changed, but not make the change when > using the --check flag. This, in my opinion, is the correct and expected > behavior. > > Thanks! > >> >> I'm having trouble parsing your intent from the above. >> >> Thanks! >> >> On Thu, Nov 6, 2014 at 4:46 PM, Sean McGowan <[email protected]> wrote: >> >>> I am using ansible 1.7.2 on RedHat >>> >>> Note that I am super happy that I was doing something somewhat >>> innocuous; however, this did just make a large number of changes across >>> 600+ hosts... not a very cool behavior... this did not exist in 1.5, >>> which is the version from which i upgraded. >>> >>> thanks in advance... >>> >>> relevant play: >>> # roles/common/tasks/main.yml >>> --- >>> - name: Read hosts table variables >>> include_vars: "hosts_{{ ansible_distribution }}.yml" >>> tags: hosts >>> >>> - name: debug test >>> debug: msg="Here is my hosts {{ hosts }}" >>> tags: hosts >>> >>> - name: Copy hosts table >>> copy: src={{ hosts }} dest={{ hosts_target }} >>> owner=root group={{ hosts_group }} mode=0644 >>> tags: hosts >>> >>> >>> ## roles/common/vars/hosts_Redhat.yml >>> --- >>> hosts_target: /etc/hosts >>> hosts_group: root >>> >>> ## roles/common/vars/hosts_Solaris.yml >>> --- >>> hosts_target: /etc/inet/hosts >>> hosts_group: sys >>> >>> >>> ### Correct configuration ( this is a solaris host ) >>> [root@padishah1 ansible]# ssh swdw43.scs.iwcs.net "ls -ltr >>> /etc/inet/hosts" >>> -rw-r--r-- 1 root sys 444 Nov 6 21:22 /etc/inet/hosts >>> >>> [root@padishah1 ansible]# ssh swdw43.scs.iwcs.net "digest -a md5 >>> /etc/inet/hosts" >>> 93049f5cbfe5c796b82ff256e4cd5639 >>> [root@padishah1 ansible]# md5sum roles/common/files/hosts/ >>> hosts.swdw43.scs.iwcs.net >>> 93049f5cbfe5c796b82ff256e4cd5639 roles/common/files/hosts/ >>> hosts.swdw43.scs.iwcs.net >>> >>> ansible-playbook sdlw_block1.yml -i west --tags=hosts --limit="swdw43*" >>> --check >>> >>> ____________________ >>> < PLAY [sdlw_block1] > >>> -------------------- >>> \ ^__^ >>> \ (oo)\_______ >>> (__)\ )\/\ >>> ||----w | >>> || || >>> >>> >>> _________________ >>> < GATHERING FACTS > >>> ----------------- >>> \ ^__^ >>> \ (oo)\_______ >>> (__)\ )\/\ >>> ||----w | >>> || || >>> >>> >>> ok: [swdw43.scs.iwcs.net] >>> ___________________________________________ >>> < TASK: common | Read hosts table variables > >>> ------------------------------------------- >>> \ ^__^ >>> \ (oo)\_______ >>> (__)\ )\/\ >>> ||----w | >>> || || >>> >>> >>> ok: [swdw43.scs.iwcs.net] >>> ___________________________ >>> < TASK: common | debug test > >>> --------------------------- >>> \ ^__^ >>> \ (oo)\_______ >>> (__)\ )\/\ >>> ||----w | >>> || || >>> >>> >>> ok: [swdw43.scs.iwcs.net] => { >>> "msg": "Here is my hosts hosts/hosts.swdw43.scs.iwcs.net" >>> } >>> _________________________________ >>> < TASK: common | Copy hosts table > >>> --------------------------------- >>> \ ^__^ >>> \ (oo)\_______ >>> (__)\ )\/\ >>> ||----w | >>> || || >>> >>> >>> ok: [swdw43.scs.iwcs.net] >>> ____________ >>> < PLAY RECAP > >>> ------------ >>> \ ^__^ >>> \ (oo)\_______ >>> (__)\ )\/\ >>> ||----w | >>> || || >>> >>> >>> swdw43.scs.iwcs.net : ok=4 changed=0 unreachable=0 >>> failed=0 >>> >>> >>> ## Change the group to root >>> [root@padishah1 ansible]# ssh swdw43.scs.iwcs.net "chown :root >>> /etc/inet/hosts && ls -l /etc/inet/hosts" >>> -rw-r--r-- 1 root root 444 Nov 6 21:22 /etc/inet/hosts >>> >>> ## Run the same play again -- note check is set!!! >>> [root@padishah1 ansible]# ansible-playbook sdlw_block1.yml -i west >>> --tags=hosts --limit="swdw43*" --check >>> >>> ____________________ >>> < PLAY [sdlw_block1] > >>> -------------------- >>> \ ^__^ >>> \ (oo)\_______ >>> (__)\ )\/\ >>> ||----w | >>> || || >>> >>> >>> _________________ >>> < GATHERING FACTS > >>> ----------------- >>> \ ^__^ >>> \ (oo)\_______ >>> (__)\ )\/\ >>> ||----w | >>> || || >>> >>> >>> ok: [swdw43.scs.iwcs.net] >>> ___________________________________________ >>> < TASK: common | Read hosts table variables > >>> ------------------------------------------- >>> \ ^__^ >>> \ (oo)\_______ >>> (__)\ )\/\ >>> ||----w | >>> || || >>> >>> >>> ok: [swdw43.scs.iwcs.net] >>> ___________________________ >>> < TASK: common | debug test > >>> --------------------------- >>> \ ^__^ >>> \ (oo)\_______ >>> (__)\ )\/\ >>> ||----w | >>> || || >>> >>> >>> ok: [swdw43.scs.iwcs.net] => { >>> "msg": "Here is my hosts hosts/hosts.swdw43.scs.iwcs.net" >>> } >>> _________________________________ >>> < TASK: common | Copy hosts table > >>> --------------------------------- >>> \ ^__^ >>> \ (oo)\_______ >>> (__)\ )\/\ >>> ||----w | >>> || || >>> >>> >>> changed: [swdw43.scs.iwcs.net] >>> ____________ >>> < PLAY RECAP > >>> ------------ >>> \ ^__^ >>> \ (oo)\_______ >>> (__)\ )\/\ >>> ||----w | >>> || || >>> >>> >>> swdw43.scs.iwcs.net : ok=4 changed=1 unreachable=0 >>> failed=0 >>> >>> ## Yikes!!!! This can be shown with changing perms too, not just >>> group; however, >>> ## I can leave that exercise out of the thread. >>> [root@padishah1 ansible]# ssh swdw43.scs.iwcs.net "ls -ltr >>> /etc/inet/hosts" >>> -rw-r--r-- 1 root sys 444 Nov 6 21:22 /etc/inet/hosts >>> >>> ## Now, modify the hosts so hosts is different AND change group >>> [root@padishah1 ansible]# ssh swdw43.scs.iwcs.net "echo '# just a >>> comment line' >> /etc/inet/hosts && ls -l /etc/inet/hosts" >>> -rw-r--r-- 1 root sys 466 Nov 6 21:34 /etc/inet/hosts >>> [root@padishah1 ansible]# ssh swdw43.scs.iwcs.net "chown :root >>> /etc/inet/hosts && ls -l /etc/inet/hosts" >>> -rw-r--r-- 1 root root 466 Nov 6 21:34 /etc/inet/hosts >>> >>> >>> ## Run the play again w/ check still set >>> [root@padishah1 ansible]# ansible-playbook sdlw_block1.yml -i west >>> --tags=hosts --limit="swdw43*" --check >>> ____________________ >>> < PLAY [sdlw_block1] > >>> -------------------- >>> \ ^__^ >>> \ (oo)\_______ >>> (__)\ )\/\ >>> ||----w | >>> || || >>> >>> >>> _________________ >>> < GATHERING FACTS > >>> ----------------- >>> \ ^__^ >>> \ (oo)\_______ >>> (__)\ )\/\ >>> ||----w | >>> || || >>> >>> >>> ok: [swdw43.scs.iwcs.net] >>> ___________________________________________ >>> < TASK: common | Read hosts table variables > >>> ------------------------------------------- >>> \ ^__^ >>> \ (oo)\_______ >>> (__)\ )\/\ >>> ||----w | >>> || || >>> >>> >>> ok: [swdw43.scs.iwcs.net] >>> ___________________________ >>> < TASK: common | debug test > >>> --------------------------- >>> \ ^__^ >>> \ (oo)\_______ >>> (__)\ )\/\ >>> ||----w | >>> || || >>> >>> >>> ok: [swdw43.scs.iwcs.net] => { >>> "msg": "Here is my hosts hosts/hosts.swdw43.scs.iwcs.net" >>> } >>> _________________________________ >>> < TASK: common | Copy hosts table > >>> --------------------------------- >>> \ ^__^ >>> \ (oo)\_______ >>> (__)\ )\/\ >>> ||----w | >>> || || >>> >>> >>> changed: [swdw43.scs.iwcs.net] >>> ____________ >>> < PLAY RECAP > >>> ------------ >>> \ ^__^ >>> \ (oo)\_______ >>> (__)\ )\/\ >>> ||----w | >>> || || >>> >>> >>> swdw43.scs.iwcs.net : ok=4 changed=1 unreachable=0 >>> failed=0 >>> >>> ## Here the check flag works!!! >>> [root@padishah1 ansible]# ssh swdw43.scs.iwcs.net "ls -l >>> /etc/inet/hosts" >>> -rw-r--r-- 1 root root 466 Nov 6 21:34 /etc/inet/hosts >>> >>> >>> >>> -- >>> 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/b8789577-91d1-4475-86a9-7adaba5c4aef%40googlegroups.com >>> >>> <https://groups.google.com/d/msgid/ansible-project/b8789577-91d1-4475-86a9-7adaba5c4aef%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/5c921077-4d82-42bd-8219-30785f01f60f%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
