If someone would have told me two years ago, that we'll have pywbem version 0.9.0 soon, I'd have laughed. Two years ago, pywbem was in some kind of coma. It existed and was supported from all major distributions (even with their own packages), yet upstream was dead. For security fixes, the distributions put together some patched versions; resulting in pywbem being differently depending on the distribution. But still running with the same old version 0.7.0.
But then came Andy Maier and revived the project in September 2014. Succeeding several months of beta versions, the final version of 0.8.1 was released in March 2016. Back then the monitoring plugin check_esxi_hardware was adapted to support both the old and everlasting 0.7.0 but also the newer 0.8.0. Unfortunately this was done in a hard coded way:
elif '0.8.' in pywbemversion:
See the problem? Yep. Version 0.9.0 was released last month, in September 2016. Of course the plugin didn't know how to handle the newer version. And version 0.10.0 is also around the corner, so that wouldn't have worked either.
So today's update of check_esxi_hardware.py (version 20161013) removes that hard-coded way - except for the old 0.7.0 version which was
abused - sorry - overpatched by the distributions. Call it legacy code because that's what it is.
By the way if you're interested in installing pywbem 0.9.0 (that's the latest release as of this wrigin), you can install it with pip.
On a Debian or Ubuntu system you first need to install the following requirements:
apt-get install python-pip swig libpcre3 libpcre3-dev libssl-dev g++ python-dev
pip install --upgrade pywbem
This should install the latest available pywbem version from pypi.
Make sure at the end you get an output like this:
Running setup.py install for typing
Successfully installed pywbem PyYAML six ply M2Crypto typing
And this is how you can verify which pywbem version is being used by your python installation:
Python 2.7.6 (default, Jun 22 2015, 17:58:13)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pywbem
>>> import pkg_resources