dnaeon / py-vpoller

Distributed vSphere API Proxy
Other
83 stars 31 forks source link

vpoller-client error: self._sslobj.do_handshake() error: [Errno 0] Error #259

Closed chises closed 5 years ago

chises commented 5 years ago

Hello, i updated my "vpoller" related stuff and facing the following issue: Update commands:

apt-get update 
apt-get upgrade
pip install --upgrade pip
pip install --upgrade pyvmomi
pip install --upgrade vpoller

cd /usr/share/zeromq4-x <already done a git clone before)
git pull
./autogen.sh
./configure
make && sudo make install && make clean
sudo ldconfig

This works without any issue

pip freeze | egrep 'pyvmomi|vpoller|vconnector|requests'
pyvmomi==6.7.1
requests==2.10.0
vconnector==0.5.0
vpoller==0.7.0

vpoller-client --version
0.7.0

python --version
Python 2.7.13

After a reboot i see the following issue in vpoller-client and vpoller-worker. vpoller proxy seems to be fine.

vpoller-client --method datacenter.discover --vsphere-host VCENTER
{"msg": "Task datacenter.discover failed", "traceback": "Traceback (most recent call last):\n  File \"/usr/local/lib/python2.7/dist-packages/vpoller/task/decorators.py\", line 55, in wrapper\n    result = fn(*args, **kwargs)\n  File \"/usr/local/lib/python2.7/dist-packages/vpoller/vsphere/tasks.py\", line 944, in datacenter_discover\n    obj_type=pyVmomi.vim.Datacenter\n  File \"/usr/local/lib/python2.7/dist-packages/vpoller/vsphere/tasks.py\", line 65, in _discover_objects\n    view_ref = agent.get_container_view(obj_type=[obj_type])\n  File \"/usr/local/lib/python2.7/dist-packages/vconnector/core.py\", line 346, in get_container_view\n    container = self.si.content.rootFolder\n  File \"/usr/local/lib/python2.7/dist-packages/vconnector/core.py\", line 121, in si\n    self.connect()\n  File \"/usr/local/lib/python2.7/dist-packages/vconnector/core.py\", line 158, in connect\n    sslContext=self.ssl_context,\n  File \"/usr/local/lib/python2.7/dist-packages/pyVim/connect.py\", line 836, in SmartConnect\n    sslContext)\n  File \"/usr/local/lib/python2.7/dist-packages/pyVim/connect.py\", line 718, in __FindSupportedVersion\n    sslContext)\n  File \"/usr/local/lib/python2.7/dist-packages/pyVim/connect.py\", line 638, in __GetServiceVersionDescription\n    path + \"/vimServiceVersions.xml\", sslContext)\n  File \"/usr/local/lib/python2.7/dist-packages/pyVim/connect.py\", line 604, in __GetElementTree\n    conn.request(\"GET\", path)\n  File \"/usr/lib/python2.7/httplib.py\", line 1042, in request\n    self._send_request(method, url, body, headers)\n  File \"/usr/lib/python2.7/httplib.py\", line 1082, in _send_request\n    self.endheaders(body)\n  File \"/usr/lib/python2.7/httplib.py\", line 1038, in endheaders\n    self._send_output(message_body)\n  File \"/usr/lib/python2.7/httplib.py\", line 882, in _send_output\n    self.send(msg)\n  File \"/usr/lib/python2.7/httplib.py\", line 844, in send\n    self.connect()\n  File \"/usr/lib/python2.7/httplib.py\", line 1263, in connect\n    server_hostname=server_hostname)\n  File \"/usr/lib/python2.7/ssl.py\", line 363, in wrap_socket\n    _context=self)\n  File \"/usr/lib/python2.7/ssl.py\", line 611, in __init__\n    self.do_handshake()\n  File \"/usr/lib/python2.7/ssl.py\", line 840, in do_handshake\n    self._sslobj.do_handshake()\nerror: [Errno 0] Error\n", "success": 1}

we are using a self signed SSL cert on vCenter Server appliance 6.7 and i found severals stuff regarding SSL certificate check.. but i am not able to solve it... any hints?

dnaeon commented 5 years ago

Hey @chises,

Do you notice the same issue on other vCenter versions as well, or is it only on 6.7?

chises commented 5 years ago

Hi @dnaeon ,

thank you for your answer. the issue is not related to vCenter 6.7. The "old" vpoller did a great job to version 6.7 ;)

After apt-get update + pip install --upgrade the issue showed up.

dnaeon commented 5 years ago

Hey @chises,

Just tested it and confirmed it exists in 0.7.0.

There's however a newer version available in the Git repo, which is 0.7.1 and that one works fine.

Seems like I didn't publish the newer version on PyPI, and you got the older releases of vconnector and vpoller. I've just published v0.7.1 of vpoller and v0.5.1 of vconnector on PyPI.

Please do update to these versions and let me know how it goes.

Thanks!

chises commented 5 years ago

that made it!

pip install --upgrade vconnector
pip install --upgrade vpoller

..

 vpoller-client --method datacenter.discover --vsphere-host VCENTER
{"msg": "Successfully discovered objects", "result": [{"name": "DATACENTER"}], "success": 0}

pip freeze | egrep 'pyvmomi|vpoller|vconnector|requests'
pyvmomi==6.7.1
requests==2.10.0
vconnector==0.5.1
vpoller==0.7.1

Thank you very much @dnaeon