Le 23/01/2019 à 09:27, Ondra Machacek a écrit :
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

$ 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/ 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
Tél. 33 (0)4 67 54 84 55
Fax  33 (0)4 67 54 84 14