HPE 3PAR StoreServ Storage

Trouble accessing 3PAR using a CIM client

Occasional Collector

Trouble accessing 3PAR using a CIM client

I am writing a CIM client that talks to the 3PAR storage system. However I am having trouble getting to the main storage class with the Class names defined in SMI-S.


The 3PAR system I am using is a 3PAR-F200.


I checked the CIM service on the system and it shows the below information


3PAR-F200 cli% showcim
-Service- -State-- --SLP-- SLPPort -HTTP-- HTTPPort -HTTPS- HTTPSPort PGVer CIMVer
Enabled   Inactive Enabled     427 Enabled     5988 Enabled      5989 2.9.1 3.1.1


I wonder why the state say 'Inactive'. However I can connect to the CIM server using WBEM. My problem is I normally get the main array using the CIM_RegisteredProfile class. In case of 3par altough I can access the Array CIM_registeredprofile class, I cannot get to the storage system asscociated with this class. I use python as my language and here is what I am trying


 wconn = pywbem.WBEMConnection('', ('3paradm', '3pardata'), 'root/PG_interop')

# I can successfully connect to this namespace


reg_profiles = wconn.EnumerateInstances('CIM_RegisteredProfile')

# I get the list of all registered profiles. This includes the Server and Array profiles

array = filter(lambda a: a['RegisteredName']=='Array', reg_profiles)
#I get the Array profile instance


sys = wconn.Associators(array[0].path, AssocClass='CIM_ElementConformsToProfile', ResultClass='CIM_ComputerSystem') 

#This should give me the StorageSystem instance. however this fails with this error


pywbem.cim_operations.CIMError: (0, "The web server returned a bad status line: ''")

Has anyone faced this issue? Am I doing something wrong here?


A simple EnumerateInstances for the CIM_ComputerSystem class also does not work.


>>> wconn.EnumerateInstances('CIM_ComputerSystem')                                                         Traceback (most recent call last):                                                                         
  File "<stdin>", line 1, in <module>
  File "/usr/lib/pymodules/python2.6/pywbem/cim_operations.py", line 404, in EnumerateInstances
  File "/usr/lib/pymodules/python2.6/pywbem/cim_operations.py", line 173, in imethodcall
    raise CIMError(0, str(arg))
pywbem.cim_operations.CIMError: (0, "The web server returned a bad status line: ''")

However it does enumerate instances of the TPD_StorageSystem class

[CIMInstance(classname=u'TPD_StorageSystem', ...)]


Any help is greatly appreciated.


Occasional Advisor

Re: Trouble accessing 3PAR using a CIM client

Please run startcim command . Attached CIM Programming guide has the details of the name spaces that need to be used.