Implementar un invitado de VMware con Ansible

Intento desplegar un invitado de VMWare a través de Ansible. Desafortunadamente

ansible-playbook -i inventory.local vmware.yml PLAY [all] ******************************************************************** GATHERING FACTS *************************************************************** ok: [vmcenter00] ok: [127.0.0.1] TASK: [vsphere_guest ] ******************************************************** failed: [127.0.0.1] => {"failed": true, "parsed": false} Traceback (most recent call last): File "/Users/some_user/.ansible/tmp/ansible-tmp-1447432699.52-19521550866442/vsphere_guest", line 2936, in <module> main() File "/Users/some_user/.ansible/tmp/ansible-tmp-1447432699.52-19521550866442/vsphere_guest", line 1207, in main viserver.connect(vcenter_hostname, username, password) File "/Library/Python/2.7/site-packages/pysphere/vi_server.py", line 101, in connect request)._returnval File "/Library/Python/2.7/site-packages/pysphere/resources/VimService_services.py", line 2170, in RetrieveServiceContent self.binding.Send(None, None, request, soapaction="urn:vim25/5.0", **kw) File "/Library/Python/2.7/site-packages/pysphere/ZSI/client.py", line 295, in Send self.local.h.connect() File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 1274, in connect server_hostname=server_hostname) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ssl.py", line 352, in wrap_socket _context=self) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ssl.py", line 579, in __init__ self.do_handshake() File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ssl.py", line 808, in do_handshake self._sslobj.do_handshake() ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590) FATAL: all hosts have already failed -- aborting PLAY RECAP ******************************************************************** to retry, use: --limit @/Users/some_user/vmware.retry 127.0.0.1 : ok=1 changed=0 unreachable=0 failed=1 vmcenter00 : ok=1 changed=0 unreachable=0 failed=0 

Lo que deberías saber.

Corro OS X 10.11. Tengo ansible 1.9.3 Tengo pysphere (0.1.7) La salida de:

 python -c 'import ssl; print(ssl.OPENSSL_VERSION)' OpenSSL 0.9.8zg 14 July 2015... 

¿Me estoy perdiendo de algo?

Las tareas fallan porque falla la verificación del certificate SSL. En la versión 2.1 Ansible validate_certs se añadió al vsphere_guest_module

Validar certificates SSL. Tenga en count que, si se ejecuta en python sin soporte SSLContext (normalmente, python <2.7.9), tendrá que establecer esto como no, ya que pysphere no admite la validation de certificates en python antiguo. Antes de 2.1, este module siempre validaría en python> = 2.7.9 y nunca validaría en python <= 2.7.8.

Por lo tanto, establecer validate_certs: no debería resolver este problema mientras pueda utilizar la versión Ansible> = 2.1 y la versión de Python> = 2.7.9.

Solución: agregue dos líneas más abajo en /Library/Python/2.7/site-packages/pysphere/vi_server.py

 import ssl ssl._create_default_https_context = ssl._create_unverified_context