12. Appendix

This section contains information that is referenced from other sections, and that does not really need to be read in sequence.

12.1. WBEM server error codes

when tests like smicli cimping are executed, smicli collects any errors returned from the servers. If the tests requests that the data update the database, (-s option) these error codes are set into the entries of the history database.

The possible errors are:

  1. OK - Server response good, no error.
  2. WBEMError(1) - WBEM Server returned a DMTF define CIMError code.
  3. PyWBEMError(2) - pywbem generated an exception for the request. Since pywbem generates a number of different error exceptions (XML errors, etc) the specific error text is included with this error
  4. GeneralError(3) - pywbem generated a general error (obsolete)
  5. TimeoutError(4) - pywbem generated a timeout error waiting for the request response. The timeout is defined as part of the connection setup and most in smicli defaults to 10 seconds
  6. ConnectionError(5) - pywbem generated a connection exception, typically this is a failure to connect to the server or an ssl error.
  7. PingFail(6) - If smicli was requested to do a ping (os level ping program) and that failed, this error is generated. It means that the ping of the ip address failed and usually means that the defined server does not exist.
  8. Disabled(7) - If the command options specified that disable target servers be included, those servers are marked with this error code.

12.2. Special type names

This documentation uses a few special terms to refer to Python types:

string
a unicode string or a byte string
unicode string
a Unicode string type (unicode in Python 2, and str in Python 3)
byte string
a byte string type (str in Python 2, and bytes in Python 3). Unless otherwise indicated, byte strings in pywbem are always UTF-8 encoded.
number
one of the number types int, long (Python 2 only), or float.
integer
one of the integer types int or long (Python 2 only).
callable
a type for callable objects (e.g. a function, calling a class returns a new instance, instances are callable if they have a __call__() method).
DeprecationWarning
a standard Python warning that indicates a deprecated functionality.
Element
class xml.dom.minidom.Element. Its methods are described in section Element Objects of module xml.dom, with minidom specifics described in section DOM Objects of module xml.dom.minidom.
CIM data type
one of the types listed in CIM data types.
CIM object
one of the types listed in CIM objects.

12.3. Troubleshooting

Here are some trouble shooting hints for the installation of smipyping and pywbem.

12.3.1. Swig error ‘Unrecognized option -builtin’ during M2Crypto install

On Python 2.x, pywbem uses the M2Crypto package from PyPI and installs it during its own installation. The M2Crypto package invokes the Swig tool during its installation. If the version of Swig is too old, the invocation of Swig fails with:

swig error : Unrecognized option -builtin

The solution is to use Swig v2.0 or higher.

The pywbem setup script checks the version of Swig and installs a newer version of Swig, or if not available builds Swig from its sources (while automatically installing any further OS-level prerequisites needed for building Swig).

12.3.2. gcc does not find Python.h while installing M2Crypto

On Python 2.x, pywbem uses the M2Crypto package from PyPI and installs it during its own installation. The M2Crypto package invokes the Swig tool during its installation. Swig invokes the gcc compiler on source code it produces. That source code needs the Python.h header file.

If the invocation of gcc fails with:

SWIG/_m2crypto_wrap.c:127:20: fatal error: Python.h: No such file or directory

then you do not have the Python.h header file available.

The installation of pywbem with OS-level prereqs (see Installation) installs the necessary Python SDK package for C/C++ (or displays its package name). On RHEL, the missing package is python-dev.

12.4. Glossary

dynamic indication filter
dynamic filter
An indication filter in a WBEM server whose life cycle is managed by a client. See DSP1054 for an authoritative definition and for details.
static indication filter
static filter
An indication filter in a WBEM server that pre-exists and whose life cycle cannot be managed by a client. See DSP1054 for an authoritative definition and for details.