
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: $ 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