3PAR StoreServ Storage
cancel
Showing results for 
Search instead for 
Did you mean: 

Trouble accessing 3PAR using a CIM client

Roycey
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('https://172.22.221.30:5989', ('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
    **params)
  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

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

 

Any help is greatly appreciated.

 

1 REPLY
srinip
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.

 

 

I WORK FOR HP