Hi,
For some reason, ansible fails to install nodesource's apt key on ubuntu/trusty. It seem to worked about a month ago or so (if I'm not mistaken).
playbook.yml:
- hosts: all
gather_facts: no
tasks:
- name: apt-get update
raw: '! which apt-get
&& exit 0
|| apt-get update'
- name: Install python
raw: '! which apt-get
&& exit 0
|| apt-get -y install python'
- hosts: all
tasks:
- name: Add Nodesource apt key.
apt_key:
Output:
$ ansible-playbook playbook.yml -i lxc, -vv
...
TASK [Add Nodesource apt key.] *************************************************
fatal: [lxc]: FAILED! => {"changed": false, "failed": true, "msg": "Failed to validate the SSL certificate for
deb.nodesource.com:443. Make sure your managed systems have a valid CA certificate installed. If the website serving the url uses SNI you need python >= 2.7.9 on your managed machine or you can install the `urllib3`, `pyopenssl`, `ndg-httpsclient`, and `pyasn1` python modules to perform SNI verification in python >= 2.6. 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"}
Can I somehow investigate what's causing the issue? I indeed have python-2.7.6 there. Can I check if
deb.nodesource.com is using SNI? Can this be an issue with trusty's certificates? Which packages am I supposed to install? I can see python-urllib3, and python-pyasn1. But I can't see ndg-httpsclient and pyopenssl for trusty in official repositories. Can I somehow get away with not installing these extra packages?
I've run into this issue when trying to use geerlingguy.nodejs role.
Thanks in advance.
Regards,
Yuri