On 1/22/19 5:54 PM, Nathanaël Blanchet wrote:
Hi all,
If anyone uses latest pycurl 7.43 provided by pip or ansible tower/awx, any ovirtsdk4 calling will issue with the log:
The full traceback is:
WARNING: The below traceback may *not* be related to the actual failure.
File "/tmp/ansible_ovirt_auth_payload_L1HK9E/__main__.py", line 202, in <module>
import ovirtsdk4 as sdk
File "/opt/awx/embedded/lib64/python2.7/site-packages/ovirtsdk4/__init__.py", line 22, in <module>
import pycurl
fatal: [localhost]: FAILED! => {
"changed": false,
"invocation": {
"module_args": {
"ca_file": null,
"compress": true,
"headers": null,
"hostname": null,
"insecure": true,
"kerberos": false,
"ovirt_auth": null,
"password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
"state": "present",
"timeout": 0,
"token": null,
"url": "https://acore.v100.abes.fr/ovirt-engine/api",
"username": "admin@internal"
}
},
"msg": "ovirtsdk4 version 4.2.4 or higher is required for this module"
}
The only way is to set the version of pycurl with
pip install -U "pycurl == 7.19.0"
(Before this, in tower/awx, you should create venv)
What's the version of AWX, where pycurl 7.43 is provided? I use latest
and I have 7.19. But anyway, I've tried to update to 7.43, and this worked for me with nss:
AWX 2.1.2
/opt/awx/embedded/lib64/python2.7/site-packages/pycurl-7.43.0.1.dist-info
$ source venv/awx/bin/activate
$ export PYCURL_SSL_LIBRARY=nss; pip install pycurl --compile --no-cache-dir
$ python -c 'import pycurl; print pycurl.version'
PycURL/7.43.0.2 libcurl/7.29.0 NSS/3.36 zlib/1.2.7 libidn/1.28 libssh2/1.4.3
Yes, I've tried your trick and 7.43 works with the nss support like you say, but...
So it should be good to compile the embedded awx pycurl to
natively support nss, out of venv.
-- Nathanaël Blanchet Supervision réseau Pôle Infrastrutures Informatiques 227 avenue Professeur-Jean-Louis-Viala 34193 MONTPELLIER CEDEX 5 Tél. 33 (0)4 67 54 84 55 Fax 33 (0)4 67 54 84 14 blanchet@abes.fr