Skip to main content

A pure Python client for SNIA SMI test support.

Project description

About this project

smipyping is a set of WBEM server test tools based on the pywbem WBEM client implementation. The goal is to provide a variety of tools to be able to test the current status of WBEM servers both superically and by analyzing the details of the server code using the SNIA smi profiles to define the details of the server.

Installation Requirements

  1. Python 2.7. At this point, this package will only run with Python 2.7 because one of the core packages (scapy) is Python 2 only.

  2. smipyping - Installed as part of the smipyping installation

  3. Linux - Including linux tools like make, etc.

We do NOT support python 3 right now primarily because one required package (scapy) does not support python 3. Plans are to remove this requirement and then smipyping will support python 3.




smipyping consists of a number of scripts that provide tests of WBEM Servers.

These are documented in the smipyping documentation.

This includes:


This is a multilevel cli program that will include all the functionality in the following commands: This tool incorporates a number of subcommands including the following subcommands:

cimping   Command group to do simpleping.
explorer  Command group for general provider explore.
help      Show help message for interactive mode.
provider  Command group for simple provider operations.
repl      Enter interactive (REPL) mode (default).
sweep     Command group to sweep for servers.
targets   Command group for managing targets data.

The smicli command structure is described in detail in the documentation. It includes built-in help at every level of the command to define the arguments and options for that level. Thus, for example, you can request help as follows:

smicli --help                   - Top level help
smicli cimping --help           - Tells you what options/cmds exist under
smicli cimping providers --help - Parameters for this subcommand that
                                  executes a simple ping against a host.

smicli has replaced all other separate scripts with subcommands in smicli and these scripts are being removed from the code base.


This tool has been obsoleted after integration into smicli.


This tool has been obsoleted after integration into smicli.


This tool has been obsoleted after integration into smicli.

Targets databases

smipyping depends heavily on some form of database for the following information:

  • target wbem server connection information including ip addresses, passwords, user names, ports, and https/http. In addition the current databases include information on ports, profiles, etc. which is being weaned out of the database requirements.

  • Information on users, etc. to supplement reports on the status of the wbem server environment.

No database is supplied with the clone or pip of smipyping because the database of targets can contain sensitive information such as names and passwords.

smipyping allows for multiple types of databases:

  • sql (mysql). Addition of sqlite is in process but incomplete today

  • csv (comma-separated-values) file as a database for at least the the definitions of the target WBEM servers to be tested.

mysql database

The Mysql database defines a number of tables.

csv database

A simple csv file that is in the root directory serves as the current definition of servers as an alternative to the mysql database.

smicli configuration file

smipyping uses a configuration file (default smicli.ini) as the basis for much of the configuration to simplify command line parameters. This file is in standard ini format with sections and name/value pairs.

The file allows the user to define the database used, logging configuration, and other information about the configuration for smicli.

This configuration file is defined in detail in the example and a sample file is included as smicli-example.ini. This can be used as the configuration file by completing the values concerning database configuration and changing the name to smicli.ini.


This code is under development and is provided today in as-is status.


smipyping is provided under the Apache-2 license.


Running a serversweep

smicli sweep all
Open WBEMServers:subnet(s)=['10.1.132,134,136', '10.2.100:117.1:50']
port(s)=[5988, 5989] range 1:254, time 3.11 min
    total pings=3324 pings answered=66
 IPAddress          CompanyName      Product              SMIVersion
──────────────────────────────────────────────────────────────────────  Unknown  Unknown  Unknown  Unknown  Unknown   Unknown   EMC              VNXe (Unified)       1.4/1.5/1.6   Unknown   Unknown   Unknown   Unknown   Tintri           VMStore              0   Unknown   Unknown  Dot Hill         Assured SAN 5720     1.5  Dot Hill         Assured SAN 5720     1.5  Fujitsu          DX200S3              1.6  Unknown  Hewlett Packard  HP P9500 (Embedded)  1.3.0/1.5.0  Unknown  Unknown  Unknown  Unknown  Hewlett Packard  P2000 G3 MSA         1.5  Hewlett Packard  P2000 G3 MSA         1.5  Hewlett Packard  P2000 G3 MSA         1.5  Brocade          BRCD1 Fabric  Unknown  Unknown  Unknown  Unknown  Unknown  EMC              FC HBA               1.4  Unknown  Unknown  Unknown  Unknown  Unknown  Unknown   Unknown   Unknown   EMC              VNX Storage Array    1.6   Unknown   Fujitsu          DX200S3              1.6   Unknown   Dell/Compellent  Storage Center       1.5   Unknown   Fujitsu          DX80S2               1.4

 . . .

Running smicli cimping

smicli cimping id 4
SimplePing server None, target_id 4
cimping url=, ns=root/compellent, principal=******, cred=********

A running server reports ‘Running’

A failed server reports errors as follows:

smicli cimping id 3
SimplePing server None, target_id 3
cimping url=, ns=cimv2, principal=smilab6, cred=F00sb4ll Error Response, Exit code 4 TimeoutError The client timed out and closed the socket after 11s.

Running smicli explorer

smicli explorer id 4
 Server Basic Information
 Id  Url                  Brand  Company          Product         Vers  SMI Profiles  Interop_ns  Status   time
 04         Dell/Compellent  Storage Center                                  PyWBMEr  0.40 s
smicli explorer id 3
Server Basic Information
 Id  Url                   Brand  Company  Product  Vers  SMI Profiles  Interop_ns  Status   time
 03         Cisco    DCNM                                     PyWBMEr  7.60 s

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

smipyping-0.6.0.tar.gz (707.0 kB view hashes)

Uploaded source

Built Distribution

smipyping-0.6.0-py2.py3-none-any.whl (101.3 kB view hashes)

Uploaded py2 py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page