Your playbook says that the environment should contain an HTTPS_PROXY variable.
That is used by your get_url task.
One explanation is that your proxy does Man in the Middle (or SSLBump
in squid terms).
The error below is pretty clear about how solve that.


Dick

On 9 November 2017 at 11:56, ManiGandan T <[email protected]> wrote:
> My main.yml is executing a task called dumb-init and we are getting "msg":
> "Failed to validate the SSL certificate for github.com:443. Make sure your
> managed systems have a valid CA certificate installed " error
>
> STEPS TO REPRODUCE
>
> Command used : sudo ansible-container --debug build
>
> Main.yml
>
> name: Install dumb init
> get_url:
> url:
> https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-init_1.2.0_amd64
> dest: /usr/bin/dumb-init
> owner: root
> group: root
> mode: 0775
> environment:
> http_proxy: "http://xxx-proxy-out.xxx.com:8080";
> https_proxy: "http://xxx-proxy-out.xxxx.com:8080";
> HTTP_PROXY: "http://xxx-proxy-out.xxxx.com:8080";
> HTTPS_PROXY: "http://xx-proxy-out.xxx.com:8080";
>
> COmmand Used : sudo ansible-container --debug build
>
> Log:
> META: ran handlers
> TASK [node_container : Install dumb init]
> **************************************
> task path: /src/roles/node_container/tasks/main.yml:2
> Using module file
> /usr/lib/python2.7/site-packages/ansible/modules/net_tools/basics/get_url.py
> <6e2a9499e5b3dc4c4748b72955de0d3784a01489b93b3f0c03851fd697a54c98> ESTABLISH
> DOCKER CONNECTION FOR USER: root
> <6e2a9499e5b3dc4c4748b72955de0d3784a01489b93b3f0c03851fd697a54c98> EXEC
> ['/usr/local/bin/docker', 'exec', '-i',
> u'6e2a9499e5b3dc4c4748b72955de0d3784a01489b93b3f0c03851fd697a54c98',
> u'/bin/sh', '-c', u"/bin/sh -c 'echo ~ && sleep 0'"]
> <6e2a9499e5b3dc4c4748b72955de0d3784a01489b93b3f0c03851fd697a54c98> EXEC
> ['/usr/local/bin/docker', 'exec', '-i',
> u'6e2a9499e5b3dc4c4748b72955de0d3784a01489b93b3f0c03851fd697a54c98',
> u'/bin/sh', '-c', u'/bin/sh -c '( umask 77 && mkdir -p "echo
> /root/.ansible/tmp/ansible-tmp-1510211281.96-149794489024135" && echo
> ansible-tmp-1510211281.96-149794489024135="echo
> /root/.ansible/tmp/ansible-tmp-1510211281.96-149794489024135" ) && sleep
> 0'']
> <6e2a9499e5b3dc4c4748b72955de0d3784a01489b93b3f0c03851fd697a54c98> PUT
> /tmp/tmpUO7dPT TO
> /root/.ansible/tmp/ansible-tmp-1510211281.96-149794489024135/get_url.py
> <6e2a9499e5b3dc4c4748b72955de0d3784a01489b93b3f0c03851fd697a54c98> EXEC
> ['/usr/local/bin/docker', 'exec', '-i',
> u'6e2a9499e5b3dc4c4748b72955de0d3784a01489b93b3f0c03851fd697a54c98',
> u'/bin/sh', '-c', u"/bin/sh -c 'chmod u+x
> /root/.ansible/tmp/ansible-tmp-1510211281.96-149794489024135/
> /root/.ansible/tmp/ansible-tmp-1510211281.96-149794489024135/get_url.py &&
> sleep 0'"]
> <6e2a9499e5b3dc4c4748b72955de0d3784a01489b93b3f0c03851fd697a54c98> EXEC
> ['/usr/local/bin/docker', 'exec', '-i',
> u'6e2a9499e5b3dc4c4748b72955de0d3784a01489b93b3f0c03851fd697a54c98',
> u'/bin/sh', '-c', u'/bin/sh -c
> 'https_proxy=http://prod-proxy-out.xxx.com:8080
> http_proxy=http://prod-proxy-out.xxx.com:8080
> HTTPS_PROXY=http://prod-proxy-out.xxxx.com:8080
> HTTP_PROXY=http://prod-proxy-out.xxx.com:8080 /_usr/bin/python
> /root/.ansible/tmp/ansible-tmp-1510211281.96-149794489024135/get_url.py; rm
> -rf "/root/.ansible/tmp/ansible-tmp-1510211281.96-149794489024135/" >
> /dev/null 2>&1 && sleep 0'']
> The full traceback is:
> File "/tmp/ansible_eDZL6J/ansible_modlib.zip/ansible/module_utils/urls.py",
> line 1046, in fetch_url
> client_key=client_key, cookies=cookies)
> File "/tmp/ansible_eDZL6J/ansible_modlib.zip/ansible/module_utils/urls.py",
> line 953, in open_url
> r = urllib_request.urlopen(*urlopen_args)
> File "/_usr/lib/python2.7/urllib2.py", line 154, in urlopen
> return opener.open(url, data, timeout)
> File "/_usr/lib/python2.7/urllib2.py", line 427, in open
> req = meth(req)
> File "/tmp/ansible_eDZL6J/ansible_modlib.zip/ansible/module_utils/urls.py",
> line 765, in http_request
> build_ssl_validation_error(self.hostname, self.port, paths_checked, e)
> File "/tmp/ansible_eDZL6J/ansible_modlib.zip/ansible/module_utils/urls.py",
> line 591, in build_ssl_validation_error
> raise SSLValidationError(' '.join(msg) % (hostname, port, ", ".join(paths)))
> fatal: [ansible.node-container]: FAILED! => {
> "changed": false,
> "failed": true,
> "invocation": {
> "module_args": {
> "attributes": null,
> "backup": null,
> "checksum": "",
> "client_cert": null,
> "client_key": null,
> "content": null,
> "delimiter": null,
> "dest": "/usr/bin/dumb-init",
> "directory_mode": null,
> "follow": false,
> "force": false,
> "force_basic_auth": false,
> "group": "root",
> "headers": null,
> "http_agent": "ansible-httpget",
> "mode": 509,
> "owner": "root",
> "regexp": null,
> "remote_src": null,
> "selevel": null,
> "serole": null,
> "setype": null,
> "seuser": null,
> "sha256sum": "",
> "src": null,
> "timeout": 10,
> "tmp_dest": null,
> "unsafe_writes": null,
> "url":
> "https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-init_1.2.0_amd64";,
> "url_password": null,
> "url_username": null,
> "use_proxy": true,
> "validate_certs": true
> }
> },
> "msg": "Failed to validate the SSL certificate for github.com:443. Make sure
> your managed systems have a valid CA certificate installed. You can use
> validate_certs=False if you do not need to confirm the servers identity but
> this is unsafe and not recommended. Paths checked for this platform:
> /etc/ssl/certs, /etc/pki/ca-trust/extracted/pem, /etc/pki/tls/certs,
> /usr/share/ca-certificates/cacert.org, /etc/ansible. The exception msg was:
> [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)."
> }
> to retry, use: --limit @/tmp/tmpAZLAaM/playbook.retry
> PLAY RECAP
> *********************************************************************
> ansible.node-container : ok=1 changed=0 unreachable=0 failed=1
> 2017-11-09T07:08:02.678075 Error applying role! [container.core]
> caller_file=/_ansible/container/core.py caller_func=apply_role_to_container
> caller_line=680 engine=<container.docker.engine.Engine object at
> 0x7f5b840bf710> exit_code=2 playbook=[{'hosts': u'ansible.node-container',
> 'roles': ['node_container'], 'vars': {}}]
> 2017-11-09T07:08:02.684010 Playbook run finished. [container.core]
> caller_file=/_ansible/container/core.py caller_func=conductorcmd_build
> caller_line=811 exit_code=2
> Traceback (most recent call last):
> File "/usr/bin/conductor", line 11, in
> load_entry_point('ansible-container', 'console_scripts', 'conductor')()
> File "/_ansible/container/init.py", line 19, in wrapped
> return fn(*args, **kwargs)
> File "/_ansible/container/cli.py", line 399, in conductor_commandline
> **params)
> File "/_ansible/container/init.py", line 19, in wrapped
> return fn(*args, **kwargs)
> File "/_ansible/container/core.py", line 813, in conductorcmd_build
> raise RuntimeError('Build failed.')
> RuntimeError: Build failed.
> Exception in thread Thread-2:
> Traceback (most recent call last):
> File "/usr/lib64/python2.7/threading.py", line 812, in __bootstrap_inner
> self.run()
> File "/usr/lib64/python2.7/threading.py", line 765, in run
> self.__target(*self.__args, **self.__kwargs)
> File "/usr/lib/python2.7/site-packages/container/utils/logmux.py", line 40,
> in produce
> for message in iterator:
> File "/usr/lib/python2.7/site-packages/docker/api/client.py", line 339, in
> _multiplexed_response_stream_helper
> header = response.raw.read(STREAM_HEADER_SIZE_BYTES)
> File "/usr/lib/python2.7/site-packages/urllib3/response.py", line 231, in
> read
> raise ProtocolError('Connection broken: %r' % e, e)
> ProtocolError: ('Connection broken: IncompleteRead(0 bytes read)',
> IncompleteRead(0 bytes read))
>
> 2017-11-09T07:08:02.876617 Could not connect to container host. Check your
> docker config [container.cli]
> caller_file=/usr/lib/python2.7/site-packages/container/cli.py
> caller_func=call caller_line=328
>
>
> ANsible _ Version :
>
>
> Ansible Container, version 0.9.2
>
> --
> 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/cda7a6d1-b432-4394-ae12-5bd011d9bfb2%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.



-- 
Dick Visser
GÉANT

Want to join us? We're hiring: https://www.geant.org/jobs

-- 
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/CAL8fbwODkhCSg6gJzghBSwCgQS1CmxW0SiwSPseVB9U0hTc8OA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to