Ansible and Proxy Authentication

Hello,

I’m having some trouble getting proxy authentication to work in Ansible. I have a simple playbook I’m using to test with the uri module and a remote REST API service.

And the result is always

failed: [localhost] => {“failed”: true, “parsed”: false}
Traceback (most recent call last):
File “/home/user/.ansible/tmp/ansible-tmp-1423071257.11-151456645393471/uri”, line 2011, in
main()
File “/home/user/.ansible/tmp/ansible-tmp-1423071257.11-151456645393471/uri”, line 403, in main
resp, content, dest = uri(module, url, dest, user, password, body, method, dict_headers, redirects, socket_timeout)
File “/home/user/.ansible/tmp/ansible-tmp-1423071257.11-151456645393471/uri”, line 302, in uri
resp, content = h.request(url, method=method, body=body, headers=headers)
File “/usr/lib/python2.6/site-packages/httplib2/init.py”, line 1605, in request
(response, content) = self._request(conn, authority, uri, request_uri, method, body, headers, redirections, cachekey)
File “/usr/lib/python2.6/site-packages/httplib2/init.py”, line 1353, in _request
(response, content) = self._conn_request(conn, request_uri, method, body, headers)
File “/usr/lib/python2.6/site-packages/httplib2/init.py”, line 1289, in _conn_request
conn.connect()
File “/usr/lib/python2.6/site-packages/httplib2/init.py”, line 1018, in connect
sock.connect((self.host, self.port))
File “/usr/lib/python2.6/site-packages/httplib2/socks.py”, line 424, in connect
self.__negotiatehttp(destpair[0], destpair[1])
File “/usr/lib/python2.6/site-packages/httplib2/socks.py”, line 390, in __negotiatehttp
raise HTTPError((statuscode, statusline[2]))
httplib2.socks.HTTPError: (407, ‘Proxy Authentication Required’)

The directions at http://docs.ansible.com/playbooks_environment.html are quite clear, so I’m not sure what is going on.

Have I defined something in my playbook incorrectly?

Does the uri module not respect proxy environment settings?

Thanks,
Jay

It's attempting to use the proxy by the looks of it, it just doesn't
like the user/pass you're providing.

Thanks for the response. I’m wondering if it’s the password. It has an @ symbol in it. I’ve tried encoding that with %40, but that still doesn’t work either. Any suggestions on how to get around that issue?

Thanks,
Jay

Well that was the issue. Just added some new credentials without the @ symbol in the password and it’s working.

Thanks,
Jay

Hi ,

It looks like it was the username and password asked by your api hosted at https://my.remotesite.com/api/v1.
What if the proxy server http://user:p%40ss@proxy.corporate.com asks a user name and password from me. What will be the solution.

Please help.

Thanks,
Dwarika.