Those are good points. I guess the challenge is how much time are you 
willing to spend when running playbooks to compute sha/md5's of files on 
disk? If we are OK spending that time, then we could just as easily have 
the conditionals do that. I was looking at the file module to see what 
approach is used elsewhere and from what I can tell, ansible isn't 
computing hashes, it is just asserting the file isn't already there. So 
doing this in get_url seems to be a new thing for file related modules.

What about adding both options, file-length or md5/sha for checking files. 
Both are optional, and both offer different trade-offs of cost during 
playbook run time vs level of accuracy? 

This is just me thinking out loud so please point out any oversight in my 
logic.

On Tuesday, January 7, 2014 3:49:31 PM UTC-8, Michael DeHaan wrote:
>
> Seems you would want to run it once and then put that value in the 
> playbook.
>
> If the SHA/MD5 was of a build product, maybe it could be generated by 
> Jenkins as an artifact?
>
> Just playing Devil's advocate somewhat -- I suspect people *may* raise the 
> "but... but... file sizes aren't secure" complaint without seeing the SHA 
> option.  We could also of course just make sure this was very very very 
> very obvious in the docs, but I'm also a little wary of including a feature 
> for a specific use case, so if there's a more mainstream way, we should 
> perhaps see if it's workable first?
>
> Thoughts welcome.
>
>
>
>
> On Tue, Jan 7, 2014 at 5:55 PM, William Jimenez 
> <wjim...@appdynamics.com<javascript:>
> > wrote:
>
>> The latter, if we have to SHA/MD5 a 500M+ file every time we run ansbile 
>> the thought was that would be too slow. 
>>
>>
>> On Tue, Jan 7, 2014 at 2:48 PM, Michael DeHaan 
>> <mic...@ansibleworks.com<javascript:>
>> > wrote:
>>
>>> Was the time of doing something SHA related actually being a problem, or 
>>> more a problem of needing to calculate the SHA?
>>>
>>>
>>>
>>>
>>> On Tue, Jan 7, 2014 at 5:33 PM, William Jimenez 
>>> <wjim...@appdynamics.com<javascript:>
>>> > wrote:
>>>
>>>>  Hi Guys
>>>> I submitted a pull request today but wanted to provide some background 
>>>> on the use case. I ran into some situations where it was desirable to be 
>>>> able to update an artifact in a content repository (say artifactory) and 
>>>> then re-run ansible as is and have that updated artifact be pulled down. 
>>>> Currently, I didn't see a way to do this with get_url since it will skip 
>>>> it 
>>>> if already sees the file on disk. So after talking about it with the team, 
>>>> we came up with an idea to detect these changes. The method is low cost 
>>>> since it doesn't require any md5 or sha hashing of the local file on each 
>>>> run, and for the remote side it just makes a http header request for the 
>>>> file size. There is a small chance that this method could return a false 
>>>> positive in the case of different files being the same size, but its a 
>>>> trade-off for speed. Looking forward to your feedback!
>>>>
>>>> https://github.com/ansible/ansible/pull/5538
>>>>
>>>> Thanks,
>>>>
>>>> William
>>>>  
>>>> -- 
>>>> 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-proje...@googlegroups.com <javascript:>.
>>>>
>>>> To post to this group, send email to 
>>>> ansible...@googlegroups.com<javascript:>
>>>> .
>>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>>
>>>
>>>
>>>
>>> -- 
>>> Michael DeHaan <mic...@ansibleworks.com <javascript:>>
>>> CTO, AnsibleWorks, Inc.
>>> http://www.ansibleworks.com/
>>>
>>>  -- 
>>> You received this message because you are subscribed to a topic in the 
>>> Google Groups "Ansible Project" group.
>>> To unsubscribe from this topic, visit 
>>> https://groups.google.com/d/topic/ansible-project/SmmJg3BSArY/unsubscribe
>>> .
>>> To unsubscribe from this group and all its topics, send an email to 
>>> ansible-proje...@googlegroups.com <javascript:>.
>>>
>>> To post to this group, send email to 
>>> ansible...@googlegroups.com<javascript:>
>>> .
>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>
>>   -- 
>> 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-proje...@googlegroups.com <javascript:>.
>> To post to this group, send email to ansible...@googlegroups.com<javascript:>
>> .
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>
>
>
> -- 
> Michael DeHaan <mic...@ansibleworks.com <javascript:>>
> CTO, AnsibleWorks, Inc.
> http://www.ansibleworks.com/
>
>  

-- 
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.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to