get_url newbie question

2,221 views
Skip to first unread message

Daniel Laird

unread,
Sep 22, 2014, 11:08:40 AM9/22/14
to ansible...@googlegroups.com
All,

New to ansible and struggling a bit.

I want to use get_url on a list of files.  But also due to issues with the server I am downloading from I want to retry the download on failure.
I have something like this:

- name: Download the packages
  get_url: url=pkg_name.tar.bz2 dest=/opt/DIR_NAME force=yes url_password={{ svn_password }} url_username={{ svn_username }} use_proxy=no
  register: get_url_result
  until: get_url_result.rc == 0
  retries: 5
  delay: 10
  with_items: pkg_list

Is this possible?
I cant seem to get the logic right or find out what the get_url returns in the failure case.
I just want to try no more than 5 times for each pkg in the package list.

Cheers
Dan

Michael DeHaan

unread,
Sep 23, 2014, 3:19:59 PM9/23/14
to ansible...@googlegroups.com
A good way to check a return value is:

- debug: var=registered_variable_name

In this case, you should get an arrayed result.

Let us know what specific problems you are having as I have trouble parsing what "doesn't work" means usually :)

Thanks!



--
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.
To post to this group, send email to ansible...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/1587e35f-0a54-4f72-8383-e0e86850d324%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Daniel Laird

unread,
Oct 16, 2014, 9:35:34 AM10/16/14
to ansible...@googlegroups.com
For the benefit of all this seemed to solve it:
  get_url: url=pkg_name.tar.bz2 dest=/opt/DIR_NAME force=yes url_password={{ svn_password }} url_username={{ svn_username }} use_proxy=no
  register: get_url_result
  until: "'OK' in get_url_result.msg"
  retries: 5
  delay: 10
  with_items: pkg_list

cheers
Dan

Martin Palecek

unread,
Jan 2, 2015, 10:42:25 AM1/2/15
to ansible...@googlegroups.com
If the file is already present, then the get_url_result.msg does not contain 'OK'. I had to use
until: "'OK' in get_url_result.msg or 'file already exists' in get_url_result.msg"

Julien Vey

unread,
Sep 15, 2016, 11:10:11 AM9/15/16
to Ansible Project
Actually, this works just fine (tested with ansible-playbook 2.1.1.0)

until: get_url_result | succeeded
Reply all
Reply to author
Forward
0 new messages