diff --git a/lib/ansible/module_utils/urls.py b/lib/ansible/module_utils/urls.py index 0d0965e3abe..51779dc4e13 100644 --- a/lib/ansible/module_utils/urls.py +++ b/lib/ansible/module_utils/urls.py @@ -676,7 +676,7 @@ def maybe_add_ssl_handler(url, validate_certs): def open_url(url, data=None, headers=None, method=None, use_proxy=True, force=False, last_mod_time=None, timeout=10, validate_certs=True, url_username=None, url_password=None, http_agent=None, - force_basic_auth=False, follow_redirects=False): + force_basic_auth=False, follow_redirects='urllib2'): ''' Fetches a file from an HTTP/FTP server using urllib2 ''' @@ -809,8 +809,7 @@ def url_argument_spec(): ) def fetch_url(module, url, data=None, headers=None, method=None, - use_proxy=True, force=False, last_mod_time=None, timeout=10, - follow_redirects=False): + use_proxy=True, force=False, last_mod_time=None, timeout=10): ''' Fetches a file from an HTTP/FTP server using urllib2. Requires the module environment ''' @@ -828,8 +827,7 @@ def fetch_url(module, url, data=None, headers=None, method=None, http_agent = module.params.get('http_agent', None) force_basic_auth = module.params.get('force_basic_auth', '') - if not follow_redirects: - follow_redirects = module.params.get('follow_redirects', False) + follow_redirects = module.params.get('follow_redirects', 'urllib2') r = None info = dict(url=url) diff --git a/lib/ansible/modules/core b/lib/ansible/modules/core index 0bbb7ba38da..45745424f70 160000 --- a/lib/ansible/modules/core +++ b/lib/ansible/modules/core @@ -1 +1 @@ -Subproject commit 0bbb7ba38da07d2a9e562834264a2ee2fc9ceaf4 +Subproject commit 45745424f702980a8860ab5ba2d94cdfd0311695 diff --git a/lib/ansible/modules/extras b/lib/ansible/modules/extras index 39e4040685b..b51efc51bc6 160000 --- a/lib/ansible/modules/extras +++ b/lib/ansible/modules/extras @@ -1 +1 @@ -Subproject commit 39e4040685bf2c36fd59450ac4f9b40158179f9e +Subproject commit b51efc51bc64ef99b389acb6166d0eb46d984085 diff --git a/test/integration/roles/test_get_url/tasks/main.yml b/test/integration/roles/test_get_url/tasks/main.yml index 9ed0549ec47..46d9ee275d5 100644 --- a/test/integration/roles/test_get_url/tasks/main.yml +++ b/test/integration/roles/test_get_url/tasks/main.yml @@ -145,3 +145,8 @@ - 'get_url_result["failed"]' when: "{{ not python_has_ssl_context }}" # End hacky SNI test section + +- name: Test get_url with redirect + get_url: + url: 'http://httpbin.org/redirect/6' + dest: "{{ output_dir }}/redirect.json"