Thank you for suggestion and it looks like interesting...
I am absolutly not an expert about the CIM schema and I am asking myself about the really earnings if we use it in OCS. Should it be easy to integrate it in the OCS structure like the windows agents, the unix agent and the communication server ?
How does the schema works exactly ? Does the big work for integrate it in OCS will really pay later or will it only give few earnings for OCS ?
Post by Stéphane UrbanovskiPost by Amir PakdelHi Guillaume,
I would suggest "Physical Drive" or "Physical Storage" for the hard
disks and "Driver Letter / Mount Point" for the file systems (or
even "File System(s)" itself).
*Letter * * Type * * File System * * Total (MB) * * Free (MB) * *
Designation*
/ ext3 6889 6171 /dev/vg00/lvol0
*Letter * * Type * * File System * * Total (MB) * * Free (MB) * *
Designation*
vxfs / 2097152 1758760 /dev/vg00/lvol3
As you see there is a confusion about "Type" and "File System".
I think either Linux or HP-UX should be changed.
Hi
I suggest rethinking all internal information representation (XML and
http://www.dmtf.org/standards/cim/cim_schema_v2250/
http://www.vmware.com/support/developer/cim-sdk/smash/u3/ga/apirefdoc/CIM_FileSystem.html
http://msdn.microsoft.com/en-us/library/aa387273(VS.85).aspx
http://publib.boulder.ibm.com/infocenter/iseries/v1r1/en_US/index.htm?info/ciminfo/eicahcim_filesystem.htm
http://www.javasystemsolutions.com/documentation/thirdparty/cdm/BMC_FileSystem.html
( Tested host use top-pegasus with sblim providers on RHEL5)
METHOD=EnumerateInstances
CLASS=CIM_FileSystem
cat <<__EOM__ > request.xml
<?xml version="1.0" ?>
<CIM CIMVERSION="2.0" DTDVERSION="2.0">
<MESSAGE ID="3075" PROTOCOLVERSION="1.0">
<SIMPLEREQ> <IMETHODCALL NAME="$METHOD">
<LOCALNAMESPACEPATH> <NAMESPACE NAME="root"/>
<NAMESPACE NAME="cimv2"/>
</LOCALNAMESPACEPATH> <IPARAMVALUE NAME="CLASSNAME">
<CLASSNAME NAME="$CLASS"/>
</IPARAMVALUE> </IMETHODCALL>
</SIMPLEREQ> </MESSAGE>
</CIM>
__EOM__
curl -0 --insecure
@request.xml \
-H 'Content-Type: application/xml; charset="utf-8"' \
-H 'CIMProtocolVersion: 1.0' \
-H 'CIMOperation: MethodCall' \
-H "CIMMethod: $METHOD" \
-H 'CIMObject: root%2Fcimv2' | xmllint --format -
Result output
<?xml version="1.0" encoding="utf-8"?>
<CIM CIMVERSION="2.0" DTDVERSION="2.0">
<MESSAGE ID="3075" PROTOCOLVERSION="1.0">
<SIMPLERSP> <IMETHODRESPONSE NAME="EnumerateInstances">
<IRETURNVALUE> <VALUE.NAMEDINSTANCE>
<INSTANCENAME CLASSNAME="Linux_Ext3FileSystem">
<KEYBINDING NAME="CreationClassName">
<KEYVALUE VALUETYPE="string">Linux_Ext3FileSystem</KEYVALUE>
</KEYBINDING> <KEYBINDING NAME="CSCreationClassName">
<KEYVALUE VALUETYPE="string">Linux_ComputerSystem</KEYVALUE>
</KEYBINDING> <KEYBINDING NAME="CSName">
<KEYVALUE VALUETYPE="string">host.ocsinventory-ng.org</KEYVALUE>
</KEYBINDING> <KEYBINDING NAME="Name">
<KEYVALUE VALUETYPE="string">/dev/vg1/opt</KEYVALUE>
</KEYBINDING> </INSTANCENAME>
<INSTANCE CLASSNAME="Linux_Ext3FileSystem">
<PROPERTY NAME="Caption" TYPE="string">
<VALUE>Ext3 local file system</VALUE>
</PROPERTY> <PROPERTY NAME="Description" TYPE="string">
<VALUE>Represents the file store controlled by a ComputerSystem
through local means.</VALUE>
</PROPERTY> <PROPERTY NAME="ElementName" TYPE="string">
<VALUE>/opt</VALUE> </PROPERTY>
<PROPERTY NAME="InstallDate" TYPE="datetime"></PROPERTY>
<PROPERTY.ARRAY NAME="OperationalStatus"
TYPE="uint16"></PROPERTY.ARRAY> <PROPERTY.ARRAY
NAME="StatusDescriptions" TYPE="string"></PROPERTY.ARRAY>
<PROPERTY NAME="Status" TYPE="string">
<VALUE>OK</VALUE> </PROPERTY>
<PROPERTY NAME="HealthState" TYPE="uint16"></PROPERTY>
<PROPERTY NAME="EnabledState" TYPE="uint16">
<VALUE>3</VALUE> </PROPERTY>
<PROPERTY NAME="OtherEnabledState" TYPE="string">
<VALUE>NULL</VALUE> </PROPERTY>
<PROPERTY NAME="RequestedState" TYPE="uint16">
<VALUE>3</VALUE> </PROPERTY>
<PROPERTY NAME="EnabledDefault" TYPE="uint16">
<VALUE>2</VALUE> </PROPERTY>
<PROPERTY NAME="TimeOfLastStateChange" TYPE="datetime"></PROPERTY>
<PROPERTY NAME="CSCreationClassName" TYPE="string">
<VALUE>Linux_ComputerSystem</VALUE> </PROPERTY>
<PROPERTY NAME="CSName" TYPE="string">
<VALUE>host.ocsinventory-ng.org</VALUE> </PROPERTY>
<PROPERTY NAME="CreationClassName" TYPE="string">
<VALUE>Linux_Ext3FileSystem</VALUE> </PROPERTY>
<PROPERTY NAME="Name" TYPE="string">
<VALUE>/dev/vg1/opt</VALUE> </PROPERTY>
<PROPERTY NAME="Root" TYPE="string">
<VALUE>/opt</VALUE> </PROPERTY>
<PROPERTY NAME="BlockSize" TYPE="uint64">
<VALUE>4096</VALUE> </PROPERTY>
<PROPERTY NAME="FileSystemSize" TYPE="uint64">
<VALUE>3325812736</VALUE> </PROPERTY>
<PROPERTY NAME="AvailableSpace" TYPE="uint64">
<VALUE>2276294656</VALUE> </PROPERTY>
<PROPERTY NAME="ReadOnly" TYPE="boolean">
<VALUE>FALSE</VALUE> </PROPERTY>
<PROPERTY NAME="EncryptionMethod" TYPE="string"></PROPERTY>
<PROPERTY NAME="CompressionMethod" TYPE="string"></PROPERTY>
<PROPERTY NAME="CaseSensitive" TYPE="boolean"></PROPERTY>
<PROPERTY NAME="CasePreserved" TYPE="boolean"></PROPERTY>
<PROPERTY.ARRAY NAME="CodeSet" TYPE="uint16"></PROPERTY.ARRAY>
<PROPERTY NAME="MaxFileNameLength" TYPE="uint32">
<VALUE>255</VALUE> </PROPERTY>
<PROPERTY NAME="ClusterSize" TYPE="uint32"></PROPERTY>
<PROPERTY NAME="FileSystemType" TYPE="string">
<VALUE>ext3</VALUE> </PROPERTY>
<PROPERTY NAME="PersistenceType" TYPE="uint16"></PROPERTY>
<PROPERTY NAME="OtherPersistenceType" TYPE="string"></PROPERTY>
<PROPERTY NAME="NumberOfFiles" TYPE="uint64"></PROPERTY>
<PROPERTY NAME="FreeInodes" TYPE="uint64"></PROPERTY>
<PROPERTY NAME="TotalInodes" TYPE="uint64"></PROPERTY>
<PROPERTY NAME="FSReservedCapacity" TYPE="uint64"></PROPERTY>
<PROPERTY NAME="PercentageSpaceUse" TYPE="uint8">
<VALUE>26</VALUE> </PROPERTY>
</INSTANCE> </VALUE.NAMEDINSTANCE>
....
Using a subset of this schema should be enough of course.
Regards
-- Stéphane Urbanovski